summaryrefslogtreecommitdiffstats
path: root/kfilereplace/koptionsdlg.cpp
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commite9ae80694875f869892f13f4fcaf1170a00dea41 (patch)
treeaa2f8d8a217e2d376224c8d46b7397b68d35de2d /kfilereplace/koptionsdlg.cpp
downloadtdewebdev-e9ae80694875f869892f13f4fcaf1170a00dea41.tar.gz
tdewebdev-e9ae80694875f869892f13f4fcaf1170a00dea41.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdewebdev@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kfilereplace/koptionsdlg.cpp')
-rw-r--r--kfilereplace/koptionsdlg.cpp236
1 files changed, 236 insertions, 0 deletions
diff --git a/kfilereplace/koptionsdlg.cpp b/kfilereplace/koptionsdlg.cpp
new file mode 100644
index 00000000..3980a7a6
--- /dev/null
+++ b/kfilereplace/koptionsdlg.cpp
@@ -0,0 +1,236 @@
+/***************************************************************************
+ koptionsdlg.cpp - description
+ -------------------
+ begin : Tue Dec 28 1999
+ copyright : (C) 1999 by Fran�is Dupoux
+ (C) 2004 Emiliano Gulmini <[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; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+// QT
+#include <qcheckbox.h>
+#include <qspinbox.h>
+#include <qwhatsthis.h>
+#include <qpushbutton.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+
+// KDE
+#include <kcharsets.h>
+#include <kcombobox.h>
+#include <kconfig.h>
+#include <kglobal.h>
+#include <kstandarddirs.h>
+#include <kapplication.h>
+//#include <kdebug.h>
+
+// local
+#include "whatthis.h"
+#include "koptionsdlg.h"
+
+
+using namespace whatthisNameSpace;
+
+
+KOptionsDlg::KOptionsDlg(RCOptions* info, QWidget *parent, const char *name) : KOptionsDlgS(parent,name,true)
+{
+ m_config = new KConfig("kfilereplacerc");
+ m_option = info;
+
+ initGUI();
+
+ connect(m_pbOK, SIGNAL(clicked()), this, SLOT(slotOK()));
+ connect(m_pbDefault, SIGNAL(clicked()),this,SLOT(slotDefaults()));
+ connect(m_chbBackup, SIGNAL(toggled(bool)), this, SLOT(slotChbBackup(bool)));
+ connect(m_pbHelp, SIGNAL(clicked()), this, SLOT(slotHelp()));
+ connect(m_chbConfirmStrings, SIGNAL(toggled(bool)), this, SLOT(slotChbConfirmStrings(bool)));
+ connect(m_chbShowConfirmDialog, SIGNAL(toggled(bool)), this, SLOT(slotChbShowConfirmDialog(bool)));
+
+ whatsThis();
+}
+
+KOptionsDlg::~KOptionsDlg()
+{
+}
+
+//PRIVATE SLOTS
+void KOptionsDlg::slotOK()
+{
+ saveRCOptions();
+ accept();
+}
+
+/** Set defaults values for all options of the dialog */
+void KOptionsDlg::slotDefaults()
+{
+ m_chbCaseSensitive->setChecked(CaseSensitiveOption);
+ m_chbRecursive->setChecked(RecursiveOption);
+ m_chbHaltOnFirstOccurrence->setChecked(StopWhenFirstOccurenceOption);
+
+ m_chbFollowSymLinks->setChecked(FollowSymbolicLinksOption);
+ m_chbIgnoreHidden->setChecked(IgnoreHiddenOption);
+ m_chbRegularExpressions->setChecked(RegularExpressionsOption);
+ m_chbIgnoreFiles->setChecked(IgnoreFilesOption);
+ m_chbConfirmStrings->setChecked(AskConfirmReplaceOption);
+
+ QStringList bkList = QStringList::split(",",BackupExtensionOption,true);
+
+ bool enableBackup = (bkList[0] == "true" ? true : false);
+
+ m_chbBackup->setChecked(enableBackup);
+ m_leBackup->setEnabled(enableBackup);
+ m_tlBackup->setEnabled(enableBackup);
+
+ m_leBackup->setText(bkList[1]);
+
+ m_chbVariables->setChecked(VariablesOption);
+
+ m_chbNotifyOnErrors->setChecked(NotifyOnErrorsOption);
+}
+
+void KOptionsDlg::slotChbBackup(bool b)
+{
+ m_leBackup->setEnabled(b);
+ m_tlBackup->setEnabled(b);
+}
+
+void KOptionsDlg::slotChbConfirmStrings(bool b)
+{
+ if(b)
+ {
+ m_chbShowConfirmDialog->setEnabled(true);
+ m_chbShowConfirmDialog->setChecked(true);
+ m_config->setGroup("Notification Messages");
+ m_config->writeEntry(rcDontAskAgain,"no");
+ }
+ else
+ {
+ m_chbShowConfirmDialog->setEnabled(false);
+ m_chbShowConfirmDialog->setChecked(false);
+ m_config->setGroup("Notification Messages");
+ m_config->writeEntry(rcDontAskAgain,"yes");
+ }
+}
+
+void KOptionsDlg::slotChbShowConfirmDialog(bool b)
+{
+ m_config->setGroup("Notification Messages");
+ if(b)
+ {
+ m_config->writeEntry(rcDontAskAgain,"no");
+ }
+ else
+ {
+ m_config->writeEntry(rcDontAskAgain,"yes");
+ }
+}
+
+//PRIVATE
+void KOptionsDlg::initGUI()
+{
+ m_config->sync();
+ m_config->setGroup("Notification Messages");
+ m_option->m_notifyOnErrors = m_config->readBoolEntry(rcNotifyOnErrors, true);
+
+ QString dontAskAgain = m_config->readEntry(rcDontAskAgain,"no");
+
+ m_chbConfirmStrings->setChecked(m_option->m_askConfirmReplace);
+
+ if(m_chbConfirmStrings->isChecked())
+ {
+ if(dontAskAgain == "yes")
+ m_chbShowConfirmDialog->setChecked(false);
+ else
+ m_chbShowConfirmDialog->setChecked(true);
+ }
+
+ QStringList availableEncodingNames(KGlobal::charsets()->availableEncodingNames());
+ m_cbEncoding->insertStringList( availableEncodingNames );
+ int idx = -1;
+ int utf8Idx = -1;
+ for (uint i = 0; i < availableEncodingNames.count(); i++)
+ {
+ if (availableEncodingNames[i] == m_option->m_encoding)
+ {
+ idx = i;
+ break;
+ }
+ if (availableEncodingNames[i] == "utf8")
+ {
+ utf8Idx = i;
+ }
+ }
+ if (idx != -1)
+ m_cbEncoding->setCurrentItem(idx);
+ else
+ m_cbEncoding->setCurrentItem(utf8Idx);
+
+ m_chbCaseSensitive->setChecked(m_option->m_caseSensitive);
+ m_chbRecursive->setChecked(m_option->m_recursive);
+
+ bool enableBackup = m_option->m_backup;
+
+ m_chbBackup->setChecked(enableBackup);
+ m_leBackup->setEnabled(enableBackup);
+ m_tlBackup->setEnabled(enableBackup);
+
+ m_leBackup->setText(m_option->m_backupExtension);
+
+ m_chbVariables->setChecked(m_option->m_variables);
+ m_chbRegularExpressions->setChecked(m_option->m_regularExpressions);
+ m_chbHaltOnFirstOccurrence->setChecked(m_option->m_haltOnFirstOccur);
+ m_chbFollowSymLinks->setChecked(m_option->m_followSymLinks);
+ m_chbIgnoreHidden->setChecked(m_option->m_ignoreHidden);
+ m_chbIgnoreFiles->setChecked(m_option->m_ignoreFiles);
+
+ m_chbNotifyOnErrors->setChecked(m_option->m_notifyOnErrors);
+}
+
+void KOptionsDlg::saveRCOptions()
+{
+ m_option->m_encoding = m_cbEncoding->currentText();
+ m_option->m_caseSensitive = m_chbCaseSensitive->isChecked();
+ m_option->m_recursive = m_chbRecursive->isChecked();
+ QString backupExt = m_leBackup->text();
+ m_option->m_backup = (m_chbBackup->isChecked() && !backupExt.isEmpty());
+ m_option->m_backupExtension = backupExt;
+ m_option->m_variables = m_chbVariables->isChecked();
+ m_option->m_regularExpressions = m_chbRegularExpressions->isChecked();
+ m_option->m_haltOnFirstOccur = m_chbHaltOnFirstOccurrence->isChecked();
+ m_option->m_followSymLinks = m_chbFollowSymLinks->isChecked();
+ m_option->m_ignoreHidden = m_chbIgnoreHidden->isChecked();
+ m_option->m_ignoreFiles = m_chbIgnoreFiles->isChecked();
+ m_option->m_askConfirmReplace = m_chbConfirmStrings->isChecked();
+ m_option->m_notifyOnErrors = m_chbNotifyOnErrors->isChecked();
+
+ m_config->setGroup("Notification Messages");
+ m_config->writeEntry(rcNotifyOnErrors, m_option->m_notifyOnErrors);
+
+ m_config->sync();
+}
+
+void KOptionsDlg::whatsThis()
+{
+ // Create help QWhatsThis
+ QWhatsThis::add(m_chbCaseSensitive, chbCaseSensitiveWhatthis);
+ QWhatsThis::add(m_chbRecursive, chbRecursiveWhatthis);
+ QWhatsThis::add(m_chbHaltOnFirstOccurrence, chbHaltOnFirstOccurrenceWhatthis);
+ QWhatsThis::add(m_chbFollowSymLinks, chbFollowSymLinksWhatthis);
+ QWhatsThis::add(m_chbIgnoreHidden, chbIgnoreHiddenWhatthis);
+ QWhatsThis::add(m_chbIgnoreFiles, chbIgnoreFilesWhatthis);
+ QWhatsThis::add(m_chbRegularExpressions, chbRegularExpressionsWhatthis);
+ QWhatsThis::add(m_chbVariables, chbVariablesWhatthis);
+ QWhatsThis::add(m_chbBackup, chbBackupWhatthis);
+ QWhatsThis::add(m_chbConfirmStrings, chbConfirmStringsWhatthis);
+}
+
+#include "koptionsdlg.moc"