]> cloud.milkyroute.net Git - dolphin.git/commitdiff
add KCM for the services settings, so that they are also accessible in Konqueror
authorPeter Penz <peter.penz19@gmail.com>
Thu, 26 Feb 2009 20:38:42 +0000 (20:38 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Thu, 26 Feb 2009 20:38:42 +0000 (20:38 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=932520

src/CMakeLists.txt
src/kcm/kcmdolphinservices.cpp [new file with mode: 0644]
src/kcm/kcmdolphinservices.desktop [new file with mode: 0644]
src/kcm/kcmdolphinservices.h [new file with mode: 0644]

index 46c18156ac43cbc005105412d5e84e7c7dde4bd7..c1daf5e8b9c3d783b21d716be754cfee97dabb99 100644 (file)
@@ -191,6 +191,11 @@ set(kcm_dolphinnavigation_PART_SRCS
     settings/navigationsettingspage.cpp
     settings/settingspagebase.cpp)
 
     settings/navigationsettingspage.cpp
     settings/settingspagebase.cpp)
 
+set(kcm_dolphinservices_PART_SRCS
+    kcm/kcmdolphinservices.cpp
+    settings/servicessettingspage.cpp
+    settings/settingspagebase.cpp)
+
 set(kcm_dolphingeneral_PART_SRCS
     kcm/kcmdolphingeneral.cpp
     settings/behaviorsettingspage.cpp
 set(kcm_dolphingeneral_PART_SRCS
     kcm/kcmdolphingeneral.cpp
     settings/behaviorsettingspage.cpp
@@ -207,24 +212,31 @@ kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS
 kde4_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS
     settings/dolphin_generalsettings.kcfgc)
 
 kde4_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS
     settings/dolphin_generalsettings.kcfgc)
 
+kde4_add_kcfg_files(kcm_dolphinservices_PART_SRCS
+    settings/dolphin_generalsettings.kcfgc)
+
 kde4_add_kcfg_files(kcm_dolphingeneral_PART_SRCS
     settings/dolphin_generalsettings.kcfgc)
 
 kde4_add_plugin(kcm_dolphinviewmodes ${kcm_dolphinviewmodes_PART_SRCS})
 kde4_add_plugin(kcm_dolphinnavigation ${kcm_dolphinnavigation_PART_SRCS})
 kde4_add_kcfg_files(kcm_dolphingeneral_PART_SRCS
     settings/dolphin_generalsettings.kcfgc)
 
 kde4_add_plugin(kcm_dolphinviewmodes ${kcm_dolphinviewmodes_PART_SRCS})
 kde4_add_plugin(kcm_dolphinnavigation ${kcm_dolphinnavigation_PART_SRCS})
+kde4_add_plugin(kcm_dolphinservices ${kcm_dolphinservices_PART_SRCS})
 kde4_add_plugin(kcm_dolphingeneral ${kcm_dolphingeneral_PART_SRCS})
 
 target_link_libraries(kcm_dolphinviewmodes  ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
 target_link_libraries(kcm_dolphinnavigation  ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
 kde4_add_plugin(kcm_dolphingeneral ${kcm_dolphingeneral_PART_SRCS})
 
 target_link_libraries(kcm_dolphinviewmodes  ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
 target_link_libraries(kcm_dolphinnavigation  ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
+target_link_libraries(kcm_dolphinservices  ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} dolphinprivate)
 target_link_libraries(kcm_dolphingeneral ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
 if (Nepomuk_FOUND)
   target_link_libraries(kcm_dolphinviewmodes ${NEPOMUK_LIBRARIES})
   target_link_libraries(kcm_dolphinnavigation ${NEPOMUK_LIBRARIES})
 target_link_libraries(kcm_dolphingeneral ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
 if (Nepomuk_FOUND)
   target_link_libraries(kcm_dolphinviewmodes ${NEPOMUK_LIBRARIES})
   target_link_libraries(kcm_dolphinnavigation ${NEPOMUK_LIBRARIES})
+  target_link_libraries(kcm_dolphinservices ${NEPOMUK_LIBRARIES})
   target_link_libraries(kcm_dolphingeneral ${NEPOMUK_LIBRARIES})
 endif (Nepomuk_FOUND)
 
 install(TARGETS kcm_dolphinviewmodes DESTINATION ${PLUGIN_INSTALL_DIR} )
 install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} )
   target_link_libraries(kcm_dolphingeneral ${NEPOMUK_LIBRARIES})
 endif (Nepomuk_FOUND)
 
 install(TARGETS kcm_dolphinviewmodes DESTINATION ${PLUGIN_INSTALL_DIR} )
 install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} )
+install(TARGETS kcm_dolphinservices DESTINATION ${PLUGIN_INSTALL_DIR} )
 install(TARGETS kcm_dolphingeneral DESTINATION ${PLUGIN_INSTALL_DIR} )
 
 ########### install files ###############
 install(TARGETS kcm_dolphingeneral DESTINATION ${PLUGIN_INSTALL_DIR} )
 
 ########### install files ###############
@@ -234,4 +246,5 @@ install( FILES  settings/dolphin_directoryviewpropertysettings.kcfg settings/dol
 install( FILES  dolphinui.rc DESTINATION ${DATA_INSTALL_DIR}/dolphin )
 install( FILES kcm/kcmdolphinviewmodes.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
 install( FILES kcm/kcmdolphinnavigation.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
 install( FILES  dolphinui.rc DESTINATION ${DATA_INSTALL_DIR}/dolphin )
 install( FILES kcm/kcmdolphinviewmodes.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
 install( FILES kcm/kcmdolphinnavigation.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
+install( FILES kcm/kcmdolphinservices.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
 install( FILES kcm/kcmdolphingeneral.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
 install( FILES kcm/kcmdolphingeneral.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
diff --git a/src/kcm/kcmdolphinservices.cpp b/src/kcm/kcmdolphinservices.cpp
new file mode 100644 (file)
index 0000000..e579897
--- /dev/null
@@ -0,0 +1,68 @@
+/***************************************************************************
+ *   Copyright (C) 2009 by Peter Penz <peter.penz@gmx.at>                  *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
+ ***************************************************************************/
+
+#include "kcmdolphinservices.h"
+
+#include "settings/servicessettingspage.h"
+
+#include <ktabwidget.h>
+#include <kdialog.h>
+#include <klocale.h>
+#include <kpluginfactory.h>
+#include <kpluginloader.h>
+
+#include <QVBoxLayout>
+
+K_PLUGIN_FACTORY(KCMDolphinServicesConfigFactory, registerPlugin<DolphinServicesConfigModule>("dolphinservices");)
+K_EXPORT_PLUGIN(KCMDolphinServicesConfigFactory("kcmdolphinservices"))
+
+DolphinServicesConfigModule::DolphinServicesConfigModule(QWidget* parent, const QVariantList& args) :
+    KCModule(KCMDolphinServicesConfigFactory::componentData(), parent),
+    m_services(0)
+{
+    Q_UNUSED(args);
+
+    KGlobal::locale()->insertCatalog("dolphinservices");
+
+    setButtons(KCModule::Default | KCModule::Help);
+
+    QVBoxLayout* topLayout = new QVBoxLayout(this);
+    topLayout->setMargin(0);
+    topLayout->setSpacing(KDialog::spacingHint());
+
+    m_services = new ServicesSettingsPage(this);
+    connect(m_services, SIGNAL(changed()), this, SLOT(changed()));
+    topLayout->addWidget(m_services, 0, 0);
+}
+
+DolphinServicesConfigModule::~DolphinServicesConfigModule()
+{
+}
+
+void DolphinServicesConfigModule::save()
+{
+    m_services->applySettings();
+}
+
+void DolphinServicesConfigModule::defaults()
+{
+    m_services->restoreDefaults();
+}
+
+#include "kcmdolphinservices.moc"
diff --git a/src/kcm/kcmdolphinservices.desktop b/src/kcm/kcmdolphinservices.desktop
new file mode 100644 (file)
index 0000000..09586b9
--- /dev/null
@@ -0,0 +1,15 @@
+Name=Dolphin Services
+
+[Desktop Entry]
+Icon=services
+Type=Service
+X-KDE-ServiceTypes=KCModule
+Exec=kcmshell4 kcmdolphinservices
+
+X-KDE-Library=kcm_dolphinservices
+X-KDE-PluginKeyword=dolphinservices
+X-KDE-ParentApp=kcontrol
+
+Name=Services
+Comment=Configure file manager services
+X-KDE-Keywords=file manager
diff --git a/src/kcm/kcmdolphinservices.h b/src/kcm/kcmdolphinservices.h
new file mode 100644 (file)
index 0000000..8f07d03
--- /dev/null
@@ -0,0 +1,45 @@
+/***************************************************************************
+ *   Copyright (C) 2009 by Peter Penz <peter.penz@gmx.at>                  *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
+ ***************************************************************************/
+
+#ifndef KCMDOLPHINSERVICES_H
+#define KCMDOLPHINSERVICES_H
+
+#include <kcmodule.h>
+
+class ServicesSettingsPage;
+
+/**
+ * @brief Allow to configure the Dolphin services.
+ */
+class DolphinServicesConfigModule : public KCModule
+{
+    Q_OBJECT
+
+public:
+    DolphinServicesConfigModule(QWidget* parent, const QVariantList& args);
+    virtual ~DolphinServicesConfigModule();
+
+    virtual void save();
+    virtual void defaults();
+
+private:
+    ServicesSettingsPage* m_services;
+};
+
+#endif