summaryrefslogtreecommitdiffstats
path: root/kget/dlgAutomation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kget/dlgAutomation.cpp')
-rw-r--r--kget/dlgAutomation.cpp135
1 files changed, 135 insertions, 0 deletions
diff --git a/kget/dlgAutomation.cpp b/kget/dlgAutomation.cpp
new file mode 100644
index 00000000..98ed4f3e
--- /dev/null
+++ b/kget/dlgAutomation.cpp
@@ -0,0 +1,135 @@
+/***************************************************************************
+* dlgAutomation.cpp
+* -------------------
+*
+* Revision : $Id$
+* begin : Tue Jan 29 2002
+* copyright : (C) 2002 by Patrick Charbonnier
+* : Based On Caitoo v.0.7.3 (c) 1998 - 2000, Matej Koss
+*
+****************************************************************************/
+
+/***************************************************************************
+ *
+ * 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.
+ *
+ ***************************************************************************/
+
+#include <qgroupbox.h>
+#include <qcheckbox.h>
+#include <qlabel.h>
+#include <qlayout.h>
+
+#include <klocale.h>
+#include <kdatetimewidget.h>
+#include <knuminput.h>
+#include "common.h"
+
+#include <kdialog.h>
+#include <klineedit.h>
+
+#include "settings.h"
+#include "kmainwidget.h"
+#include "dlgAutomation.h"
+
+
+DlgAutomation::DlgAutomation(QWidget * parent)
+ : DlgAutomationBase(parent)
+{
+}
+
+
+void DlgAutomation::disconnectToggled(bool flag)
+{
+ le_autoDisconnect->setEnabled(flag);
+ cb_timedDisconnect->setEnabled(flag);
+ if (cb_timedDisconnect->isChecked()) {
+ spins->setEnabled(flag);
+ }
+}
+
+
+void DlgAutomation::slotTypeChanged(int type)
+{
+ if (type == PERMANENT) {
+ disconnectToggled(false);
+ cb_autoDisconnect->setEnabled(false);
+ cb_autoDisconnect->setChecked(false);
+ cb_timedDisconnect->setChecked(false);
+ } else {
+ cb_autoDisconnect->setEnabled(true);
+ }
+}
+
+
+void DlgAutomation::setData()
+{
+ // auto save
+ le_autoSave->setEnabled(ksettings.b_autoSave);
+ cb_autoSave->setChecked(ksettings.b_autoSave);
+
+ le_autoSave->setValue(ksettings.autoSaveInterval);
+
+ // auto disconnect
+ le_autoDisconnect->setEnabled(ksettings.b_autoDisconnect);
+ cb_timedDisconnect->setEnabled(ksettings.b_autoDisconnect);
+ spins->setEnabled(ksettings.b_autoDisconnect);
+ cb_autoDisconnect->setChecked(ksettings.b_autoDisconnect);
+ le_autoDisconnect->setText(ksettings.disconnectCommand);
+
+ cb_timedDisconnect->setChecked(ksettings.b_timedDisconnect);
+ spins->setEnabled(ksettings.b_timedDisconnect);
+
+ disconnectDateTime.setDate(ksettings.disconnectDate);
+ disconnectDateTime.setTime(ksettings.disconnectTime);
+ spins->setDateTime(disconnectDateTime);
+
+ // auto shutdown
+ cb_autoShutdown->setChecked(ksettings.b_autoShutdown);
+
+ // auto paste
+ cb_autoPaste->setChecked(ksettings.b_autoPaste);
+}
+
+
+void DlgAutomation::applyData()
+{
+ if (cb_autoSave->isChecked() != ksettings.b_autoSave || (uint) le_autoSave->value() != ksettings.autoSaveInterval) {
+ ksettings.b_autoSave = cb_autoSave->isChecked();
+ ksettings.autoSaveInterval = le_autoSave->value();
+ kmain->setAutoSave();
+ }
+
+ if (cb_autoDisconnect->isChecked() != ksettings.b_autoDisconnect) {
+ kmain->slotToggleAutoDisconnect();
+ kmain->setAutoDisconnect();
+ }
+
+ ksettings.disconnectCommand = le_autoDisconnect->text();
+ ksettings.b_timedDisconnect = cb_timedDisconnect->isChecked();
+ ksettings.disconnectDate = spins->dateTime().date();
+ ksettings.disconnectTime = spins->dateTime().time();
+
+ if (cb_autoShutdown->isChecked() != ksettings.b_autoShutdown) {
+ kmain->slotToggleAutoShutdown();
+ }
+
+ if (cb_autoPaste->isChecked() != ksettings.b_autoPaste) {
+ kmain->slotToggleAutoPaste();
+ }
+}
+
+void DlgAutomation::slotChanged()
+{
+ emit configChanged();
+}
+#include "dlgAutomation.moc"