]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiLog.h
* fix spelling in comments to please John.
[lyx.git] / src / frontends / qt4 / GuiLog.h
index ad6fe49e1b7db6e3e30a6396c90703a4fc959643..2a9ebb6e7a44d5233b2da13c9bd643bc1f7aa5d9 100644 (file)
@@ -5,6 +5,7 @@
  * Licence details can be found in the file COPYING.
  *
  * \author John Levon
+ * \author Angus Leeming
  *
  * Full author contact details are available in file CREDITS.
  */
 #define GUILOG_H
 
 #include "GuiDialog.h"
-#include "ControlLog.h"
 #include "ui_LogUi.h"
 
+#include "support/FileName.h"
+
+
 namespace lyx {
 namespace frontend {
 
 class LogHighlighter;
 
-class GuiLogDialog : public GuiDialog, public Ui::LogUi
+class GuiLog : public GuiDialog, public Ui::LogUi
 {
        Q_OBJECT
+
 public:
-       GuiLogDialog(LyXView & lv);
+       GuiLog(GuiView & lv);
+
 private Q_SLOTS:
-       void updateClicked();
+       void updateContents();
+       /// copy log to clipboard
+       void on_copyPB_clicked();
+       /// find content
+       void find();
+       /// jump to next error message
+       void on_nextErrorPB_clicked();
+       /// jump to next warning
+       void on_nextWarningPB_clicked();
+       /// Log type changed
+       void typeChanged(int);
+
 private:
-       void closeEvent(QCloseEvent * e);
-       /// parent controller
-       ControlLog & controller() const;
        /// Apply changes
        void applyView() {}
-       /// update
-       void update_contents();
 
        /// log syntax highlighter
        LogHighlighter * highlighter;
+
+       /** \param data should contain "<logtype> <logfile>"
+        *  where <logtype> is one of "latex", "literate", "lyx2lyx", "vc".
+        */
+       bool initialiseParams(std::string const & data);
+       ///
+       void clearParams();
+       ///
+       void dispatchParams() {}
+       ///
+       bool isBufferDependent() const { return true; }
+
+       /// The title displayed by the dialog reflects the \c LogType
+       docstring title() const;
+       /// put the log file into the ostream
+       void getContents(std::ostream & ss) const;
+       /// go to the next occurence of the RegExp
+       void goTo(QRegExp const & exp) const;
+       /// does the document after cursor position contain the RegExp?
+       bool contains(QRegExp const & exp) const;
+
+private:
+       /// Recognized log file-types
+       enum LogType {
+               LatexLog,
+               LiterateLog,
+               Lyx2lyxLog,
+               VCLog
+       };
+
+       LogType type_;
+       support::FileName logfile_;
 };
 
 
 } // namespace frontend
 } // namespace lyx
 
-#endif // QLOG_H
+#endif // GUILOG_H