From 91a9a2414dace2c57ecf72e0b72e426cbca9e5ea Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Tue, 11 Sep 2012 18:17:51 +0200 Subject: [PATCH] OutputPane: Flash the output button instead of switching to edit mode That is if the current mode has no OutputPanePlaceHolder, then we don't switch modes, but flash the button. Also if the button is not visible, we make it visible. The button doesn't autohide though. Task-number: QTCREATORBUG-7272 Change-Id: I5ceacd2a17d1ece744f28952819c34bfcfdd5e7b Reviewed-by: Oswald Buddenhagen Reviewed-by: Tobias Hunger Reviewed-by: Eike Ziller --- src/plugins/coreplugin/outputpanemanager.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/plugins/coreplugin/outputpanemanager.cpp b/src/plugins/coreplugin/outputpanemanager.cpp index 7d7cf98cdec..2402e8d843f 100644 --- a/src/plugins/coreplugin/outputpanemanager.cpp +++ b/src/plugins/coreplugin/outputpanemanager.cpp @@ -465,10 +465,14 @@ void OutputPaneManager::setBadgeNumber(int number) void OutputPaneManager::showPage(bool focus, bool ensureSizeHint) { int idx = findIndexForPage(qobject_cast(sender())); - showPage(idx, focus); - if (ensureSizeHint) - if (OutputPanePlaceHolder *ph = OutputPanePlaceHolder::getCurrent()) - ph->ensureSizeHintAsMinimum(); + OutputPanePlaceHolder *ph = OutputPanePlaceHolder::getCurrent(); + if (!ph) + m_buttons.value(idx)->flash(); + else + showPage(idx, focus); + + if (ensureSizeHint && ph) + ph->ensureSizeHintAsMinimum(); } void OutputPaneManager::showPage(int idx, bool focus) @@ -705,6 +709,7 @@ void OutputPaneToggleButton::checkStateSet() void OutputPaneToggleButton::flash(int count) { + setVisible(true); //Start flashing if button is not checked if (!isChecked()) { m_flashTimer->setLoopCount(count);