diff options
author | Rodolfo Ribeiro Gomes <rodolforg@gmail.com> | 2013-05-28 11:22:05 -0300 |
---|---|---|
committer | Luboš Luňák <l.lunak@suse.cz> | 2013-05-30 15:44:47 +0000 |
commit | ffc2e5be1f712b09710e2096ad2f7eb81b80118d (patch) | |
tree | 7f4fa2234c3b41d49d12f1d1760b4e6d73e5c7ea /sfx2 | |
parent | 615b3c8425fa0c5e91f61c434cd03f94897b2cac (diff) |
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
Reviewed-on: https://gerrit.libreoffice.org/4076
Reviewed-by: Luboš Luňák <l.lunak@suse.cz>
Tested-by: Luboš Luňák <l.lunak@suse.cz>
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/sdi/appslots.sdi | 8 | ||||
-rw-r--r-- | sfx2/source/appl/appserv.cxx | 16 |
2 files changed, 24 insertions, 0 deletions
diff --git a/sfx2/sdi/appslots.sdi b/sfx2/sdi/appslots.sdi index aa1da36faebf..320a75e121d2 100644 --- a/sfx2/sdi/appslots.sdi +++ b/sfx2/sdi/appslots.sdi @@ -182,34 +182,42 @@ interface Application 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 80a380ff0552..825125d0d48f 100644 --- a/sfx2/source/appl/appserv.cxx +++ b/sfx2/source/appl/appserv.cxx @@ -827,6 +827,22 @@ void SfxApplication::MiscState_Impl(SfxItemSet &rSet) } 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; } |