* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Peter Kümmel
+ * \author Peter Kümmel
+ * \author Pavel Sanda
*
* Full author contact details are available in file CREDITS.
*/
#include "DockView.h"
-#include <QTextEdit>
-#include <string>
+#include <QSplashScreen>
+#include <QTimer>
+
+#include <sstream>
namespace lyx {
namespace frontend {
-class GuiProgress :
- public DockView,
- public lyx::support::ProgressInterface
+class GuiProgress :
+ public QObject,
+ public lyx::support::ProgressInterface
{
+ Q_OBJECT
public:
- GuiProgress(
- GuiView & parent, ///< the main window where to dock.
- Qt::DockWidgetArea area, ///< Position of the dock (and also drawer)
- Qt::WindowFlags flags = 0);
+ GuiProgress();
+ ~GuiProgress();
+
+ void lyxerrConnect();
+ void lyxerrDisconnect();
+ void lyxerrFlush();
+
+ static QString currentTime();
+Q_SIGNALS:
+
+ // ProgressInterface
+ void processStarted(QString const &);
+ void processFinished(QString const &);
void appendMessage(QString const &);
+ void appendError(QString const &);
void clearMessages();
+ void appendLyXErrMessage(QString const & text);
+
+
+ void clearMessageText();
+ void updateStatusBarMessage(QString const &);
+ void triggerFlush();
+
+ // Alert interface
+ void warning(QString const & title, QString const & message);
+ void toggleWarning(QString const & title, QString const & msg, QString const & formatted);
+ void error(QString const & title, QString const & message);
+ void information(QString const & title, QString const & message);
+
+private Q_SLOTS:
+ void doProcessStarted(QString const &);
+ void doProcessFinished(QString const &);
+ void doAppendMessage(QString const &);
+ void doAppendError(QString const &);
+ void doClearMessages();
+
+ void doWarning(QString const &, QString const &);
+ void doToggleWarning(QString const & title, QString const & msg, QString const & formatted);
+ void doError(QString const &, QString const &);
+ void doInformation(QString const &, QString const &);
+
+ void updateWithLyXErr();
+ void startFlushing();
- /// Controller inherited method.
- ///@{
- bool initialiseParams(std::string const & source) { return true; }
- void clearParams() {}
- void dispatchParams() {}
- bool isBufferDependent() const { return false; }
- bool canApply() const { return true; }
- bool canApplyToReadOnly() const { return true; }
- void updateView() {}
- ///@}
private:
- QTextEdit text_edit;
+ void appendText(QString const &);
+ std::ostringstream lyxerr_stream_;
+ QTimer flushDelay_;
};
+
} // namespace frontend
} // namespace lyx