insilmaril@0: #ifndef MAINWINDOW_H insilmaril@0: #define MAINWINDOW_H insilmaril@0: insilmaril@62: #include insilmaril@0: insilmaril@62: #include "branchpropwindow.h" insilmaril@62: #include "file.h" insilmaril@62: #include "findwindow.h" insilmaril@62: #include "historywindow.h" insilmaril@62: #include "mapeditor.h" insilmaril@62: #include "simplescripteditor.h" insilmaril@0: #include "texteditor.h" insilmaril@62: insilmaril@0: insilmaril@0: class Main : public QMainWindow insilmaril@0: { insilmaril@0: Q_OBJECT insilmaril@0: insilmaril@0: public: insilmaril@62: /*! Modifier modes are used when CTRL together with a mouse button is pressed */ insilmaril@62: enum ModMode { insilmaril@62: ModModeNone, //!< Unused insilmaril@62: ModModeColor, //!< Pick color from object insilmaril@62: ModModeCopy, //!< Copy object insilmaril@62: ModModeXLink //!< Create a XLink (XLinkObj) from selected object insilmaril@62: }; insilmaril@62: insilmaril@62: 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@62: void fileNewCopy(); 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@62: void setupModeActions(); insilmaril@0: void setupWindowActions(); insilmaril@62: void setupFlag(FlagObj *fo, QToolBar *tb, bool aw, const QString &name, const QString &tooltip); insilmaril@0: void setupFlagActions(); insilmaril@62: void setupNetworkActions(); insilmaril@0: void setupSettingsActions(); insilmaril@0: void setupTestActions(); insilmaril@0: void setupHelpActions(); insilmaril@0: void setupContextMenus(); insilmaril@62: void setupRecentMapsMenu(); insilmaril@62: void setupMacros(); insilmaril@0: void hideEvent (QHideEvent * ); insilmaril@0: void showEvent (QShowEvent * ); insilmaril@0: MapEditor* currentMapEditor() const; insilmaril@0: insilmaril@0: private slots: insilmaril@0: void editorChanged(QWidget*); insilmaril@0: insilmaril@62: ErrorCode fileLoad(QString ,const LoadMode &, const FileType & ftype=VymMap); insilmaril@0: void fileLoad(const LoadMode &); insilmaril@0: void fileLoad(); insilmaril@62: void fileLoadRecent(); insilmaril@62: void addRecentMap (const QString &); insilmaril@62: void fileSave(MapEditor*, const SaveMode & ); insilmaril@0: void fileSave(); insilmaril@62: public slots: insilmaril@62: void fileSave(MapEditor *); // autosave from MapEditor insilmaril@62: private slots: insilmaril@0: void fileSaveAs(const SaveMode &); insilmaril@0: void fileSaveAs(); insilmaril@62: void fileImportKDE3Bookmarks(); insilmaril@62: void fileImportKDE4Bookmarks(); insilmaril@62: void fileImportFirefoxBookmarks(); insilmaril@62: void fileImportFreemind(); insilmaril@62: void fileImportMM(); insilmaril@0: void fileImportDir(); insilmaril@0: void fileExportXML(); insilmaril@0: void fileExportXHTML(); insilmaril@62: void fileExportImage(); insilmaril@0: void fileExportASCII(); insilmaril@62: void fileExportCSV(); insilmaril@62: void fileExportLaTeX(); insilmaril@62: void fileExportKDE3Bookmarks(); insilmaril@62: void fileExportKDE4Bookmarks(); insilmaril@62: void fileExportTaskjuggler(); insilmaril@62: void fileExportOOPresentation(); insilmaril@0: void fileCloseMap(); insilmaril@0: void filePrint(); insilmaril@0: void fileExitVYM(); insilmaril@0: insilmaril@62: public slots: insilmaril@0: void editUndo(); insilmaril@0: void editRedo(); insilmaril@62: void gotoHistoryStep (int); insilmaril@62: 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@62: private: insilmaril@62: void openTabs(QStringList); insilmaril@0: public slots: insilmaril@0: void editOpenURL(); insilmaril@62: void editOpenURLTab(); insilmaril@0: private slots: insilmaril@62: void editOpenMultipleURLTabs(); insilmaril@0: void editURL(); insilmaril@62: void editLocalURL(); insilmaril@0: void editHeading2URL(); insilmaril@0: void editBugzilla2URL(); insilmaril@62: void editFATE2URL(); insilmaril@62: void openVymLinks(const QStringList &); insilmaril@0: void editVymLink(); insilmaril@62: void editOpenMultipleVymLinks(); insilmaril@62: void editHeadingFinished(); insilmaril@62: void editAttributeFinished(); insilmaril@0: public slots: insilmaril@62: void editHeading(); insilmaril@62: void editAttribute(); insilmaril@0: void editOpenVymLink(); insilmaril@0: private slots: insilmaril@0: void editDeleteVymLink(); insilmaril@62: void editToggleHideExport(); insilmaril@0: void editMapInfo(); insilmaril@0: void editMoveUp(); insilmaril@0: void editMoveDown(); insilmaril@62: void editSortChildren(); insilmaril@0: void editToggleScroll(); insilmaril@62: void editUnscrollChilds(); insilmaril@62: void editAddMapCenter(); insilmaril@0: void editNewBranch(); insilmaril@62: void editNewBranchBefore(); insilmaril@0: void editNewBranchAbove(); insilmaril@0: void editNewBranchBelow(); insilmaril@0: void editImportAdd(); insilmaril@0: void editImportReplace(); insilmaril@0: void editSaveBranch(); insilmaril@62: void editDeleteKeepChilds(); insilmaril@62: 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@62: void editSaveImage(); insilmaril@62: void editFollowXLink (QAction *); insilmaril@62: void editEditXLink (QAction *); insilmaril@0: insilmaril@0: void formatSelectColor(); insilmaril@0: void formatPickColor(); insilmaril@0: void colorChanged(QColor); insilmaril@0: void formatColorBranch(); insilmaril@62: void formatColorSubtree(); insilmaril@0: void formatLinkStyleLine(); insilmaril@0: void formatLinkStyleParabel(); insilmaril@0: void formatLinkStylePolyLine(); insilmaril@0: void formatLinkStylePolyParabel(); insilmaril@0: void formatSelectBackColor(); insilmaril@62: void formatSelectBackImage(); insilmaril@0: void formatSelectLinkColor(); insilmaril@62: void formatSelectSelectionColor(); insilmaril@0: void formatToggleLinkColorHint(); insilmaril@62: void formatHideLinkUnselected(); insilmaril@0: insilmaril@0: void viewZoomReset(); insilmaril@0: void viewZoomIn(); insilmaril@0: void viewZoomOut(); insilmaril@62: void viewCenter(); insilmaril@0: insilmaril@0: public slots: insilmaril@62: void networkStartServer(); insilmaril@62: void networkConnect(); insilmaril@0: bool settingsPDF(); insilmaril@0: bool settingsURL(); insilmaril@62: void settingsMacroDir(); insilmaril@62: void settingsToggleDelKey(); insilmaril@62: void settingsUndoLevels(); insilmaril@62: void settingsAutosaveToggle(); insilmaril@62: void settingsAutosaveTime(); insilmaril@62: void settingsWriteBackupFileToggle(); insilmaril@62: void settingsToggleAnimation(); insilmaril@0: insilmaril@0: void windowToggleNoteEditor(); insilmaril@62: void windowToggleHistory(); insilmaril@62: void windowToggleProperty(); insilmaril@62: void updateHistory(SimpleSettings &); insilmaril@62: void windowToggleAntiAlias(); insilmaril@62: void windowToggleSmoothPixmap(); insilmaril@62: void updateNoteFlag(); insilmaril@62: void updateSatellites(MapEditor *); insilmaril@62: void updateActions(); insilmaril@62: ModMode getModMode(); insilmaril@62: bool autoEditNewBranch(); insilmaril@62: bool autoSelectNewBranch(); insilmaril@62: bool useFlagGroups(); insilmaril@62: void setScript(const QString &); insilmaril@62: void runScript(const QString &); insilmaril@62: void runScriptEverywhere (const QString &); insilmaril@62: insilmaril@0: private slots: 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@62: void testFunction1(); insilmaril@62: void testFunction2(); insilmaril@62: void testCommand(); insilmaril@0: insilmaril@0: void helpDoc(); insilmaril@62: void helpDemo(); insilmaril@0: void helpAbout(); insilmaril@0: void helpAboutQT(); insilmaril@0: insilmaril@62: void callMacro (); insilmaril@62: insilmaril@0: private: insilmaril@0: QTabWidget *tabWidget; insilmaril@0: FindWindow *findWindow; insilmaril@62: QProcess *procBrowser; insilmaril@62: insilmaril@62: QStringList imageTypes; insilmaril@62: insilmaril@62: QLineEdit *lineedit; // to enter headings of branches insilmaril@62: QString prevSelection; insilmaril@62: insilmaril@62: HistoryWindow *historyWindow; insilmaril@62: insilmaril@62: BranchPropertyWindow *branchPropertyWindow; insilmaril@62: SimpleScriptEditor *scriptEditor; insilmaril@62: insilmaril@62: QList actionListBranches; insilmaril@62: insilmaril@62: QColor currentColor; insilmaril@62: insilmaril@62: int xLinkMenuWidth; insilmaril@62: insilmaril@62: QMenu *recentFilesMenu; insilmaril@62: enum { MaxRecentFiles = 9 }; insilmaril@62: QAction *recentFileActions[MaxRecentFiles]; insilmaril@62: insilmaril@62: QAction *macroActions[12]; insilmaril@62: QStringList macro; insilmaril@62: insilmaril@62: QAction* actionFileNewCopy; insilmaril@62: QAction* actionFileSave; insilmaril@62: QAction* actionFilePrint; insilmaril@62: QAction* actionEditUndo; insilmaril@62: QAction* actionEditRedo; insilmaril@62: QAction *actionEditCopy; insilmaril@62: QAction *actionEditCut; insilmaril@62: QAction *actionEditPaste; insilmaril@62: QAction *actionEditMoveUp; insilmaril@62: QAction *actionEditMoveDown; insilmaril@62: QAction *actionEditSortChildren; insilmaril@62: QAction *actionEditToggleScroll; insilmaril@62: QAction* actionEditOpenURL; insilmaril@62: QAction* actionEditOpenURLTab; insilmaril@62: QAction* actionEditOpenMultipleURLTabs; insilmaril@62: QAction* actionEditURL; insilmaril@62: QAction* actionEditLocalURL; insilmaril@62: QAction* actionEditHeading2URL; insilmaril@62: QAction* actionEditBugzilla2URL; insilmaril@62: QAction* actionEditFATE2URL; insilmaril@62: QAction *actionEditOpenVymLink; insilmaril@62: QAction *actionEditOpenMultipleVymLinks; insilmaril@62: QAction *actionEditVymLink; insilmaril@62: QAction *actionEditDeleteVymLink; insilmaril@62: QAction *actionEditToggleHideExport; insilmaril@62: QAction *actionEditMapInfo; insilmaril@62: QAction *actionEditHeading; insilmaril@62: QAction *actionEditDelete; insilmaril@62: QAction *actionEditAddMapCenter; insilmaril@62: QAction *actionEditAddBranch; insilmaril@62: QAction *actionEditAddBranchBefore; insilmaril@62: QAction *actionEditAddBranchAbove; insilmaril@62: QAction *actionEditAddBranchBelow; insilmaril@62: QAction *actionEditDeleteKeepChilds; insilmaril@62: QAction *actionEditDeleteChilds; insilmaril@62: QAction *actionEditImportAdd; insilmaril@62: QAction *actionEditImportReplace; insilmaril@62: QAction *actionEditSaveBranch; insilmaril@62: QAction *actionEditSelectFirst; insilmaril@62: QAction *actionEditSelectLast; insilmaril@62: QAction *actionEditLoadImage; insilmaril@62: insilmaril@62: QAction* actionFormatColor; insilmaril@62: QAction* actionFormatPickColor; insilmaril@62: QAction* actionFormatColorBranch; insilmaril@62: QAction* actionFormatColorSubtree; insilmaril@62: QAction* actionFormatLinkColorHint; insilmaril@62: QAction* actionFormatBackColor; insilmaril@62: QAction* actionFormatBackImage; insilmaril@62: QAction* actionFormatLinkColor; insilmaril@62: QAction* actionFormatSelectionColor; insilmaril@62: insilmaril@62: QActionGroup* actionGroupModModes; insilmaril@62: QAction* actionModModeColor; insilmaril@62: QAction* actionModModeXLink; insilmaril@62: QAction* actionModModeCopy; insilmaril@62: insilmaril@62: QActionGroup *actionGroupFormatFrameTypes; insilmaril@62: insilmaril@62: insilmaril@62: QActionGroup *actionGroupFormatLinkStyles; insilmaril@62: QAction *actionFormatLinkStyleLine; insilmaril@62: QAction *actionFormatLinkStyleParabel; insilmaril@62: QAction *actionFormatLinkStylePolyLine; insilmaril@62: QAction *actionFormatLinkStylePolyParabel; insilmaril@62: QAction *actionFormatHideLinkUnselected; insilmaril@62: insilmaril@62: QAction *actionViewToggleNoteEditor; insilmaril@62: QAction *actionViewToggleHistoryWindow; insilmaril@62: QAction *actionViewTogglePropertyWindow; insilmaril@62: QAction *actionViewToggleAntiAlias; insilmaril@62: QAction *actionViewToggleSmoothPixmapTransform; insilmaril@62: QAction* actionViewCenter; insilmaril@62: insilmaril@62: QAction* actionSettingsAutoEditNewBranch; insilmaril@62: QAction* actionSettingsAutoSelectNewBranch; insilmaril@62: QAction* actionSettingsAutoSelectText; insilmaril@62: QAction* actionSettingsUseDelKey; insilmaril@62: QAction* actionSettingsUseFlagGroups; insilmaril@62: QAction* actionSettingsUseHideExport; insilmaril@62: QAction* actionSettingsAutosaveToggle; insilmaril@62: QAction* actionSettingsAutosaveTime; insilmaril@62: QAction* actionSettingsWriteBackupFile; insilmaril@62: QAction* actionSettingsUseAnimation; insilmaril@0: }; insilmaril@0: insilmaril@0: insilmaril@0: #endif insilmaril@0: