forked from qt-creator/qt-creator
"Grayout" the background of the output window on re-run configuration
Maybe we'll need to add an option to toggle that on, or tweak the blending (50:50 at the moment) Reviewed-by: dt
This commit is contained in:
@@ -200,7 +200,8 @@ void OutputPane::createNewOutputWindow(RunControl *rc)
|
||||
delete old;
|
||||
m_outputWindows.remove(old);
|
||||
OutputWindow *ow = static_cast<OutputWindow *>(m_tabWidget->widget(i));
|
||||
ow->appendOutput("");//New line
|
||||
ow->grayOutOldContent();
|
||||
ow->verticalScrollBar()->setValue(ow->verticalScrollBar()->maximum());
|
||||
m_outputWindows.insert(rc, ow);
|
||||
found = true;
|
||||
break;
|
||||
@@ -243,10 +244,15 @@ void OutputPane::insertLine()
|
||||
|
||||
void OutputPane::reRunRunControl()
|
||||
{
|
||||
RunControl *rc = runControlForTab(m_tabWidget->currentIndex());
|
||||
if (rc->runConfiguration()->project() != 0)
|
||||
int index = m_tabWidget->currentIndex();
|
||||
RunControl *rc = runControlForTab(index);
|
||||
if (rc->runConfiguration() && rc->runConfiguration()->project() != 0) {
|
||||
OutputWindow *ow = static_cast<OutputWindow *>(m_tabWidget->widget(index));
|
||||
ow->grayOutOldContent();
|
||||
ow->verticalScrollBar()->setValue(ow->verticalScrollBar()->maximum());
|
||||
rc->start();
|
||||
}
|
||||
}
|
||||
|
||||
void OutputPane::stopRunControl()
|
||||
{
|
||||
@@ -458,6 +464,22 @@ void OutputWindow::insertLine()
|
||||
enableUndoRedo();
|
||||
}
|
||||
|
||||
void OutputWindow::grayOutOldContent()
|
||||
{
|
||||
QTextCursor cursor = textCursor();
|
||||
cursor.select(QTextCursor::Document);
|
||||
QTextBlockFormat tbf;
|
||||
const QColor bkgColor = palette().window().color();
|
||||
const QColor fgdColor = palette().windowText().color();
|
||||
tbf.setBackground(QColor((0.5 * bkgColor.red() + 0.5* fgdColor.red()),\
|
||||
(0.5 * bkgColor.green() + 0.5* fgdColor.green()),\
|
||||
(0.5 * bkgColor.blue() + 0.5* fgdColor.blue()) ));
|
||||
cursor.mergeBlockFormat(tbf);
|
||||
|
||||
cursor.movePosition(QTextCursor::End);
|
||||
cursor.insertBlock(QTextBlockFormat());
|
||||
}
|
||||
|
||||
void OutputWindow::enableUndoRedo()
|
||||
{
|
||||
setMaximumBlockCount(0);
|
||||
|
@@ -125,6 +125,7 @@ public:
|
||||
void appendOutput(const QString &out);
|
||||
void appendOutputInline(const QString &out);
|
||||
void insertLine();
|
||||
void grayOutOldContent();
|
||||
|
||||
void showEvent(QShowEvent *);
|
||||
|
||||
|
Reference in New Issue
Block a user