6 #include "branchpropwindow.h"
7 #include "extrainfodialog.h"
9 #include "findwindow.h"
10 #include "historywindow.h"
11 #include "mapeditor.h"
12 #include "simplescripteditor.h"
13 #include "texteditor.h"
16 class Main : public QMainWindow
21 /*! Modifier modes are used when CTRL together with a mouse button is pressed */
23 ModModeNone, //!< Unused
24 ModModeColor, //!< Pick color from object
25 ModModeCopy, //!< Copy object
26 ModModeXLink //!< Create a XLink (XLinkObj) from selected object
29 Main(QWidget* parent=0, const char* name=0, Qt::WFlags f=0);
32 void statusMessage (const QString &);
39 void closeEvent( QCloseEvent* );
42 void setupFileActions();
43 void setupEditActions();
44 void setupFormatActions();
45 void setupViewActions();
46 void setupModeActions();
47 void setupWindowActions();
48 void setupFlag(FlagObj *fo, QToolBar *tb, bool aw, const QString &name, const QString &tooltip);
49 void setupFlagActions();
50 void setupNetworkActions();
51 void setupSettingsActions();
52 void setupTestActions();
53 void setupHelpActions();
54 void setupContextMenus();
55 void setupRecentMapsMenu();
57 void hideEvent (QHideEvent * );
58 void showEvent (QShowEvent * );
59 MapEditor* currentMapEditor() const;
60 VymModel* currentModel() const;
63 void editorChanged(QWidget*);
65 ErrorCode fileLoad(QString ,const LoadMode &, const FileType & ftype=VymMap);
66 void fileLoad(const LoadMode &);
68 void fileLoadRecent();
69 void addRecentMap (const QString &);
70 void fileSave(VymModel*, const SaveMode & );
73 void fileSave(VymModel*); // autosave from MapEditor
75 void fileSaveAs(const SaveMode &);
77 void fileImportKDEBookmarks();
78 void fileImportFirefoxBookmarks();
79 void fileImportFreemind();
83 void fileExportXHTML();
84 void fileExportImage();
85 void fileExportASCII();
87 void fileExportLaTeX();
88 void fileExportKDEBookmarks();
89 void fileExportTaskjuggler();
90 void fileExportOOPresentation();
98 void gotoHistoryStep (int);
103 void editOpenFindWindow();
104 void editFind(QString);
105 void editFindChanged();
107 void openTabs(QStringList);
110 void editOpenURLTab();
112 void editOpenMultipleURLTabs();
115 void editHeading2URL();
116 void editBugzilla2URL();
118 void openVymLinks(const QStringList &);
120 void editOpenMultipleVymLinks();
121 void editAttributeFinished();
123 void editHeadingFinished(VymModel *m);
124 // void editHeading();
125 void editAttribute();
126 void editOpenVymLink();
128 void editDeleteVymLink();
129 void editToggleHideExport();
133 void editSortChildren();
134 void editToggleScroll();
135 void editUnscrollChildren();
136 void editAddMapCenter();
137 void editNewBranch();
138 void editNewBranchBefore();
139 void editNewBranchAbove();
140 void editNewBranchBelow();
141 void editImportAdd();
142 void editImportReplace();
143 void editSaveBranch();
144 void editDeleteKeepChildren();
145 void editDeleteChildren();
146 void editDeleteSelection();
147 void editUpperBranch();
148 void editLowerBranch();
149 void editLeftBranch();
150 void editRightBranch();
151 void editFirstBranch();
152 void editLastBranch();
153 void editLoadImage();
154 void editSaveImage();
155 void editFollowXLink (QAction *);
156 void editEditXLink (QAction *);
158 void formatSelectColor();
159 void formatPickColor();
160 void colorChanged(QColor);
161 void formatColorBranch();
162 void formatColorSubtree();
163 void formatLinkStyleLine();
164 void formatLinkStyleParabel();
165 void formatLinkStylePolyLine();
166 void formatLinkStylePolyParabel();
167 void formatSelectBackColor();
168 void formatSelectBackImage();
169 void formatSelectLinkColor();
170 void formatSelectSelectionColor();
171 void formatToggleLinkColorHint();
172 void formatHideLinkUnselected();
174 void viewZoomReset();
180 void networkStartServer();
181 void networkConnect();
184 void settingsMacroDir();
185 void settingsToggleDelKey();
186 void settingsUndoLevels();
187 void settingsAutosaveToggle();
188 void settingsAutosaveTime();
189 void settingsWriteBackupFileToggle();
190 void settingsToggleAnimation();
192 void windowToggleNoteEditor();
193 void windowToggleHistory();
194 void windowToggleProperty();
195 void updateHistory(SimpleSettings &);
196 void windowToggleAntiAlias();
197 void windowToggleSmoothPixmap();
198 void updateNoteFlag();
199 void updateSatellites(MapEditor *);
200 void updateActions();
201 ModMode getModMode();
202 bool autoEditNewBranch();
203 bool autoSelectNewBranch();
204 bool useFlagGroups();
205 void setScript(const QString &);
206 void runScript(const QString &);
207 void runScriptEverywhere (const QString &);
210 void windowNextEditor();
211 void windowPreviousEditor();
212 void windowShowNoteEditor();
213 void windowHideNoteEditor();
215 void standardFlagChanged();
217 void testFunction1();
218 void testFunction2();
229 QTabWidget *tabWidget;
230 FindWindow *findWindow;
231 QProcess *procBrowser;
233 QStringList imageTypes;
235 QList <VymModel*> models;
237 QLineEdit *lineedit; // to enter headings of branches
238 QString prevSelection;
240 HistoryWindow *historyWindow;
242 BranchPropertyWindow *branchPropertyWindow;
243 SimpleScriptEditor *scriptEditor;
245 QList <QAction*> actionListBranches;
251 QMenu *recentFilesMenu;
252 enum { MaxRecentFiles = 9 };
253 QAction *recentFileActions[MaxRecentFiles];
255 QAction *macroActions[12];
258 QAction* actionFileNewCopy;
259 QAction* actionFileSave;
260 QAction* actionFilePrint;
261 QAction* actionEditUndo;
262 QAction* actionEditRedo;
263 QAction *actionEditCopy;
264 QAction *actionEditCut;
265 QAction *actionEditPaste;
266 QAction *actionEditMoveUp;
267 QAction *actionEditMoveDown;
268 QAction *actionEditSortChildren;
269 QAction *actionEditToggleScroll;
270 QAction* actionEditOpenURL;
271 QAction* actionEditOpenURLTab;
272 QAction* actionEditOpenMultipleURLTabs;
273 QAction* actionEditURL;
274 QAction* actionEditLocalURL;
275 QAction* actionEditHeading2URL;
276 QAction* actionEditBugzilla2URL;
277 QAction* actionEditFATE2URL;
278 QAction *actionEditOpenVymLink;
279 QAction *actionEditOpenMultipleVymLinks;
280 QAction *actionEditVymLink;
281 QAction *actionEditDeleteVymLink;
282 QAction *actionEditToggleHideExport;
283 QAction *actionEditMapInfo;
284 QAction *actionEditHeading;
285 QAction *actionEditDelete;
286 QAction *actionEditAddMapCenter;
287 QAction *actionEditAddBranch;
288 QAction *actionEditAddBranchBefore;
289 QAction *actionEditAddBranchAbove;
290 QAction *actionEditAddBranchBelow;
291 QAction *actionEditDeleteKeepChildren;
292 QAction *actionEditDeleteChildren;
293 QAction *actionEditImportAdd;
294 QAction *actionEditImportReplace;
295 QAction *actionEditSaveBranch;
296 QAction *actionEditSelectFirst;
297 QAction *actionEditSelectLast;
298 QAction *actionEditLoadImage;
300 QAction* actionFormatColor;
301 QAction* actionFormatPickColor;
302 QAction* actionFormatColorBranch;
303 QAction* actionFormatColorSubtree;
304 QAction* actionFormatLinkColorHint;
305 QAction* actionFormatBackColor;
306 QAction* actionFormatBackImage;
307 QAction* actionFormatLinkColor;
308 QAction* actionFormatSelectionColor;
310 QActionGroup* actionGroupModModes;
311 QAction* actionModModeColor;
312 QAction* actionModModeXLink;
313 QAction* actionModModeCopy;
315 QActionGroup *actionGroupFormatFrameTypes;
318 QActionGroup *actionGroupFormatLinkStyles;
319 QAction *actionFormatLinkStyleLine;
320 QAction *actionFormatLinkStyleParabel;
321 QAction *actionFormatLinkStylePolyLine;
322 QAction *actionFormatLinkStylePolyParabel;
323 QAction *actionFormatHideLinkUnselected;
325 QAction *actionViewToggleNoteEditor;
326 QAction *actionViewToggleHistoryWindow;
327 QAction *actionViewTogglePropertyWindow;
328 QAction *actionViewToggleAntiAlias;
329 QAction *actionViewToggleSmoothPixmapTransform;
330 QAction* actionViewCenter;
332 QAction* actionSettingsAutoEditNewBranch;
333 QAction* actionSettingsAutoSelectNewBranch;
334 QAction* actionSettingsAutoSelectText;
335 QAction* actionSettingsUseDelKey;
336 QAction* actionSettingsUseFlagGroups;
337 QAction* actionSettingsUseHideExport;
338 QAction* actionSettingsAutosaveToggle;
339 QAction* actionSettingsAutosaveTime;
340 QAction* actionSettingsWriteBackupFile;
341 QAction* actionSettingsUseAnimation;