diff options
Diffstat (limited to 'src/textviewer.h')
| -rw-r--r-- | src/textviewer.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/src/textviewer.h b/src/textviewer.h new file mode 100644 index 00000000..c0d29607 --- /dev/null +++ b/src/textviewer.h @@ -0,0 +1,93 @@ +/* +Copyright (C) 2012 Sebastian Herbord. All rights reserved. + +This file is part of Mod Organizer. + +Mod Organizer is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Mod Organizer is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef TEXTVIEWER_H
+#define TEXTVIEWER_H
+
+#include <QDialog>
+#include <QTabWidget>
+#include <finddialog.h>
+#include <set>
+#include "loghighlighter.h"
+
+namespace Ui {
+ class TextViewer;
+}
+
+
+/**
+ * @brief tabbed text editor
+ **/
+class TextViewer : public QDialog
+{
+ Q_OBJECT
+
+public:
+
+ /**
+ * @brief constructor
+ * @param parent parent widget
+ **/
+ explicit TextViewer(QWidget *parent = 0);
+
+ ~TextViewer();
+
+ /**
+ * @brief set the description text to inform the user what he's editing
+ *
+ * @param description the description to set
+ **/
+ void setDescription(const QString &description);
+
+ /**
+ * @brief add a new tab with the specified file open
+ *
+ * @param fileName name of the file to open
+ * @param writable if true, the file can be modified
+ **/
+ void addFile(const QString &fileName, bool writable);
+
+protected:
+
+ void closeEvent(QCloseEvent *event);
+ bool eventFilter(QObject *obj, QEvent *event);
+
+private slots:
+
+ void saveFile();
+ void modified();
+ void patternChanged(QString newPattern);
+ void findNext();
+
+private:
+
+ void saveFile(const QTextEdit *editor);
+ void find();
+
+private:
+
+ Ui::TextViewer *ui;
+ QTabWidget *m_EditorTabs;
+ std::set<QTextEdit*> m_Modified;
+ FindDialog *m_FindDialog;
+ QString m_FindPattern;
+
+};
+
+#endif // TEXTVIEWER_H
|
