6 #include "branchpropwindow.h"
8 #include "findwindow.h"
9 #include "historywindow.h"
10 #include "mapeditor.h"
11 #include "simplescripteditor.h"
12 #include "texteditor.h"
15 class Main : public QMainWindow
20 /*! Modifier modes are used when CTRL together with a mouse button is pressed */
22 ModModeNone, //!< Unused
23 ModModeColor, //!< Pick color from object
24 ModModeCopy, //!< Copy object
25 ModModeXLink //!< Create a XLink (XLinkObj) from selected object
28 Main(QWidget* parent=0, const char* name=0, Qt::WFlags f=0);
31 void statusMessage (const QString &);
38 void closeEvent( QCloseEvent* );
41 void setupFileActions();
42 void setupEditActions();
43 void setupFormatActions();
44 void setupViewActions();
45 void setupModeActions();
46 void setupWindowActions();
47 void setupFlagActions();
48 void setupSettingsActions();
49 void setupTestActions();
50 void setupHelpActions();
51 void setupContextMenus();
52 void setupRecentMapsMenu();
54 void hideEvent (QHideEvent * );
55 void showEvent (QShowEvent * );
56 bool reallyWriteDirectory(const QString&);
57 QString browseDirectory(const QString&);
58 MapEditor* currentMapEditor() const;
61 void editorChanged(QWidget*);
63 ErrorCode fileLoad(QString ,const LoadMode &);
64 void fileLoad(const LoadMode &);
66 void fileLoadRecent();
67 void addRecentMap (const QString &);
68 void fileSave(MapEditor*, const SaveMode & );
71 void fileSave(MapEditor *); // autosave from MapEditor
73 void fileSaveAs(const SaveMode &);
75 void fileImportKDEBookmarks();
76 void fileImportFirefoxBookmarks();
80 void fileExportXHTML();
81 void fileExportImage();
82 void fileExportASCII();
84 void fileExportLaTeX();
85 void fileExportKDEBookmarks();
86 void fileExportTaskjuggler();
87 void fileExportOOPresentation();
95 void gotoHistoryStep (int);
100 void editOpenFindWindow();
101 void editFind(QString);
102 void editFindChanged();
104 void openTabs(QStringList);
107 void editOpenURLTab();
109 void editOpenMultipleURLTabs();
111 void editHeading2URL();
112 void editBugzilla2URL();
114 void openVymLinks(const QStringList &);
116 void editOpenMultipleVymLinks();
117 void editHeadingFinished();
120 void editOpenVymLink();
122 void editDeleteVymLink();
123 void editToggleHideExport();
127 void editToggleScroll();
128 void editUnscrollChilds();
129 void editNewBranch();
130 void editNewBranchBefore();
131 void editNewBranchAbove();
132 void editNewBranchBelow();
133 void editImportAdd();
134 void editImportReplace();
135 void editSaveBranch();
136 void editDeleteKeepChilds();
137 void editDeleteChilds();
138 void editDeleteSelection();
139 void editUpperBranch();
140 void editLowerBranch();
141 void editLeftBranch();
142 void editRightBranch();
143 void editFirstBranch();
144 void editLastBranch();
145 void editLoadImage();
146 void editSaveImage();
147 void editFollowXLink (QAction *);
148 void editEditXLink (QAction *);
150 void formatSelectColor();
151 void formatPickColor();
152 void colorChanged(QColor);
153 void formatColorBranch();
154 void formatColorSubtree();
155 void formatLinkStyleLine();
156 void formatLinkStyleParabel();
157 void formatLinkStylePolyLine();
158 void formatLinkStylePolyParabel();
159 void formatSelectBackColor();
160 void formatSelectBackImage();
161 void formatSelectLinkColor();
162 void formatSelectSelectionColor();
163 void formatToggleLinkColorHint();
164 void formatHideLinkUnselected();
166 void viewZoomReset();
173 void settingsMacroDir();
174 void settingsToggleDelKey();
175 void settingsUndoLevels();
176 void settingsAutosaveToggle();
177 void settingsAutosaveTime();
179 void windowToggleNoteEditor();
180 void windowToggleHistory();
181 void windowToggleProperty();
182 void updateHistory(SimpleSettings &);
183 void windowToggleAntiAlias();
184 void windowToggleSmoothPixmap();
185 void updateNoteFlag();
186 void updateSatellites(MapEditor *);
187 void updateActions();
188 ModMode getModMode();
190 bool autoSelectHeading();
191 bool useFlagGroups();
192 void setScript(const QString &);
193 void runScript(const QString &);
196 void windowNextEditor();
197 void windowPreviousEditor();
198 void windowShowNoteEditor();
199 void windowHideNoteEditor();
201 void standardFlagChanged();
214 QTabWidget *tabWidget;
215 FindWindow *findWindow;
216 QProcess *procBrowser;
218 QStringList imageTypes;
220 QLineEdit *lineedit; // to enter headings of branches
221 QString prevSelection;
223 HistoryWindow *historyWindow;
225 BranchPropertyWindow *branchPropertyWindow;
226 SimpleScriptEditor *scriptEditor;
228 QList <QAction*> actionListBranches;
232 QMenu *recentFilesMenu;
233 enum { MaxRecentFiles = 9 };
234 QAction *recentFileActions[MaxRecentFiles];
236 QAction *macroActions[12];
239 QAction* actionFileSave;
240 QAction* actionFilePrint;
241 QAction* actionEditUndo;
242 QAction* actionEditRedo;
243 QAction *actionEditCopy;
244 QAction *actionEditCut;
245 QAction *actionEditPaste;
246 QAction *actionEditMoveUp;
247 QAction *actionEditMoveDown;
248 QAction *actionEditToggleScroll;
249 QAction* actionEditOpenURL;
250 QAction* actionEditOpenURLTab;
251 QAction* actionEditOpenMultipleURLTabs;
252 QAction* actionEditURL;
253 QAction* actionEditHeading2URL;
254 QAction* actionEditBugzilla2URL;
255 QAction* actionEditFATE2URL;
256 QAction *actionEditOpenVymLink;
257 QAction *actionEditOpenMultipleVymLinks;
258 QAction *actionEditVymLink;
259 QAction *actionEditDeleteVymLink;
260 QAction *actionEditToggleHideExport;
261 QAction *actionEditMapInfo;
262 QAction *actionEditHeading;
263 QAction *actionEditDelete;
264 QAction *actionEditAddBranch;
265 QAction *actionEditAddBranchBefore;
266 QAction *actionEditAddBranchAbove;
267 QAction *actionEditAddBranchBelow;
268 QAction *actionEditDeleteKeepChilds;
269 QAction *actionEditDeleteChilds;
270 QAction *actionEditImportAdd;
271 QAction *actionEditImportReplace;
272 QAction *actionEditSaveBranch;
273 QAction *actionEditSelectFirst;
274 QAction *actionEditSelectLast;
275 QAction *actionEditLoadImage;
277 QAction* actionFormatColor;
278 QAction* actionFormatPickColor;
279 QAction* actionFormatColorBranch;
280 QAction* actionFormatColorSubtree;
281 QAction* actionFormatLinkColorHint;
282 QAction* actionFormatBackColor;
283 QAction* actionFormatBackImage;
284 QAction* actionFormatLinkColor;
285 QAction* actionFormatSelectionColor;
287 QActionGroup* actionGroupModModes;
288 QAction* actionModModeColor;
289 QAction* actionModModeXLink;
290 QAction* actionModModeCopy;
292 QActionGroup *actionGroupFormatFrameTypes;
295 QActionGroup *actionGroupFormatLinkStyles;
296 QAction *actionFormatLinkStyleLine;
297 QAction *actionFormatLinkStyleParabel;
298 QAction *actionFormatLinkStylePolyLine;
299 QAction *actionFormatLinkStylePolyParabel;
300 QAction *actionFormatHideLinkUnselected;
302 QAction *actionViewToggleNoteEditor;
303 QAction *actionViewToggleHistoryWindow;
304 QAction *actionViewTogglePropertyWindow;
305 QAction *actionViewToggleAntiAlias;
306 QAction *actionViewToggleSmoothPixmapTransform;
308 QAction* actionSettingsAutoEdit;
309 QAction* actionSettingsAutoSelectHeading;
310 QAction* actionSettingsAutoSelectText;
311 QAction* actionSettingsUseDelKey;
312 QAction* actionSettingsUseFlagGroups;
313 QAction* actionSettingsUseHideExport;
314 QAction* actionSettingsAutosaveToggle;
315 QAction* actionSettingsAutosaveTime;