8 #include "branchpropwindow.h"
9 #include "extrainfodialog.h"
12 #include "findwindow.h"
13 #include "historywindow.h"
14 #include "mapeditor.h"
15 #include "simplescripteditor.h"
16 #include "texteditor.h"
20 class Main : public QMainWindow
25 /*! Modifier modes are used when CTRL together with a mouse button is pressed */
27 ModModeNone, //!< Unused
28 ModModeColor, //!< Pick color from object
29 ModModeCopy, //!< Copy object
30 ModModeXLink //!< Create a XLink (XLinkObj) from selected object
33 Main(QWidget* parent=0, const char* name=0, Qt::WFlags f=0);
38 QProgressBar *progressBar;
42 void statusMessage (const QString &);
43 void setProgressMinimum (int min);
44 void setProgressMaximum (int max);
45 void setProgressValue (int v);
46 void removeProgressBar();
53 void closeEvent( QCloseEvent* );
56 void setupFileActions();
57 void setupEditActions();
58 void setupFormatActions();
59 void setupViewActions();
60 void setupModeActions();
61 void setupWindowActions();
62 void setupFlag(Flag *flag, QToolBar *tb, const QString &name, const QString &tooltip);
63 void setupFlagActions();
64 void setupNetworkActions();
65 void setupSettingsActions();
66 void setupTestActions();
67 void setupHelpActions();
68 void setupContextMenus();
69 void setupRecentMapsMenu();
71 void hideEvent (QHideEvent * );
72 void showEvent (QShowEvent * );
73 MapEditor* currentMapEditor() const;
74 VymModel* currentModel() const;
77 void editorChanged(QWidget*);
79 ErrorCode fileLoad(QString ,const LoadMode &, const FileType & ftype=VymMap);
80 void fileLoad(const LoadMode &);
82 void fileLoadRecent();
83 void addRecentMap (const QString &);
84 void fileSave(VymModel*, const SaveMode & );
87 void fileSave(VymModel*); // autosave from MapEditor
89 void fileSaveAs(const SaveMode &);
91 void fileImportKDE3Bookmarks();
92 void fileImportKDE4Bookmarks();
93 void fileImportFirefoxBookmarks();
94 void fileImportFreemind();
98 void fileExportXHTML();
99 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 editOpenFindWindow();
120 void editFind(QString);
121 void editFindChanged();
123 void openTabs(QStringList);
126 void editOpenURLTab();
128 void editOpenMultipleURLTabs();
131 void editHeading2URL();
132 void editBugzilla2URL();
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();
148 void editSortChildren();
149 void editToggleScroll();
150 void editExpandAll();
151 void editUnscrollChildren();
152 void editAddAttribute();
153 void editAddMapCenter();
154 void editNewBranch();
155 void editNewBranchBefore();
156 void editNewBranchAbove();
157 void editNewBranchBelow();
158 void editImportAdd();
159 void editImportReplace();
160 void editSaveBranch();
161 void editDeleteKeepChildren();
162 void editDeleteChildren();
163 void editDeleteSelection();
164 void editLoadImage();
165 void editSaveImage();
166 void editFollowXLink (QAction *);
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();
185 void viewZoomReset();
191 void networkStartServer();
192 void networkConnect();
195 void settingsMacroDir();
196 void settingsToggleDelKey();
197 void settingsUndoLevels();
198 void settingsAutosaveToggle();
199 void settingsAutosaveTime();
200 void settingsWriteBackupFileToggle();
201 void settingsToggleAnimation();
203 void windowToggleNoteEditor();
204 void windowToggleHistory();
205 void windowToggleProperty();
206 void updateHistory(SimpleSettings &);
207 void windowToggleAntiAlias();
210 bool hasSmoothPixmapTransform();
212 void windowToggleSmoothPixmap();
213 void updateNoteFlag();
214 void updateNoteEditor (QModelIndex index);
215 void changeSelection (VymModel *model,const QItemSelection &newSel, const QItemSelection &delSel);
217 void updateActions();
218 ModMode getModMode();
219 bool autoEditNewBranch();
220 bool autoSelectNewBranch();
221 void setScript(const QString &);
222 void runScript(const QString &);
223 void runScriptEverywhere (const QString &);
226 void windowNextEditor();
227 void windowPreviousEditor();
228 void windowShowNoteEditor();
229 void windowHideNoteEditor();
231 void standardFlagChanged();
233 void testFunction1();
234 void testFunction2();
245 QTabWidget *tabWidget;
246 FindWindow *findWindow;
247 QProcess *procBrowser;
249 QStringList imageTypes;
251 QList <VymView*> vymViews; //! Keeps track of models and views related to a tab
252 QString prevSelection;
254 HistoryWindow *historyWindow;
256 BranchPropertyWindow *branchPropertyWindow;
257 SimpleScriptEditor *scriptEditor;
259 QList <QAction*> actionListBranches;
265 QMenu *recentFilesMenu;
266 enum { MaxRecentFiles = 9 };
267 QAction *recentFileActions[MaxRecentFiles];
269 QAction *macroActions[12];
272 QAction* actionFileNewCopy;
273 QAction* actionFileSave;
274 QAction* actionFilePrint;
279 QAction *actionPaste;
280 QAction *actionMoveUp;
281 QAction *actionMoveDown;
282 QAction *actionDetach;
283 QAction *actionSortChildren;
284 QAction *actionToggleScroll;
285 QAction *actionExpandAll;
286 QAction* actionOpenURL;
287 QAction* actionOpenURLTab;
288 QAction* actionOpenMultipleURLTabs;
290 QAction* actionLocalURL;
291 QAction* actionHeading2URL;
292 QAction* actionBugzilla2URL;
293 QAction* actionFATE2URL;
294 QAction *actionOpenVymLink;
295 QAction *actionOpenMultipleVymLinks;
296 QAction *actionVymLink;
297 QAction *actionDeleteVymLink;
298 QAction *actionToggleHideExport;
299 QAction *actionMapInfo;
300 QAction *actionHeading;
301 QAction *actionDelete;
302 QAction *actionAddAttribute;
304 QAction *actionAddMapCenter;
307 QAction *actionAddBranch;
308 QAction *actionAddBranchBefore;
309 QAction *actionAddBranchAbove;
310 QAction *actionAddBranchBelow;
311 QAction *actionDeleteKeepChildren;
312 QAction *actionDeleteChildren;
313 QAction *actionImportAdd;
314 QAction *actionImportReplace;
315 QAction *actionSaveBranch;
316 QAction *actionLoadImage;
318 QAction* actionFormatColor;
319 QAction* actionFormatPickColor;
320 QAction* actionFormatColorBranch;
321 QAction* actionFormatColorSubtree;
322 QAction* actionFormatLinkColorHint;
323 QAction* actionFormatBackColor;
324 QAction* actionFormatBackImage;
325 QAction* actionFormatLinkColor;
326 QAction* actionFormatSelectionColor;
328 QActionGroup* actionGroupModModes;
329 QAction* actionModModeColor;
330 QAction* actionModModeXLink;
331 QAction* actionModModeCopy;
333 QActionGroup *actionGroupFormatFrameTypes;
336 QActionGroup *actionGroupFormatLinkStyles;
337 QAction *actionFormatLinkStyleLine;
338 QAction *actionFormatLinkStyleParabel;
339 QAction *actionFormatLinkStylePolyLine;
340 QAction *actionFormatLinkStylePolyParabel;
341 QAction *actionFormatHideLinkUnselected;
343 QAction *actionViewToggleNoteEditor;
344 QAction *actionViewToggleHistoryWindow;
345 QAction *actionViewTogglePropertyWindow;
346 QAction *actionViewToggleAntiAlias;
347 QAction *actionViewToggleSmoothPixmapTransform;
348 QAction* actionViewCenter;
350 QAction* actionSettingsAutoEditNewBranch;
351 QAction* actionSettingsAutoSelectNewBranch;
352 QAction* actionSettingsAutoSelectText;
353 QAction* actionSettingsUseDelKey;
354 QAction* actionSettingsUseFlagGroups;
355 QAction* actionSettingsUseHideExport;
356 QAction* actionSettingsAutosaveToggle;
357 QAction* actionSettingsAutosaveTime;
358 QAction* actionSettingsWriteBackupFile;
359 QAction* actionSettingsUseAnimation;