Commit cdf2f70c authored by Pierre Rossi's avatar Pierre Rossi
Browse files

"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
parent fdc24639
......@@ -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,9 +244,14 @@ 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 *);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment