insilmaril@3: #include insilmaril@8: #include insilmaril@8: #include insilmaril@8: #include insilmaril@2: #include insilmaril@8: #include insilmaril@2: #include insilmaril@8: #include insilmaril@3: #include insilmaril@0: insilmaril@0: #include "settings.h" insilmaril@0: #include "options.h" insilmaril@0: #include "mainwindow.h" insilmaril@0: #include "flagrowobj.h" insilmaril@0: insilmaril@0: // Global variables insilmaril@0: TextEditor *textEditor; // used in Constr. of LinkableMapObj insilmaril@0: // initialized in mainwindow insilmaril@0: insilmaril@0: Main *mainWindow; // used in BranchObj::select() insilmaril@2: QString tmpVymDir; // All temp files go there, created in mainwindow insilmaril@2: QString clipboardDir; // Clipboard used in all mapEditors insilmaril@2: QDir vymBaseDir; // Containing all styles, scripts, images, ... insilmaril@4: QDir lastImageDir; insilmaril@11: QDir lastFileDir; insilmaril@2: QString iconPath; // Pointing to icons used for toolbars insilmaril@2: QString flagsPath; // Pointing to flags insilmaril@2: bool clipboardEmpty; insilmaril@0: FlagRowObj *systemFlagsDefault; // used to copy from in LinkableMapObj insilmaril@0: FlagRowObj *standardFlagsDefault; insilmaril@0: insilmaril@2: // Lists of actions insilmaril@2: // (QActionGroup could not be "enabled") insilmaril@2: Q3PtrList actionListBranches; insilmaril@2: insilmaril@0: // Actions which change sometimes insilmaril@0: QAction *actionFileSave; insilmaril@0: QAction *actionFilePrint; insilmaril@0: QAction *actionEditUndo; insilmaril@2: QAction *actionEditRedo; insilmaril@0: QAction *actionEditCopy; insilmaril@0: QAction *actionEditCut; insilmaril@0: QAction *actionEditPaste; insilmaril@0: QAction *actionEditMoveUp; insilmaril@0: QAction *actionEditMoveDown; insilmaril@0: QAction *actionEditToggleScroll; insilmaril@0: QAction *actionEditOpenURL; insilmaril@2: QAction *actionEditOpenURLTab; insilmaril@16: QAction *actionEditOpenMultipleURLTabs; insilmaril@0: QAction *actionEditURL; insilmaril@0: QAction *actionEditHeading2URL; insilmaril@0: QAction *actionEditBugzilla2URL; insilmaril@2: QAction *actionEditFATE2URL; insilmaril@0: QAction *actionEditOpenVymLink; insilmaril@17: QAction *actionEditOpenMultipleVymLinks; insilmaril@0: QAction *actionEditVymLink; insilmaril@2: QAction *actionEditToggleHideExport; insilmaril@0: QAction *actionEditDeleteVymLink; insilmaril@0: QAction *actionEditMapInfo; insilmaril@0: QAction *actionEditHeading; insilmaril@0: QAction *actionEditDelete; insilmaril@0: QAction *actionEditAddBranch; insilmaril@2: QAction *actionEditAddBranchHere; insilmaril@0: QAction *actionEditAddBranchAbove; insilmaril@0: QAction *actionEditAddBranchBelow; insilmaril@2: QAction *actionEditRemoveBranchKeepChilds; insilmaril@2: QAction *actionEditRemoveChilds; insilmaril@0: QAction *actionEditImportAdd; insilmaril@0: QAction *actionEditImportReplace; insilmaril@0: QAction *actionEditSaveBranch; insilmaril@0: QAction *actionEditSelectFirst; insilmaril@0: QAction *actionEditSelectLast; insilmaril@0: QAction *actionEditLoadImage; insilmaril@0: insilmaril@0: QAction *actionFormatColor; insilmaril@0: QAction *actionFormatPickColor; insilmaril@0: QAction *actionFormatColorBranch; insilmaril@0: QAction *actionFormatColorSubtree; insilmaril@0: QAction *actionFormatBackColor; insilmaril@0: QAction *actionFormatLinkColorHint; insilmaril@0: QAction *actionFormatLinkColor; insilmaril@0: insilmaril@3: QActionGroup *actionGroupModModes; insilmaril@2: QAction *actionModModeColor; insilmaril@2: QAction *actionModModeLink; insilmaril@2: QAction *actionModModeCopy; insilmaril@2: insilmaril@3: QActionGroup *actionGroupFormatFrameTypes; insilmaril@0: QAction *actionFormatFrameNone; insilmaril@0: QAction *actionFormatFrameRectangle; insilmaril@0: insilmaril@3: QActionGroup *actionGroupFormatLinkStyles; insilmaril@2: QAction *actionFormatIncludeImagesVer; insilmaril@2: QAction *actionFormatIncludeImagesHor; insilmaril@2: QAction *actionFormatHideLinkUnselected; insilmaril@0: QAction *actionFormatLinkStyleLine; insilmaril@0: QAction *actionFormatLinkStyleParabel; insilmaril@0: QAction *actionFormatLinkStylePolyLine; insilmaril@0: QAction *actionFormatLinkStylePolyParabel; insilmaril@0: insilmaril@0: QAction *actionViewToggleNoteEditor; insilmaril@2: QAction *actionViewToggleHistoryWindow; insilmaril@0: insilmaril@0: QAction *actionSettingsAutoselectHeading; insilmaril@0: QAction *actionSettingsAutoselectText; insilmaril@0: QAction *actionSettingsAutoedit; insilmaril@0: QAction *actionSettingsUseDelKey; insilmaril@2: QAction *actionSettingsUseFlagGroups; insilmaril@2: QAction *actionSettingsUseHideExport; insilmaril@0: insilmaril@4: insilmaril@4: QMenu* branchContextMenu; insilmaril@4: QMenu* branchAddContextMenu; insilmaril@4: QMenu* branchRemoveContextMenu; insilmaril@17: QMenu* branchLinksContextMenu; insilmaril@17: QMenu* branchXLinksContextMenuEdit; insilmaril@17: QMenu* branchXLinksContextMenuFollow; insilmaril@4: QMenu* floatimageContextMenu; insilmaril@4: QMenu* canvasContextMenu; insilmaril@4: QMenu* fileLastMapsMenu; insilmaril@4: QMenu* fileImportMenu; insilmaril@4: QMenu* fileExportMenu; insilmaril@0: insilmaril@0: insilmaril@16: Settings settings ("InSilmaril","vym"); // Organization, Application name insilmaril@16: insilmaril@0: Options options; insilmaril@4: ImageIO imageIO; insilmaril@0: insilmaril@0: int statusbarTime=3500; insilmaril@0: insilmaril@0: int main(int argc, char** argv) insilmaril@0: { insilmaril@13: //FIXME Q_INIT_RESOURCE (application); insilmaril@13: insilmaril@0: QApplication app(argc,argv); insilmaril@0: insilmaril@0: insilmaril@0: // Reading and initializing options commandline options insilmaril@0: options.add ("version", SwitchOption, "v","version"); insilmaril@2: options.add ("local", SwitchOption, "l", "local"); insilmaril@0: options.add ("help", SwitchOption, "h", "help"); insilmaril@0: options.add ("quit", SwitchOption, "q", "quit"); insilmaril@0: options.add ("test", StringOption, "t", "test"); insilmaril@0: options.setHelpText ( insilmaril@0: "VYM - View Your Mind\n" insilmaril@0: "--------------------\n\n" insilmaril@0: "Information about vym can be found in vym.pdf,\n" insilmaril@0: "which should be part of the vym package.\n" insilmaril@0: "It is also available at the project homepage:\n\n" insilmaril@0: "http://www.InSilmaril.de/vym\n"); insilmaril@0: if (options.parse()) insilmaril@0: { insilmaril@18: cout << endl << options.getHelpText().ascii()<setIcon (QPixmap (iconPath+"vym-editor.png")); insilmaril@0: if (textEditor->showWithMain()) textEditor->show(); insilmaril@0: insilmaril@2: // Initialize mainwindow insilmaril@0: Main m; insilmaril@0: //m.resize(m.sizeHint()); insilmaril@2: m.setIcon (QPixmap (iconPath+"vym-48x48.png")); insilmaril@0: m.show(); insilmaril@0: m.fileNew(); insilmaril@0: m.loadCmdLine(); insilmaril@0: insilmaril@0: // For benchmarking we may want to quit immediatly after drawing insilmaril@0: if (options.isOn ("quit")) insilmaril@0: { insilmaril@0: return 0; insilmaril@0: } insilmaril@0: insilmaril@0: QObject::connect( &app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()) ); insilmaril@0: insilmaril@0: return app.exec(); insilmaril@0: } insilmaril@0: