From: Peter Penz Date: Mon, 19 Jan 2009 11:11:11 +0000 (+0000) Subject: added settings module 'General' that can be used by Konqueror X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/514fe2be7e2f5e35245cdfc05cf18d33c672c5f0?ds=inline added settings module 'General' that can be used by Konqueror svn path=/trunk/KDE/kdebase/apps/; revision=913414 --- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 60ede3846..03cd1ff0d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -190,6 +190,12 @@ set(kcm_dolphinnavigation_PART_SRCS settings/navigationsettingspage.cpp settings/settingspagebase.cpp) +set(kcm_dolphingeneral_PART_SRCS + kcm/kcmdolphingeneral.cpp + settings/behaviorsettingspage.cpp + settings/previewssettingspage.cpp + settings/settingspagebase.cpp) + kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS settings/dolphin_columnmodesettings.kcfgc settings/dolphin_directoryviewpropertysettings.kcfgc @@ -200,18 +206,25 @@ 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_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_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_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 ${NEPOMUK_LIBRARIES}) endif (Nepomuk_FOUND) install(TARGETS kcm_dolphinviewmodes DESTINATION ${PLUGIN_INSTALL_DIR} ) install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} ) +install(TARGETS kcm_dolphingeneral DESTINATION ${PLUGIN_INSTALL_DIR} ) ########### install files ############### @@ -220,3 +233,4 @@ 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/kcmdolphingeneral.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) diff --git a/src/kcm/kcmdolphingeneral.cpp b/src/kcm/kcmdolphingeneral.cpp new file mode 100644 index 000000000..5f8b96304 --- /dev/null +++ b/src/kcm/kcmdolphingeneral.cpp @@ -0,0 +1,87 @@ +/*************************************************************************** + * 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 "kcmdolphingeneral.h" + +#include "settings/behaviorsettingspage.h" +#include "settings/previewssettingspage.h" + +#include +#include +#include +#include +#include + +#include +#include + +K_PLUGIN_FACTORY(KCMDolphinGeneralConfigFactory, registerPlugin("dolphingeneral");) +K_EXPORT_PLUGIN(KCMDolphinGeneralConfigFactory("kcmdolphingeneral")) + +DolphinGeneralConfigModule::DolphinGeneralConfigModule(QWidget* parent, const QVariantList& args) : + KCModule(KCMDolphinGeneralConfigFactory::componentData(), parent), + m_pages() +{ + Q_UNUSED(args); + + KGlobal::locale()->insertCatalog("dolphingeneral"); + + setButtons(KCModule::Default | KCModule::Help); + + QVBoxLayout* topLayout = new QVBoxLayout(this); + topLayout->setMargin(0); + topLayout->setSpacing(KDialog::spacingHint()); + + KTabWidget* tabWidget = new KTabWidget(this); + + // initialize 'Behavior' tab + BehaviorSettingsPage* behaviorPage = new BehaviorSettingsPage(QDir::homePath(), tabWidget); + tabWidget->addTab(behaviorPage, i18nc("@title:tab Behavior settings", "Behavior")); + connect(behaviorPage, SIGNAL(changed()), this, SLOT(changed())); + + // initialize 'Previews' tab + PreviewsSettingsPage* previewsPage = new PreviewsSettingsPage(tabWidget); + tabWidget->addTab(previewsPage, i18nc("@title:tab Previews settings", "Previews")); + connect(previewsPage, SIGNAL(changed()), this, SLOT(changed())); + + m_pages.append(behaviorPage); + m_pages.append(previewsPage); + + topLayout->addWidget(tabWidget, 0, 0); +} + +DolphinGeneralConfigModule::~DolphinGeneralConfigModule() +{ +} + +void DolphinGeneralConfigModule::save() +{ + foreach (SettingsPageBase* page, m_pages) { + page->applySettings(); + } +} + +void DolphinGeneralConfigModule::defaults() +{ + foreach (SettingsPageBase* page, m_pages) { + page->applySettings(); + } +} + +#include "kcmdolphingeneral.moc" diff --git a/src/kcm/kcmdolphingeneral.desktop b/src/kcm/kcmdolphingeneral.desktop new file mode 100644 index 000000000..a9fbf35e2 --- /dev/null +++ b/src/kcm/kcmdolphingeneral.desktop @@ -0,0 +1,16 @@ +Name=Dolphin General +Comment=This service allows configuration of general Dolphin settings. + +[Desktop Entry] +Icon=input-mouse +Type=Service +X-KDE-ServiceTypes=KCModule +Exec=kcmshell4 kcmdolphingeneral + +X-KDE-Library=kcm_dolphingeneral +X-KDE-PluginKeyword=dolphingeneral +X-KDE-ParentApp=kcontrol + +Name=General +Comment=Configure general file manager settings +X-KDE-Keywords=file manager diff --git a/src/kcm/kcmdolphingeneral.h b/src/kcm/kcmdolphingeneral.h new file mode 100644 index 000000000..9208803e2 --- /dev/null +++ b/src/kcm/kcmdolphingeneral.h @@ -0,0 +1,46 @@ +/*************************************************************************** + * 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 KCMDOLPHINGENERAL_H +#define KCMDOLPHINGENERAL_H + +#include +#include + +class SettingsPageBase; + +/** + * @brief Allow to configure general Dolphin settings. + */ +class DolphinGeneralConfigModule : public KCModule +{ + Q_OBJECT + +public: + DolphinGeneralConfigModule(QWidget* parent, const QVariantList& args); + virtual ~DolphinGeneralConfigModule(); + + virtual void save(); + virtual void defaults(); + +private: + QList m_pages; +}; + +#endif