#1186 bugfix: Use QString in slots

master
Marius Kintel 2015-02-05 12:08:38 -05:00
parent a203b55205
commit 37421bbbfa
2 changed files with 11 additions and 8 deletions

View File

@ -98,7 +98,7 @@ private slots:
void setColorScheme(const QString &cs); void setColorScheme(const QString &cs);
void showProgress(); void showProgress();
void openCSGSettingsChanged(); void openCSGSettingsChanged();
void consoleOutput(const std::string &msg); void consoleOutput(const QString &msg);
private: private:
void initActionIcon(QAction *action, const char *darkResource, const char *lightResource); void initActionIcon(QAction *action, const char *darkResource, const char *lightResource);

View File

@ -2641,18 +2641,21 @@ void MainWindow::consoleOutput(const std::string &msg, void *userdata)
// Invoke the method in the main thread in case the output // Invoke the method in the main thread in case the output
// originates in a worker thread. // originates in a worker thread.
MainWindow *thisp = static_cast<MainWindow*>(userdata); MainWindow *thisp = static_cast<MainWindow*>(userdata);
QMetaObject::invokeMethod(thisp, "consoleOutput", Q_ARG(std::string, msg)); QMetaObject::invokeMethod(thisp, "consoleOutput", Q_ARG(QString, QString::fromStdString(msg)));
} }
void MainWindow::consoleOutput(const std::string &msg) void MainWindow::consoleOutput(const QString &msg)
{ {
QString qmsg = QString::fromUtf8(msg.c_str()); QString qmsg;
if (qmsg.startsWith("WARNING:") || qmsg.startsWith("DEPRECATED:")) { if (msg.startsWith("WARNING:") || msg.startsWith("DEPRECATED:")) {
this->compileWarnings++; this->compileWarnings++;
qmsg = "<html><span style=\"color: black; background-color: #ffffb0;\">" + qmsg + "</span></html>\n"; qmsg = "<html><span style=\"color: black; background-color: #ffffb0;\">" + msg + "</span></html>\n";
} else if (qmsg.startsWith("ERROR:")) { } else if (msg.startsWith("ERROR:")) {
this->compileErrors++; this->compileErrors++;
qmsg = "<html><span style=\"color: black; background-color: #ffb0b0;\">" + qmsg + "</span></html>\n"; qmsg = "<html><span style=\"color: black; background-color: #ffb0b0;\">" + msg + "</span></html>\n";
}
else {
qmsg = msg;
} }
QTextCursor c = this->console->textCursor(); QTextCursor c = this->console->textCursor();
c.movePosition(QTextCursor::End); c.movePosition(QTextCursor::End);