|
 |
a9add1 |
From bdd33fda337d37431e6bffb99fb90416884981c9 Mon Sep 17 00:00:00 2001
|
|
 |
a9add1 |
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
 |
a9add1 |
Date: Thu, 25 Jun 2015 10:33:06 +0100
|
|
 |
a9add1 |
Subject: [PATCH] implement equalize width and height for impress/draw
|
|
 |
a9add1 |
|
|
 |
a9add1 |
Equalize width/height adjusts width/height of selected objects to the
|
|
 |
a9add1 |
width/height of the last selected object.
|
|
 |
a9add1 |
|
|
 |
a9add1 |
Change-Id: I7c222a6591112cb674322d310ebd87f04a9198bd
|
|
 |
a9add1 |
---
|
|
 |
a9add1 |
include/svx/svdedtv.hxx | 5 +++
|
|
 |
a9add1 |
include/svx/svdstr.hrc | 4 +-
|
|
 |
a9add1 |
include/svx/svxids.hrc | 2 +
|
|
 |
a9add1 |
.../org/openoffice/Office/UI/GenericCommands.xcu | 10 +++++
|
|
 |
a9add1 |
sd/sdi/_drvwsh.sdi | 10 +++++
|
|
 |
a9add1 |
sd/source/ui/view/drviews2.cxx | 13 ++++++
|
|
 |
a9add1 |
sd/source/ui/view/drviewsj.cxx | 16 ++++++--
|
|
 |
a9add1 |
sd/uiconfig/sdraw/menubar/menubar.xml | 3 ++
|
|
 |
a9add1 |
svx/inc/globlmn_tmpl.hrc | 20 +++++++++
|
|
 |
a9add1 |
svx/sdi/svx.sdi | 47 ++++++++++++++++++++++
|
|
 |
a9add1 |
svx/source/svdraw/svdedtv2.cxx | 38 +++++++++++++++++
|
|
 |
a9add1 |
svx/source/svdraw/svdstr.src | 8 ++++
|
|
 |
a9add1 |
12 files changed, 171 insertions(+), 5 deletions(-)
|
|
 |
a9add1 |
|
|
 |
a9add1 |
diff --git a/include/svx/svdedtv.hxx b/include/svx/svdedtv.hxx
|
|
 |
a9add1 |
index cdc2308..b109e0c 100644
|
|
 |
a9add1 |
--- a/include/svx/svdedtv.hxx
|
|
 |
a9add1 |
+++ b/include/svx/svdedtv.hxx
|
|
 |
a9add1 |
@@ -272,6 +272,11 @@ public:
|
|
 |
a9add1 |
// for distribution dialog function
|
|
 |
a9add1 |
void DistributeMarkedObjects();
|
|
 |
a9add1 |
|
|
 |
a9add1 |
+ // for setting either the width or height of all selected
|
|
 |
a9add1 |
+ // objects to the width/height of the last selected object
|
|
 |
a9add1 |
+ // of the selection
|
|
 |
a9add1 |
+ void EqualizeMarkedObjects(bool bWidth);
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
// Decompose marked polypolygon objects into polygons.
|
|
 |
a9add1 |
// Grouped objects are searched and decomposed, if all member objects are PathObjs.
|
|
 |
a9add1 |
// bMakeLines=TRUE: all polygones are decomposed into single lines resp. bezier segments
|
|
 |
a9add1 |
diff --git a/include/svx/svdstr.hrc b/include/svx/svdstr.hrc
|
|
 |
a9add1 |
index 90ef697..36e8719 100644
|
|
 |
a9add1 |
--- a/include/svx/svdstr.hrc
|
|
 |
a9add1 |
+++ b/include/svx/svdstr.hrc
|
|
 |
a9add1 |
@@ -241,7 +241,9 @@
|
|
 |
a9add1 |
#define STR_EditMergeSubstractPoly (STR_EditBegin + 55)
|
|
 |
a9add1 |
#define STR_EditMergeIntersectPoly (STR_EditBegin + 56)
|
|
 |
a9add1 |
#define STR_DistributeMarkedObjects (STR_EditBegin + 57)
|
|
 |
a9add1 |
-#define STR_EditEnd (STR_DistributeMarkedObjects)
|
|
 |
