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 &);
35 VymView* createView (VymModel*);
42 void closeEvent( QCloseEvent* );
45 void setupFileActions();
46 void setupEditActions();
47 void setupFormatActions();
48 void setupViewActions();
49 void setupModeActions();
50 void setupWindowActions();
51 void setupFlag(FlagObj *fo, QToolBar *tb, bool aw, const QString &name, const QString &tooltip);
52 void setupFlagActions();
53 void setupNetworkActions();
54 void setupSettingsActions();
55 void setupTestActions();
56 void setupHelpActions();
57 void setupContextMenus();
58 void setupRecentMapsMenu();
60 void hideEvent (QHideEvent * );
61 void showEvent (QShowEvent * );
62 MapEditor* currentMapEditor() const;
63 VymModel* currentModel() const;
66 void editorChanged(QWidget*);
68 ErrorCode fileLoad(QString ,const LoadMode &, const FileType & ftype=VymMap);
69 void fileLoad(const LoadMode &);
71 void fileLoadRecent();
72 void addRecentMap (const QString &);
73 void fileSave(VymModel*, const SaveMode & );
76 void fileSave(VymModel*); // autosave from MapEditor
78 void fileSaveAs(const SaveMode &);
80 void fileImportKDEBookmarks();
81 void fileImportFirefoxBookmarks();
82 void fileImportFreemind();
86 void fileExportXHTML();
87 void fileExportImage();
88 void fileExportASCII();
90 void fileExportLaTeX();
91 void fileExportKDEBookmarks();
92 void fileExportTaskjuggler();
93 void fileExportOOPresentation();
101 void gotoHistoryStep (int);
106 void editOpenFindWindow();
107 void editFind(QString);
108 void editFindChanged();
110 void openTabs(QStringList);
113 void editOpenURLTab();
115 void editOpenMultipleURLTabs();
118 void editHeading2URL();
119 void editBugzilla2URL();
121 void openVymLinks(const QStringList &);
123 void editOpenMultipleVymLinks();
124 void editAttributeFinished();
126 void editHeadingFinished(VymModel *m);
127 // void editHeading();
128 void editAttribute();
129 void editOpenVymLink();
131 void editDeleteVymLink();
132 void editToggleHideExport();
136 void editSortChildren();
137 void editToggleScroll();
138 void editUnscrollChildren();
139 void editAddMapCenter();
140 void editNewBranch();
141 void editNewBranchBefore();
142 void editNewBranchAbove();
143 void editNewBranchBelow();
144 void editImportAdd();
145 void editImportReplace();
146 void editSaveBranch();
147 void editDeleteKeepChildren();
148 void editDeleteChildren();
149 void editDeleteSelection();
150 void editUpperBranch();
151 void editLowerBranch();
152 void editLeftBranch();
153 void editRightBranch();
154 void editFirstBranch();
155 void editLastBranch();
156 void editLoadImage();
157 void editSaveImage();
158 void editFollowXLink (QAction *);
159 void editEditXLink (QAction *);
161 void formatSelectColor();
162 void formatPickColor();
163 void colorChanged(QColor);
164 void formatColorBranch();
165 void formatColorSubtree();
166 void formatLinkStyleLine();
167 void formatLinkStyleParabel();
168 void formatLinkStylePolyLine();
169 void formatLinkStylePolyParabel();
170 void formatSelectBackColor();
171 void formatSelectBackImage();
172 void formatSelectLinkColor();
173 void formatSelectSelectionColor();
174 void formatToggleLinkColorHint();
175 void formatHideLinkUnselected();
177 void viewZoomReset();
183 void networkStartServer();
184 void networkConnect();
187 void settingsMacroDir();
188 void settingsToggleDelKey();
189 void settingsUndoLevels();
190 void settingsAutosaveToggle();
191 void settingsAutosaveTime();
192 void settingsWriteBackupFileToggle();
193 void settingsToggleAnimation();
195 void windowToggleNoteEditor();
196 void windowToggleHistory();
197 void windowToggleProperty();
198 void updateHistory(SimpleSettings &);
199 void windowToggleAntiAlias();
200 void windowToggleSmoothPixmap();
201 void updateNoteFlag();
202 void updateSatellites(VymModel*);
203 void updateActions();
204 ModMode getModMode();
205 bool autoEditNewBranch();
206 bool autoSelectNewBranch();
207 bool useFlagGroups();
208 void setScript(const QString &);
209 void runScript(const QString &);
210 void runScriptEverywhere (const QString &);
213 void windowNextEditor();
214 void windowPreviousEditor();
215 void windowShowNoteEditor();
216 void windowHideNoteEditor();
218 void standardFlagChanged();
220 void testFunction1();
221 void testFunction2();
232 QTabWidget *tabWidget;
233 FindWindow *findWindow;
234 QProcess *procBrowser;
236 QStringList imageTypes;
238 QList <VymModel*> tabModel; //!< the corresponding model to a tab
240 QString prevSelection;
242 HistoryWindow *historyWindow;
244 BranchPropertyWindow *branchPropertyWindow;
245 SimpleScriptEditor *scriptEditor;
247 QList <QAction*> actionListBranches;
253 QMenu *recentFilesMenu;
254 enum { MaxRecentFiles = 9 };
255 QAction *recentFileActions[MaxRecentFiles];
257 QAction *macroActions[12];
260 QAction* actionFileNewCopy;
261 QAction* actionFileSave;
262 QAction* actionFilePrint;
267 QAction *actionPaste;
268 QAction *actionMoveUp;
269 QAction *actionMoveDown;
270 QAction *actionSortChildren;
271 QAction *actionToggleScroll;
272 QAction* actionOpenURL;
273 QAction* actionOpenURLTab;
274 QAction* actionOpenMultipleURLTabs;
276 QAction* actionLocalURL;
277 QAction* actionHeading2URL;
278 QAction* actionBugzilla2URL;
279 QAction* actionFATE2URL;
280 QAction *actionOpenVymLink;
281 QAction *actionOpenMultipleVymLinks;
282 QAction *actionVymLink;
283 QAction *actionDeleteVymLink;
284 QAction *actionToggleHideExport;
285 QAction *actionMapInfo;
286 QAction *actionHeading;
287 QAction *actionDelete;
290 QAction *actionAddMapCenter;
293 QAction *actionAddBranch;
294 QAction *actionAddBranchBefore;
295 QAction *actionAddBranchAbove;
296 QAction *actionAddBranchBelow;
297 QAction *actionDeleteKeepChildren;
298 QAction *actionDeleteChildren;
299 QAction *actionImportAdd;
300 QAction *actionImportReplace;
301 QAction *actionSaveBranch;
302 QAction *actionSelectFirst;
303 QAction *actionSelectLast;
304 QAction *actionLoadImage;
306 QAction* actionFormatColor;
307 QAction* actionFormatPickColor;
308 QAction* actionFormatColorBranch;
309 QAction* actionFormatColorSubtree;
310 QAction* actionFormatLinkColorHint;
311 QAction* actionFormatBackColor;
312 QAction* actionFormatBackImage;
313 QAction* actionFormatLinkColor;
314 QAction* actionFormatSelectionColor;
316 QActionGroup* actionGroupModModes;
317 QAction* actionModModeColor;
318 QAction* actionModModeXLink;
319 QAction* actionModModeCopy;
321 QActionGroup *actionGroupFormatFrameTypes;
324 QActionGroup *actionGroupFormatLinkStyles;
325 QAction *actionFormatLinkStyleLine;
326 QAction *actionFormatLinkStyleParabel;
327 QAction *actionFormatLinkStylePolyLine;
328 QAction *actionFormatLinkStylePolyParabel;
329 QAction *actionFormatHideLinkUnselected;
331 QAction *actionViewToggleNoteEditor;
332 QAction *actionViewToggleHistoryWindow;
333 QAction *actionViewTogglePropertyWindow;
334 QAction *actionViewToggleAntiAlias;
335 QAction *actionViewToggleSmoothPixmapTransform;
336 QAction* actionViewCenter;
338 QAction* actionSettingsAutoEditNewBranch;
339 QAction* actionSettingsAutoSelectNewBranch;
340 QAction* actionSettingsAutoSelectText;
341 QAction* actionSettingsUseDelKey;
342 QAction* actionSettingsUseFlagGroups;
343 QAction* actionSettingsUseHideExport;
344 QAction* actionSettingsAutosaveToggle;
345 QAction* actionSettingsAutosaveTime;
346 QAction* actionSettingsWriteBackupFile;
347 QAction* actionSettingsUseAnimation;