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 <oswald.buddenhagen@nokia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
This commit is contained in:
Daniel Teske
2012-09-11 18:17:51 +02:00
parent 80502c610f
commit 91a9a2414d

View File

@@ -465,10 +465,14 @@ void OutputPaneManager::setBadgeNumber(int number)
void OutputPaneManager::showPage(bool focus, bool ensureSizeHint)
{
int idx = findIndexForPage(qobject_cast<IOutputPane*>(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);