a9add1 |
+#define STR_EqualizeWidthMarkedObjects (STR_EditBegin + 58)
|
|
 |
a9add1 |
+#define STR_EqualizeHeightMarkedObjects (STR_EditBegin + 59)
|
|
 |
a9add1 |
+#define STR_EditEnd (STR_EqualizeHeightMarkedObjects)
|
|
 |
a9add1 |
|
|
 |
a9add1 |
#define STR_ExchangeBegin (STR_EditEnd+1)
|
|
 |
a9add1 |
#define STR_ExchangePaste (STR_ExchangeBegin +0)
|
|
 |
a9add1 |
diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc
|
|
 |
a9add1 |
index 5b8efbc..67ee3da 100644
|
|
 |
a9add1 |
--- a/include/svx/svxids.hrc
|
|
 |
a9add1 |
+++ b/include/svx/svxids.hrc
|
|
 |
a9add1 |
@@ -113,6 +113,8 @@
|
|
 |
a9add1 |
#define SID_POLY_INTERSECT (SID_SFX_START + 681)
|
|
 |
a9add1 |
#define SID_POLY_FORMEN (SID_SFX_START + 682)
|
|
 |
a9add1 |
#define SID_DISTRIBUTE_DLG (SID_SFX_START + 683)
|
|
 |
a9add1 |
+#define SID_EQUALIZEWIDTH (SID_SFX_START + 684)
|
|
 |
a9add1 |
+#define SID_EQUALIZEHEIGHT (SID_SFX_START + 685)
|
|
 |
a9add1 |
|
|
 |
a9add1 |
// Basic IDE-Id's
|
|
 |
a9add1 |
|
|
 |
a9add1 |
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
|
|
 |
a9add1 |
index 1c679bd..d221d56 100644
|
|
 |
a9add1 |
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
|
|
 |
a9add1 |
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
|
|
 |
a9add1 |
@@ -3472,6 +3472,16 @@
|
|
 |
a9add1 |
<value xml:lang="en-US">~Subtract</value>
|
|
 |
a9add1 |
</prop>
|
|
 |
a9add1 |
</node>
|
|
 |
a9add1 |
+ <node oor:name=".uno:EqualizeWidth" oor:op="replace">
|
|
 |
a9add1 |
+ <prop oor:name="Label" oor:type="xs:string">
|
|
 |
a9add1 |
+ <value xml:lang="en-US">Equalize ~Width</value>
|
|
 |
a9add1 |
+ </prop>
|
|
 |
a9add1 |
+ </node>
|
|
 |
a9add1 |
+ <node oor:name=".uno:EqualizeHeight" oor:op="replace">
|
|
 |
a9add1 |
+ <prop oor:name="Label" oor:type="xs:string">
|
|
 |
a9add1 |
+ <value xml:lang="en-US">Equalize ~Height</value>
|
|
 |
a9add1 |
+ </prop>
|
|
 |
a9add1 |
+ </node>
|
|
 |
a9add1 |
<node oor:name=".uno:SuperScript" oor:op="replace">
|
|
 |
a9add1 |
<prop oor:name="Label" oor:type="xs:string">
|
|
 |
a9add1 |
<value xml:lang="en-US">Superscript</value>
|
|
 |
a9add1 |
diff --git a/sd/sdi/_drvwsh.sdi b/sd/sdi/_drvwsh.sdi
|
|
 |
a9add1 |
index 0b5469bf..6b2f17c 100644
|
|
 |
a9add1 |
--- a/sd/sdi/_drvwsh.sdi
|
|
 |
a9add1 |
+++ b/sd/sdi/_drvwsh.sdi
|
|
 |
a9add1 |
@@ -507,6 +507,16 @@ interface DrawView
|
|
 |
a9add1 |
ExecMethod = FuTemporary ;
|
|
 |
a9add1 |
StateMethod = GetMenuState ;
|
|
 |
a9add1 |
]
|
|
 |
a9add1 |
+ SID_EQUALIZEWIDTH // ole : no, status : ?
|
|
 |
a9add1 |
+ [
|
|
 |
a9add1 |
+ ExecMethod = FuTemporary ;
|
|
 |
a9add1 |
+ StateMethod = GetMenuState ;
|
|
 |
a9add1 |
+ ]
|
|
 |
