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) ...@@ -200,7 +200,8 @@ void OutputPane::createNewOutputWindow(RunControl *rc)
delete old; delete old;
m_outputWindows.remove(old); m_outputWindows.remove(old);
OutputWindow *ow = static_cast<OutputWindow *>(m_tabWidget->widget(i)); 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); m_outputWindows.insert(rc, ow);
found = true; found = true;
break; break;
...@@ -243,9 +244,14 @@ void OutputPane::insertLine() ...@@ -243,9 +244,14 @@ void OutputPane::insertLine()
void OutputPane::reRunRunControl() void OutputPane::reRunRunControl()
{ {
RunControl *rc = runControlForTab(m_tabWidget->currentIndex()); int index = m_tabWidget->currentIndex();
if (rc->runConfiguration()->project() != 0) 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(); rc->start();
}
} }
void OutputPane::stopRunControl() void OutputPane::stopRunControl()
...@@ -458,6 +464,22 @@ void OutputWindow::insertLine() ...@@ -458,6 +464,22 @@ void OutputWindow::insertLine()
enableUndoRedo(); 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() void OutputWindow::enableUndoRedo()
{ {
setMaximumBlockCount(0); setMaximumBlockCount(0);
......
...@@ -125,6 +125,7 @@ public: ...@@ -125,6 +125,7 @@ public:
void appendOutput(const QString &out); void appendOutput(const QString &out);
void appendOutputInline(const QString &out); void appendOutputInline(const QString &out);
void insertLine(); void insertLine();
void grayOutOldContent();
void showEvent(QShowEvent *); 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