summaryrefslogtreecommitdiffstats
path: root/kcontrol/filetypes/kservicelistwidget.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit4aed2c8219774f5d797760606b8489a92ddc5163 (patch)
tree3f8c130f7d269626bf6a9447407ef6c35954426a /kcontrol/filetypes/kservicelistwidget.h
downloadtdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz
tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kcontrol/filetypes/kservicelistwidget.h')
-rw-r--r--kcontrol/filetypes/kservicelistwidget.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/kcontrol/filetypes/kservicelistwidget.h b/kcontrol/filetypes/kservicelistwidget.h
new file mode 100644
index 000000000..fb20d1c64
--- /dev/null
+++ b/kcontrol/filetypes/kservicelistwidget.h
@@ -0,0 +1,77 @@
+/* This file is part of the KDE project
+ Copyright (C) 2003 Waldo Bastian <bastian@kde.org>
+ Copyright (C) 2003 David Faure <faure@kde.org>
+ Copyright (C) 2002 Daniel Molkentin <molkentin@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License version 2 as published by the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef _KSERVICELISTWIDGET_H
+#define _KSERVICELISTWIDGET_H
+
+#include <qgroupbox.h>
+#include <qlistbox.h>
+class TypesListItem;
+class QLineEdit;
+class QPushButton;
+class KService;
+
+class KServiceListItem : public QListBoxText
+{
+public:
+ KServiceListItem( KService *pService, int kind );
+ bool isImmutable();
+ QString desktopPath;
+ QString localPath;
+};
+
+/**
+ * This widget holds a list of services, with 5 buttons to manage it.
+ * It's a separate class so that it can be used by both tabs of the
+ * module, once for applications and once for services.
+ * The "kind" is determined by the argument given to the constructor.
+ */
+class KServiceListWidget : public QGroupBox
+{
+ Q_OBJECT
+public:
+ enum { SERVICELIST_APPLICATIONS, SERVICELIST_SERVICES };
+ KServiceListWidget(int kind, QWidget *parent = 0, const char *name = 0);
+
+ void setTypeItem( TypesListItem * item );
+
+signals:
+ void changed(bool);
+
+protected slots:
+ void promoteService();
+ void demoteService();
+ void addService();
+ void editService();
+ void removeService();
+ void enableMoveButtons(int index);
+
+protected:
+ void updatePreferredServices();
+
+private:
+ int m_kind;
+ QListBox *servicesLB;
+ QPushButton *servUpButton, *servDownButton;
+ QPushButton *servNewButton, *servEditButton, *servRemoveButton;
+ TypesListItem *m_item;
+};
+
+#endif