summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/QtChatTabs.cpp')
-rw-r--r--Swift/QtUI/QtChatTabs.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/Swift/QtUI/QtChatTabs.cpp b/Swift/QtUI/QtChatTabs.cpp
index 67cd8ae..8ce4ac8 100644
--- a/Swift/QtUI/QtChatTabs.cpp
+++ b/Swift/QtUI/QtChatTabs.cpp
@@ -49,6 +49,7 @@ void QtChatTabs::handleWidgetShown() {
if (!widget) {
return;
}
+ checkForFirstShow();
if (tabs_->indexOf(widget) >= 0) {
return;
}
@@ -59,10 +60,11 @@ void QtChatTabs::handleWidgetShown() {
void QtChatTabs::handleWantsToActivate() {
QtTabbable* widget = qobject_cast<QtTabbable*>(sender());
Q_ASSERT(widget);
- Q_ASSERT(tabs_->indexOf(widget) >= 0);
//Un-minimize and bring to front.
setWindowState(windowState() & ~Qt::WindowMinimized);
setWindowState(windowState() | Qt::WindowActive);
+ show();
+ widget->show();
tabs_->setCurrentWidget(widget);
widget->setFocus();
activateWindow();
@@ -124,4 +126,10 @@ void QtChatTabs::moveEvent(QMoveEvent*) {
emit geometryChanged();
}
+void QtChatTabs::checkForFirstShow() {
+ if (!isVisible()) {
+ showMinimized();
+ }
+}
+
}