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 fileExportXHTML();
98 void fileExportImage();
100 void fileExportASCII();
101 void fileExportCSV();
102 void fileExportLaTeX();
103 void fileExportKDE3Bookmarks();
104 void fileExportKDE4Bookmarks();
105 void fileExportTaskjuggler();
106 void fileExportOOPresentation();
114 void gotoHistoryStep (int);
119 void editOpenFindWidget();
121 void openTabs(QStringList);
124 void editOpenURLTab();
126 void editOpenMultipleURLTabs();
129 void editHeading2URL();
130 void editBugzilla2URL();
132 void openVymLinks(const QStringList &);
134 void editOpenMultipleVymLinks();
136 void editHeadingFinished(VymModel *m);
137 // void editHeading();
138 void editOpenVymLink();
140 void editDeleteVymLink();
141 void editToggleHideExport();
142 void editAddTimestamp();
147 void editSortChildren();
148 void editToggleScroll();
149 void editExpandAll();
150 void editExpandOneLevel();
151 void editCollapseOneLevel();
152 void editUnscrollChildren();
153 void editAddAttribute();
154 void editAddMapCenter();
155 void editNewBranch();
156 void editNewBranchBefore();
157 void editNewBranchAbove();
158 void editNewBranchBelow();
159 void editImportAdd();
160 void editImportReplace();
161 void editSaveBranch();
162 void editDeleteKeepChildren();
163 void editDeleteChildren();
164 void editDeleteSelection();
165 void editLoadImage();
166 void editSaveImage();
167 void editEditXLink (QAction *);
169 void formatSelectColor();
170 void formatPickColor();
171 void colorChanged(QColor);
172 void formatColorBranch();
173 void formatColorSubtree();
174 void formatLinkStyleLine();
175 void formatLinkStyleParabel();
176 void formatLinkStylePolyLine();
177 void formatLinkStylePolyParabel();
178 void formatSelectBackColor();
179 void formatSelectBackImage();
180 void formatSelectLinkColor();
181 void formatSelectSelectionColor();
182 void formatToggleLinkColorHint();
183 void formatHideLinkUnselected();
186 void viewZoomReset();
192 void networkStartServer();
193 void networkConnect();
196 void settingsMacroDir();
197 void settingsToggleDelKey();
198 void settingsUndoLevels();
199 void settingsAutosaveToggle();
200 void settingsAutosaveTime();
201 void settingsWriteBackupFileToggle();
202 void settingsToggleAnimation();
204 void windowToggleNoteEditor();
205 void windowToggleHistory();
206 void windowToggleProperty();
207 void updateHistory(SimpleSettings &);
208 void windowToggleAntiAlias();
211 bool hasSmoothPixmapTransform();
213 void windowToggleSmoothPixmap();
214 void updateNoteFlag();
215 void updateNoteEditor (QModelIndex index);
216 void changeSelection (VymModel *model,const QItemSelection &newSel, const QItemSelection &delSel);
218 void updateActions();
219 ModMode getModMode();
220 bool autoEditNewBranch();
221 bool autoSelectNewBranch();
222 void setScript(const QString &);
223 void runScript(const QString &);
224 void runScriptEverywhere (const QString &);
227 void windowNextEditor();
228 void windowPreviousEditor();
229 void windowShowNoteEditor();
230 void windowHideNoteEditor();
232 void standardFlagChanged();
234 void testFunction1();
235 void testFunction2();
246 QTabWidget *tabWidget;
247 QProcess *procBrowser; //FIXME-2 remove this...
250 QStringList imageTypes;
252 QList <VymView*> vymViews; //! Keeps track of models and views related to a tab
253 QString prevSelection;
255 HistoryWindow *historyWindow;
257 BranchPropertyWindow *branchPropertyWindow;
258 SimpleScriptEditor *scriptEditor;
260 QList <QAction*> actionListBranches;
266 QMenu *recentFilesMenu;
267 enum { MaxRecentFiles = 9 };
268 QAction *recentFileActions[MaxRecentFiles];
270 QAction *macroActions[12];
273 QAction* actionFileNewCopy;
274 QAction* actionFileSave;
275 QAction* actionFilePrint;
280 QAction *actionPaste;
281 QAction *actionMoveUp;
282 QAction *actionMoveDown;
283 QAction *actionDetach;
284 QAction *actionSortChildren;
285 QAction *actionToggleScroll;
286 QAction *actionExpandAll;
287 QAction *actionExpandOneLevel;
288 QAction *actionCollapseOneLevel;
289 QAction* actionOpenURL;
290 QAction* actionOpenURLTab;
291 QAction* actionOpenMultipleURLTabs;
293 QAction* actionLocalURL;
294 QAction* actionHeading2URL;
295 QAction* actionBugzilla2URL;
296 QAction* actionFATE2URL;
297 QAction *actionOpenVymLink;
298 QAction *actionOpenMultipleVymLinks;
299 QAction *actionVymLink;
300 QAction *actionDeleteVymLink;
301 QAction *actionAddTimestamp;
302 QAction *actionToggleHideExport;
303 QAction *actionMapInfo;
304 QAction *actionHeading;
305 QAction *actionDelete;
306 QAction *actionAddAttribute;
308 QAction *actionAddMapCenter;
311 QAction *actionAddBranch;
312 QAction *actionAddBranchBefore;
313 QAction *actionAddBranchAbove;
314 QAction *actionAddBranchBelow;
315 QAction *actionDeleteKeepChildren;
316 QAction *actionDeleteChildren;
317 QAction *actionImportAdd;
318 QAction *actionImportReplace;
319 QAction *actionSaveBranch;
320 QAction *actionLoadImage;
322 QAction* actionFormatColor;
323 QAction* actionFormatPickColor;
324 QAction* actionFormatColorBranch;
325 QAction* actionFormatColorSubtree;
326 QAction* actionFormatLinkColorHint;
327 QAction* actionFormatBackColor;
328 QAction* actionFormatBackImage;
329 QAction* actionFormatLinkColor;
330 QAction* actionFormatSelectionColor;
332 QActionGroup* actionGroupModModes;
333 QAction* actionModModeColor;
334 QAction* actionModModeXLink;
335 QAction* actionModModeCopy;
337 QActionGroup *actionGroupFormatFrameTypes;
340 QActionGroup *actionGroupFormatLinkStyles;
341 QAction *actionFormatLinkStyleLine;
342 QAction *actionFormatLinkStyleParabel;
343 QAction *actionFormatLinkStylePolyLine;
344 QAction *actionFormatLinkStylePolyParabel;
345 QAction *actionFormatHideLinkUnselected;
347 QAction *actionViewToggleNoteEditor;
348 QAction *actionViewToggleHistoryWindow;
349 QAction *actionViewTogglePropertyWindow;
350 QAction *actionViewToggleAntiAlias;
351 QAction *actionViewToggleSmoothPixmapTransform;
352 QAction* actionViewCenter;
354 QAction* actionSettingsAutoEditNewBranch;
355 QAction* actionSettingsAutoSelectNewBranch;
356 QAction* actionSettingsAutoSelectText;
357 QAction* actionSettingsUseDelKey;
358 QAction* actionSettingsUseFlagGroups;
359 QAction* actionSettingsUseHideExport;
360 QAction* actionSettingsAutosaveToggle;
361 QAction* actionSettingsAutosaveTime;
362 QAction* actionSettingsWriteBackupFile;
363 QAction* actionSettingsUseAnimation;