From: Peter Penz Date: Thu, 26 Feb 2009 20:38:42 +0000 (+0000) Subject: add KCM for the services settings, so that they are also accessible in Konqueror X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/de0f1d23b3dfd71e7e382107bbfe05f6694f7f29?ds=inline add KCM for the services settings, so that they are also accessible in Konqueror svn path=/trunk/KDE/kdebase/apps/; revision=932520 --- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 46c18156a..c1daf5e8b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -191,6 +191,11 @@ set(kcm_dolphinnavigation_PART_SRCS 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 @@ -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_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_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) +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_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} ) +install(TARGETS kcm_dolphinservices DESTINATION ${PLUGIN_INSTALL_DIR} ) 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 kcm/kcmdolphinservices.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 index 000000000..e57989773 --- /dev/null +++ b/src/kcm/kcmdolphinservices.cpp @@ -0,0 +1,68 @@ +/*************************************************************************** + * Copyright (C) 2009 by Peter Penz * + * * + * 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 +#include +#include +#include +#include + +#include + +K_PLUGIN_FACTORY(KCMDolphinServicesConfigFactory, registerPlugin("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 index 000000000..09586b93f --- /dev/null +++ b/src/kcm/kcmdolphinservices.desktop @@ -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 index 000000000..8f07d0313 --- /dev/null +++ b/src/kcm/kcmdolphinservices.h @@ -0,0 +1,45 @@ +/*************************************************************************** + * Copyright (C) 2009 by Peter Penz * + * * + * 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 + +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