a9add1 |
+ SID_EQUALIZEHEIGHT // ole : no, status : ?
|
|
 |
a9add1 |
+ [
|
|
 |
a9add1 |
+ ExecMethod = FuTemporary ;
|
|
 |
a9add1 |
+ StateMethod = GetMenuState ;
|
|
 |
a9add1 |
+ ]
|
|
 |
a9add1 |
SID_CONNECT // ole : no, status : ?
|
|
 |
a9add1 |
[
|
|
 |
a9add1 |
ExecMethod = FuTemporary ;
|
|
 |
a9add1 |
diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
|
|
 |
a9add1 |
index ffbb503..90c3d59 100644
|
|
 |
a9add1 |
--- a/sd/source/ui/view/drviews2.cxx
|
|
 |
a9add1 |
+++ b/sd/source/ui/view/drviews2.cxx
|
|
 |
a9add1 |
@@ -2272,6 +2272,19 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
break;
|
|
 |
a9add1 |
|
|
 |
a9add1 |
+ case SID_EQUALIZEWIDTH:
|
|
 |
a9add1 |
+ case SID_EQUALIZEHEIGHT:
|
|
 |
a9add1 |
+ {
|
|
 |
a9add1 |
+ // End text edit to avoid conflicts
|
|
 |
a9add1 |
+ if(mpDrawView->IsTextEdit())
|
|
 |
a9add1 |
+ mpDrawView->SdrEndTextEdit();
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
+ mpDrawView->EqualizeMarkedObjects(nSId == SID_EQUALIZEWIDTH);
|
|
 |
a9add1 |
+ Cancel();
|
|
 |
a9add1 |
+ rReq.Done ();
|
|
 |
a9add1 |
+ }
|
|
 |
a9add1 |
+ break;
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
case SID_DISMANTLE: // BASIC
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
if ( mpDrawView->IsDismantlePossible(false) )
|
|
 |
a9add1 |
diff --git a/sd/source/ui/view/drviewsj.cxx b/sd/source/ui/view/drviewsj.cxx
|
|
 |
a9add1 |
index 857601f..10a3f5a 100644
|
|
 |
a9add1 |
--- a/sd/source/ui/view/drviewsj.cxx
|
|
 |
a9add1 |
+++ b/sd/source/ui/view/drviewsj.cxx
|
|
 |
a9add1 |
@@ -284,13 +284,15 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
|
|
 |
a9add1 |
rSet.Put(SfxBoolItem(SID_OUTLINE_TEXT_AUTOFIT, bSet));
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
- rSet.DisableItem( SID_GROUP );
|
|
 |
a9add1 |
- rSet.DisableItem( SID_COMBINE );
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_GROUP);
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_COMBINE);
|
|
 |
a9add1 |
rSet.DisableItem(SID_DISTRIBUTE_DLG);
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_MERGE);
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_SUBSTRACT);
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_INTERSECT);
|
|
 |
a9add1 |
- rSet.DisableItem( SID_CONNECT );
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_EQUALIZEWIDTH);
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_EQUALIZEHEIGHT);
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_CONNECT);
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
// multi-selection
|
|
 |
a9add1 |
else if( nMarkCount > 1 )
|
|
 |
a9add1 |
@@ -377,6 +379,8 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_MERGE);
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_SUBSTRACT);
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_INTERSECT);
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_EQUALIZEWIDTH);
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_EQUALIZEHEIGHT);
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
if (b3dObj ||
|
|
 |
a9add1 |
@@ -438,10 +442,12 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
if ( !mpDrawView->IsCombinePossible(false) )
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
- rSet.DisableItem( SID_COMBINE );
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_COMBINE);
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_MERGE);
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_SUBSTRACT);
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_INTERSECT);
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_EQUALIZEWIDTH);
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_EQUALIZEHEIGHT);
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
if ( !mpDrawView->IsCombinePossible(true) )
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
@@ -501,6 +507,8 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_MERGE);
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_SUBSTRACT);
|
|
 |
a9add1 |
rSet.DisableItem(SID_POLY_INTERSECT);
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_EQUALIZEWIDTH);
|
|
 |
