mainwindow.cpp
changeset 837 5ecd0462f76b
parent 835 31841b366d5e
child 838 e4a44912646c
     1.1 --- a/mainwindow.cpp	Mon Mar 15 15:32:37 2010 +0000
     1.2 +++ b/mainwindow.cpp	Thu Mar 18 11:31:02 2010 +0000
     1.3 @@ -272,6 +272,7 @@
     1.4  	settings.setValue( "/version/builddate", vymBuildDate );
     1.5  
     1.6  	settings.setValue( "/mainwindow/autosave/use",actionSettingsAutosaveToggle->isOn() );
     1.7 +	settings.setValue ("/mainwindow/autoLayout/use",actionSettingsAutoLayoutToggle->isOn() );
     1.8  	settings.setValue( "/mapeditor/editmode/autoSelectNewBranch",actionSettingsAutoSelectNewBranch->isOn() );
     1.9  	settings.setValue( "/mainwindow/writeBackupFile",actionSettingsWriteBackupFile->isOn() );
    1.10  	settings.setValue( "/mapeditor/editmode/autoSelectText",actionSettingsAutoSelectText->isOn() );
    1.11 @@ -666,16 +667,6 @@
    1.12  
    1.13  
    1.14  	// Add branch by inserting it at selection
    1.15 -	a = new QAction(tr( "Add branch (insert)","Edit menu" ), this);
    1.16 -	a->setStatusTip ( tr( "Add a branch by inserting and making selection its child" ));
    1.17 -	a->setShortcut (Qt::ALT + Qt::Key_Insert );		//Insert branch
    1.18 -	a->setShortcutContext (Qt::WindowShortcut);
    1.19 -	switchboard.addConnection(a,tr("Edit","Shortcut group"));
    1.20 -	addAction (a);
    1.21 -	connect( a, SIGNAL( triggered() ), this, SLOT( editNewBranchBefore() ) );
    1.22 -	a->setEnabled (false);
    1.23 -	actionListBranches.append(a);
    1.24 -	actionAddBranchBefore=a;
    1.25  	a = new QAction(tr( "Add branch (insert)","Edit menu" ),this);
    1.26  	a->setStatusTip ( tr( "Add a branch by inserting and making selection its child" ));
    1.27  	a->setShortcut ( Qt::ALT + Qt::Key_A );			//Insert branch
    1.28 @@ -684,6 +675,7 @@
    1.29  	addAction (a);
    1.30  	connect( a, SIGNAL( triggered() ), this, SLOT( editNewBranchBefore() ) );
    1.31  	actionListBranches.append(a);
    1.32 +	actionAddBranchBefore=a;
    1.33  
    1.34  	// Add branch above
    1.35  	a = new QAction(tr( "Add branch above","Edit menu" ), this);
    1.36 @@ -1214,7 +1206,7 @@
    1.37  
    1.38  	a = new QAction( QPixmap(iconPath+"viewshowsel.png"), tr( "Show selection","View action" ), this);
    1.39  	a->setStatusTip (tr( "Show selection" ));
    1.40 -	a->setShortcut(Qt::CTRL + Qt::Key_Period);
    1.41 +	a->setShortcut(Qt::Key_Period);
    1.42  	switchboard.addConnection(a,tr("View shortcuts","Shortcut group"));
    1.43  	a->addTo( tb );
    1.44  	viewMenu->addAction (a);
    1.45 @@ -1332,28 +1324,25 @@
    1.46  	// Create System Flags
    1.47  	QToolBar *tb=NULL;
    1.48  
    1.49 -	Flag *flag=new Flag;;
    1.50 -	flag->setVisible(true);
    1.51 -
    1.52 -	flag->load(flagsPath+"flag-note.png");
    1.53 +	Flag *flag=new Flag(flagsPath+"flag-note.png");
    1.54  	setupFlag (flag,tb,"system-note",tr("Note","SystemFlag"));
    1.55  
    1.56 -	flag->load(flagsPath+"flag-url.png");
    1.57 +	flag=new Flag(flagsPath+"flag-url.png");
    1.58  	setupFlag (flag,tb,"system-url",tr("URL to Document ","SystemFlag"));
    1.59  
    1.60 -	flag->load(flagsPath+"flag-url-bugzilla-novell.png");
    1.61 +	flag=new Flag(flagsPath+"flag-url-bugzilla-novell.png");
    1.62  	setupFlag (flag,tb,"system-url-bugzilla-novell",tr("URL to Bugzilla ","SystemFlag"));
    1.63  
    1.64 -	flag->load(flagsPath+"flag-vymlink.png");
    1.65 +	flag=new Flag(flagsPath+"flag-vymlink.png");
    1.66  	setupFlag (flag,tb,"system-vymLink",tr("Link to another vym map","SystemFlag"));
    1.67  
    1.68 -	flag->load(flagsPath+"flag-scrolled-right.png");
    1.69 +	flag=new Flag(flagsPath+"flag-scrolled-right.png");
    1.70  	setupFlag (flag,tb,"system-scrolledright",tr("subtree is scrolled","SystemFlag"));
    1.71  
    1.72 -	flag->load(flagsPath+"flag-tmpUnscrolled-right.png");
    1.73 +	flag=new Flag(flagsPath+"flag-tmpUnscrolled-right.png");
    1.74  	setupFlag (flag,tb,"system-tmpUnscrolledRight",tr("subtree is temporary scrolled","SystemFlag"));
    1.75  
    1.76 -	flag->load(flagsPath+"flag-hideexport.png");
    1.77 +	flag=new Flag(flagsPath+"flag-hideexport.png");
    1.78  	setupFlag (flag,tb,"system-hideInExport",tr("Hide object in exported maps","SystemFlag"));
    1.79  
    1.80  	// Create Standard Flags
    1.81 @@ -1361,170 +1350,189 @@
    1.82  	tb->setObjectName ("standardFlagTB");
    1.83  	standardFlagsMaster->setToolBar (tb);
    1.84  
    1.85 -	flag->load(flagsPath+"flag-exclamationmark.png");
    1.86 +	flag=new Flag(flagsPath+"flag-exclamationmark.png");
    1.87  	flag->setGroup("standard-mark");
    1.88  	setupFlag (flag,tb,"exclamationmark",tr("Take care!","Standardflag"));
    1.89  
    1.90 -	flag->load(flagsPath+"flag-questionmark.png");
    1.91 +	flag=new Flag(flagsPath+"flag-questionmark.png");
    1.92  	flag->setGroup("standard-mark");
    1.93  	setupFlag (flag,tb,"questionmark",tr("Really?","Standardflag"));
    1.94  
    1.95 -	flag->load(flagsPath+"flag-hook-green.png");
    1.96 +	flag=new Flag(flagsPath+"flag-hook-green.png");
    1.97  	flag->setGroup("standard-status");
    1.98  	setupFlag (flag,tb,"hook-green",tr("Status - ok,done","Standardflag"));
    1.99  
   1.100 -	flag->load(flagsPath+"flag-wip.png");
   1.101 +	flag=new Flag(flagsPath+"flag-wip.png");
   1.102  	flag->setGroup("standard-status");
   1.103  	setupFlag (flag,tb,"wip",tr("Status - work in progress","Standardflag"));
   1.104  
   1.105 -	flag->load(flagsPath+"flag-cross-red.png");
   1.106 +	flag=new Flag(flagsPath+"flag-cross-red.png");
   1.107  	flag->setGroup("standard-status");
   1.108  	setupFlag (flag,tb,"cross-red",tr("Status - missing, not started","Standardflag"));
   1.109  	flag->unsetGroup();
   1.110  
   1.111 -	flag->load(flagsPath+"flag-stopsign.png");
   1.112 +	flag=new Flag(flagsPath+"flag-stopsign.png");
   1.113  	setupFlag (flag,tb,"stopsign",tr("This won't work!","Standardflag"));
   1.114  
   1.115 -	flag->load(flagsPath+"flag-smiley-good.png");
   1.116 +	flag=new Flag(flagsPath+"flag-smiley-good.png");
   1.117  	flag->setGroup("standard-smiley");
   1.118  	setupFlag (flag,tb,"smiley-good",tr("Good","Standardflag"));
   1.119  
   1.120 -	flag->load(flagsPath+"flag-smiley-sad.png");
   1.121 +	flag=new Flag(flagsPath+"flag-smiley-sad.png");
   1.122  	flag->setGroup("standard-smiley");
   1.123  	setupFlag (flag,tb,"smiley-sad",tr("Bad","Standardflag"));
   1.124  
   1.125 -	flag->load(flagsPath+"flag-smiley-omg.png");
   1.126 +	flag=new Flag(flagsPath+"flag-smiley-omg.png");
   1.127  	flag->setGroup("standard-smiley");
   1.128  	setupFlag (flag,tb,"smiley-omb",tr("Oh no!","Standardflag"));
   1.129  	// Original omg.png (in KDE emoticons)
   1.130  	flag->unsetGroup();
   1.131  
   1.132 -	flag->load(flagsPath+"flag-kalarm.png");
   1.133 +	flag=new Flag(flagsPath+"flag-kalarm.png");
   1.134  	setupFlag (flag,tb,"clock",tr("Time critical","Standardflag"));
   1.135  
   1.136 -	flag->load(flagsPath+"flag-phone.png");
   1.137 +	flag=new Flag(flagsPath+"flag-phone.png");
   1.138  	setupFlag (flag,tb,"phone",tr("Call...","Standardflag"));
   1.139  
   1.140 -	flag->load(flagsPath+"flag-lamp.png");
   1.141 +	flag=new Flag(flagsPath+"flag-lamp.png");
   1.142  	setupFlag (flag,tb,"lamp",tr("Idea!","Standardflag"));
   1.143  
   1.144 -	flag->load(flagsPath+"flag-arrow-up.png");
   1.145 +	flag=new Flag(flagsPath+"flag-arrow-up.png");
   1.146  	flag->setGroup("standard-arrow");
   1.147  	setupFlag (flag,tb,"arrow-up",tr("Important","Standardflag"));
   1.148  
   1.149 -	flag->load(flagsPath+"flag-arrow-down.png");
   1.150 +	flag=new Flag(flagsPath+"flag-arrow-down.png");
   1.151  	flag->setGroup("standard-arrow");
   1.152  	setupFlag (flag,tb,"arrow-down",tr("Unimportant","Standardflag"));
   1.153  
   1.154 -	flag->load(flagsPath+"flag-arrow-2up.png");
   1.155 +	flag=new Flag(flagsPath+"flag-arrow-2up.png");
   1.156  	flag->setGroup("standard-arrow");
   1.157  	setupFlag (flag,tb,"2arrow-up",tr("Very important!","Standardflag"));
   1.158  
   1.159 -	flag->load(flagsPath+"flag-arrow-2down.png");
   1.160 +	flag=new Flag(flagsPath+"flag-arrow-2down.png");
   1.161  	flag->setGroup("standard-arrow");
   1.162  	setupFlag (flag,tb,"2arrow-down",tr("Very unimportant!","Standardflag"));
   1.163  	flag->unsetGroup();
   1.164  
   1.165 -	flag->load(flagsPath+"flag-thumb-up.png");
   1.166 +	flag=new Flag(flagsPath+"flag-thumb-up.png");
   1.167  	flag->setGroup("standard-thumb");
   1.168  	setupFlag (flag,tb,"thumb-up",tr("I like this","Standardflag"));
   1.169  
   1.170 -	flag->load(flagsPath+"flag-thumb-down.png");
   1.171 +	flag=new Flag(flagsPath+"flag-thumb-down.png");
   1.172  	flag->setGroup("standard-thumb");
   1.173  	setupFlag (flag,tb,"thumb-down",tr("I do not like this","Standardflag"));
   1.174  	flag->unsetGroup();
   1.175  
   1.176 -	flag->load(flagsPath+"flag-rose.png");
   1.177 +	flag=new Flag(flagsPath+"flag-rose.png");
   1.178  	setupFlag (flag,tb,"rose",tr("Rose","Standardflag"));
   1.179  
   1.180 -	flag->load(flagsPath+"flag-heart.png");
   1.181 +	flag=new Flag(flagsPath+"flag-heart.png");
   1.182  	setupFlag (flag,tb,"heart",tr("I just love...","Standardflag"));
   1.183  
   1.184 -	flag->load(flagsPath+"flag-present.png");
   1.185 +	flag=new Flag(flagsPath+"flag-present.png");
   1.186  	setupFlag (flag,tb,"present",tr("Surprise!","Standardflag"));
   1.187  
   1.188 -	flag->load(flagsPath+"flag-flash.png");
   1.189 +	flag=new Flag(flagsPath+"flag-flash.png");
   1.190  	setupFlag (flag,tb,"flash",tr("Dangerous","Standardflag"));
   1.191  
   1.192  	// Original: xsldbg_output.png
   1.193 -	flag->load(flagsPath+"flag-info.png");
   1.194 +	flag=new Flag(flagsPath+"flag-info.png");
   1.195  	setupFlag (flag,tb,"info",tr("Info","Standardflag"));
   1.196  
   1.197  	// Original khelpcenter.png
   1.198 -	flag->load(flagsPath+"flag-lifebelt.png");
   1.199 +	flag=new Flag(flagsPath+"flag-lifebelt.png");
   1.200  	setupFlag (flag,tb,"lifebelt",tr("This will help","Standardflag"));
   1.201  
   1.202  	// Freemind flags
   1.203 +	flag=new Flag(flagsPath+"freemind/warning.png");
   1.204  	flag->setVisible(false);
   1.205 -	flag->load(flagsPath+"freemind/warning.png");
   1.206  	setupFlag (flag,tb,  "freemind-warning",tr("Important","Freemind-Flag"));
   1.207  
   1.208  	for (int i=1; i<8; i++)
   1.209  	{
   1.210 -		flag->load(flagsPath+QString("freemind/priority-%1.png").arg(i));
   1.211 +		flag=new Flag(flagsPath+QString("freemind/priority-%1.png").arg(i));
   1.212  		setupFlag (flag,tb, QString("freemind-priority-%1").arg(i),tr("Priority","Freemind-Flag"));
   1.213  	}
   1.214  
   1.215 -	flag->load(flagsPath+"freemind/back.png");
   1.216 +	flag=new Flag(flagsPath+"freemind/back.png");
   1.217 +	flag->setVisible(false);
   1.218  	setupFlag (flag,tb,"freemind-back",tr("Back","Freemind-Flag"));
   1.219  
   1.220 -	flag->load(flagsPath+"freemind/forward.png");
   1.221 +	flag=new Flag(flagsPath+"freemind/forward.png");
   1.222 +	flag->setVisible(false);
   1.223  	setupFlag (flag,tb,"freemind-forward",tr("forward","Freemind-Flag"));
   1.224  
   1.225 -	flag->load(flagsPath+"freemind/attach.png");
   1.226 +	flag=new Flag(flagsPath+"freemind/attach.png");
   1.227 +	flag->setVisible(false);
   1.228  	setupFlag (flag,tb,"freemind-attach",tr("Look here","Freemind-Flag"));
   1.229  
   1.230 -	flag->load(flagsPath+"freemind/clanbomber.png");
   1.231 +	flag=new Flag(flagsPath+"freemind/clanbomber.png");
   1.232 +	flag->setVisible(false);
   1.233  	setupFlag (flag,tb,"freemind-clanbomber",tr("Dangerous","Freemind-Flag"));
   1.234  
   1.235 -	flag->load(flagsPath+"freemind/desktopnew.png");
   1.236 +	flag=new Flag(flagsPath+"freemind/desktopnew.png");
   1.237 +	flag->setVisible(false);
   1.238  	setupFlag (flag,tb,"freemind-desktopnew",tr("Don't flagrget","Freemind-Flag"));
   1.239  
   1.240 -	flag->load(flagsPath+"freemind/flag.png");
   1.241 +	flag=new Flag(flagsPath+"freemind/flag.png");
   1.242 +	flag->setVisible(false);
   1.243  	setupFlag (flag,tb,"freemind-flag",tr("Flag","Freemind-Flag"));
   1.244  
   1.245  
   1.246 -	flag->load(flagsPath+"freemind/gohome.png");
   1.247 +	flag=new Flag(flagsPath+"freemind/gohome.png");
   1.248 +	flag->setVisible(false);
   1.249  	setupFlag (flag,tb,"freemind-gohome",tr("Home","Freemind-Flag"));
   1.250  
   1.251 -
   1.252 -	flag->load(flagsPath+"freemind/kaddressbook.png");
   1.253 +	flag=new Flag(flagsPath+"freemind/kaddressbook.png");
   1.254 +	flag->setVisible(false);
   1.255  	setupFlag (flag,tb,"freemind-kaddressbook",tr("Telephone","Freemind-Flag"));
   1.256  
   1.257 -	flag->load(flagsPath+"freemind/knotify.png");
   1.258 +	flag=new Flag(flagsPath+"freemind/knotify.png");
   1.259 +	flag->setVisible(false);
   1.260  	setupFlag (flag,tb,"freemind-knotify",tr("Music","Freemind-Flag"));
   1.261  
   1.262 -	flag->load(flagsPath+"freemind/korn.png");
   1.263 +	flag=new Flag(flagsPath+"freemind/korn.png");
   1.264 +	flag->setVisible(false);
   1.265  	setupFlag (flag,tb,"freemind-korn",tr("Mailbox","Freemind-Flag"));
   1.266  
   1.267 -	flag->load(flagsPath+"freemind/mail.png");
   1.268 +	flag=new Flag(flagsPath+"freemind/mail.png");
   1.269 +	flag->setVisible(false);
   1.270  	setupFlag (flag,tb,"freemind-mail",tr("Maix","Freemind-Flag"));
   1.271  
   1.272 -	flag->load(flagsPath+"freemind/password.png");
   1.273 +	flag=new Flag(flagsPath+"freemind/password.png");
   1.274 +	flag->setVisible(false);
   1.275  	setupFlag (flag,tb,"freemind-password",tr("Password","Freemind-Flag"));
   1.276  
   1.277 -	flag->load(flagsPath+"freemind/pencil.png");
   1.278 +	flag=new Flag(flagsPath+"freemind/pencil.png");
   1.279 +	flag->setVisible(false);
   1.280  	setupFlag (flag,tb,"freemind-pencil",tr("To be improved","Freemind-Flag"));
   1.281  
   1.282 -	flag->load(flagsPath+"freemind/stop.png");
   1.283 +	flag=new Flag(flagsPath+"freemind/stop.png");
   1.284 +	flag->setVisible(false);
   1.285  	setupFlag (flag,tb,"freemind-stop",tr("Stop","Freemind-Flag"));
   1.286  
   1.287 -	flag->load(flagsPath+"freemind/wizard.png");
   1.288 +	flag=new Flag(flagsPath+"freemind/wizard.png");
   1.289 +	flag->setVisible(false);
   1.290  	setupFlag (flag,tb,"freemind-wizard",tr("Magic","Freemind-Flag"));
   1.291  
   1.292 -	flag->load(flagsPath+"freemind/xmag.png");
   1.293 +	flag=new Flag(flagsPath+"freemind/xmag.png");
   1.294 +	flag->setVisible(false);
   1.295  	setupFlag (flag,tb,"freemind-xmag",tr("To be discussed","Freemind-Flag"));
   1.296  
   1.297 -	flag->load(flagsPath+"freemind/bell.png");
   1.298 +	flag=new Flag(flagsPath+"freemind/bell.png");
   1.299 +	flag->setVisible(false);
   1.300  	setupFlag (flag,tb,"freemind-bell",tr("Reminder","Freemind-Flag"));
   1.301  
   1.302 -	flag->load(flagsPath+"freemind/bookmark.png");
   1.303 +	flag=new Flag(flagsPath+"freemind/bookmark.png");
   1.304 +	flag->setVisible(false);
   1.305  	setupFlag (flag,tb,"freemind-bookmark",tr("Excellent","Freemind-Flag"));
   1.306  
   1.307 -	flag->load(flagsPath+"freemind/penguin.png");
   1.308 +	flag= new Flag(flagsPath+"freemind/penguin.png");
   1.309 +	flag->setVisible(false);
   1.310  	setupFlag (flag,tb,"freemind-penguin",tr("Linux","Freemind-Flag"));
   1.311  
   1.312 -	flag->load(flagsPath+"freemind/licq.png");
   1.313 +	flag=new Flag (flagsPath+"freemind/licq.png");
   1.314 +	flag->setVisible(false);
   1.315  	setupFlag (flag,tb,"freemind-licq",tr("Sweet","Freemind-Flag"));
   1.316  }
   1.317  
   1.318 @@ -1672,6 +1680,8 @@
   1.319  	settingsMenu->addAction (a);
   1.320  	actionSettingsUseHideExport=a;
   1.321  
   1.322 +	settingsMenu->addSeparator();
   1.323 +
   1.324  	a = new QAction( tr( "Animation","Settings action"), this);
   1.325  	a->setStatusTip( tr( "Animation"));
   1.326  	a->setToggleAction(true);
   1.327 @@ -1679,6 +1689,15 @@
   1.328  	connect( a, SIGNAL( triggered() ), this, SLOT( settingsToggleAnimation() ) );
   1.329  	settingsMenu->addAction (a);
   1.330  	actionSettingsUseAnimation=a;
   1.331 +
   1.332 +	a = new QAction( tr( "Automatic layout","Settings action"), this);
   1.333 +	a->setStatusTip( tr( "Automatic layout"));
   1.334 +	a->setToggleAction(true);
   1.335 +	a->setChecked ( settings.value ("/mainwindow/autoLayout/use",true).toBool());
   1.336 +	connect( a, SIGNAL( triggered() ), this, SLOT( settingsAutoLayoutToggle() ) );
   1.337 +	settingsMenu->addAction (a);
   1.338 +	actionSettingsAutoLayoutToggle=a;
   1.339 +
   1.340  }
   1.341  
   1.342  // Test Actions
   1.343 @@ -1740,8 +1759,6 @@
   1.344  // Context Menus
   1.345  void Main::setupContextMenus()
   1.346  {
   1.347 -	QAction*a;
   1.348 -
   1.349  	// Context Menu for branch or mapcenter
   1.350  	branchContextMenu =new QMenu (this);
   1.351  	branchContextMenu->addAction (actionViewTogglePropertyWindow);
   1.352 @@ -1810,7 +1827,7 @@
   1.353  
   1.354  	// Context menu for floatimage
   1.355  	floatimageContextMenu =new QMenu (this);
   1.356 -	a= new QAction (tr ("Save image","Context action"),this);
   1.357 +	QAction *a= new QAction (tr ("Save image","Context action"),this);
   1.358  	connect (a, SIGNAL (triggered()), this, SLOT (editSaveImage()));
   1.359  	floatimageContextMenu->addAction (a);
   1.360  
   1.361 @@ -3405,13 +3422,13 @@
   1.362  void Main::viewZoomIn()
   1.363  {
   1.364  	MapEditor *me=currentMapEditor();
   1.365 -	if (me) me->setZoomFactorTarget (me->getZoomFactorTarget()*1.25);
   1.366 +	if (me) me->setZoomFactorTarget (me->getZoomFactorTarget()*1.15);
   1.367  }
   1.368  
   1.369  void Main::viewZoomOut()
   1.370  {
   1.371  	MapEditor *me=currentMapEditor();
   1.372 -	if (me) me->setZoomFactorTarget (me->getZoomFactorTarget()*0.75);
   1.373 +	if (me) me->setZoomFactorTarget (me->getZoomFactorTarget()*0.85);
   1.374  }
   1.375  
   1.376  void Main::viewCenter()
   1.377 @@ -3503,6 +3520,11 @@
   1.378  		settings.setValue ("/mainwindow/autosave/ms",i * 1000);
   1.379  }
   1.380  
   1.381 +void Main::settingsAutoLayoutToggle()
   1.382 +{
   1.383 +	settings.setValue ("/mainwindow/autoLayout/use",actionSettingsAutosaveToggle->isOn() );
   1.384 +}
   1.385 +
   1.386  void Main::settingsWriteBackupFileToggle()
   1.387  {
   1.388  	settings.setValue ("/mainwindow/writeBackupFile",actionSettingsWriteBackupFile->isOn() );