8 #include "branchpropwindow.h"
9 #include "extrainfodialog.h"
12 #include "historywindow.h"
13 #include "mapeditor.h"
14 #include "simplescripteditor.h"
15 #include "texteditor.h"
19 class Main : public QMainWindow
24 /*! Modifier modes are used when CTRL together with a mouse button is pressed */
26 ModModeNone, //!< Unused
27 ModModeColor, //!< Pick color from object
28 ModModeCopy, //!< Copy object
29 ModModeXLink //!< Create a XLink (XLinkObj) from selected object
32 Main(QWidget* parent=0, const char* name=0, Qt::WFlags f=0);
37 QProgressBar *progressBar;
41 void statusMessage (const QString &);
42 void setProgressMinimum (int min);
43 void setProgressMaximum (int max);
44 void setProgressValue (int v);
45 void removeProgressBar();
52 void closeEvent( QCloseEvent* );
55 void setupFileActions();
56 void setupEditActions();
57 void setupFormatActions();
58 void setupViewActions();
59 void setupModeActions();
60 void setupWindowActions();
61 void setupFlag(Flag *flag, QToolBar *tb, const QString &name, const QString &tooltip);
62 void setupFlagActions();
63 void setupNetworkActions();
64 void setupSettingsActions();
65 void setupTestActions();
66 void setupHelpActions();
67 void setupContextMenus();
68 void setupRecentMapsMenu();
70 void hideEvent (QHideEvent * );
71 void showEvent (QShowEvent * );
72 MapEditor* currentMapEditor() const;
73 VymModel* currentModel() const;
76 void editorChanged(QWidget*);
78 ErrorCode fileLoad(QString ,const LoadMode &, const FileType & ftype=VymMap);
79 void fileLoad(const LoadMode &);
81 void fileLoadRecent();
82 void addRecentMap (const QString &);
83 void fileSave(VymModel*, const SaveMode & );
86 void fileSave(VymModel*); // autosave from MapEditor
88 void fileSaveAs(const SaveMode &);
90 void fileImportKDE3Bookmarks();
91 void fileImportKDE4Bookmarks();
92 void fileImportFirefoxBookmarks();
93 void fileImportFreemind();
97 void fileExportHTML();
98 void fileExportXHTML();
99 void fileExportImage();
101 void fileExportASCII();
102 void fileExportCSV();
103 void fileExportLaTeX();
104 void fileExportKDE3Bookmarks();
105 void fileExportKDE4Bookmarks();
106 void fileExportTaskjuggler();
107 void fileExportOOPresentation();
115 void gotoHistoryStep (int);
120 void editOpenFindWidget();
122 void openTabs(QStringList);
125 void editOpenURLTab();
127 void editOpenMultipleURLTabs();
130 void editHeading2URL();
131 void editBugzilla2URL();
132 void getBugzillaData();
134 void openVymLinks(const QStringList &);
136 void editOpenMultipleVymLinks();
138 void editHeadingFinished(VymModel *m);
139 // void editHeading();
140 void editOpenVymLink();
142 void editDeleteVymLink();
143 void editToggleHideExport();
144 void editAddTimestamp();
149 void editSortChildren();
150 void editToggleScroll();
151 void editExpandAll();
152 void editExpandOneLevel();
153 void editCollapseOneLevel();
154 void editUnscrollChildren();
155 void editAddAttribute();
156 void editAddMapCenter();
157 void editNewBranch();
158 void editNewBranchBefore();
159 void editNewBranchAbove();
160 void editNewBranchBelow();
161 void editImportAdd();
162 void editImportReplace();
163 void editSaveBranch();
164 void editDeleteKeepChildren();
165 void editDeleteChildren();
166 void editDeleteSelection();
167 void editLoadImage();
168 void editSaveImage();
169 void editEditXLink (QAction *);
171 void formatSelectColor();
172 void formatPickColor();
173 void colorChanged(QColor);
174 void formatColorBranch();
175 void formatColorSubtree();
176 void formatLinkStyleLine();
177 void formatLinkStyleParabel();
178 void formatLinkStylePolyLine();
179 void formatLinkStylePolyParabel();
180 void formatSelectBackColor();
181 void formatSelectBackImage();
182 void formatSelectLinkColor();
183 void formatSelectSelectionColor();
184 void formatToggleLinkColorHint();
185 void formatHideLinkUnselected();
188 void viewZoomReset();
194 void networkStartServer();
195 void networkConnect();
198 void settingsMacroDir();
199 void settingsToggleDelKey();
200 void settingsUndoLevels();
201 void settingsAutosaveToggle();
202 void settingsAutosaveTime();
203 void settingsWriteBackupFileToggle();
204 void settingsToggleAnimation();
206 void windowToggleNoteEditor();
207 void windowToggleHistory();
208 void windowToggleProperty();
209 void updateHistory(SimpleSettings &);
210 void windowToggleAntiAlias();
213 bool hasSmoothPixmapTransform();
215 void windowToggleSmoothPixmap();
216 void updateNoteFlag();
217 void updateNoteEditor (QModelIndex index);
218 void changeSelection (VymModel *model,const QItemSelection &newSel, const QItemSelection &delSel);
220 void updateActions();
221 ModMode getModMode();
222 bool autoEditNewBranch();
223 bool autoSelectNewBranch();
224 void setScript(const QString &);
225 void runScript(const QString &);
226 void runScriptEverywhere (const QString &);
229 void windowNextEditor();
230 void windowPreviousEditor();
231 void windowShowNoteEditor();
232 void windowHideNoteEditor();
234 void standardFlagChanged();
236 void testFunction1();
237 void testFunction2();
248 QTabWidget *tabWidget;
249 QProcess *procBrowser; //FIXME-2 remove this...
252 QStringList imageTypes;
254 QList <VymView*> vymViews; //! Keeps track of models and views related to a tab
255 QString prevSelection;
257 HistoryWindow *historyWindow;
259 BranchPropertyWindow *branchPropertyWindow;
260 SimpleScriptEditor *scriptEditor;
262 QList <QAction*> actionListBranches;
268 QMenu *recentFilesMenu;
269 enum { MaxRecentFiles = 9 };
270 QAction *recentFileActions[MaxRecentFiles];
272 QAction *macroActions[12];
275 QAction* actionFileNewCopy;
276 QAction* actionFileSave;
277 QAction* actionFilePrint;
282 QAction *actionPaste;
283 QAction *actionMoveUp;
284 QAction *actionMoveDown;
285 QAction *actionDetach;
286 QAction *actionSortChildren;
287 QAction *actionToggleScroll;
288 QAction *actionExpandAll;
289 QAction *actionExpandOneLevel;
290 QAction *actionCollapseOneLevel;
291 QAction* actionOpenURL;
292 QAction* actionOpenURLTab;
293 QAction* actionOpenMultipleURLTabs;
295 QAction* actionLocalURL;
296 QAction* actionHeading2URL;
297 QAction* actionBugzilla2URL;
298 QAction* actionGetBugzillaData;
299 QAction* actionFATE2URL;
300 QAction *actionOpenVymLink;
301 QAction *actionOpenMultipleVymLinks;
302 QAction *actionVymLink;
303 QAction *actionDeleteVymLink;
304 QAction *actionAddTimestamp;
305 QAction *actionToggleHideExport;
306 QAction *actionMapInfo;
307 QAction *actionHeading;
308 QAction *actionDelete;
309 QAction *actionAddAttribute;
311 QAction *actionAddMapCenter;
314 QAction *actionAddBranch;
315 QAction *actionAddBranchBefore;
316 QAction *actionAddBranchAbove;
317 QAction *actionAddBranchBelow;
318 QAction *actionDeleteKeepChildren;
319 QAction *actionDeleteChildren;
320 QAction *actionImportAdd;
321 QAction *actionImportReplace;
322 QAction *actionSaveBranch;
323 QAction *actionLoadImage;
325 QAction* actionFormatColor;
326 QAction* actionFormatPickColor;
327 QAction* actionFormatColorBranch;
328 QAction* actionFormatColorSubtree;
329 QAction* actionFormatLinkColorHint;
330 QAction* actionFormatBackColor;
331 QAction* actionFormatBackImage;
332 QAction* actionFormatLinkColor;
333 QAction* actionFormatSelectionColor;
335 QActionGroup* actionGroupModModes;
336 QAction* actionModModeColor;
337 QAction* actionModModeXLink;
338 QAction* actionModModeCopy;
340 QActionGroup *actionGroupFormatFrameTypes;
343 QActionGroup *actionGroupFormatLinkStyles;
344 QAction *actionFormatLinkStyleLine;
345 QAction *actionFormatLinkStyleParabel;
346 QAction *actionFormatLinkStylePolyLine;
347 QAction *actionFormatLinkStylePolyParabel;
348 QAction *actionFormatHideLinkUnselected;
350 QAction *actionViewToggleNoteEditor;
351 QAction *actionViewToggleHistoryWindow;
352 QAction *actionViewTogglePropertyWindow;
353 QAction *actionViewToggleAntiAlias;
354 QAction *actionViewToggleSmoothPixmapTransform;
355 QAction* actionViewCenter;
357 QAction* actionSettingsAutoEditNewBranch;
358 QAction* actionSettingsAutoSelectNewBranch;
359 QAction* actionSettingsAutoSelectText;
360 QAction* actionSettingsUseDelKey;
361 QAction* actionSettingsUseFlagGroups;
362 QAction* actionSettingsUseHideExport;
363 QAction* actionSettingsAutosaveToggle;
364 QAction* actionSettingsAutosaveTime;
365 QAction* actionSettingsWriteBackupFile;
366 QAction* actionSettingsUseAnimation;