+// This dialog is only a fallback for Qt < 5.2, which does not feature
+// QMessageBox::setCheckBox() yet. Note that it has issues with line
+// breaking and size, in particular with html.
+#if QT_VERSION < 0x050200
+class GuiToggleWarningDialog : public QDialog, public Ui::ToggleWarningUi
+{
+public:
+ GuiToggleWarningDialog(QWidget * parent) : QDialog(parent)
+ {
+ Ui::ToggleWarningUi::setupUi(this);
+ QDialog::setModal(true);
+ }
+};
+#endif
+
+
+GuiProgress::GuiProgress()
+{
+ connect(this, SIGNAL(processStarted(QString const &)), SLOT(doProcessStarted(QString const &)));
+ connect(this, SIGNAL(processFinished(QString const &)), SLOT(doProcessFinished(QString const &)));
+ 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 &, 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()),
+ SLOT(startFlushing()));
+
+ flushDelay_.setInterval(200);
+ flushDelay_.setSingleShot(true);
+ connect(&flushDelay_, SIGNAL(timeout()), this, SLOT(updateWithLyXErr()));
+}
+
+
+int GuiProgress::prompt(docstring const & title, docstring const & question,
+ int default_button, int cancel_button,
+ docstring const & b1, docstring const & b2)
+{
+ return Alert::prompt(title, question, default_button, cancel_button, b1, b2);
+}
+
+
+QString GuiProgress::currentTime()
+{
+ return QTime::currentTime().toString("hh:mm:ss.zzz");
+}
+
+
+void GuiProgress::doProcessStarted(QString const & cmd)