a9add1 |
+ rSet.DisableItem(SID_EQUALIZEHEIGHT);
|
|
 |
a9add1 |
rSet.DisableItem( SID_CONNECT );
|
|
 |
a9add1 |
rSet.DisableItem( SID_ANIMATION_EFFECTS );
|
|
 |
a9add1 |
rSet.DisableItem( SID_MODIFY_FIELD );
|
|
 |
a9add1 |
diff --git a/sd/uiconfig/sdraw/menubar/menubar.xml b/sd/uiconfig/sdraw/menubar/menubar.xml
|
|
 |
a9add1 |
index f12287b..bc8cfee 100644
|
|
 |
a9add1 |
--- a/sd/uiconfig/sdraw/menubar/menubar.xml
|
|
 |
a9add1 |
+++ b/sd/uiconfig/sdraw/menubar/menubar.xml
|
|
 |
a9add1 |
@@ -346,6 +346,9 @@
|
|
 |
a9add1 |
<menu:menuitem menu:id=".uno:Merge"/>
|
|
 |
a9add1 |
<menu:menuitem menu:id=".uno:Substract"/>
|
|
 |
a9add1 |
<menu:menuitem menu:id=".uno:Intersect"/>
|
|
 |
a9add1 |
+ <menu:menuseparator/>
|
|
 |
a9add1 |
+ <menu:menuitem menu:id=".uno:EqualizeWidth"/>
|
|
 |
a9add1 |
+ <menu:menuitem menu:id=".uno:EqualizeHeight"/>
|
|
 |
a9add1 |
</menu:menupopup>
|
|
 |
a9add1 |
</menu:menu>
|
|
 |
a9add1 |
<menu:menuseparator/>
|
|
 |
a9add1 |
diff --git a/svx/inc/globlmn_tmpl.hrc b/svx/inc/globlmn_tmpl.hrc
|
|
 |
a9add1 |
index 9d511c8..8d82489 100644
|
|
 |
a9add1 |
--- a/svx/inc/globlmn_tmpl.hrc
|
|
 |
a9add1 |
+++ b/svx/inc/globlmn_tmpl.hrc
|
|
 |
a9add1 |
@@ -306,6 +306,20 @@
|
|
 |
a9add1 |
Command = ".uno:Intersect" ; \
|
|
 |
a9add1 |
Text [ en-US ] = "I~ntersect" ; \
|
|
 |
a9add1 |
};
|
|
 |
a9add1 |
+#define ITEM_EQUALIZEWIDTH \
|
|
 |
a9add1 |
+ MenuItem\
|
|
 |
a9add1 |
+ {\
|
|
 |
a9add1 |
+ Identifier = SID_EQUALIZEWIDTH ; \
|
|
 |
a9add1 |
+ Command = ".uno:EqualizeWidth" ; \
|
|
 |
a9add1 |
+ Text [ en-US ] = "Equalize ~Width" ; \
|
|
 |
a9add1 |
+ };
|
|
 |
a9add1 |
+#define ITEM_EQUALIZEHEIGHT \
|
|
 |
a9add1 |
+ MenuItem\
|
|
 |
a9add1 |
+ {\
|
|
 |
a9add1 |
+ Identifier = SID_EQUALIZEHEIGHT ; \
|
|
 |
a9add1 |
+ Command = ".uno:EqualizeHeight" ; \
|
|
 |
a9add1 |
+ Text [ en-US ] = "Equalize ~Height" ; \
|
|
 |
a9add1 |
+ };
|
|
 |
a9add1 |
|
|
 |
a9add1 |
#define MNSUB_FORMEN \
|
|
 |
a9add1 |
MenuItem \
|
|
 |
a9add1 |
@@ -320,6 +334,12 @@
|
|
 |
a9add1 |
ITEM_POLY_MERGE \
|
|
 |
a9add1 |
ITEM_POLY_SUBSTRACT \
|
|
 |
a9add1 |
ITEM_POLY_INTERSECT \
|
|
 |
a9add1 |
+ MenuItem \
|
|
 |
a9add1 |
+ { \
|
|
 |
a9add1 |
+ Separator = TRUE; \
|
|
 |
a9add1 |
+ }; \
|
|
 |
