From d707fb47608b96ee46916af4f4a69222f0276239 Mon Sep 17 00:00:00 2001 From: Felix Geyer Date: Sun, 27 May 2012 20:10:41 +0200 Subject: [PATCH] Store clear clipboard settings. --- src/gui/Clipboard.cpp | 11 ++++++++--- src/gui/Clipboard.h | 2 +- src/gui/SettingsWidget.cpp | 7 +++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/gui/Clipboard.cpp b/src/gui/Clipboard.cpp index fd0528ae..7f020f7d 100644 --- a/src/gui/Clipboard.cpp +++ b/src/gui/Clipboard.cpp @@ -26,6 +26,8 @@ #include #endif +#include "core/Config.h" + Clipboard::Clipboard(QObject* parent) : QObject(parent) , m_timer(new QTimer(this)) @@ -41,7 +43,7 @@ Clipboard::~Clipboard() } } -void Clipboard::setText(const QString& text, int clearTimeout) +void Clipboard::setText(const QString& text) { QClipboard* clipboard = QApplication::clipboard(); @@ -50,8 +52,11 @@ void Clipboard::setText(const QString& text, int clearTimeout) clipboard->setText(text, QClipboard::Selection); } - if (clearTimeout > 0) { - m_timer->start(clearTimeout); + if (config()->get("security/clearclipboard").toBool()) { + int timeout = config()->get("security/clearclipboardtimeout").toInt(); + if (timeout > 0) { + m_timer->start(timeout); + } } } diff --git a/src/gui/Clipboard.h b/src/gui/Clipboard.h index d18bdb47..75bcb1c8 100644 --- a/src/gui/Clipboard.h +++ b/src/gui/Clipboard.h @@ -28,7 +28,7 @@ class Clipboard : public QObject public: ~Clipboard(); - void setText(const QString& text, int clearTimeout = 0); + void setText(const QString& text); private Q_SLOTS: void clearClipboard(); diff --git a/src/gui/SettingsWidget.cpp b/src/gui/SettingsWidget.cpp index 1376c4e5..222228e3 100644 --- a/src/gui/SettingsWidget.cpp +++ b/src/gui/SettingsWidget.cpp @@ -18,6 +18,8 @@ #include "SettingsWidget.h" #include "ui_SettingsWidgetSecurity.h" +#include "core/Config.h" + SettingsWidget::SettingsWidget(QWidget* parent) : EditWidget(parent) , m_secWidget(new QWidget()) @@ -40,9 +42,14 @@ SettingsWidget::~SettingsWidget() void SettingsWidget::loadSettings() { + m_secUi->clearClipboardCheckBox->setChecked(config()->get("security/clearclipboard").toBool()); + m_secUi->clearClipboardSpinBox->setValue(config()->get("security/clearclipboardtimeout").toInt()); + setCurrentRow(0); } void SettingsWidget::saveSettings() { + config()->set("security/clearclipboard", m_secUi->clearClipboardCheckBox->isChecked()); + config()->set("security/clearclipboardtimeout", m_secUi->clearClipboardSpinBox->value()); }