mainwindow.cpp
changeset 767 6d2b32f305f9
parent 766 7a71a914afdb
child 768 382a444f5b0c
     1.1 --- a/mainwindow.cpp	Thu May 07 08:48:53 2009 +0000
     1.2 +++ b/mainwindow.cpp	Wed May 13 08:26:27 2009 +0000
     1.3 @@ -12,7 +12,7 @@
     1.4  #include "exportoofiledialog.h"
     1.5  #include "exports.h"
     1.6  #include "file.h"
     1.7 -#include "flagrowobj.h"
     1.8 +#include "flagrow.h"
     1.9  #include "historywindow.h"
    1.10  #include "imports.h"
    1.11  #include "mapeditor.h"
    1.12 @@ -43,8 +43,8 @@
    1.13  extern QString clipboardFile;
    1.14  extern bool clipboardEmpty;
    1.15  extern int statusbarTime;
    1.16 -extern FlagRowObj* standardFlagsDefault;
    1.17 -extern FlagRowObj* systemFlagsDefault;
    1.18 +extern FlagRow *standardFlagsMaster;	
    1.19 +extern FlagRow *systemFlagsMaster;
    1.20  extern QString vymName;
    1.21  extern QString vymVersion;
    1.22  extern QString vymBuildDate;
    1.23 @@ -1187,229 +1187,217 @@
    1.24  {
    1.25  	// Create System Flags
    1.26  	QToolBar *tb=NULL;
    1.27 -	bool avis=true;
    1.28 -
    1.29 -	systemFlagsDefault = new FlagRowObj ();
    1.30 -	systemFlagsDefault->setVisibility (false);
    1.31 -	systemFlagsDefault->setName ("systemFlagsDef");
    1.32 -
    1.33 -	FlagObj *fo = new FlagObj ();
    1.34 -	fo->load(QPixmap(flagsPath+"flag-note.png"));
    1.35 -	setupFlag (fo,tb,avis,"note",tr("Note","SystemFlag"));
    1.36 -
    1.37 -	fo->load(QPixmap(flagsPath+"flag-url.png"));
    1.38 -	setupFlag (fo,tb,avis,"url",tr("URL to Document ","SystemFlag"));
    1.39 +
    1.40 +	Flag *flag=new Flag;;
    1.41 +
    1.42 +	flag->load(QPixmap(flagsPath+"flag-note.png"));
    1.43 +	setupFlag (flag,tb,"system-note",tr("Note","SystemFlag"));
    1.44 +
    1.45 +	flag->load(QPixmap(flagsPath+"flag-url.png"));
    1.46 +	setupFlag (flag,tb,"system-url",tr("URL to Document ","SystemFlag"));
    1.47  	
    1.48 -	fo->load(QPixmap(flagsPath+"flag-vymlink.png"));
    1.49 -	setupFlag (fo,tb,avis,"vymLink",tr("Link to another vym map","SystemFlag"));
    1.50 -
    1.51 -	fo->load(QPixmap(flagsPath+"flag-scrolled-right.png"));
    1.52 -	setupFlag (fo,tb,avis,"scrolledright",tr("subtree is scrolled","SystemFlag"));
    1.53 +	flag->load(QPixmap(flagsPath+"flag-vymlink.png"));
    1.54 +	setupFlag (flag,tb,"system-vymLink",tr("Link to another vym map","SystemFlag"));
    1.55 +
    1.56 +	flag->load(QPixmap(flagsPath+"flag-scrolled-right.png"));
    1.57 +	setupFlag (flag,tb,"system-scrolledright",tr("subtree is scrolled","SystemFlag"));
    1.58  	
    1.59 -	fo->load(QPixmap(flagsPath+"flag-tmpUnscrolled-right.png"));
    1.60 -	setupFlag (fo,tb,avis,"tmpUnscrolledright",tr("subtree is temporary scrolled","SystemFlag"));
    1.61 -
    1.62 -	fo->load(QPixmap(flagsPath+"flag-hideexport.png"));
    1.63 -	setupFlag (fo,tb,avis,"hideInExport",tr("Hide object in exported maps","SystemFlag"));
    1.64 +	flag->load(QPixmap(flagsPath+"flag-tmpUnscrolled-right.png"));
    1.65 +	setupFlag (flag,tb,"system-tmpUnscrolledright",tr("subtree is temporary scrolled","SystemFlag"));
    1.66 +
    1.67 +	flag->load(QPixmap(flagsPath+"flag-hideexport.png"));
    1.68 +	setupFlag (flag,tb,"system-hideInExport",tr("Hide object in exported maps","SystemFlag"));
    1.69  
    1.70  	// Create Standard Flags
    1.71  	tb=addToolBar (tr ("Standard Flags","Standard Flag Toolbar"));
    1.72  	tb->setObjectName ("standardFlagTB");
    1.73  
    1.74 -	standardFlagsDefault = new FlagRowObj ();
    1.75 -	standardFlagsDefault->setVisibility (false);
    1.76 -	standardFlagsDefault->setName ("standardFlagsDef");
    1.77 -	standardFlagsDefault->setToolBar (tb);
    1.78 -
    1.79 -	fo->load(flagsPath+"flag-exclamationmark.png");
    1.80 -	fo->setGroup("standard-mark");
    1.81 -	setupFlag (fo,tb,avis,"exclamationmark",tr("Take care!","Standardflag"));
    1.82  	
    1.83 -	fo->load(flagsPath+"flag-questionmark.png");
    1.84 -	fo->setGroup("standard-mark");
    1.85 -	setupFlag (fo,tb,avis,"questionmark",tr("Really?","Standardflag"));
    1.86 -
    1.87 -	fo->load(flagsPath+"flag-hook-green.png");
    1.88 -	fo->setGroup("standard-hook");
    1.89 -	setupFlag (fo,tb,avis,"hook-green",tr("ok!","Standardflag"));
    1.90 -
    1.91 -	fo->load(flagsPath+"flag-cross-red.png");
    1.92 -	fo->setGroup("standard-hook");
    1.93 -	setupFlag (fo,tb,avis,"cross-red",tr("Not ok!","Standardflag"));
    1.94 -	fo->unsetGroup();
    1.95 -
    1.96 -	fo->load(flagsPath+"flag-stopsign.png");
    1.97 -	setupFlag (fo,tb,avis,"stopsign",tr("This won't work!","Standardflag"));
    1.98 -
    1.99 -	fo->load(flagsPath+"flag-smiley-good.png");
   1.100 -	fo->setGroup("standard-smiley");
   1.101 -	setupFlag (fo,tb,avis,"smiley-good",tr("Good","Standardflag"));
   1.102 -
   1.103 -	fo->load(flagsPath+"flag-smiley-sad.png");
   1.104 -	fo->setGroup("standard-smiley");
   1.105 -	setupFlag (fo,tb,avis,"smiley-sad",tr("Bad","Standardflag"));
   1.106 -
   1.107 -	fo->load(flagsPath+"flag-smiley-omg.png");
   1.108 -	fo->setGroup("standard-smiley");
   1.109 -	setupFlag (fo,tb,avis,"smiley-omb",tr("Oh no!","Standardflag"));
   1.110 +	flag->load(flagsPath+"flag-exclamationmark.png");
   1.111 +	flag->setGroup("standard-mark");
   1.112 +	setupFlag (flag,tb,"exclamationmark",tr("Take care!","Standardflag"));
   1.113 +	
   1.114 +	flag->load(flagsPath+"flag-questionmark.png");
   1.115 +	flag->setGroup("standard-mark");
   1.116 +	setupFlag (flag,tb,"questionmark",tr("Really?","Standardflag"));
   1.117 +
   1.118 +	flag->load(flagsPath+"flag-hook-green.png");
   1.119 +	flag->setGroup("standard-hook");
   1.120 +	setupFlag (flag,tb,"hook-green",tr("ok!","Standardflag"));
   1.121 +
   1.122 +	flag->load(flagsPath+"flag-cross-red.png");
   1.123 +	flag->setGroup("standard-hook");
   1.124 +	setupFlag (flag,tb,"cross-red",tr("Not ok!","Standardflag"));
   1.125 +	flag->unsetGroup();
   1.126 +
   1.127 +	flag->load(flagsPath+"flag-stopsign.png");
   1.128 +	setupFlag (flag,tb,"stopsign",tr("This won't work!","Standardflag"));
   1.129 +
   1.130 +	flag->load(flagsPath+"flag-smiley-good.png");
   1.131 +	flag->setGroup("standard-smiley");
   1.132 +	setupFlag (flag,tb,"smiley-good",tr("Good","Standardflag"));
   1.133 +
   1.134 +	flag->load(flagsPath+"flag-smiley-sad.png");
   1.135 +	flag->setGroup("standard-smiley");
   1.136 +	setupFlag (flag,tb,"smiley-sad",tr("Bad","Standardflag"));
   1.137 +
   1.138 +	flag->load(flagsPath+"flag-smiley-omg.png");
   1.139 +	flag->setGroup("standard-smiley");
   1.140 +	setupFlag (flag,tb,"smiley-omb",tr("Oh no!","Standardflag"));
   1.141  	// Original omg.png (in KDE emoticons)
   1.142 -	fo->unsetGroup();
   1.143 -
   1.144 -	fo->load(flagsPath+"flag-kalarm.png");
   1.145 -	setupFlag (fo,tb,avis,"clock",tr("Time critical","Standardflag"));
   1.146 -
   1.147 -	fo->load(flagsPath+"flag-phone.png");
   1.148 -	setupFlag (fo,tb,avis,"phone",tr("Call...","Standardflag"));
   1.149 -
   1.150 -	fo->load(flagsPath+"flag-lamp.png");
   1.151 -	setupFlag (fo,tb,avis,"lamp",tr("Idea!","Standardflag"));
   1.152 -
   1.153 -	fo->load(flagsPath+"flag-arrow-up.png");
   1.154 -	fo->setGroup("standard-arrow");
   1.155 -	setupFlag (fo,tb,avis,"arrow-up",tr("Important","Standardflag"));
   1.156 -
   1.157 -	fo->load(flagsPath+"flag-arrow-down.png");
   1.158 -	fo->setGroup("standard-arrow");
   1.159 -	setupFlag (fo,tb,avis,"arrow-down",tr("Unimportant","Standardflag"));
   1.160 -
   1.161 -	fo->load(flagsPath+"flag-arrow-2up.png");
   1.162 -	fo->setGroup("standard-arrow");
   1.163 -	setupFlag (fo,tb,avis,"2arrow-up",tr("Very important!","Standardflag"));
   1.164 -
   1.165 -	fo->load(flagsPath+"flag-arrow-2down.png");
   1.166 -	fo->setGroup("standard-arrow");
   1.167 -	setupFlag (fo,tb,avis,"2arrow-down",tr("Very unimportant!","Standardflag"));
   1.168 -	fo->unsetGroup();
   1.169 -
   1.170 -	fo->load(flagsPath+"flag-thumb-up.png");
   1.171 -	fo->setGroup("standard-thumb");
   1.172 -	setupFlag (fo,tb,avis,"thumb-up",tr("I like this","Standardflag"));
   1.173 -
   1.174 -	fo->load(flagsPath+"flag-thumb-down.png");
   1.175 -	fo->setGroup("standard-thumb");
   1.176 -	setupFlag (fo,tb,avis,"thumb-down",tr("I do not like this","Standardflag"));
   1.177 -	fo->unsetGroup();
   1.178 +	flag->unsetGroup();
   1.179 +
   1.180 +	flag->load(flagsPath+"flag-kalarm.png");
   1.181 +	setupFlag (flag,tb,"clock",tr("Time critical","Standardflag"));
   1.182 +
   1.183 +	flag->load(flagsPath+"flag-phone.png");
   1.184 +	setupFlag (flag,tb,"phone",tr("Call...","Standardflag"));
   1.185 +
   1.186 +	flag->load(flagsPath+"flag-lamp.png");
   1.187 +	setupFlag (flag,tb,"lamp",tr("Idea!","Standardflag"));
   1.188 +
   1.189 +	flag->load(flagsPath+"flag-arrow-up.png");
   1.190 +	flag->setGroup("standard-arrow");
   1.191 +	setupFlag (flag,tb,"arrow-up",tr("Important","Standardflag"));
   1.192 +
   1.193 +	flag->load(flagsPath+"flag-arrow-down.png");
   1.194 +	flag->setGroup("standard-arrow");
   1.195 +	setupFlag (flag,tb,"arrow-down",tr("Unimportant","Standardflag"));
   1.196 +
   1.197 +	flag->load(flagsPath+"flag-arrow-2up.png");
   1.198 +	flag->setGroup("standard-arrow");
   1.199 +	setupFlag (flag,tb,"2arrow-up",tr("Very important!","Standardflag"));
   1.200 +
   1.201 +	flag->load(flagsPath+"flag-arrow-2down.png");
   1.202 +	flag->setGroup("standard-arrow");
   1.203 +	setupFlag (flag,tb,"2arrow-down",tr("Very unimportant!","Standardflag"));
   1.204 +	flag->unsetGroup();
   1.205 +
   1.206 +	flag->load(flagsPath+"flag-thumb-up.png");
   1.207 +	flag->setGroup("standard-thumb");
   1.208 +	setupFlag (flag,tb,"thumb-up",tr("I like this","Standardflag"));
   1.209 +
   1.210 +	flag->load(flagsPath+"flag-thumb-down.png");
   1.211 +	flag->setGroup("standard-thumb");
   1.212 +	setupFlag (flag,tb,"thumb-down",tr("I do not like this","Standardflag"));
   1.213 +	flag->unsetGroup();
   1.214  	
   1.215 -	fo->load(flagsPath+"flag-rose.png");
   1.216 -	setupFlag (fo,tb,avis,"rose",tr("Rose","Standardflag"));
   1.217 -
   1.218 -	fo->load(flagsPath+"flag-heart.png");
   1.219 -	setupFlag (fo,tb,avis,"heart",tr("I just love...","Standardflag"));
   1.220 -
   1.221 -	fo->load(flagsPath+"flag-present.png");
   1.222 -	setupFlag (fo,tb,avis,"present",tr("Surprise!","Standardflag"));
   1.223 -
   1.224 -	fo->load(flagsPath+"flag-flash.png");
   1.225 -	setupFlag (fo,tb,avis,"flash",tr("Dangerous","Standardflag"));
   1.226 +	flag->load(flagsPath+"flag-rose.png");
   1.227 +	setupFlag (flag,tb,"rose",tr("Rose","Standardflag"));
   1.228 +
   1.229 +	flag->load(flagsPath+"flag-heart.png");
   1.230 +	setupFlag (flag,tb,"heart",tr("I just love...","Standardflag"));
   1.231 +
   1.232 +	flag->load(flagsPath+"flag-present.png");
   1.233 +	setupFlag (flag,tb,"present",tr("Surprise!","Standardflag"));
   1.234 +
   1.235 +	flag->load(flagsPath+"flag-flash.png");
   1.236 +	setupFlag (flag,tb,"flash",tr("Dangerous","Standardflag"));
   1.237  	
   1.238  	// Original: xsldbg_output.png
   1.239 -	fo->load(flagsPath+"flag-info.png");
   1.240 -	setupFlag (fo,tb,avis,"info",tr("Info","Standardflag"));
   1.241 +	flag->load(flagsPath+"flag-info.png");
   1.242 +	setupFlag (flag,tb,"inflag",tr("Info","Standardflag"));
   1.243  
   1.244  	// Original khelpcenter.png
   1.245 -	fo->load(flagsPath+"flag-lifebelt.png");
   1.246 -	setupFlag (fo,tb,avis,"lifebelt",tr("This will help","Standardflag"));
   1.247 +	flag->load(flagsPath+"flag-lifebelt.png");
   1.248 +	setupFlag (flag,tb,"lifebelt",tr("This will help","Standardflag"));
   1.249  
   1.250  	// Freemind flags
   1.251  
   1.252 -	avis=false;
   1.253 -
   1.254 -	fo->load(flagsPath+"freemind/warning.png");
   1.255 -	setupFlag (fo,tb, avis, "freemind-warning",tr("Important","Freemind-Flag"));
   1.256 +	flag->load(flagsPath+"freemind/warning.png");
   1.257 +	setupFlag (flag,tb,  "freemind-warning",tr("Important","Freemind-Flag"));
   1.258  
   1.259  	for (int i=1; i<8; i++)
   1.260  	{
   1.261 -		fo->load(flagsPath+QString("freemind/priority-%1.png").arg(i));
   1.262 -		setupFlag (fo,tb, avis,QString("freemind-priority-%1").arg(i),tr("Priority","Freemind-Flag"));
   1.263 +		flag->load(flagsPath+QString("freemind/priority-%1.png").arg(i));
   1.264 +		setupFlag (flag,tb, QString("freemind-priority-%1").arg(i),tr("Priority","Freemind-Flag"));
   1.265  	}
   1.266  
   1.267 -	fo->load(flagsPath+"freemind/back.png");
   1.268 -	setupFlag (fo,tb,avis,"freemind-back",tr("Back","Freemind-Flag"));
   1.269 -
   1.270 -	fo->load(flagsPath+"freemind/forward.png");
   1.271 -	setupFlag (fo,tb,avis,"freemind-forward",tr("Forward","Freemind-Flag"));
   1.272 -
   1.273 -	fo->load(flagsPath+"freemind/attach.png");
   1.274 -	setupFlag (fo,tb,avis,"freemind-attach",tr("Look here","Freemind-Flag"));
   1.275 -
   1.276 -	fo->load(flagsPath+"freemind/clanbomber.png");
   1.277 -	setupFlag (fo,tb,avis,"freemind-clanbomber",tr("Dangerous","Freemind-Flag"));
   1.278 -
   1.279 -	fo->load(flagsPath+"freemind/desktopnew.png");
   1.280 -	setupFlag (fo,tb,avis,"freemind-desktopnew",tr("Don't forget","Freemind-Flag"));
   1.281 -
   1.282 -	fo->load(flagsPath+"freemind/flag.png");
   1.283 -	setupFlag (fo,tb,avis,"freemind-flag",tr("Flag","Freemind-Flag"));
   1.284 -
   1.285 -
   1.286 -	fo->load(flagsPath+"freemind/gohome.png");
   1.287 -	setupFlag (fo,tb,avis,"freemind-gohome",tr("Home","Freemind-Flag"));
   1.288 -
   1.289 -
   1.290 -	fo->load(flagsPath+"freemind/kaddressbook.png");
   1.291 -	setupFlag (fo,tb,avis,"freemind-kaddressbook",tr("Telephone","Freemind-Flag"));
   1.292 -
   1.293 -	fo->load(flagsPath+"freemind/knotify.png");
   1.294 -	setupFlag (fo,tb,avis,"freemind-knotify",tr("Music","Freemind-Flag"));
   1.295 -
   1.296 -	fo->load(flagsPath+"freemind/korn.png");
   1.297 -	setupFlag (fo,tb,avis,"freemind-korn",tr("Mailbox","Freemind-Flag"));
   1.298 -
   1.299 -	fo->load(flagsPath+"freemind/mail.png");
   1.300 -	setupFlag (fo,tb,avis,"freemind-mail",tr("Maix","Freemind-Flag"));
   1.301 -
   1.302 -	fo->load(flagsPath+"freemind/password.png");
   1.303 -	setupFlag (fo,tb,avis,"freemind-password",tr("Password","Freemind-Flag"));
   1.304 -
   1.305 -	fo->load(flagsPath+"freemind/pencil.png");
   1.306 -	setupFlag (fo,tb,avis,"freemind-pencil",tr("To be improved","Freemind-Flag"));
   1.307 -
   1.308 -	fo->load(flagsPath+"freemind/stop.png");
   1.309 -	setupFlag (fo,tb,avis,"freemind-stop",tr("Stop","Freemind-Flag"));
   1.310 -
   1.311 -	fo->load(flagsPath+"freemind/wizard.png");
   1.312 -	setupFlag (fo,tb,avis,"freemind-wizard",tr("Magic","Freemind-Flag"));
   1.313 -
   1.314 -	fo->load(flagsPath+"freemind/xmag.png");
   1.315 -	setupFlag (fo,tb,avis,"freemind-xmag",tr("To be discussed","Freemind-Flag"));
   1.316 -
   1.317 -	fo->load(flagsPath+"freemind/bell.png");
   1.318 -	setupFlag (fo,tb,avis,"freemind-bell",tr("Reminder","Freemind-Flag"));
   1.319 -
   1.320 -	fo->load(flagsPath+"freemind/bookmark.png");
   1.321 -	setupFlag (fo,tb,avis,"freemind-bookmark",tr("Excellent","Freemind-Flag"));
   1.322 -
   1.323 -	fo->load(flagsPath+"freemind/penguin.png");
   1.324 -	setupFlag (fo,tb,avis,"freemind-penguin",tr("Linux","Freemind-Flag"));
   1.325 -
   1.326 -	fo->load(flagsPath+"freemind/licq.png");
   1.327 -	setupFlag (fo,tb,avis,"freemind-licq",tr("Sweet","Freemind-Flag"));
   1.328 -
   1.329 -	delete (fo);
   1.330 +	flag->load(flagsPath+"freemind/back.png");
   1.331 +	setupFlag (flag,tb,"freemind-back",tr("Back","Freemind-Flag"));
   1.332 +
   1.333 +	flag->load(flagsPath+"freemind/forward.png");
   1.334 +	setupFlag (flag,tb,"freemind-forward",tr("forward","Freemind-Flag"));
   1.335 +
   1.336 +	flag->load(flagsPath+"freemind/attach.png");
   1.337 +	setupFlag (flag,tb,"freemind-attach",tr("Look here","Freemind-Flag"));
   1.338 +
   1.339 +	flag->load(flagsPath+"freemind/clanbomber.png");
   1.340 +	setupFlag (flag,tb,"freemind-clanbomber",tr("Dangerous","Freemind-Flag"));
   1.341 +
   1.342 +	flag->load(flagsPath+"freemind/desktopnew.png");
   1.343 +	setupFlag (flag,tb,"freemind-desktopnew",tr("Don't flagrget","Freemind-Flag"));
   1.344 +
   1.345 +	flag->load(flagsPath+"freemind/flag.png");
   1.346 +	setupFlag (flag,tb,"freemind-flag",tr("Flag","Freemind-Flag"));
   1.347 +
   1.348 +
   1.349 +	flag->load(flagsPath+"freemind/gohome.png");
   1.350 +	setupFlag (flag,tb,"freemind-gohome",tr("Home","Freemind-Flag"));
   1.351 +
   1.352 +
   1.353 +	flag->load(flagsPath+"freemind/kaddressbook.png");
   1.354 +	setupFlag (flag,tb,"freemind-kaddressbook",tr("Telephone","Freemind-Flag"));
   1.355 +
   1.356 +	flag->load(flagsPath+"freemind/knotify.png");
   1.357 +	setupFlag (flag,tb,"freemind-knotify",tr("Music","Freemind-Flag"));
   1.358 +
   1.359 +	flag->load(flagsPath+"freemind/korn.png");
   1.360 +	setupFlag (flag,tb,"freemind-korn",tr("Mailbox","Freemind-Flag"));
   1.361 +
   1.362 +	flag->load(flagsPath+"freemind/mail.png");
   1.363 +	setupFlag (flag,tb,"freemind-mail",tr("Maix","Freemind-Flag"));
   1.364 +
   1.365 +	flag->load(flagsPath+"freemind/password.png");
   1.366 +	setupFlag (flag,tb,"freemind-password",tr("Password","Freemind-Flag"));
   1.367 +
   1.368 +	flag->load(flagsPath+"freemind/pencil.png");
   1.369 +	setupFlag (flag,tb,"freemind-pencil",tr("To be improved","Freemind-Flag"));
   1.370 +
   1.371 +	flag->load(flagsPath+"freemind/stop.png");
   1.372 +	setupFlag (flag,tb,"freemind-stop",tr("Stop","Freemind-Flag"));
   1.373 +
   1.374 +	flag->load(flagsPath+"freemind/wizard.png");
   1.375 +	setupFlag (flag,tb,"freemind-wizard",tr("Magic","Freemind-Flag"));
   1.376 +
   1.377 +	flag->load(flagsPath+"freemind/xmag.png");
   1.378 +	setupFlag (flag,tb,"freemind-xmag",tr("To be discussed","Freemind-Flag"));
   1.379 +
   1.380 +	flag->load(flagsPath+"freemind/bell.png");
   1.381 +	setupFlag (flag,tb,"freemind-bell",tr("Reminder","Freemind-Flag"));
   1.382 +
   1.383 +	flag->load(flagsPath+"freemind/bookmark.png");
   1.384 +	setupFlag (flag,tb,"freemind-bookmark",tr("Excellent","Freemind-Flag"));
   1.385 +
   1.386 +	flag->load(flagsPath+"freemind/penguin.png");
   1.387 +	setupFlag (flag,tb,"freemind-penguin",tr("Linux","Freemind-Flag"));
   1.388 +
   1.389 +	flag->load(flagsPath+"freemind/licq.png");
   1.390 +	setupFlag (flag,tb,"freemind-licq",tr("Sweet","Freemind-Flag"));
   1.391  }
   1.392  
   1.393 -void Main::setupFlag (FlagObj *fo, QToolBar *tb, bool aw, const QString &name, const QString &tooltip)
   1.394 +void Main::setupFlag (Flag *flag, QToolBar *tb, const QString &name, const QString &tooltip)
   1.395  {
   1.396 -	fo->setName(name);
   1.397 -	fo->setToolTip (tooltip);
   1.398 -	QAction *a=new QAction (fo->getPixmap(),fo->getName(),this);
   1.399 +	flag->setName(name);
   1.400 +	flag->setToolTip (tooltip);
   1.401 +	QAction *a;
   1.402  	if (tb)
   1.403  	{
   1.404 +		a=new QAction (flag->getPixmap(),name,this);
   1.405  		// StandardFlag
   1.406  		tb->addAction (a);
   1.407 -		fo->setAction (a);
   1.408 -		fo->setAlwaysVisible(aw);
   1.409  		a->setCheckable(true);
   1.410 -		a->setObjectName(fo->getName());
   1.411 +		a->setObjectName(name);
   1.412  		a->setToolTip(tooltip);
   1.413  		connect (a, SIGNAL( triggered() ), this, SLOT( standardFlagChanged() ) );
   1.414 -		standardFlagsDefault->addFlag (fo);	
   1.415 +		standardFlagsMaster->addFlag (flag);	
   1.416  	} else
   1.417  	{
   1.418  		// SystemFlag
   1.419 -		systemFlagsDefault->addFlag (fo);	
   1.420 +		systemFlagsMaster->addFlag (flag);	
   1.421  	}
   1.422  }
   1.423 +
   1.424  // Network Actions
   1.425  void Main::setupNetworkActions()
   1.426  {
   1.427 @@ -2692,107 +2680,6 @@
   1.428  	}
   1.429  }
   1.430  
   1.431 -
   1.432 -void Main::editAttributeFinished()
   1.433 -{
   1.434 -	// only called from editHeading(), so there is a currentME
   1.435 -
   1.436 -	/*
   1.437 -	MapEditor *me=currentMapEditor();
   1.438 -	if (me)
   1.439 -	{
   1.440 -		me->setStateEditHeading (false);
   1.441 -		QPoint p;	//Not used here, only to find out pos of branch
   1.442 -		bool ok;
   1.443 -		QString s=me->getHeading(ok,p);
   1.444 -
   1.445 -#if defined(Q_OS_MACX)
   1.446 -#else
   1.447 -		if (ok && s!=lineedit->text())
   1.448 -			me->setHeading(lineedit->text());
   1.449 -			
   1.450 -		lineedit->releaseKeyboard();
   1.451 -		lineedit->hide();
   1.452 -		setFocus();
   1.453 -#endif	
   1.454 -		if (!actionSettingsAutoSelectNewBranch->isOn() && 
   1.455 -			!prevSelection.isEmpty()) 
   1.456 -			me->select(prevSelection);
   1.457 -		prevSelection="";
   1.458 -	}
   1.459 -	*/
   1.460 -}
   1.461 -
   1.462 -#include "attribute.h"
   1.463 -#include "attributedialog.h"
   1.464 -void Main::editAttribute()
   1.465 -{
   1.466 -/*
   1.467 -	MapEditor *me=currentMapEditor();
   1.468 -	if (me)
   1.469 -	{
   1.470 -		BranchObj *bo=me->getModel()->getSelectedBranch();
   1.471 -		if (bo)
   1.472 -		{
   1.473 -			AttributeDialog dia(this);
   1.474 -			dia.setTable (me->attributeTable() );
   1.475 -			dia.setBranch (bo);
   1.476 -			dia.setMode (Definition);
   1.477 -			dia.updateTable();
   1.478 -			dia.exec();
   1.479 -		}
   1.480 -	}	
   1.481 -	*/
   1.482 -	/*
   1.483 -	if (currentMapEditor())
   1.484 -	{
   1.485 -		MapEditor *me=currentMapEditor();
   1.486 -		QString oldSel=me->getSelectString();
   1.487 -
   1.488 -		if (lineedit->isVisible())
   1.489 -			editAttributeFinished();
   1.490 -		else
   1.491 -		{
   1.492 -			bool ok;
   1.493 -			QPoint p;
   1.494 -			QString s=me->getHeading(ok,p);
   1.495 -
   1.496 -			if (ok)
   1.497 -			{
   1.498 -				me->setStateEditHeading (true);
   1.499 -#if defined(Q_OS_MACX)
   1.500 -				p=me->mapToGlobal (p);
   1.501 -				QDialog *d =new QDialog(NULL);
   1.502 -				QLineEdit *le=new QLineEdit (d);
   1.503 -				d->setWindowFlags (Qt::FramelessWindowHint);
   1.504 -				d->setGeometry(p.x(),p.y(),230,25);
   1.505 -				le->resize (d->width()-10,d->height());
   1.506 -				le->setText (s);
   1.507 -				le->selectAll();
   1.508 -				connect (le, SIGNAL (returnPressed()), d, SLOT (accept()));
   1.509 -				d->activateWindow();
   1.510 -				d->exec();
   1.511 -				me->setHeading (le->text());
   1.512 -				delete (le);
   1.513 -				delete (d);
   1.514 -				editHeadingFinished();
   1.515 -#else
   1.516 -				p=me->mapTo (this,p);
   1.517 -				lineedit->setGeometry(p.x(),p.y(),230,25);
   1.518 -				lineedit->setText(s);
   1.519 -				lineedit->setCursorPosition(1);
   1.520 -				lineedit->selectAll();
   1.521 -				lineedit->show();
   1.522 -				lineedit->grabKeyboard();
   1.523 -				lineedit->setFocus();
   1.524 -#endif
   1.525 -			}
   1.526 -		} 
   1.527 -	} // currentMapEditor()	
   1.528 -
   1.529 -	*/
   1.530 -}
   1.531 -
   1.532  void Main::openVymLinks(const QStringList &vl)
   1.533  {
   1.534  	for (int j=0; j<vl.size(); j++)
   1.535 @@ -2912,13 +2799,13 @@
   1.536  void Main::editMoveUp()
   1.537  {
   1.538  	VymModel *m=currentModel();
   1.539 -	if (m) m->moveBranchUp();
   1.540 +	if (m) m->moveUp();
   1.541  }
   1.542  
   1.543  void Main::editMoveDown()
   1.544  {
   1.545  	VymModel *m=currentModel();
   1.546 -	if (m) m->moveBranchDown();
   1.547 +	if (m) m->moveDown();
   1.548  }
   1.549  
   1.550  void Main::editSortChildren()
   1.551 @@ -3266,32 +3153,20 @@
   1.552  
   1.553  void Main::viewZoomReset()
   1.554  {
   1.555 -	if (currentMapEditor())
   1.556 -	{
   1.557 -		QMatrix m;
   1.558 -		m.reset();
   1.559 -		currentMapEditor()->setMatrix( m );
   1.560 -	}	
   1.561 +	MapEditor *me=currentMapEditor();
   1.562 +	if (me) me->setZoomFactorTarget (1);
   1.563  }
   1.564  
   1.565  void Main::viewZoomIn()
   1.566  {
   1.567 -	if (currentMapEditor())
   1.568 -	{
   1.569 -		QMatrix m = currentMapEditor()->matrix();
   1.570 -		m.scale( 1.25, 1.25 );
   1.571 -		currentMapEditor()->setMatrix( m );
   1.572 -	}	
   1.573 +	MapEditor *me=currentMapEditor();
   1.574 +	if (me) me->setZoomFactorTarget (me->getZoomFactorTarget()*1.25);
   1.575  }
   1.576  
   1.577  void Main::viewZoomOut()
   1.578  {
   1.579 -	if (currentMapEditor())
   1.580 -	{
   1.581 -		QMatrix m = currentMapEditor()->matrix();
   1.582 -		m.scale( 0.8, 0.8 );
   1.583 -		currentMapEditor()->setMatrix( m );
   1.584 -	}	
   1.585 +	MapEditor *me=currentMapEditor();
   1.586 +	if (me) me->setZoomFactorTarget (me->getZoomFactorTarget()*0.75);
   1.587  }
   1.588  
   1.589  void Main::viewCenter()
   1.590 @@ -3523,7 +3398,7 @@
   1.591  		if (!status.isEmpty() ) statusMessage (status);
   1.592  */
   1.593  
   1.594 -		// Update Toolbar // FIXME-1, was so far in BranchObj
   1.595 +		// Update Toolbar // FIXME-0, was so far in BranchObj
   1.596  		//updateFlagsToolbar();
   1.597  
   1.598  		updateActions();
   1.599 @@ -3640,15 +3515,13 @@
   1.600  			}
   1.601  			*/
   1.602  
   1.603 -			standardFlagsDefault->setEnabled (true);
   1.604 -
   1.605  			actionToggleScroll->setEnabled (true);
   1.606  			if ( selbi->isScrolled() )
   1.607  				actionToggleScroll->setOn(true);
   1.608  			else	
   1.609  				actionToggleScroll->setOn(false);
   1.610  
   1.611 -/* FIXME-1 if ( selti->getURL().isEmpty() )
   1.612 +			if ( selti->getURL().isEmpty() )
   1.613  			{
   1.614  				actionOpenURL->setEnabled (false);
   1.615  				actionOpenURLTab->setEnabled (false);
   1.616 @@ -3667,16 +3540,16 @@
   1.617  				actionOpenVymLink->setEnabled (true);
   1.618  				actionDeleteVymLink->setEnabled (true);
   1.619  			}	
   1.620 -*/
   1.621 -/* FIXME-1  if (selbi->canMoveBranchUp()) 
   1.622 +
   1.623 +            if (selbi->canMoveUp()) 
   1.624  				actionMoveUp->setEnabled (true);
   1.625  			else	
   1.626  				actionMoveUp->setEnabled (false);
   1.627 -			if (selbi->canMoveBranchDown()) 
   1.628 +			if (selbi->canMoveDown()) 
   1.629  				actionMoveDown->setEnabled (true);
   1.630  			else	
   1.631  				actionMoveDown->setEnabled (false);
   1.632 -*/
   1.633 +
   1.634  			actionSortChildren->setEnabled (true);
   1.635  
   1.636  			actionToggleHideExport->setEnabled (true);	
   1.637 @@ -3709,7 +3582,7 @@
   1.638  
   1.639  			actionCopy->setEnabled (true);
   1.640  			actionCut->setEnabled (true);	
   1.641 -			actionPaste->setEnabled (false);
   1.642 +			actionPaste->setEnabled (false);	//FIXME-4 why not allowing copy of images?
   1.643  			for (int i=0; i<actionListBranches.size(); ++i)	
   1.644  				actionListBranches.at(i)->setEnabled(false);
   1.645  			actionDelete->setEnabled (true);
   1.646 @@ -3722,7 +3595,6 @@
   1.647  
   1.648  	} else
   1.649  	{
   1.650 -		standardFlagsDefault->setEnabled (false);
   1.651  		actionFileSave->setEnabled (false);	
   1.652  		actionCopy->setEnabled (false);	
   1.653  		actionCut->setEnabled (false);	
   1.654 @@ -3761,11 +3633,6 @@
   1.655  	return actionSettingsAutoSelectNewBranch->isOn();
   1.656  }
   1.657  
   1.658 -bool Main::useFlagGroups()
   1.659 -{
   1.660 -	return actionSettingsUseFlagGroups->isOn();
   1.661 -}
   1.662 -
   1.663  void Main::windowShowNoteEditor()
   1.664  {
   1.665  	textEditor->setShowWithMain(true);
   1.666 @@ -3816,13 +3683,18 @@
   1.667  void Main::standardFlagChanged()
   1.668  {
   1.669  	if (currentModel())
   1.670 -		currentModel()->toggleStandardFlag(sender()->name());
   1.671 +	{
   1.672 +		if ( actionSettingsUseFlagGroups->isOn() )
   1.673 +			currentModel()->toggleStandardFlag(sender()->name(),standardFlagsMaster);
   1.674 +		else	
   1.675 +			currentModel()->toggleStandardFlag(sender()->name());
   1.676 +	}
   1.677  }
   1.678  
   1.679  void Main::testFunction1()
   1.680  {
   1.681 -	//if (!currentMapEditor()) return;
   1.682 -	//currentMapEditor()->testFunction1();
   1.683 +	if (!currentMapEditor()) return;
   1.684 +		currentMapEditor()->testFunction1();
   1.685  	//editAttribute();
   1.686  }
   1.687