a9add1 |
+ ITEM_EQUALIZEWIDTH \
|
|
 |
a9add1 |
+ ITEM_EQUALIZEHEIGHT \
|
|
 |
a9add1 |
};\
|
|
 |
a9add1 |
};\
|
|
 |
a9add1 |
};
|
|
 |
a9add1 |
diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi
|
|
 |
a9add1 |
index 941f3e8..b301c58 100644
|
|
 |
a9add1 |
--- a/svx/sdi/svx.sdi
|
|
 |
a9add1 |
+++ b/svx/sdi/svx.sdi
|
|
 |
a9add1 |
@@ -11100,6 +11100,53 @@ SfxVoidItem Substract SID_POLY_SUBSTRACT
|
|
 |
a9add1 |
GroupId = GID_MODIFY;
|
|
 |
a9add1 |
]
|
|
 |
a9add1 |
|
|
 |
a9add1 |
+SfxVoidItem EqualizeWidth SID_EQUALIZEWIDTH
|
|
 |
a9add1 |
+()
|
|
 |
a9add1 |
+[
|
|
 |
a9add1 |
+ /* flags: */
|
|
 |
a9add1 |
+ AutoUpdate = FALSE,
|
|
 |
a9add1 |
+ Cachable = Cachable,
|
|
 |
a9add1 |
+ FastCall = FALSE,
|
|
 |
a9add1 |
+ HasCoreId = FALSE,
|
|
 |
a9add1 |
+ HasDialog = FALSE,
|
|
 |
a9add1 |
+ ReadOnlyDoc = FALSE,
|
|
 |
a9add1 |
+ Toggle = FALSE,
|
|
 |
a9add1 |
+ Container = FALSE,
|
|
 |
a9add1 |
+ RecordAbsolute = FALSE,
|
|
 |
a9add1 |
+ RecordPerSet;
|
|
 |
a9add1 |
+ Synchron;
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
+ /* config: */
|
|
 |
a9add1 |
+ AccelConfig = TRUE,
|
|
 |
a9add1 |
+ MenuConfig = TRUE,
|
|
 |
a9add1 |
+ StatusBarConfig = FALSE,
|
|
 |
a9add1 |
+ ToolBoxConfig = TRUE,
|
|
 |
a9add1 |
+ GroupId = GID_MODIFY;
|
|
 |
a9add1 |
+]
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
+SfxVoidItem EqualizeHeight SID_EQUALIZEHEIGHT
|
|
 |
a9add1 |
+()
|
|
 |
a9add1 |
+[
|
|
 |
a9add1 |
+ /* flags: */
|
|
 |
a9add1 |
+ AutoUpdate = FALSE,
|
|
 |
a9add1 |
+ Cachable = Cachable,
|
|
 |
a9add1 |
+ FastCall = FALSE,
|
|
 |
a9add1 |
+ HasCoreId = FALSE,
|
|
 |
a9add1 |
+ HasDialog = FALSE,
|
|
 |
a9add1 |
+ ReadOnlyDoc = FALSE,
|
|
 |
a9add1 |
+ Toggle = FALSE,
|
|
 |
a9add1 |
+ Container = FALSE,
|
|
 |
a9add1 |
+ RecordAbsolute = FALSE,
|
|
 |
a9add1 |
+ RecordPerSet;
|
|
 |
a9add1 |
+ Synchron;
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
+ /* config: */
|
|
 |
a9add1 |
+ AccelConfig = TRUE,
|
|
 |
a9add1 |
+ MenuConfig = TRUE,
|
|
 |
a9add1 |
+ StatusBarConfig = FALSE,
|
|
 |
a9add1 |
+ ToolBoxConfig = TRUE,
|
|
 |
a9add1 |
+ GroupId = GID_MODIFY;
|
|
 |
a9add1 |
+]
|
|
 |
a9add1 |
|
|
 |
a9add1 |
SfxBoolItem SuperScript SID_SET_SUPER_SCRIPT
|
|
 |
a9add1 |
|
|
 |
a9add1 |
diff --git a/svx/source/svdraw/svdedtv2.cxx b/svx/source/svdraw/svdedtv2.cxx
|
|
 |
a9add1 |
index 0a60082..ad7dd3f 100644
|
|
 |
