summaryrefslogtreecommitdiffstats
path: root/konq-plugins/kuick/kcmkuick/kcmkuick.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'konq-plugins/kuick/kcmkuick/kcmkuick.cpp')
-rw-r--r--konq-plugins/kuick/kcmkuick/kcmkuick.cpp155
1 files changed, 155 insertions, 0 deletions
diff --git a/konq-plugins/kuick/kcmkuick/kcmkuick.cpp b/konq-plugins/kuick/kcmkuick/kcmkuick.cpp
new file mode 100644
index 0000000..fdbf5c0
--- /dev/null
+++ b/konq-plugins/kuick/kcmkuick/kcmkuick.cpp
@@ -0,0 +1,155 @@
+/***************************************************************************
+ kcmkuick.cpp - control module for kuick
+ -------------------
+ copyright : (C) 2001 by Holger Freyther <[email protected]>
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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; version 2 of the License. *
+ * *
+ ***************************************************************************/
+
+#include "kcmkuick.h"
+
+#include <qlayout.h>
+#include <qfile.h>
+#include <kglobal.h>
+#include <klocale.h>
+#include <kconfig.h>
+#include <kdebug.h>
+#include <kgenericfactory.h>
+#include <kstandarddirs.h>
+#include <kservice.h>
+
+#include <qcheckbox.h>
+#include <qgroupbox.h>
+#include <qpushbutton.h>
+#include <qspinbox.h>
+#include <qstring.h>
+
+typedef KGenericFactory<KCMKuick, QWidget> KuickFactory;
+K_EXPORT_COMPONENT_FACTORY ( kcm_kuick, KuickFactory( "kcmkuick" ) )
+
+KCMKuick::KCMKuick(QWidget *parent, const char *name, const QStringList &)
+:KCModule(parent, name)
+{
+ KAboutData *ab=new KAboutData( "kcmkuick", I18N_NOOP("KCM Kuick"),
+ "0.2",I18N_NOOP("KControl module for Kuick's configuration"), KAboutData::License_GPL,
+ "(c) 2001, Holger Freyther", 0, 0, "[email protected]");
+ ab->addAuthor("Holger Freyther",0, "[email protected]");
+ setAboutData( ab );
+
+ QVBoxLayout *topLayout = new QVBoxLayout(this, 0, 0);
+ dialog = new KCMKuickDialog(this);
+ topLayout->add(dialog);
+ topLayout->addStretch();
+
+ connect( dialog->m_sbCopy, SIGNAL(valueChanged(int) ), SLOT(configChanged() ) );
+ connect( dialog->m_sbMove, SIGNAL(valueChanged(int) ), SLOT(configChanged() ) );
+ connect( dialog->pbCopyClear, SIGNAL(pressed() ), SLOT(slotClearCopyCache() ) );
+ connect( dialog->pbMoveClear, SIGNAL(pressed() ), SLOT(slotClearMoveCache() ) );
+ connect( dialog->m_chkShow, SIGNAL(clicked() ), SLOT(slotShowToggled() ) );
+
+ load();
+}
+
+void KCMKuick::slotShowToggled()
+{
+ bool showChecked = dialog->m_chkShow->isChecked();
+ dialog->m_grpCopy->setEnabled( showChecked );
+ dialog->m_grpMove->setEnabled( showChecked );
+ configChanged();
+}
+
+void KCMKuick::load()
+{
+ KConfig config( "konquerorrc");
+ config.setGroup("kuick-copy");
+ dialog->m_sbCopy->setValue(config.readNumEntry("ShowRecent",5) );
+
+ config.setGroup("kuick-move" );
+ dialog->m_sbMove->setValue(config.readNumEntry("ShowRecent",5) );
+
+ KConfig cfg("kuick_plugin.desktop", true, false, "services");
+ cfg.setDesktopGroup();
+ bool hidden=cfg.readBoolEntry("Hidden", false);
+ dialog->m_chkShow->setChecked(!hidden);
+ slotShowToggled();
+
+ emit changed(false);
+}
+
+KCMKuick::~KCMKuick()
+{
+}
+
+void KCMKuick::load(const QString & /*s*/)
+{
+}
+
+void KCMKuick::configChanged()
+{
+ emit changed(true);
+}
+
+void KCMKuick::save()
+{
+ KConfig config("konquerorrc" );
+ config.setGroup("kuick-copy");
+
+ config.writeEntry("ShowRecent", dialog->m_sbCopy->value() );
+
+ config.setGroup("kuick-move" );
+ config.writeEntry("ShowRecent", dialog->m_sbMove->value() );
+
+ config.sync(); //is it necessary ?
+
+ if ( dialog->m_chkShow->isChecked() ) {
+ QString servicespath = KGlobal::dirs()->saveLocation( "services");
+ QFile::remove(servicespath+"/kuick_plugin.desktop");
+ }
+ else {
+ KConfig cfg("kuick_plugin.desktop", false, false, "services");
+ cfg.setDesktopGroup();
+ cfg.writeEntry("Hidden", true);
+ }
+ KService::rebuildKSycoca(this);
+
+ emit changed(false);
+}
+
+void KCMKuick::slotClearCopyCache( ) {
+ KConfig config("konquerorrc");
+ config.setGroup("kuick-copy" );
+ config.writePathEntry("Paths", QStringList() );
+ config.sync(); //is it necessary ?
+}
+
+void KCMKuick::slotClearMoveCache() {
+ KConfig config("konquerorrc");
+ config.setGroup("kuick-move" );
+ config.writePathEntry("Paths", QStringList() );
+ config.sync(); //is it necessary ?
+}
+
+void KCMKuick::defaults()
+{
+ dialog->m_sbCopy->setValue(4);
+ dialog->m_sbMove->setValue(4);
+
+ dialog->m_chkShow->setChecked(true);
+ slotShowToggled();
+
+ emit changed( true );
+}
+
+QString KCMKuick::quickHelp() const
+{
+ return i18n("<h1>Kuick</h1> With this module you can configure Kuick, the KDE quick"
+ "copy and move plugin for Konqueror.");
+}
+
+#include "kcmkuick.moc"