]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiProgress.cpp
Do not show master's errors if compiling child
[lyx.git] / src / frontends / qt4 / GuiProgress.cpp
index ab8c6bd3cfb470284913784acc148ac2ebc765a5..466d20668fbbd39ee91d2e561a95ee3d1038aec7 100644 (file)
@@ -32,6 +32,9 @@ namespace lyx {
 namespace frontend {
 
 
+// FIXME: This dialog has issues with line breaking and size, in particular with
+// html. But it could easily be reimplemented as a QMessageBox using
+// QMessageBox::setCheckBox() available starting from Qt 5.2
 class GuiToggleWarningDialog : public QDialog, public Ui::ToggleWarningUi
 {
 public:
@@ -50,14 +53,14 @@ GuiProgress::GuiProgress()
        connect(this, SIGNAL(appendMessage(QString const &)), SLOT(doAppendMessage(QString const &)));
        connect(this, SIGNAL(appendError(QString const &)), SLOT(doAppendError(QString const &)));
        connect(this, SIGNAL(clearMessages()), SLOT(doClearMessages()));
-       
+
        // Alert interface
        connect(this, SIGNAL(warning(QString const &, QString const &)),
                SLOT(doWarning(QString const &, QString const &)));
        connect(this, SIGNAL(toggleWarning(QString const &, QString const &, QString const &)),
                SLOT(doToggleWarning(QString const &, QString const &, QString const &)));
-       connect(this, SIGNAL(error(QString const &, QString const &)),
-               SLOT(doError(QString const &, QString const &)));
+       connect(this, SIGNAL(error(QString const &, QString const &, QString const &)),
+               SLOT(doError(QString const &, QString const &, QString const &)));
        connect(this, SIGNAL(information(QString const &, QString const &)),
                SLOT(doInformation(QString const &, QString const &)));
        connect(this, SIGNAL(triggerFlush()),
@@ -183,9 +186,13 @@ void GuiProgress::doToggleWarning(QString const & title, QString const & msg, QS
 }
 
 
-void GuiProgress::doError(QString const & title, QString const & message)
+void GuiProgress::doError(QString const & title, QString const & message, QString const & details)
 {
-       QMessageBox::critical(qApp->focusWidget(), title, message);
+       QMessageBox box(QMessageBox::Critical, title, message, QMessageBox::Ok, qApp->focusWidget());
+       if (!details.isEmpty()) {
+               box.setDetailedText(details);
+       }
+       box.exec();
 }