[PATCH] Clean zoom redundances in Math and fix fdo#55929
Rodolfo Ribeiro Gomes (via Code Review)
gerrit at gerrit.libreoffice.org
Tue May 28 07:36:54 PDT 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/4076
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/76/4076/1
Clean zoom redundances in Math and fix fdo#55929
Zoom can be handled by sfx2 in many ways:
- 50%, 75%, 100%, 150%, 200%
- Optimal view (fit in window)
- Entire page
- Page width
The math module was doing the first two by itself. Remove it.
Strange enough, state methods for zoom interface definitions on
sfx2's appslots.sdi were needed. I thought 'Container' property
in sfx.sdi should do the job. It seems to do nothing, though.
(The zoom should be disabled only if the object is an OLE/Container).
The Help-Ids from pop-up menu in Math/Formula were kept, because
they doesn't exist in sfx2.
Change-Id: Ie1ae413780551b34aa36b338f9a9df79a198319c
---
M officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
M sfx2/sdi/appslots.sdi
M sfx2/source/appl/appserv.cxx
M starmath/inc/starmath.hrc
M starmath/qa/cppunit/test_starmath.cxx
M starmath/sdi/smath.sdi
M starmath/sdi/smslots.sdi
M starmath/source/smres.src
M starmath/source/view.cxx
M starmath/uiconfig/smath/toolbar/toolbar.xml
10 files changed, 35 insertions(+), 190 deletions(-)
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 74fbeeb..ee4c0fc 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -1768,7 +1768,7 @@
</node>
<node oor:name=".uno:ZoomOptimal" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">Optimal</value>
+ <value xml:lang="en-US">Optimal view</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
<value>1</value>
diff --git a/sfx2/sdi/appslots.sdi b/sfx2/sdi/appslots.sdi
index aa1da36..320a75e 100644
--- a/sfx2/sdi/appslots.sdi
+++ b/sfx2/sdi/appslots.sdi
@@ -182,34 +182,42 @@
SID_ZOOM_ENTIRE_PAGE
[
ExecMethod = MiscExec_Impl ;
+ StateMethod = MiscState_Impl ;
]
SID_ZOOM_OPTIMAL
[
ExecMethod = MiscExec_Impl ;
+ StateMethod = MiscState_Impl ;
]
SID_ZOOM_PAGE_WIDTH
[
ExecMethod = MiscExec_Impl ;
+ StateMethod = MiscState_Impl ;
]
SID_ZOOM_50_PERCENT
[
ExecMethod = MiscExec_Impl ;
+ StateMethod = MiscState_Impl ;
]
SID_ZOOM_75_PERCENT
[
ExecMethod = MiscExec_Impl ;
+ StateMethod = MiscState_Impl ;
]
SID_ZOOM_100_PERCENT
[
ExecMethod = MiscExec_Impl ;
+ StateMethod = MiscState_Impl ;
]
SID_ZOOM_150_PERCENT
[
ExecMethod = MiscExec_Impl ;
+ StateMethod = MiscState_Impl ;
]
SID_ZOOM_200_PERCENT
[
ExecMethod = MiscExec_Impl ;
+ StateMethod = MiscState_Impl ;
]
SID_HELP_TUTORIALS
[
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index 80a380f..825125d 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -827,6 +827,22 @@
}
break;
+ case SID_ZOOM_50_PERCENT:
+ case SID_ZOOM_75_PERCENT:
+ case SID_ZOOM_100_PERCENT:
+ case SID_ZOOM_150_PERCENT:
+ case SID_ZOOM_200_PERCENT:
+ case SID_ZOOM_OPTIMAL:
+ case SID_ZOOM_ENTIRE_PAGE:
+ case SID_ZOOM_PAGE_WIDTH:
+ {
+ const SfxPoolItem *pItem;
+ SfxItemState aState = SfxViewFrame::Current()->GetDispatcher()->QueryState(SID_ATTR_ZOOM, pItem);
+ if ( aState == SFX_ITEM_DISABLED )
+ rSet.DisableItem( nWhich );
+ }
+ break;
+
default:
break;
}
diff --git a/starmath/inc/starmath.hrc b/starmath/inc/starmath.hrc
index 7cb9f4f..1ea7aa5 100644
--- a/starmath/inc/starmath.hrc
+++ b/starmath/inc/starmath.hrc
@@ -31,13 +31,9 @@
#define SID_PREVMARK (SID_SMA_START + 4)
#define SID_SYMBOLS_CATALOGUE (SID_SMA_START + 5)
#define SID_PREFERENCES (SID_SMA_START + 6)
-#define SID_VIEW050 (SID_SMA_START + 7)
-#define SID_VIEW100 (SID_SMA_START + 8)
-#define SID_VIEW200 (SID_SMA_START + 9)
#define SID_ZOOMIN (SID_SMA_START + 10)
#define SID_ZOOMOUT (SID_SMA_START + 11)
#define SID_DRAW (SID_SMA_START + 12)
-#define SID_ADJUST (SID_SMA_START + 13)
#define SID_TOOLBOX (SID_SMA_START + 14)
#define SID_FORMULACURSOR (SID_SMA_START + 15)
#define SID_FONT (SID_SMA_START + 50)
@@ -51,7 +47,6 @@
#define SID_IMPORT_FORMULA (SID_SMA_START + 58)
#define SID_TEXT (SID_SMA_START + 100)
#define SID_GAPHIC_SM (SID_SMA_START + 101)
-#define SID_FITINWINDOW (SID_SMA_START + 103)
/** Command for inserting a symbol specified by a string (Inserts an SmSpecialNode) */
#define SID_INSERTSYMBOL (SID_SMA_START + 104)
/** Command for inserting a math construction specified in commands.src */
diff --git a/starmath/qa/cppunit/test_starmath.cxx b/starmath/qa/cppunit/test_starmath.cxx
index e937710..5668618 100644
--- a/starmath/qa/cppunit/test_starmath.cxx
+++ b/starmath/qa/cppunit/test_starmath.cxx
@@ -254,7 +254,7 @@
sal_uInt16 nOptimalZoom=0;
{
- SfxRequest aZoom(SID_FITINWINDOW, SFX_CALLMODE_SYNCHRON, m_pViewShell->GetPool());
+ SfxRequest aZoom(SID_ZOOM_OPTIMAL, SFX_CALLMODE_SYNCHRON, m_pViewShell->GetPool());
m_pViewShell->Execute(aZoom);
nOptimalZoom = rGraphicWindow.GetZoom();
CPPUNIT_ASSERT_MESSAGE("Should be about 800%", nOptimalZoom > nOrigZoom);
@@ -331,13 +331,6 @@
m_pViewShell->Execute(aZoom);
nFinalZoom = rGraphicWindow.GetZoom();
CPPUNIT_ASSERT_MESSAGE("Should be Clipped to 800%", nFinalZoom == 800);
- }
-
- {
- SfxRequest aZoom(SID_ADJUST, SFX_CALLMODE_SYNCHRON, m_pViewShell->GetPool());
- m_pViewShell->Execute(aZoom);
- nFinalZoom = rGraphicWindow.GetZoom();
- CPPUNIT_ASSERT_MESSAGE("Should be the same as optimal", nOptimalZoom == nFinalZoom);
}
}
diff --git a/starmath/sdi/smath.sdi b/starmath/sdi/smath.sdi
index 6df2a61..84a934b 100644
--- a/starmath/sdi/smath.sdi
+++ b/starmath/sdi/smath.sdi
@@ -15,31 +15,7 @@
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-SfxVoidItem Adjust SID_ADJUST
-()
-[
- /* flags: */
- AutoUpdate = FALSE,
- Cachable = Cachable,
- FastCall = FALSE,
- HasCoreId = FALSE,
- HasDialog = FALSE,
- ReadOnlyDoc = TRUE,
- Toggle = FALSE,
- Container = FALSE,
- RecordAbsolute = FALSE,
- RecordPerSet;
- Synchron;
- /* config: */
- AccelConfig = TRUE,
- MenuConfig = TRUE,
- StatusBarConfig = FALSE,
- ToolBoxConfig = TRUE,
- GroupId = GID_VIEW;
-]
-
-//--------------------------------------------------------------------------
SfxVoidItem ChangeAlignment SID_ALIGN
()
[
@@ -268,31 +244,6 @@
//--------------------------------------------------------------------------
SfxVoidItem Draw SID_DRAW
-()
-[
- /* flags: */
- AutoUpdate = FALSE,
- Cachable = Cachable,
- FastCall = FALSE,
- HasCoreId = FALSE,
- HasDialog = FALSE,
- ReadOnlyDoc = TRUE,
- Toggle = FALSE,
- Container = FALSE,
- RecordAbsolute = FALSE,
- RecordPerSet;
- Synchron;
-
- /* config: */
- AccelConfig = TRUE,
- MenuConfig = TRUE,
- StatusBarConfig = FALSE,
- ToolBoxConfig = TRUE,
- GroupId = GID_VIEW;
-]
-
-//--------------------------------------------------------------------------
-SfxVoidItem FitInWindow SID_FITINWINDOW
()
[
/* flags: */
@@ -868,81 +819,6 @@
Synchron;
Readonly = FALSE,
-
- /* config: */
- AccelConfig = TRUE,
- MenuConfig = TRUE,
- StatusBarConfig = FALSE,
- ToolBoxConfig = TRUE,
- GroupId = GID_VIEW;
-]
-
-//--------------------------------------------------------------------------
-SfxVoidItem View100 SID_VIEW100
-()
-[
- /* flags: */
- AutoUpdate = FALSE,
- Cachable = Cachable,
- FastCall = FALSE,
- HasCoreId = FALSE,
- HasDialog = FALSE,
- ReadOnlyDoc = TRUE,
- Toggle = FALSE,
- Container = FALSE,
- RecordAbsolute = FALSE,
- RecordPerSet;
- Synchron;
-
- /* config: */
- AccelConfig = TRUE,
- MenuConfig = TRUE,
- StatusBarConfig = FALSE,
- ToolBoxConfig = TRUE,
- GroupId = GID_VIEW;
-]
-
-//--------------------------------------------------------------------------
-SfxVoidItem View200 SID_VIEW200
-()
-[
- /* flags: */
- AutoUpdate = FALSE,
- Cachable = Cachable,
- FastCall = FALSE,
- HasCoreId = FALSE,
- HasDialog = FALSE,
- ReadOnlyDoc = TRUE,
- Toggle = FALSE,
- Container = FALSE,
- RecordAbsolute = FALSE,
- RecordPerSet;
- Synchron;
-
- /* config: */
- AccelConfig = TRUE,
- MenuConfig = TRUE,
- StatusBarConfig = FALSE,
- ToolBoxConfig = TRUE,
- GroupId = GID_VIEW;
-]
-
-//--------------------------------------------------------------------------
-SfxVoidItem View50 SID_VIEW050
-()
-[
- /* flags: */
- AutoUpdate = FALSE,
- Cachable = Cachable,
- FastCall = FALSE,
- HasCoreId = FALSE,
- HasDialog = FALSE,
- ReadOnlyDoc = TRUE,
- Toggle = FALSE,
- Container = FALSE,
- RecordAbsolute = FALSE,
- RecordPerSet;
- Synchron;
/* config: */
AccelConfig = TRUE,
diff --git a/starmath/sdi/smslots.sdi b/starmath/sdi/smslots.sdi
index 7104423..00e9875 100644
--- a/starmath/sdi/smslots.sdi
+++ b/starmath/sdi/smslots.sdi
@@ -176,21 +176,6 @@
ExecMethod = Execute ;
StateMethod = GetState ;
]
- SID_VIEW050 //idlpp ole : no , status : no
- [
- ExecMethod = Execute ;
- StateMethod = GetState ;
- ]
- SID_VIEW100 //idlpp ole : no , status : no
- [
- ExecMethod = Execute ;
- StateMethod = GetState ;
- ]
- SID_VIEW200 //idlpp ole : no , status : no
- [
- ExecMethod = Execute ;
- StateMethod = GetState ;
- ]
SID_ZOOMIN //idlpp ole : no , status : no
[
ExecMethod = Execute ;
@@ -202,17 +187,6 @@
StateMethod = GetState ;
]
SID_DRAW //idlpp ole : no , status : no
- [
- ExecMethod = Execute ;
- StateMethod = GetState ;
- ]
- SID_ADJUST //idlpp ole : no , status : no
- [
- ExecMethod = Execute ;
- StateMethod = GetState ;
- ]
- //idlpp kein Menueeintrag , also keine Texte
- SID_FITINWINDOW //idlpp ole : no , status : no
[
ExecMethod = Execute ;
StateMethod = GetState ;
diff --git a/starmath/source/smres.src b/starmath/source/smres.src
index 805b290..b5a776e 100644
--- a/starmath/source/smres.src
+++ b/starmath/source/smres.src
@@ -838,19 +838,19 @@
{
MenuItem
{
- Identifier = SID_VIEW050 ;
+ Identifier = SID_ZOOM_50_PERCENT;
HelpId = CMD_SID_VIEW050 ;
Text [ en-US ] = "~View 50%" ;
};
MenuItem
{
- Identifier = SID_VIEW100 ;
+ Identifier = SID_ZOOM_100_PERCENT ;
HelpId = CMD_SID_VIEW100 ;
Text [ en-US ] = "View ~100%" ;
};
MenuItem
{
- Identifier = SID_VIEW200 ;
+ Identifier = SID_ZOOM_200_PERCENT ;
HelpId = CMD_SID_VIEW200 ;
Text [ en-US ] = "View ~200%" ;
};
@@ -868,7 +868,7 @@
};
MenuItem
{
- Identifier = SID_ADJUST ;
+ Identifier = SID_ZOOM_OPTIMAL ;
HelpId = CMD_SID_ADJUST ;
Text [ en-US ] = "~Display All" ;
};
diff --git a/starmath/source/view.cxx b/starmath/source/view.cxx
index d144dde..e6179b8 100644
--- a/starmath/source/view.cxx
+++ b/starmath/source/view.cxx
@@ -1569,21 +1569,8 @@
}
break;
- case SID_ADJUST:
- case SID_FITINWINDOW:
+ case SID_ZOOM_OPTIMAL:
aGraphic.ZoomToFitInWindow();
- break;
-
- case SID_VIEW050:
- aGraphic.SetZoom(50);
- break;
-
- case SID_VIEW100:
- aGraphic.SetZoom(100);
- break;
-
- case SID_VIEW200:
- aGraphic.SetZoom(200);
break;
case SID_ZOOMIN:
@@ -1925,13 +1912,9 @@
case SID_ATTR_ZOOM:
rSet.Put(SvxZoomItem( SVX_ZOOM_PERCENT, aGraphic.GetZoom()));
/* no break here */
- case SID_VIEW050:
- case SID_VIEW100:
- case SID_VIEW200:
- case SID_ADJUST:
case SID_ZOOMIN:
case SID_ZOOMOUT:
- case SID_FITINWINDOW:
+ case SID_ZOOM_OPTIMAL:
if ( GetViewFrame()->GetFrame().IsInPlace() )
rSet.DisableItem( nWh );
break;
diff --git a/starmath/uiconfig/smath/toolbar/toolbar.xml b/starmath/uiconfig/smath/toolbar/toolbar.xml
index 7ac3103..ae74d5e 100644
--- a/starmath/uiconfig/smath/toolbar/toolbar.xml
+++ b/starmath/uiconfig/smath/toolbar/toolbar.xml
@@ -20,10 +20,10 @@
<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
<toolbar:toolbaritem xlink:href=".uno:ZoomIn" toolbar:text=""/>
<toolbar:toolbaritem xlink:href=".uno:ZoomOut" toolbar:text=""/>
- <toolbar:toolbaritem xlink:href=".uno:View100" toolbar:text=""/>
- <toolbar:toolbaritem xlink:href=".uno:Adjust" toolbar:text=""/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom100Percent" toolbar:text=""/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomOptimal" toolbar:text=""/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:Draw" toolbar:text=""/>
<toolbar:toolbaritem xlink:href=".uno:FormelCursor" toolbar:text=""/>
<toolbar:toolbaritem xlink:href=".uno:SymbolCatalogue" toolbar:text=""/>
-</toolbar:toolbar>
\ No newline at end of file
+</toolbar:toolbar>
--
To view, visit https://gerrit.libreoffice.org/4076
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie1ae413780551b34aa36b338f9a9df79a198319c
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Rodolfo Ribeiro Gomes <libo at rodolfo.eng.br>
More information about the LibreOffice
mailing list