[Uml-devel] KDE/kdesdk/umbrello/umbrello

Ralf Habacker ralf.habacker at gmail.com
Mon Nov 5 22:57:56 UTC 2012


SVN commit 1324139 by habacker:

Added widget resize context menu feature.

BUG: 309612
CCBUG: 160604

 M  +1 -0      listpopupmenu.cpp  
 M  +1 -0      listpopupmenu.h  
 M  +12 -0     widgets/umlwidget.cpp  
 M  +1 -0      widgets/umlwidget.h  


--- trunk/KDE/kdesdk/umbrello/umbrello/listpopupmenu.cpp #1324138:1324139
@@ -845,6 +845,7 @@
     else if (Model_Utils::isCloneable(type))
         insert(mt_Clone);
     insert(mt_Delete);
+    insert(mt_Resize, i18n("Resize"));
 }
 
 /**
--- trunk/KDE/kdesdk/umbrello/umbrello/listpopupmenu.h #1324138:1324139
@@ -189,6 +189,7 @@
         mt_Change_Font_Selection,
         mt_SnapToGrid,
         mt_ShowSnapGrid,
+        mt_Resize,
         mt_Activity_Selected,
         mt_New_Activity,
         mt_Up,
--- trunk/KDE/kdesdk/umbrello/umbrello/widgets/umlwidget.cpp #1324138:1324139
@@ -519,6 +519,10 @@
         ft->handleRename();
         break;
     }
+    case ListPopupMenu::mt_Resize:
+        resize();
+        m_doc->setModified();
+        break;
 
     default:
         uDebug() << "MenuType " << ListPopupMenu::toString(sel) << " not implemented";
@@ -1042,6 +1046,14 @@
     return UMLSceneSize(width(), height());
 }
 
+void UMLWidget::resize()
+{
+    // @TODO minimumSize() do not work in all cases, we need a dedicated autoResize() method
+    UMLSceneSize size = minimumSize();
+    setSize(size.width(), size.height());
+    adjustAssocs(x(), y());    // adjust assoc lines
+}
+
 /**
  * Sets the state of whether the widget is selected.
  *
--- trunk/KDE/kdesdk/umbrello/umbrello/widgets/umlwidget.h #1324138:1324139
@@ -247,6 +247,7 @@
     virtual void drawShape(QPainter &p);
 
     virtual UMLSceneSize calculateSize();
+    void resize();
 
     bool fixedAspectRatio()
     {




More information about the umbrello-devel mailing list