00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef MAINWINDOW_H
00027 #define MAINWINDOW_H
00028
00029 #include <QtGui/QMainWindow>
00030 #include <QtGui/QMessageBox>
00031 #include <QtGui/QFileDialog>
00032 #include <QSettings>
00033 #include <QDir>
00034 #include <QClipboard>
00035 #include <QMimeData>
00036 #include <QTime>
00037 #include <QLineEdit>
00038 #include <QString>
00039 #include <QTextStream>
00040 #include <QScrollBar>
00041 #include <QDropEvent>
00042
00043 #include "version.h"
00044 #include "codegenerator.h"
00045 #include "htmlgenerator.h"
00046 #include "configurationreader.h"
00047
00048 #include "enums.h"
00049
00050 typedef map<string, string> StringMap;
00051
00052 namespace Ui
00053 {
00054 class MainWindowClass;
00055 }
00056
00057 class MainWindow : public QMainWindow
00058 {
00059 Q_OBJECT
00060
00061 public:
00062 MainWindow(QWidget *parent = 0);
00063 ~MainWindow();
00064
00065 void addInputFiles(const QStringList& list);
00066
00067 private:
00068 Ui::MainWindowClass *ui;
00069 StringMap extensions, shebangs;
00070 QString fileOpenFilter;
00071 QString savedClipboardContent;
00072
00073 void readSettings();
00074 void writeSettings();
00075 highlight::OutputType getOutputType();
00076 highlight::WrapMode getWrappingStyle();
00077 QString getOutFileSuffix();
00078 void applyCtrlValues(highlight::CodeGenerator* generator, bool previewMode);
00079 void selectSingleFile(QLineEdit*, const QString&, const QString&);
00080 bool loadFileTypeConfig(StringMap* extMap, StringMap* shebangMap);
00081 void highlight2Clipboard(bool getDataFromCP);
00082
00083 string analyzeFile(const string& file);
00084 string getFileType(const string& suffix, const string &inputFile);
00085 string getFileSuffix(const string& fileName);
00086
00087 void dragEnterEvent(QDragEnterEvent *event);
00088 void dragMoveEvent(QDragMoveEvent *event);
00089 void dragLeaveEvent(QDragLeaveEvent *event);
00090 void dropEvent(QDropEvent *event);
00091
00092 public slots:
00093
00094
00095
00096
00097 void on_pbClearSelection_clicked();
00098 void on_pbOutputDest_clicked();
00099 void on_pbStartConversion_clicked();
00100 void on_pbCopyFile2CP_clicked();
00101
00102 private slots:
00103
00104 void on_pbCopyToCP_clicked();
00105 void on_pbPasteFromCB_clicked();
00106 void on_actionAbout_translations_triggered();
00107 void on_pbTEXChooseStyleIncFile_clicked();
00108 void on_pbLATEXChooseStyleIncFile_clicked();
00109 void on_pbHTMLChooseStyleIncFile_clicked();
00110 void on_pbSVGChooseStyleIncFile_clicked();
00111 void on_action_License_triggered();
00112 void on_action_Changelog_triggered();
00113 void on_action_Manual_triggered();
00114 void on_pbHTMLChooseTagsFile_clicked();
00115 void on_action_About_Highlight_triggered();
00116 void on_action_Exit_triggered();
00117 void plausibility();
00118 void updatePreview();
00119 void openFiles();
00120
00121 };
00122
00123 #endif // MAINWINDOW_H