summaryrefslogtreecommitdiffstats
path: root/Swift
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2010-12-05 15:01:39 (GMT)
committerKevin Smith <git@kismith.co.uk>2010-12-05 15:01:39 (GMT)
commitf39fa5f0c71a1b04997005f54e33d162c82528de (patch)
tree013bb061e13477e0b5260f8d9fe23f16e670a611 /Swift
parentec923326d40708e2ef639bf191126ecb197c4c30 (diff)
downloadswift-contrib-f39fa5f0c71a1b04997005f54e33d162c82528de.zip
swift-contrib-f39fa5f0c71a1b04997005f54e33d162c82528de.tar.bz2
Ask for confirmation before clearing chat windows.
Resolves: #702 Release-Notes: You'll now be asked for confirmation before clearing the chat window history.
Diffstat (limited to 'Swift')
-rw-r--r--Swift/QtUI/QtChatView.cpp15
-rw-r--r--Swift/QtUI/QtChatView.h1
2 files changed, 15 insertions, 1 deletions
diff --git a/Swift/QtUI/QtChatView.cpp b/Swift/QtUI/QtChatView.cpp
index 4738da3..9646afb 100644
--- a/Swift/QtUI/QtChatView.cpp
+++ b/Swift/QtUI/QtChatView.cpp
@@ -15,6 +15,7 @@
#include <QKeyEvent>
#include <QStackedWidget>
#include <QTimer>
+#include <QMessageBox>
#include "QtWebView.h"
#include "QtChatTheme.h"
@@ -32,7 +33,7 @@ QtChatView::QtChatView(QtChatTheme* theme, QWidget* parent) : QWidget(parent) {
connect(webView_, SIGNAL(linkClicked(const QUrl&)), SLOT(handleLinkClicked(const QUrl&)));
connect(webView_, SIGNAL(loadFinished(bool)), SLOT(handleViewLoadFinished(bool)));
connect(webView_, SIGNAL(gotFocus()), SIGNAL(gotFocus()));
- connect(webView_, SIGNAL(clearRequested()), SLOT(resetView()));
+ connect(webView_, SIGNAL(clearRequested()), SLOT(handleClearRequested()));
#ifdef Q_WS_X11
/* To give a border on Linux, where it looks bad without */
QStackedWidget* stack = new QStackedWidget(this);
@@ -54,6 +55,18 @@ QtChatView::QtChatView(QtChatTheme* theme, QWidget* parent) : QWidget(parent) {
resetView();
}
+void QtChatView::handleClearRequested() {
+ QMessageBox messageBox(this);
+ messageBox.setText("Clear log.");
+ messageBox.setInformativeText("Are you sure you want to clear your chat log?");
+ messageBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
+ messageBox.setDefaultButton(QMessageBox::Yes);
+ int button = messageBox.exec();
+ if (button == QMessageBox::Yes) {
+ resetView();
+ }
+}
+
void QtChatView::handleKeyPressEvent(QKeyEvent* event) {
webView_->keyPressEvent(event);
}
diff --git a/Swift/QtUI/QtChatView.h b/Swift/QtUI/QtChatView.h
index 84738d4..58b33df 100644
--- a/Swift/QtUI/QtChatView.h
+++ b/Swift/QtUI/QtChatView.h
@@ -46,6 +46,7 @@ namespace Swift {
private slots:
void handleViewLoadFinished(bool);
void handleFrameSizeChanged();
+ void handleClearRequested();
private:
void headerEncode();