insilmaril@0: #ifndef MAINWINDOW_H insilmaril@0: #define MAINWINDOW_H insilmaril@0: insilmaril@366: #include insilmaril@0: insilmaril@421: #include "branchpropwindow.h" insilmaril@175: #include "file.h" insilmaril@175: #include "findwindow.h" insilmaril@404: #include "historywindow.h" insilmaril@175: #include "mapeditor.h" insilmaril@432: #include "simplescripteditor.h" insilmaril@175: #include "texteditor.h" insilmaril@0: #include "xml.h" insilmaril@0: insilmaril@390: enum ModMode {ModModeNone,ModModeColor,ModModeCopy,ModModeXLink}; insilmaril@390: insilmaril@0: class Main : public QMainWindow insilmaril@0: { insilmaril@0: Q_OBJECT insilmaril@0: insilmaril@0: public: insilmaril@366: Main(QWidget* parent=0, const char* name=0, Qt::WFlags f=0); insilmaril@0: ~Main(); insilmaril@0: void loadCmdLine(); insilmaril@0: void statusMessage (const QString &); insilmaril@0: insilmaril@0: public slots: insilmaril@0: void fileNew(); insilmaril@0: insilmaril@0: protected: insilmaril@0: void closeEvent( QCloseEvent* ); insilmaril@0: insilmaril@0: private: insilmaril@0: void setupFileActions(); insilmaril@0: void setupEditActions(); insilmaril@0: void setupFormatActions(); insilmaril@0: void setupViewActions(); insilmaril@89: void setupModeActions(); insilmaril@0: void setupWindowActions(); insilmaril@0: void setupFlagActions(); insilmaril@0: void setupSettingsActions(); insilmaril@0: void setupTestActions(); insilmaril@0: void setupHelpActions(); insilmaril@0: void setupContextMenus(); insilmaril@401: void setupRecentMapsMenu(); insilmaril@445: void setupMacros(); insilmaril@0: void hideEvent (QHideEvent * ); insilmaril@0: void showEvent (QShowEvent * ); insilmaril@0: bool reallyWriteDirectory(const QString&); insilmaril@0: QString browseDirectory(const QString&); insilmaril@0: MapEditor* currentMapEditor() const; insilmaril@0: insilmaril@0: private slots: insilmaril@0: void editorChanged(QWidget*); insilmaril@0: insilmaril@205: ErrorCode fileLoad(QString ,const LoadMode &); insilmaril@0: void fileLoad(const LoadMode &); insilmaril@0: void fileLoad(); insilmaril@401: void fileLoadRecent(); insilmaril@401: void addRecentMap (const QString &); insilmaril@0: void fileSave(const SaveMode & ); insilmaril@0: void fileSave(); insilmaril@0: void fileSaveAs(const SaveMode &); insilmaril@0: void fileSaveAs(); insilmaril@215: void fileImportKDEBookmarks(); insilmaril@314: void fileImportFirefoxBookmarks(); insilmaril@215: void fileImportMM(); insilmaril@0: void fileImportDir(); insilmaril@0: void fileExportXML(); insilmaril@0: void fileExportXHTML(); insilmaril@366: void fileExportImage(); insilmaril@0: void fileExportASCII(); insilmaril@163: void fileExportLaTeX(); insilmaril@243: void fileExportKDEBookmarks(); insilmaril@228: void fileExportTaskjuggler(); insilmaril@163: void fileExportOOPresentation(); insilmaril@0: void fileCloseMap(); insilmaril@0: void filePrint(); insilmaril@0: void fileExitVYM(); insilmaril@0: insilmaril@404: public slots: insilmaril@0: void editUndo(); insilmaril@0: void editRedo(); insilmaril@404: void gotoHistoryStep (int); insilmaril@404: private slots: insilmaril@0: void editCopy(); insilmaril@0: void editPaste(); insilmaril@0: void editCut(); insilmaril@0: void editOpenFindWindow(); insilmaril@0: void editFind(QString); insilmaril@0: void editFindChanged(); insilmaril@366: private: insilmaril@366: void openTabs(QStringList); insilmaril@0: public slots: insilmaril@0: void editOpenURL(); insilmaril@266: void editOpenURLTab(); insilmaril@0: private slots: insilmaril@366: void editOpenMultipleURLTabs(); insilmaril@0: void editURL(); insilmaril@0: void editHeading2URL(); insilmaril@0: void editBugzilla2URL(); insilmaril@175: void editFATE2URL(); insilmaril@366: void openVymLinks(const QStringList &); insilmaril@0: void editVymLink(); insilmaril@366: void editOpenMultipleVymLinks(); insilmaril@394: void editHeadingFinished(); insilmaril@0: public slots: insilmaril@366: void editHeading(); insilmaril@0: void editOpenVymLink(); insilmaril@0: private slots: insilmaril@0: void editDeleteVymLink(); insilmaril@243: void editToggleHideExport(); insilmaril@0: void editMapInfo(); insilmaril@0: void editMoveUp(); insilmaril@0: void editMoveDown(); insilmaril@0: void editToggleScroll(); insilmaril@0: void editUnScrollAll(); insilmaril@0: void editNewBranch(); insilmaril@394: void editNewBranchBefore(); insilmaril@0: void editNewBranchAbove(); insilmaril@0: void editNewBranchBelow(); insilmaril@0: void editImportAdd(); insilmaril@0: void editImportReplace(); insilmaril@0: void editSaveBranch(); insilmaril@395: void editDeleteKeepChilds(); insilmaril@395: void editDeleteChilds(); insilmaril@0: void editDeleteSelection(); insilmaril@0: void editUpperBranch(); insilmaril@0: void editLowerBranch(); insilmaril@0: void editLeftBranch(); insilmaril@0: void editRightBranch(); insilmaril@0: void editFirstBranch(); insilmaril@0: void editLastBranch(); insilmaril@0: void editLoadImage(); insilmaril@366: void editSaveImage(); insilmaril@366: void editFollowXLink (QAction *); insilmaril@366: void editEditXLink (QAction *); insilmaril@0: insilmaril@0: void formatSelectColor(); insilmaril@0: void formatPickColor(); insilmaril@0: void colorChanged(QColor); insilmaril@0: void formatColorBranch(); insilmaril@417: void formatColorSubtree(); insilmaril@0: void formatLinkStyleLine(); insilmaril@0: void formatLinkStyleParabel(); insilmaril@0: void formatLinkStylePolyLine(); insilmaril@0: void formatLinkStylePolyParabel(); insilmaril@0: void formatSelectBackColor(); insilmaril@408: void formatSelectBackImage(); insilmaril@0: void formatSelectLinkColor(); insilmaril@442: void formatSelectSelectionColor(); insilmaril@0: void formatToggleLinkColorHint(); insilmaril@175: void formatIncludeImagesVer(); insilmaril@175: void formatIncludeImagesHor(); insilmaril@160: void formatHideLinkUnselected(); insilmaril@0: insilmaril@0: void viewZoomReset(); insilmaril@0: void viewZoomIn(); insilmaril@0: void viewZoomOut(); insilmaril@0: insilmaril@0: public slots: insilmaril@0: bool settingsPDF(); insilmaril@0: bool settingsURL(); insilmaril@328: void settingsToggleDelKey(); insilmaril@0: insilmaril@0: void windowToggleNoteEditor(); insilmaril@294: void windowToggleHistory(); insilmaril@404: void updateHistory(SimpleSettings &); insilmaril@408: void windowToggleAntiAlias(); insilmaril@408: void windowToggleSmoothPixmap(); insilmaril@160: void updateNoteFlag(); insilmaril@442: void updateSatellites(MapEditor *); insilmaril@390: void updateActions(); insilmaril@390: ModMode getModMode(); insilmaril@390: bool autoEdit(); insilmaril@390: bool autoSelectHeading(); insilmaril@390: bool useFlagGroups(); insilmaril@434: void setScript(const QString &); insilmaril@434: void runScript(const QString &); insilmaril@160: insilmaril@0: private slots: insilmaril@421: void showPropertyDialog(); insilmaril@0: void windowNextEditor(); insilmaril@0: void windowPreviousEditor(); insilmaril@0: void windowShowNoteEditor(); insilmaril@0: void windowHideNoteEditor(); insilmaril@0: insilmaril@0: void standardFlagChanged(); insilmaril@0: insilmaril@0: void testFunction(); insilmaril@393: void testCommand(); insilmaril@0: insilmaril@0: void helpDoc(); insilmaril@0: void helpAbout(); insilmaril@0: void helpAboutQT(); insilmaril@0: insilmaril@445: void callMacro (); insilmaril@0: private: insilmaril@0: QTabWidget *tabWidget; insilmaril@0: FindWindow *findWindow; insilmaril@266: QProcess *procBrowser; insilmaril@366: insilmaril@366: QStringList imageTypes; insilmaril@366: insilmaril@366: QLineEdit *lineedit; // to enter headings of branches insilmaril@394: QString prevSelection; insilmaril@390: insilmaril@404: HistoryWindow *historyWindow; insilmaril@404: insilmaril@421: BranchPropertyWindow *branchPropertyWindow; insilmaril@432: SimpleScriptEditor *scriptEditor; insilmaril@421: insilmaril@406: QList actionListBranches; insilmaril@390: insilmaril@395: QColor currentColor; insilmaril@395: insilmaril@401: QMenu *recentFilesMenu; insilmaril@401: enum { MaxRecentFiles = 9 }; insilmaril@445: QAction *recentFileActions[MaxRecentFiles]; insilmaril@445: insilmaril@445: QAction *macroActions[12]; insilmaril@445: QStringList macro; insilmaril@401: insilmaril@390: QAction* actionFileSave; insilmaril@390: QAction* actionFilePrint; insilmaril@390: QAction* actionEditUndo; insilmaril@390: QAction* actionEditRedo; insilmaril@390: QAction *actionEditCopy; insilmaril@390: QAction *actionEditCut; insilmaril@390: QAction *actionEditPaste; insilmaril@390: QAction *actionEditMoveUp; insilmaril@390: QAction *actionEditMoveDown; insilmaril@390: QAction *actionEditToggleScroll; insilmaril@390: QAction* actionEditOpenURL; insilmaril@390: QAction* actionEditOpenURLTab; insilmaril@390: QAction* actionEditOpenMultipleURLTabs; insilmaril@390: QAction* actionEditURL; insilmaril@390: QAction* actionEditHeading2URL; insilmaril@390: QAction* actionEditBugzilla2URL; insilmaril@390: QAction* actionEditFATE2URL; insilmaril@390: QAction *actionEditOpenVymLink; insilmaril@390: QAction *actionEditOpenMultipleVymLinks; insilmaril@390: QAction *actionEditVymLink; insilmaril@390: QAction *actionEditDeleteVymLink; insilmaril@390: QAction *actionEditToggleHideExport; insilmaril@390: QAction *actionEditMapInfo; insilmaril@390: QAction *actionEditHeading; insilmaril@390: QAction *actionEditDelete; insilmaril@390: QAction *actionEditAddBranch; insilmaril@394: QAction *actionEditAddBranchBefore; insilmaril@390: QAction *actionEditAddBranchAbove; insilmaril@390: QAction *actionEditAddBranchBelow; insilmaril@395: QAction *actionEditDeleteKeepChilds; insilmaril@395: QAction *actionEditDeleteChilds; insilmaril@390: QAction *actionEditImportAdd; insilmaril@390: QAction *actionEditImportReplace; insilmaril@390: QAction *actionEditSaveBranch; insilmaril@390: QAction *actionEditSelectFirst; insilmaril@390: QAction *actionEditSelectLast; insilmaril@390: QAction *actionEditLoadImage; insilmaril@390: insilmaril@390: QAction* actionFormatColor; insilmaril@390: QAction* actionFormatPickColor; insilmaril@390: QAction* actionFormatColorBranch; insilmaril@390: QAction* actionFormatColorSubtree; insilmaril@390: QAction* actionFormatLinkColorHint; insilmaril@390: QAction* actionFormatBackColor; insilmaril@408: QAction* actionFormatBackImage; insilmaril@390: QAction* actionFormatLinkColor; insilmaril@442: QAction* actionFormatSelectionColor; insilmaril@390: QAction *actionFormatIncludeImagesVer; insilmaril@390: QAction *actionFormatIncludeImagesHor; insilmaril@390: insilmaril@390: QActionGroup* actionGroupModModes; insilmaril@390: QAction* actionModModeColor; insilmaril@390: QAction* actionModModeXLink; insilmaril@390: QAction* actionModModeCopy; insilmaril@390: insilmaril@390: QActionGroup *actionGroupFormatFrameTypes; insilmaril@421: insilmaril@442: QAction *actionTogglePropertyDialog; insilmaril@390: insilmaril@390: QActionGroup *actionGroupFormatLinkStyles; insilmaril@390: QAction *actionFormatLinkStyleLine; insilmaril@390: QAction *actionFormatLinkStyleParabel; insilmaril@390: QAction *actionFormatLinkStylePolyLine; insilmaril@390: QAction *actionFormatLinkStylePolyParabel; insilmaril@390: QAction *actionFormatHideLinkUnselected; insilmaril@390: insilmaril@390: QAction *actionViewToggleNoteEditor; insilmaril@390: QAction *actionViewToggleHistoryWindow; insilmaril@408: QAction *actionViewToggleAntiAlias; insilmaril@408: QAction *actionViewToggleSmoothPixmapTransform; insilmaril@390: insilmaril@390: QAction* actionSettingsAutoEdit; insilmaril@390: QAction* actionSettingsAutoSelectHeading; insilmaril@390: QAction* actionSettingsAutoSelectText; insilmaril@390: QAction* actionSettingsUseDelKey; insilmaril@390: QAction* actionSettingsUseFlagGroups; insilmaril@390: QAction* actionSettingsUseHideExport; insilmaril@0: }; insilmaril@0: insilmaril@0: insilmaril@0: #endif insilmaril@0: