summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2010-08-22 13:11:51 (GMT)
committerKevin Smith <git@kismith.co.uk>2010-08-22 13:11:51 (GMT)
commit9bd0d4220e8b8e7a1714536d9e4d6c6e61727d85 (patch)
tree3d45cbd12b1ef310711fea4b93c85f36eab6b178 /Swift/QtUI/QtTabbable.cpp
parentd786e1aeff062ef4f0a962d55ddce7d41c5f512e (diff)
downloadswift-9bd0d4220e8b8e7a1714536d9e4d6c6e61727d85.zip
swift-9bd0d4220e8b8e7a1714536d9e4d6c6e61727d85.tar.bz2
Don't incorrectly mark all messages read in most recently opened chat when a different chat is selected
Diffstat (limited to 'Swift/QtUI/QtTabbable.cpp')
-rw-r--r--Swift/QtUI/QtTabbable.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/Swift/QtUI/QtTabbable.cpp b/Swift/QtUI/QtTabbable.cpp
index 227a975..07a17c1 100644
--- a/Swift/QtUI/QtTabbable.cpp
+++ b/Swift/QtUI/QtTabbable.cpp
@@ -8,6 +8,8 @@
#include <QApplication>
+#include "QtChatTabs.h"
+
namespace Swift {
QtTabbable::~QtTabbable() {
@@ -16,7 +18,11 @@ QtTabbable::~QtTabbable() {
bool QtTabbable::isWidgetSelected() {
/*isActiveWindow() shouldn't be necessary, but I don't trust it as far as I can throw it*/
- return isActiveWindow() && isAncestorOf(QApplication::focusWidget());
+ if (!isActiveWindow()) {
+ return false;
+ }
+ QtChatTabs* parent = qobject_cast<QtChatTabs*>(window());
+ return parent ? parent->getCurrentTab() == this : isAncestorOf(QApplication::focusWidget());
}
}