mainwindow.h
author insilmaril
Thu, 16 Nov 2006 13:43:06 +0000
changeset 401 f364b13047ba
parent 395 7ced3733ba60
child 404 53efc2562a7d
permissions -rw-r--r--
Fixed OS X crash when trying to load recent map
     1 #ifndef MAINWINDOW_H 
     2 #define MAINWINDOW_H
     3 
     4 #include <QMainWindow>
     5 
     6 #include "file.h"
     7 #include "findwindow.h"
     8 #include "mapeditor.h"
     9 #include "texteditor.h"
    10 #include "xml.h"
    11 
    12 enum ModMode {ModModeNone,ModModeColor,ModModeCopy,ModModeXLink};
    13 
    14 class Main : public QMainWindow 
    15 {
    16     Q_OBJECT
    17 
    18 public:
    19     Main(QWidget* parent=0, const char* name=0, Qt::WFlags f=0);
    20     ~Main();
    21 	void loadCmdLine();
    22 	void statusMessage (const QString &);
    23 
    24 public slots:
    25     void fileNew();
    26 
    27 protected:
    28 	void closeEvent( QCloseEvent* );
    29 
    30 private:
    31     void setupFileActions();
    32     void setupEditActions();
    33     void setupFormatActions();
    34     void setupViewActions();
    35     void setupModeActions();
    36     void setupWindowActions();
    37     void setupFlagActions();
    38     void setupSettingsActions();
    39     void setupTestActions();
    40     void setupHelpActions();
    41     void setupContextMenus();
    42 	void setupRecentMapsMenu();
    43 	void hideEvent (QHideEvent * );
    44 	void showEvent (QShowEvent * );
    45 	bool reallyWriteDirectory(const QString&);
    46 	QString browseDirectory(const QString&);
    47 	MapEditor* currentMapEditor() const;
    48     
    49 private slots:
    50     void newView();
    51 	void editorChanged(QWidget*);
    52 
    53     ErrorCode fileLoad(QString ,const LoadMode &);
    54     void fileLoad(const LoadMode &);
    55     void fileLoad();
    56 	void fileLoadRecent();
    57 	void addRecentMap (const QString &);
    58     void fileSave(const SaveMode & );
    59     void fileSave();
    60     void fileSaveAs(const SaveMode &);
    61     void fileSaveAs();
    62     void fileImportKDEBookmarks();
    63     void fileImportFirefoxBookmarks();
    64     void fileImportMM();
    65     void fileImportDir();
    66     void fileExportXML();
    67     void fileExportXHTML();
    68     void fileExportImage();
    69     void fileExportASCII();
    70     void fileExportLaTeX();
    71     void fileExportKDEBookmarks();
    72     void fileExportTaskjuggler();
    73     void fileExportOOPresentation();
    74     void fileCloseMap();
    75     void filePrint();
    76     void fileExitVYM();
    77 
    78     void editUndo();	
    79     void editRedo();	
    80     void editCopy();	
    81     void editPaste();	
    82     void editCut();	
    83     void editOpenFindWindow();
    84 	void editFind(QString);
    85 	void editFindChanged();
    86 private:
    87 	void openTabs(QStringList);
    88 public slots:
    89 	void editOpenURL();
    90 	void editOpenURLTab();
    91 private slots:
    92 	void editOpenMultipleURLTabs();
    93 	void editURL();
    94 	void editHeading2URL();
    95 	void editBugzilla2URL();
    96 	void editFATE2URL();
    97 	void openVymLinks(const QStringList &);
    98 	void editVymLink();
    99 	void editOpenMultipleVymLinks();
   100     void editHeadingFinished();
   101 public slots:
   102     void editHeading();
   103 	void editOpenVymLink();
   104 private slots:
   105 	void editDeleteVymLink();
   106 	void editToggleHideExport();
   107 	void editMapInfo();
   108     void editMoveUp();	
   109     void editMoveDown();	
   110     void editToggleScroll();
   111     void editUnScrollAll();
   112     void editNewBranch();
   113     void editNewBranchBefore();
   114     void editNewBranchAbove();
   115     void editNewBranchBelow();
   116     void editImportAdd();
   117     void editImportReplace();
   118     void editSaveBranch();
   119     void editDeleteKeepChilds();
   120     void editDeleteChilds();
   121     void editDeleteSelection();
   122     void editUpperBranch();
   123     void editLowerBranch();
   124     void editLeftBranch();
   125     void editRightBranch();
   126     void editFirstBranch();
   127     void editLastBranch();
   128     void editLoadImage();
   129     void editSaveImage();
   130     void editFollowXLink (QAction *);
   131     void editEditXLink (QAction *);
   132 
   133     void formatSelectColor();
   134     void formatPickColor();
   135     void colorChanged(QColor);
   136     void formatColorItem();
   137     void formatColorBranch();
   138 	void formatLinkStyleLine();
   139 	void formatLinkStyleParabel();
   140 	void formatLinkStylePolyLine();
   141 	void formatLinkStylePolyParabel();
   142     void formatSelectBackColor();
   143     void formatSelectLinkColor();
   144     void formatToggleLinkColorHint();
   145 	void formatFrameNone();
   146 	void formatFrameRectangle();
   147 	void formatIncludeImagesVer();
   148 	void formatIncludeImagesHor();
   149 	void formatHideLinkUnselected();
   150 
   151     void viewZoomReset();
   152     void viewZoomIn();
   153     void viewZoomOut();
   154 
   155 public slots:
   156 	bool settingsPDF();
   157 	bool settingsURL();
   158 	void settingsToggleDelKey();
   159 
   160 	void windowToggleNoteEditor();
   161 	void windowToggleHistory();
   162 	void updateNoteFlag();
   163 	void updateActions();
   164 	ModMode getModMode();
   165 	bool autoEdit();
   166 	bool autoSelectHeading();
   167 	bool useFlagGroups();
   168 
   169 private slots:
   170 	void windowNextEditor();
   171 	void windowPreviousEditor();
   172 	void windowShowNoteEditor();
   173 	void windowHideNoteEditor();
   174 
   175 	void standardFlagChanged();
   176 
   177     void testFunction();
   178     void testCommand();
   179 
   180     void helpDoc();
   181     void helpAbout();
   182     void helpAboutQT();
   183 
   184 private:
   185 	QTabWidget *tabWidget;
   186 	FindWindow *findWindow;
   187 	QProcess *procBrowser;
   188 
   189 	QStringList imageTypes;
   190 
   191 	QLineEdit *lineedit;	// to enter headings of branches
   192 	QString prevSelection;
   193 
   194 	Q3PtrList <QAction> actionListBranches;
   195 
   196 	QColor currentColor;
   197 
   198 	QMenu *recentFilesMenu;
   199 	enum { MaxRecentFiles = 9 };
   200     QAction *recentFileActs[MaxRecentFiles];
   201 
   202 	QAction* actionFileSave;
   203 	QAction* actionFilePrint;
   204 	QAction* actionEditUndo;
   205 	QAction* actionEditRedo;
   206 	QAction *actionEditCopy;
   207 	QAction *actionEditCut;
   208 	QAction *actionEditPaste;
   209 	QAction *actionEditMoveUp;
   210 	QAction *actionEditMoveDown;
   211 	QAction *actionEditToggleScroll;
   212 	QAction* actionEditOpenURL;
   213 	QAction* actionEditOpenURLTab;
   214 	QAction* actionEditOpenMultipleURLTabs;
   215 	QAction* actionEditURL;
   216 	QAction* actionEditHeading2URL;
   217 	QAction* actionEditBugzilla2URL;
   218 	QAction* actionEditFATE2URL;
   219 	QAction *actionEditOpenVymLink;
   220 	QAction *actionEditOpenMultipleVymLinks;
   221 	QAction *actionEditVymLink;
   222 	QAction *actionEditDeleteVymLink;
   223 	QAction *actionEditToggleHideExport;
   224 	QAction *actionEditMapInfo;
   225 	QAction *actionEditHeading;
   226 	QAction *actionEditDelete;
   227 	QAction *actionEditAddBranch;
   228 	QAction *actionEditAddBranchBefore;
   229 	QAction *actionEditAddBranchAbove;
   230 	QAction *actionEditAddBranchBelow;
   231 	QAction *actionEditDeleteKeepChilds;
   232 	QAction *actionEditDeleteChilds;
   233 	QAction *actionEditImportAdd;
   234 	QAction *actionEditImportReplace;
   235 	QAction *actionEditSaveBranch;
   236 	QAction *actionEditSelectFirst;
   237 	QAction *actionEditSelectLast;
   238 	QAction *actionEditLoadImage;
   239 
   240 	QAction* actionFormatColor;
   241 	QAction* actionFormatPickColor;
   242 	QAction* actionFormatColorBranch;
   243 	QAction* actionFormatColorSubtree;
   244 	QAction* actionFormatLinkColorHint;
   245 	QAction* actionFormatBackColor;
   246 	QAction* actionFormatLinkColor;
   247 	QAction *actionFormatIncludeImagesVer;
   248 	QAction *actionFormatIncludeImagesHor;
   249 
   250 	QActionGroup* actionGroupModModes;
   251 	QAction* actionModModeColor;
   252 	QAction* actionModModeXLink;
   253 	QAction* actionModModeCopy;
   254 
   255 	QActionGroup *actionGroupFormatFrameTypes;
   256 	QAction *actionFormatFrameNone;
   257 	QAction *actionFormatFrameRectangle;
   258 
   259 	QActionGroup *actionGroupFormatLinkStyles;
   260 	QAction *actionFormatLinkStyleLine;
   261 	QAction *actionFormatLinkStyleParabel;
   262 	QAction *actionFormatLinkStylePolyLine;
   263 	QAction *actionFormatLinkStylePolyParabel;
   264 	QAction *actionFormatHideLinkUnselected;
   265 
   266 	QAction *actionViewToggleNoteEditor;
   267 	QAction *actionViewToggleHistoryWindow;
   268 
   269 	QAction* actionSettingsAutoEdit;
   270 	QAction* actionSettingsAutoSelectHeading;
   271 	QAction* actionSettingsAutoSelectText;
   272 	QAction* actionSettingsUseDelKey;
   273 	QAction* actionSettingsUseFlagGroups;
   274 	QAction* actionSettingsUseHideExport;
   275 };
   276 
   277 
   278 #endif
   279