add KCM for the services settings, so that they are also accessible in Konqueror

svn path=/trunk/KDE/kdebase/apps/; revision=932520
This commit is contained in:
Peter Penz 2009-02-26 20:38:42 +00:00
parent ec8a75b90c
commit de0f1d23b3
4 changed files with 141 additions and 0 deletions

View file

@ -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} )

View file

@ -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"

View file

@ -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

View file

@ -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