1.1 --- a/main.cpp Sun Jan 30 12:58:47 2005 +0000
1.2 +++ b/main.cpp Tue Jun 06 14:58:11 2006 +0000
1.3 @@ -1,14 +1,19 @@
1.4 #include <qapplication.h>
1.5 #include <qpixmap.h>
1.6 #include <qtranslator.h>
1.7 +#include <qdir.h>
1.8 +#include <q3ptrlist.h>
1.9 +#include <qtextcodec.h>
1.10 +#include <q3network.h>
1.11 +#include <qmime.h>
1.12 +//Added by qt3to4:
1.13 +#include <Q3PopupMenu>
1.14 +#include <Q3ActionGroup>
1.15
1.16 #include "settings.h"
1.17 #include "options.h"
1.18 #include "mainwindow.h"
1.19
1.20 -#include "icons/vym-48x48.xpm"
1.21 -#include "icons/vym-editor.xpm"
1.22 -
1.23 #include "flagrowobj.h"
1.24
1.25 // Global variables
1.26 @@ -16,14 +21,24 @@
1.27 // initialized in mainwindow
1.28
1.29 Main *mainWindow; // used in BranchObj::select()
1.30 -MapEditor *clipboardME;
1.31 +QString tmpVymDir; // All temp files go there, created in mainwindow
1.32 +QString clipboardDir; // Clipboard used in all mapEditors
1.33 +QDir vymBaseDir; // Containing all styles, scripts, images, ...
1.34 +QString iconPath; // Pointing to icons used for toolbars
1.35 +QString flagsPath; // Pointing to flags
1.36 +bool clipboardEmpty;
1.37 FlagRowObj *systemFlagsDefault; // used to copy from in LinkableMapObj
1.38 FlagRowObj *standardFlagsDefault;
1.39
1.40 +// Lists of actions
1.41 +// (QActionGroup could not be "enabled")
1.42 +Q3PtrList <QAction> actionListBranches;
1.43 +
1.44 // Actions which change sometimes
1.45 QAction *actionFileSave;
1.46 QAction *actionFilePrint;
1.47 QAction *actionEditUndo;
1.48 +QAction *actionEditRedo;
1.49 QAction *actionEditCopy;
1.50 QAction *actionEditCut;
1.51 QAction *actionEditPaste;
1.52 @@ -31,25 +46,30 @@
1.53 QAction *actionEditMoveDown;
1.54 QAction *actionEditToggleScroll;
1.55 QAction *actionEditOpenURL;
1.56 +QAction *actionEditOpenURLTab;
1.57 QAction *actionEditURL;
1.58 QAction *actionEditHeading2URL;
1.59 QAction *actionEditBugzilla2URL;
1.60 +QAction *actionEditFATE2URL;
1.61 QAction *actionEditOpenVymLink;
1.62 QAction *actionEditVymLink;
1.63 +QAction *actionEditToggleHideExport;
1.64 QAction *actionEditDeleteVymLink;
1.65 QAction *actionEditMapInfo;
1.66 QAction *actionEditHeading;
1.67 QAction *actionEditDelete;
1.68 QAction *actionEditAddBranch;
1.69 +QAction *actionEditAddBranchHere;
1.70 QAction *actionEditAddBranchAbove;
1.71 QAction *actionEditAddBranchBelow;
1.72 +QAction *actionEditRemoveBranchKeepChilds;
1.73 +QAction *actionEditRemoveChilds;
1.74 QAction *actionEditImportAdd;
1.75 QAction *actionEditImportReplace;
1.76 QAction *actionEditSaveBranch;
1.77 QAction *actionEditSelectFirst;
1.78 QAction *actionEditSelectLast;
1.79 QAction *actionEditLoadImage;
1.80 -QAction *actionEditToggleFloatExport;
1.81
1.82 QAction *actionFormatColor;
1.83 QAction *actionFormatPickColor;
1.84 @@ -59,31 +79,47 @@
1.85 QAction *actionFormatLinkColorHint;
1.86 QAction *actionFormatLinkColor;
1.87
1.88 -QActionGroup *actionGroupFormatFrameTypes;
1.89 +Q3ActionGroup *actionGroupModModes;
1.90 +QAction *actionModModeColor;
1.91 +QAction *actionModModeLink;
1.92 +QAction *actionModModeCopy;
1.93 +
1.94 +Q3ActionGroup *actionGroupFormatFrameTypes;
1.95 QAction *actionFormatFrameNone;
1.96 QAction *actionFormatFrameRectangle;
1.97
1.98 -QActionGroup *actionGroupFormatLinkStyles;
1.99 +Q3ActionGroup *actionGroupFormatLinkStyles;
1.100 +QAction *actionFormatIncludeImagesVer;
1.101 +QAction *actionFormatIncludeImagesHor;
1.102 +QAction *actionFormatHideLinkUnselected;
1.103 QAction *actionFormatLinkStyleLine;
1.104 QAction *actionFormatLinkStyleParabel;
1.105 QAction *actionFormatLinkStylePolyLine;
1.106 QAction *actionFormatLinkStylePolyParabel;
1.107
1.108 QAction *actionViewToggleNoteEditor;
1.109 +QAction *actionViewToggleHistoryWindow;
1.110
1.111 QAction *actionSettingsAutoselectHeading;
1.112 QAction *actionSettingsAutoselectText;
1.113 QAction *actionSettingsPasteNewHeading;
1.114 QAction *actionSettingsAutoedit;
1.115 QAction *actionSettingsUseDelKey;
1.116 +QAction *actionSettingsUseFlagGroups;
1.117 +QAction *actionSettingsUseHideExport;
1.118
1.119 -QPopupMenu *branchContextMenu;
1.120 -QPopupMenu *floatimageContextMenu;
1.121 -QPopupMenu *saveImageFormatMenu;
1.122 -QPopupMenu *canvasContextMenu;
1.123 -QPopupMenu *lastMapsMenu;
1.124 -QPopupMenu *exportMenu;
1.125 -QPopupMenu *exportImageFormatMenu;
1.126 +Q3PopupMenu *branchContextMenu;
1.127 +Q3PopupMenu *branchAddContextMenu;
1.128 +Q3PopupMenu *branchRemoveContextMenu;
1.129 +Q3PopupMenu *branchLinksContextMenu;
1.130 +Q3PopupMenu *branchLinksContextMenuDup;
1.131 +Q3PopupMenu *floatimageContextMenu;
1.132 +Q3PopupMenu *saveImageFormatMenu;
1.133 +Q3PopupMenu *canvasContextMenu;
1.134 +Q3PopupMenu *lastMapsMenu;
1.135 +Q3PopupMenu *importMenu;
1.136 +Q3PopupMenu *exportMenu;
1.137 +Q3PopupMenu *exportImageFormatMenu;
1.138
1.139
1.140 Settings settings;
1.141 @@ -96,19 +132,9 @@
1.142 QApplication app(argc,argv);
1.143
1.144
1.145 - // Initialize translations
1.146 - QTranslator translator (0);
1.147 - translator.load( "vym_de", "." );
1.148 - app.installTranslator( &translator );
1.149 -
1.150 - // Initializing the row of system flags
1.151 - // is done in first call to MapEditor(),
1.152 - // because we need at least one canvas first
1.153 - systemFlagsDefault=NULL;
1.154 - standardFlagsDefault=NULL;
1.155 -
1.156 // Reading and initializing options commandline options
1.157 options.add ("version", SwitchOption, "v","version");
1.158 + options.add ("local", SwitchOption, "l", "local");
1.159 options.add ("help", SwitchOption, "h", "help");
1.160 options.add ("quit", SwitchOption, "q", "quit");
1.161 options.add ("test", StringOption, "t", "test");
1.162 @@ -121,45 +147,82 @@
1.163 "http://www.InSilmaril.de/vym\n");
1.164 if (options.parse())
1.165 {
1.166 - cout << endl << options.getHelpText()<<endl;
1.167 +//FIXME QT3 cout << endl << options.getHelpText()<<endl;
1.168 return 1;
1.169 }
1.170
1.171 if (options.isOn ("version"))
1.172 {
1.173 - cout << "vym version "<<__VYM_VERSION__
1.174 + cout << "vym version "<<__VYM_VERSION
1.175 <<" (c) 2004 Uwe Drechsel - "
1.176 - <<__BUILD_DATE__<<endl;
1.177 + <<__BUILD_DATE<<endl;
1.178
1.179 return 0;
1.180 }
1.181
1.182 + // Use /usr/share/vym or /usr/local/share/vym or . ?
1.183 + // First try options
1.184 + if (options.isOn ("local"))
1.185 + {
1.186 + vymBaseDir.setPath (vymBaseDir.currentDirPath());
1.187 + } else
1.188 + // then look for environment variable
1.189 + if (getenv("VYMHOME")!=0)
1.190 + {
1.191 + vymBaseDir.setPath (getenv("VYMHOME"));
1.192 + } else
1.193 + // ok, let's find my way on my own
1.194 + {
1.195 + vymBaseDir.setPath ("/usr/share/vym");
1.196 + if (!vymBaseDir.exists())
1.197 + {
1.198 + vymBaseDir.setPath ("/usr/local/share/vym");
1.199 + if (!vymBaseDir.exists())
1.200 + vymBaseDir.setPath(vymBaseDir.currentDirPath() );
1.201 + }
1.202 + }
1.203 +
1.204 + iconPath=vymBaseDir.path()+"/icons/";
1.205 + flagsPath=vymBaseDir.path()+"/flags/";
1.206 +
1.207 if (options.isOn ("help"))
1.208 {
1.209 - cout << options.getHelpText()<<endl;
1.210 +//FIXME QT3 cout << options.getHelpText()<<endl;
1.211 return 0;
1.212 }
1.213
1.214 if (options.isOn ("test"))
1.215 {
1.216 // FIXME testing string option only
1.217 - cout << "Testing: "<<options.getArg("test")<< endl;
1.218 +//FIXME QT3 cout << "Testing: "<<options.getArg("test")<< endl;
1.219 }
1.220
1.221 +
1.222 + Q3MimeSourceFactory *factory = Q3MimeSourceFactory::defaultFactory();
1.223 + factory->setPixmap("vym-128x128", QPixmap(iconPath+"vym-128x128.png"));
1.224 + q3InitNetworkProtocols();
1.225 +
1.226 +
1.227 + // Initialize translations
1.228 + QTranslator translator (0);
1.229 + translator.load( QString("vym_")+QTextCodec::locale(), vymBaseDir.path() + "/lang");
1.230 + app.installTranslator( &translator );
1.231 +
1.232 + // Initializing the row of system flags
1.233 + // is done in first call to MapEditor(),
1.234 + // because we need at least one canvas first
1.235 + systemFlagsDefault=NULL;
1.236 + standardFlagsDefault=NULL;
1.237 +
1.238 // Initialize window of TextEditor
1.239 textEditor = new TextEditor();
1.240 - textEditor->setIcon (QPixmap (vym_editor_xpm));
1.241 + textEditor->setIcon (QPixmap (iconPath+"vym-editor.png"));
1.242 if (textEditor->showWithMain()) textEditor->show();
1.243
1.244 - clipboardME = new MapEditor();
1.245 - clipboardME->resize (800,600);
1.246 - clipboardME->setCaption("VYM - clipboard");
1.247 - clipboardME->hide();
1.248 -
1.249 - // Initialize mainwindow after Mapeditors (because of Flags)
1.250 + // Initialize mainwindow
1.251 Main m;
1.252 //m.resize(m.sizeHint());
1.253 - m.setIcon (QPixmap (vym_logo_xpm));
1.254 + m.setIcon (QPixmap (iconPath+"vym-48x48.png"));
1.255 m.show();
1.256 m.fileNew();
1.257 m.loadCmdLine();