a9add1 |
--- a/svx/source/svdraw/svdedtv2.cxx
|
|
 |
a9add1 |
+++ b/svx/source/svdraw/svdedtv2.cxx
|
|
 |
a9add1 |
@@ -1173,6 +1173,44 @@ void SdrEditView::MergeMarkedObjects(SdrMergeMode eMode)
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
+void SdrEditView::EqualizeMarkedObjects(bool bWidth)
|
|
 |
a9add1 |
+{
|
|
 |
a9add1 |
+ const SdrMarkList& rMarkList = GetMarkedObjectList();
|
|
 |
a9add1 |
+ size_t nMarked = rMarkList.GetMarkCount();
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
+ if (nMarked < 2)
|
|
 |
a9add1 |
+ return;
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
+ SdrObject* pLastSelectedObj = rMarkList.GetMark(nMarked-1)->GetMarkedSdrObj();
|
|
 |
a9add1 |
+ Size aLastRectSize(pLastSelectedObj->GetLogicRect().GetSize());
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
+ const bool bUndo = IsUndoEnabled();
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
+ if (bUndo)
|
|
 |
a9add1 |
+ BegUndo();
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
+ for (size_t a = 0; a < nMarked-1; ++a)
|
|
 |
a9add1 |
+ {
|
|
 |
a9add1 |
+ SdrMark* pM = rMarkList.GetMark(a);
|
|
 |
a9add1 |
+ SdrObject* pObj = pM->GetMarkedSdrObj();
|
|
 |
a9add1 |
+ Rectangle aLogicRect(pObj->GetLogicRect());
|
|
 |
a9add1 |
+ Size aLogicRectSize(aLogicRect.GetSize());
|
|
 |
a9add1 |
+ if (bWidth)
|
|
 |
a9add1 |
+ aLogicRectSize.Width() = aLastRectSize.Width();
|
|
 |
a9add1 |
+ else
|
|
 |
a9add1 |
+ aLogicRectSize.Height() = aLastRectSize.Height();
|
|
 |
a9add1 |
+ aLogicRect.SetSize(aLogicRectSize);
|
|
 |
a9add1 |
+ pObj->SetLogicRect(aLogicRect);
|
|
 |
a9add1 |
+ }
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
+ SetUndoComment(
|
|
 |
a9add1 |
+ ImpGetResStr(bWidth ? STR_EqualizeWidthMarkedObjects : STR_EqualizeHeightMarkedObjects),
|
|
 |
a9add1 |
+ rMarkList.GetMarkDescription());
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
+ if (bUndo)
|
|
 |
a9add1 |
+ EndUndo();
|
|
 |
a9add1 |
+}
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
void SdrEditView::CombineMarkedObjects(bool bNoPolyPoly)
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
// #105899# Start of Combine-Undo put to front, else ConvertMarkedToPolyObj would
|
|
 |
a9add1 |
diff --git a/svx/source/svdraw/svdstr.src b/svx/source/svdraw/svdstr.src
|
|
 |
a9add1 |
index 364749a..6dc4420 100644
|
|
 |
a9add1 |
--- a/svx/source/svdraw/svdstr.src
|
|
 |
a9add1 |
+++ b/svx/source/svdraw/svdstr.src
|
|
 |
a9add1 |
@@ -823,6 +823,14 @@ String STR_DistributeMarkedObjects
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
Text [ en-US ] = "Distribute selected objects";
|
|
 |
a9add1 |
};
|
|
 |
a9add1 |
+String STR_EqualizeWidthMarkedObjects
|
|
 |
a9add1 |
+{
|
|
 |
a9add1 |
+ Text [ en-US ] = "Equalize Width %1";
|
|
 |
a9add1 |
+};
|
|
 |
a9add1 |
+String STR_EqualizeHeightMarkedObjects
|
|
 |
a9add1 |
+{
|
|
 |
a9add1 |
+ Text [ en-US ] = "Equalize Height %1";
|
|
 |
a9add1 |
+};
|
|
 |
a9add1 |
String STR_EditCombine_OnePoly
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
Text [ en-US ] = "Combine %1" ;
|
|
 |
a9add1 |
--
|
|
 |
a9add1 |
2.4.0
|
|
 |
a9add1 |
|