Ver código fonte

BUG: Fix issue when non-error messages were incorrectly colored red.

Clinton Stimpson 17 anos atrás
pai
commit
3052d2c854

+ 6 - 20
Source/QtDialog/CMakeSetupDialog.cxx

@@ -138,6 +138,7 @@ CMakeSetupDialog::CMakeSetupDialog()
   // fixed pitch font in output window
   QFont outputFont("Courier");
   this->Output->setFont(outputFont);
+  this->ErrorFormat.setForeground(QBrush(Qt::red));
 
   // start the cmake worker thread
   this->CMakeThread = new QCMakeThread(this);
@@ -512,32 +513,17 @@ void CMakeSetupDialog::showProgress(const QString& /*msg*/, float percent)
 {
   this->ProgressBar->setValue(qRound(percent * 100));
 }
-  
+
 void CMakeSetupDialog::error(const QString& message)
 {
-  QStringList messages = message.split('\n');
-  foreach(QString m, messages)
-    {
-    // make sure we escape html tags in the cmake messages
-    m.replace(QString("&"), QString("&"));
-    m.replace(QString("<"), QString("&lt;"));
-    m.replace(QString(">"), QString("&gt;"));
-    m.replace(QString(" "), QString("&nbsp;"));
-    this->Output->append(QString("<b><font color=red>%1</font></b>").arg(m));
-    }
+  this->Output->setCurrentCharFormat(this->ErrorFormat);
+  this->Output->append(message);
 }
 
 void CMakeSetupDialog::message(const QString& message)
 {
-  QStringList messages = message.split('\n');
-  foreach(QString m, messages)
-    {
-    // make sure we escape html tags in the cmake messages
-    m.replace(QString("&"), QString("&amp;"));
-    m.replace(QString("<"), QString("&lt;"));
-    m.replace(QString(">"), QString("&gt;"));
-    this->Output->append(m);
-    }
+  this->Output->setCurrentCharFormat(this->MessageFormat);
+  this->Output->append(message);
 }
 
 void CMakeSetupDialog::setEnabledState(bool enabled)

+ 3 - 0
Source/QtDialog/CMakeSetupDialog.h

@@ -99,6 +99,9 @@ protected:
   QAction* InstallForCommandLineAction;
   State CurrentState;
 
+  QTextCharFormat ErrorFormat;
+  QTextCharFormat MessageFormat;
+
 };
 
 // QCMake instance on a thread