diff -r 0b048b6bb6f4 -r 58adc2d2ed08 mainwindow.cpp --- a/mainwindow.cpp Thu Apr 21 19:14:38 2005 +0000 +++ b/mainwindow.cpp Wed May 04 20:35:39 2005 +0000 @@ -63,6 +63,8 @@ extern MapEditor *clipboardME; extern FlagRowObj* standardFlagsDefault; +extern QPtrList actionListBranches; + extern QAction* actionFileSave; extern QAction* actionFilePrint; extern QAction* actionEditUndo; @@ -83,8 +85,11 @@ extern QAction *actionEditHeading; extern QAction *actionEditDelete; extern QAction *actionEditAddBranch; +extern QAction *actionEditAddBranchHere; extern QAction *actionEditAddBranchAbove; extern QAction *actionEditAddBranchBelow; +extern QAction *actionEditRemoveBranchHere; +extern QAction *actionEditRemoveChilds; extern QAction *actionEditImportAdd; extern QAction *actionEditImportReplace; extern QAction *actionEditSaveBranch; @@ -126,6 +131,8 @@ extern QAction* actionSettingsUseDelKey; extern QPopupMenu* branchContextMenu; +extern QPopupMenu* branchAddContextMenu; +extern QPopupMenu* branchRemoveContextMenu; extern QPopupMenu* branchLinksContextMenu; extern QPopupMenu* branchLinksContextMenuDup; extern QPopupMenu* floatimageContextMenu; @@ -396,24 +403,30 @@ a->addTo( tb ); a->addTo( menu ); actionEditPaste=a; + a = new QAction( tr( "Move branch up" ), QPixmap( editmoveup_xpm ), tr( "Move up" ), Key_PageUp, this, "editMoveUp" ); connect( a, SIGNAL( activated() ), this, SLOT( editMoveUp() ) ); a->setEnabled (false); a->addTo( tb ); a->addTo( menu ); + actionListBranches.append(a); actionEditMoveUp=a; + a = new QAction( tr( "Move branch down" ), QPixmap( editmovedown_xpm ), tr( "Move down" ), Key_PageDown, this, "editMoveDown" ); connect( a, SIGNAL( activated() ), this, SLOT( editMoveDown() ) ); a->setEnabled (false); a->addTo( tb ); a->addTo( menu ); + actionListBranches.append(a); actionEditMoveDown=a; + a = new QAction( tr( "Scroll branch" ), QPixmap(flag_scrolled_right_xpm), tr( "Scroll branch" ), Key_ScrollLock, this, "scroll" ); connect( a, SIGNAL( activated() ), this, SLOT( editToggleScroll() ) ); a->setEnabled (false); a->addTo( tb ); a->addTo( menu ); + actionListBranches.append(a); actionEditToggleScroll=a; a = new QAction( tr( "Unscroll all" ), QPixmap(), tr( "Unscroll all scrolled branches" ), 0, this, "scroll" ); @@ -439,17 +452,20 @@ connect( a, SIGNAL( activated() ), this, SLOT( editURL() ) ); a->addTo( menu ); a->setEnabled (false); + actionListBranches.append(a); actionEditURL=a; a = new QAction( tr( "Use heading of selected branch as URL" ), QPixmap(), tr( "Use heading for URL" ), 0, this, "heading2url" ); connect( a, SIGNAL( activated() ), this, SLOT( editHeading2URL() ) ); a->addTo( menu ); a->setEnabled (false); + actionListBranches.append(a); actionEditHeading2URL=a; a = new QAction( tr( "Create URL to Bugzilla" ), QPixmap(), tr( "Create URL to Bugzilla" ), 0, this, "bugzilla2url" ); connect( a, SIGNAL( activated() ), this, SLOT( editBugzilla2URL() ) ); a->setEnabled (false); + actionListBranches.append(a); actionEditBugzilla2URL=a; menu->insertSeparator(); @@ -465,6 +481,7 @@ connect( a, SIGNAL( activated() ), this, SLOT( editVymLink() ) ); a->addTo( menu ); a->setEnabled (false); + actionListBranches.append(a); actionEditVymLink=a; a = new QAction( tr( "Delete link to another vym map" ), QPixmap(), tr( "Delete vym link" ), 0, this, "deleteLinkMap" ); @@ -488,12 +505,15 @@ connect( a, SIGNAL( activated() ), this, SLOT( editHeading() ) ); a->setEnabled (false); a->addTo ( menu ); + actionListBranches.append(a); actionEditHeading=a; a = new QAction( tr( "edit Heading" ),tr( "Edit heading" ), Key_Return, this, "editHeading" ); connect( a, SIGNAL( activated() ), this, SLOT( editHeading() ) ); + actionListBranches.append(a); actionEditHeading=a; a = new QAction( tr( "edit Heading" ),tr( "Edit heading" ), Key_F2, this, "editHeading" ); connect( a, SIGNAL( activated() ), this, SLOT( editHeading() ) ); + actionListBranches.append(a); // Shortcut to delete selection a = new QAction( tr( "Delete Selection" ),tr( "Delete Selection" ), Key_Delete, this, "deleteBranch" ); @@ -510,44 +530,65 @@ #endif connect( a, SIGNAL( activated() ), this, SLOT( editNewBranch() ) ); a->setEnabled (false); - a->addTo ( menu ); + actionListBranches.append(a); actionEditAddBranch=a; + // Add branch by inserting it at selection + a = new QAction( tr( "Add a branch by inserting and making selection its child" ),tr( "Add branch (insert)" ), ALT + Key_Insert, this, "newBranchHere" ); + connect( a, SIGNAL( activated() ), this, SLOT( editNewBranchHere() ) ); + a->setEnabled (false); + actionListBranches.append(a); + actionEditAddBranchHere=a; + // Add branch above a = new QAction( tr( "Add a branch above selection" ),tr( "Add branch above" ), SHIFT+Key_Insert, this, "newBranch" ); connect( a, SIGNAL( activated() ), this, SLOT( editNewBranchAbove() ) ); a->setEnabled (false); - a->addTo ( menu ); + actionListBranches.append(a); actionEditAddBranchAbove=a; // Add branch below a = new QAction( tr( "Add a branch below selection" ),tr( "Add branch below" ), CTRL +Key_Insert, this, "newBranch" ); connect( a, SIGNAL( activated() ), this, SLOT( editNewBranchBelow() ) ); a->setEnabled (false); - a->addTo ( menu ); + actionListBranches.append(a); actionEditAddBranchBelow=a; // Import at selection (adding to selection) a = new QAction( tr( "Add map at selection" ),tr( "Import (add)" ), 0, this, "importAdd" ); connect( a, SIGNAL( activated() ), this, SLOT( editImportAdd() ) ); a->setEnabled (false); - a->addTo ( menu ); + actionListBranches.append(a); actionEditImportAdd=a; // Import at selection (replacing selection) a = new QAction( tr( "Replace selection with map" ),tr( "Import (replace)" ), 0, this, "importReplace" ); connect( a, SIGNAL( activated() ), this, SLOT( editImportReplace() ) ); a->setEnabled (false); - a->addTo ( menu ); + actionListBranches.append(a); actionEditImportReplace=a; // Save selection - a = new QAction( tr( "Save selction" ),tr( "Save selection" ), 0, this, "saveSelection" ); + a = new QAction( tr( "Save selection" ),tr( "Save selection" ), 0, this, "saveSelection" ); connect( a, SIGNAL( activated() ), this, SLOT( editSaveBranch() ) ); a->setEnabled (false); - a->addTo ( menu ); + actionListBranches.append(a); actionEditSaveBranch=a; + // Only remove branch, not its childs + a = new QAction( tr( "Remove only branch and keep its childs" ),tr( "Remove only branch " ), ALT + Key_Delete, this, "removeBranchHere" ); + connect( a, SIGNAL( activated() ), this, SLOT( editRemoveBranchHere() ) ); + a->setEnabled (false); + actionListBranches.append(a); + actionEditRemoveBranchHere=a; + + // Only remove childs of a branch + a = new QAction( tr( "Remove childs of branch" ),tr( "Remove childs" ), SHIFT + Key_Delete, this, "removeBranchChilds" ); + connect( a, SIGNAL( activated() ), this, SLOT( editRemoveChilds() ) ); + a->setEnabled (false); + actionListBranches.append(a); + actionEditRemoveChilds=a; + // Shortcuts for navigating with cursor: a = new QAction( tr( "Select upper branch" ),tr( "Select upper branch" ), Key_Up, this, "upperBranch" ); connect( a, SIGNAL( activated() ), this, SLOT( editUpperBranch() ) ); @@ -560,12 +601,14 @@ a = new QAction( tr( "Select first branch" ),tr( "Select first branch" ), Key_Home, this, "firstBranch" ); a->setEnabled (false); a->addTo ( menu ); + actionListBranches.append(a); actionEditSelectFirst=a; connect( a, SIGNAL( activated() ), this, SLOT( editFirstBranch() ) ); a = new QAction( tr( "Select last branch" ),tr( "Select last branch" ), Key_End, this, "lastBranch" ); connect( a, SIGNAL( activated() ), this, SLOT( editLastBranch() ) ); a->setEnabled (false); a->addTo ( menu ); + actionListBranches.append(a); actionEditSelectLast=a; a = new QAction( tr( "Add Image" ),tr( "Add Image" ), 0, this, "loadImage" ); @@ -593,18 +636,21 @@ a->setEnabled (false); a->addTo( tb ); a->addTo( menu ); + actionListBranches.append(a); actionFormatPickColor=a; a= new QAction( tr( "Color branch" ), QPixmap(formatcoloritem_xpm), tr( "Color &branch" ), CTRL + Key_I, this, "colorItem" ); connect( a, SIGNAL( activated() ), this, SLOT( formatColorItem() ) ); a->setEnabled (false); a->addTo( tb ); a->addTo( menu ); + actionListBranches.append(a); actionFormatColorBranch=a; a= new QAction( tr( "Color Subtree" ), QPixmap(formatcolorbranch_xpm), tr( "Color sub&tree" ), CTRL + Key_T, this, "colorBranch" ); connect( a, SIGNAL( activated() ), this, SLOT( formatColorBranch() ) ); a->setEnabled (false); a->addTo( menu ); a->addTo( tb ); + actionListBranches.append(a); actionFormatColorSubtree=a; menu->insertSeparator(); @@ -822,29 +868,44 @@ // Context Menu for branch or mapcenter branchContextMenu =new QPopupMenu (this); - actionEditAddBranch->addTo ( branchContextMenu ); - actionEditAddBranchAbove->addTo ( branchContextMenu ); - actionEditAddBranchBelow->addTo ( branchContextMenu ); + + // Submenu "Add" + branchAddContextMenu =new QPopupMenu (this); + actionEditPaste->addTo ( branchAddContextMenu ); + actionEditAddBranch->addTo ( branchAddContextMenu ); + actionEditAddBranchHere->addTo ( branchAddContextMenu ); + actionEditAddBranchAbove->addTo ( branchAddContextMenu ); + actionEditAddBranchBelow->addTo ( branchAddContextMenu ); + branchAddContextMenu->insertSeparator(); + actionEditLoadImage->addTo( branchAddContextMenu ); + branchAddContextMenu->insertSeparator(); + actionEditImportAdd->addTo ( branchAddContextMenu ); + actionEditImportReplace->addTo ( branchAddContextMenu ); + + // Submenu "Remove" + branchRemoveContextMenu =new QPopupMenu (this); + actionEditCut->addTo ( branchRemoveContextMenu ); + actionEditDelete->addTo ( branchRemoveContextMenu ); + actionEditRemoveBranchHere->addTo( branchRemoveContextMenu ); + actionEditRemoveChilds->addTo( branchRemoveContextMenu ); + + branchContextMenu->insertItem (tr("Add"),branchAddContextMenu); + branchContextMenu->insertItem (tr("Remove"),branchRemoveContextMenu); + actionEditSaveBranch->addTo( branchContextMenu ); - branchContextMenu->insertSeparator(); - actionEditImportAdd->addTo ( branchContextMenu ); - actionEditImportReplace->addTo ( branchContextMenu ); + branchContextMenu->insertSeparator(); actionEditOpenURL->addTo ( branchContextMenu ); actionEditURL->addTo ( branchContextMenu ); actionEditHeading2URL->addTo ( branchContextMenu ); if (settings.readBoolEntry( "/vym/mainwindow/showTestMenu",false)) actionEditBugzilla2URL->addTo( branchContextMenu ); + branchContextMenu->insertSeparator(); actionEditOpenVymLink->addTo ( branchContextMenu ); actionEditVymLink->addTo ( branchContextMenu ); actionEditDeleteVymLink->addTo ( branchContextMenu ); - branchContextMenu->insertSeparator(); - actionEditLoadImage->addTo( branchContextMenu ); - branchContextMenu->insertSeparator(); - //actionEditCopy->addTo( branchContextMenu ); - //actionEditCut->addTo( branchContextMenu ); - //actionEditPaste->addTo( branchContextMenu ); + branchContextMenu->insertSeparator(); actionGroupFormatFrameTypes->addTo( branchContextMenu ); @@ -1906,6 +1967,12 @@ currentMapEditor()->addNewBranch(0); } +void Main::editNewBranchHere() +{ + if (currentMapEditor()) + currentMapEditor()->addNewBranchHere(); +} + void Main::editNewBranchAbove() { if (currentMapEditor()) @@ -1933,6 +2000,18 @@ fileSaveAs (PartOfMap); } +void Main::editRemoveBranchHere() +{ + if (currentMapEditor()) + currentMapEditor()->removeBranchHere(); +} + +void Main::editRemoveChilds() +{ + if (currentMapEditor()) + currentMapEditor()->removeChilds(); +} + void Main::editDeleteSelection() { if (currentMapEditor())