diff options
author | Maxim Monastirsky <momonasmon@gmail.com> | 2015-07-21 10:58:39 +0300 |
---|---|---|
committer | Maxim Monastirsky <momonasmon@gmail.com> | 2015-07-21 17:36:09 +0300 |
commit | 74cc3fbc17235f5c0010c363342a9a9adaf85c4e (patch) | |
tree | 102212f766aa8a0abd5691b15e37e48462360ae7 | |
parent | Simplify (diff) | |
download | core-74cc3fbc17235f5c0010c363342a9a9adaf85c4e.tar.gz core-74cc3fbc17235f5c0010c363342a9a9adaf85c4e.zip |
tdf#36796 Status updates for custom shapes buttons
We're dealing here with 2 bugs:
1. Single shape buttons (like rectangle, ellipse etc.) don't get
the pressed state when active. The cause is that all commands of
the same kind (Basic Shapes, Symbol Shapes etc.) are handled as
one internally, allowing only one type of status updates. It used
to transport the current active shape, but it was changed to a
boolean value in the fix for i#41753, and since then used for
the pressed state of the group buttons.
2. The pressed state of a group button shows always, even when a
user activates a shape from a place other than the drop-down
of that button. But in this case the image of the group button
doesn't update with the current shape, thus confusing the user on
what is currently active. The cause here is that we use (since
i#41753) the XSubToolbarController interface to update the last
selected function (instead of the old-style status based update),
and ToolBarManager notifies a controller about a new selection
only if it was made from a particular toolbar that the controller
claimed to use in the getSubToolbarName method.
Since 7352a7c17875e5adcc4226c45f4a03e11c44ff49 there is a similar
regression for other group buttons in sd (like lines, 3D Objects
and other), with the same cause. This is also fixed now.
Change-Id: Ida074a001ff78bf5bd5bcb8151516daa6e27cbce
-rw-r--r-- | framework/source/uielement/subtoolbarcontroller.cxx | 53 | ||||
-rw-r--r-- | sc/source/ui/view/tabvwsh2.cxx | 2 | ||||
-rw-r--r-- | sd/sdi/sdraw.sdi | 22 | ||||
-rw-r--r-- | sd/source/ui/func/fuconcs.cxx | 5 | ||||
-rw-r--r-- | sd/source/ui/inc/DrawViewShell.hxx | 1 | ||||
-rw-r--r-- | sd/source/ui/inc/fuconcs.hxx | 1 | ||||
-rw-r--r-- | sd/source/ui/table/tablefunction.cxx | 1 | ||||
-rw-r--r-- | sd/source/ui/view/drviews2.cxx | 17 | ||||
-rw-r--r-- | sd/source/ui/view/drviews7.cxx | 47 | ||||
-rw-r--r-- | sd/source/ui/view/drviewsc.cxx | 155 | ||||
-rw-r--r-- | sd/source/ui/view/drviewse.cxx | 9 | ||||
-rw-r--r-- | sfx2/sdi/sfx.sdi | 2 | ||||
-rw-r--r-- | svx/sdi/svx.sdi | 12 | ||||
-rw-r--r-- | sw/source/uibase/uiview/viewstat.cxx | 2 |
14 files changed, 76 insertions, 253 deletions
diff --git a/framework/source/uielement/subtoolbarcontroller.cxx b/framework/source/uielement/subtoolbarcontroller.cxx index 63a0984cafd0..3a06a104ec2e 100644 --- a/framework/source/uielement/subtoolbarcontroller.cxx +++ b/framework/source/uielement/subtoolbarcontroller.cxx @@ -102,6 +102,8 @@ SubToolBarController::SubToolBarController( const css::uno::Sequence< css::uno:: break; } } + if ( !m_aLastCommand.isEmpty() ) + addStatusListener( m_aLastCommand ); } SubToolBarController::~SubToolBarController() @@ -131,32 +133,41 @@ void SubToolBarController::statusChanged( const css::frame::FeatureStateEvent& E sal_uInt16 nId = 0; if ( getToolboxId( nId, &pToolBox ) ) { - pToolBox->EnableItem( nId, Event.IsEnabled ); ToolBoxItemBits nItemBits = pToolBox->GetItemBits( nId ); nItemBits &= ~ToolBoxItemBits::CHECKABLE; TriState eTri = TRISTATE_FALSE; - bool bValue; - css::frame::status::ItemStatus aItemState; - css::frame::status::Visibility aItemVisibility; - - if ( Event.State >>= bValue ) - { - // Boolean, treat it as checked/unchecked - pToolBox->SetItemBits( nId, nItemBits ); - pToolBox->CheckItem( nId, bValue ); - if ( bValue ) - eTri = TRISTATE_TRUE; - nItemBits |= ToolBoxItemBits::CHECKABLE; - } - else if ( Event.State >>= aItemState ) + if ( Event.FeatureURL.Complete == m_aCommandURL ) { - eTri = TRISTATE_INDET; - nItemBits |= ToolBoxItemBits::CHECKABLE; + pToolBox->EnableItem( nId, Event.IsEnabled ); + + OUString aStrValue; + css::frame::status::Visibility aItemVisibility; + if ( Event.State >>= aStrValue ) + { + // Enum command, such as the current custom shape, + // toggle checked state. + if ( m_aLastCommand == OUString( m_aCommandURL + "." + aStrValue ) ) + { + eTri = TRISTATE_TRUE; + nItemBits |= ToolBoxItemBits::CHECKABLE; + } + } + else if ( Event.State >>= aItemVisibility ) + { + pToolBox->ShowItem( nId, aItemVisibility.bVisible ); + } } - else if ( Event.State >>= aItemVisibility ) + else { - pToolBox->ShowItem( nId, aItemVisibility.bVisible ); + bool bValue; + if ( Event.State >>= bValue ) + { + // Boolean, treat it as checked/unchecked + if ( bValue ) + eTri = TRISTATE_TRUE; + nItemBits |= ToolBoxItemBits::CHECKABLE; + } } pToolBox->SetItemState( nId, eTri ); @@ -261,9 +272,11 @@ OUString SubToolBarController::getSubToolbarName() void SubToolBarController::functionSelected( const OUString& rCommand ) throw ( css::uno::RuntimeException, std::exception ) { - if ( !m_aLastCommand.isEmpty() ) + if ( !m_aLastCommand.isEmpty() && m_aLastCommand != rCommand ) { + removeStatusListener( m_aLastCommand ); m_aLastCommand = rCommand; + addStatusListener( m_aLastCommand ); updateImage(); } } diff --git a/sc/source/ui/view/tabvwsh2.cxx b/sc/source/ui/view/tabvwsh2.cxx index 6bf6439cbbeb..6e229523d346 100644 --- a/sc/source/ui/view/tabvwsh2.cxx +++ b/sc/source/ui/view/tabvwsh2.cxx @@ -440,7 +440,7 @@ void ScTabViewShell::GetDrawState(SfxItemSet &rSet) case SID_DRAWTBX_CS_FLOWCHART: case SID_DRAWTBX_CS_CALLOUT: case SID_DRAWTBX_CS_STAR: - rSet.Put( SfxBoolItem( nWhich, nDrawSfxId == nWhich ) ); + rSet.Put( SfxStringItem( nWhich, nDrawSfxId == nWhich ? sDrawCustom : OUString() ) ); break; } nWhich = aIter.NextWhich(); diff --git a/sd/sdi/sdraw.sdi b/sd/sdi/sdraw.sdi index 4a024352d829..d91e21bec36f 100644 --- a/sd/sdi/sdraw.sdi +++ b/sd/sdi/sdraw.sdi @@ -16,7 +16,7 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -SfxBoolItem AdvancedMode SID_OBJECT_CHOOSE_MODE +SfxVoidItem AdvancedMode SID_OBJECT_CHOOSE_MODE [ /* flags: */ @@ -196,7 +196,7 @@ SfxUInt16Item AnimatorState SID_ANIMATOR_STATE GroupId = GID_OPTIONS; ] -SfxBoolItem ArrowsToolbox SID_DRAWTBX_ARROWS +SfxVoidItem ArrowsToolbox SID_DRAWTBX_ARROWS [ /* flags: */ @@ -250,7 +250,7 @@ SfxVoidItem BeforeObject SID_BEFORE_OBJ () [ /* flags: */ - AutoUpdate = FALSE, + AutoUpdate = TRUE, Cachable = Cachable, FastCall = FALSE, HasCoreId = FALSE, @@ -274,7 +274,7 @@ SfxVoidItem BehindObject SID_BEHIND_OBJ () [ /* flags: */ - AutoUpdate = FALSE, + AutoUpdate = TRUE, Cachable = Cachable, FastCall = FALSE, HasCoreId = FALSE, @@ -1292,7 +1292,7 @@ SfxBoolItem ConnectorLinesCircleStart SID_CONNECTOR_LINES_CIRCLE_START GroupId = GID_CONNECTOR; ] -SfxBoolItem ConnectorToolbox SID_DRAWTBX_CONNECTORS +SfxVoidItem ConnectorToolbox SID_DRAWTBX_CONNECTORS [ /* flags: */ @@ -2157,7 +2157,7 @@ SfxBoolItem CustomAnimationSchemes SID_CUSTOM_ANIMATION_SCHEMES_PANEL GroupId = GID_OPTIONS; ] -SfxBoolItem EllipseToolbox SID_DRAWTBX_ELLIPSES +SfxVoidItem EllipseToolbox SID_DRAWTBX_ELLIPSES [ /* flags: */ @@ -3889,7 +3889,7 @@ SfxVoidItem LineTo SID_LINETO GroupId = GID_DRAWING; ] -SfxBoolItem LineToolbox SID_DRAWTBX_LINES +SfxVoidItem LineToolbox SID_DRAWTBX_LINES [ /* flags: */ @@ -4516,7 +4516,7 @@ SfxBoolItem NotesMode SID_NOTESMODE GroupId = GID_VIEW; ] -SfxBoolItem ObjectPosition SID_POSITION +SfxVoidItem ObjectPosition SID_POSITION [ /* flags: */ @@ -4542,7 +4542,7 @@ SfxBoolItem ObjectPosition SID_POSITION GroupId = GID_MODIFY; ] -SfxBoolItem Objects3DToolbox SID_DRAWTBX_3D_OBJECTS +SfxVoidItem Objects3DToolbox SID_DRAWTBX_3D_OBJECTS [ /* flags: */ @@ -5195,7 +5195,7 @@ SfxBoolItem QuickEdit SID_QUICKEDIT GroupId = GID_OPTIONS; ] -SfxBoolItem RectangleToolbox SID_DRAWTBX_RECTANGLES +SfxVoidItem RectangleToolbox SID_DRAWTBX_RECTANGLES [ /* flags: */ @@ -5994,7 +5994,7 @@ SfxBoolItem TextAutoFitToSize SID_OUTLINE_TEXT_AUTOFIT GroupId = GID_FORMAT; ] -SfxBoolItem TextToolbox SID_DRAWTBX_TEXT +SfxVoidItem TextToolbox SID_DRAWTBX_TEXT [ /* flags: */ diff --git a/sd/source/ui/func/fuconcs.cxx b/sd/source/ui/func/fuconcs.cxx index af30ec286d9b..53a31f8cbad7 100644 --- a/sd/source/ui/func/fuconcs.cxx +++ b/sd/source/ui/func/fuconcs.cxx @@ -258,6 +258,11 @@ void FuConstructCustomShape::SetAttributes( SdrObject* pObj ) } } +OUString FuConstructCustomShape::GetShapeType() const +{ + return aCustomShape; +} + SdrObject* FuConstructCustomShape::CreateDefaultObject(const sal_uInt16, const Rectangle& rRectangle) { SdrObject* pObj = SdrObjFactory::MakeNewObject( diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx index b2d2d10e8235..b3eefc112328 100644 --- a/sd/source/ui/inc/DrawViewShell.hxx +++ b/sd/source/ui/inc/DrawViewShell.hxx @@ -420,7 +420,6 @@ protected: void SetupPage( Size &rSize, long nLeft, long nRight, long nUpper, long nLower, bool bSize, bool bMargin, bool bScaleAll ); - static sal_uInt16 GetIdBySubId( sal_uInt16 nSId ); void GetMenuStateSel(SfxItemSet& rSet); private: diff --git a/sd/source/ui/inc/fuconcs.hxx b/sd/source/ui/inc/fuconcs.hxx index 63c6b71a28f8..5e253a2813ac 100644 --- a/sd/source/ui/inc/fuconcs.hxx +++ b/sd/source/ui/inc/fuconcs.hxx @@ -46,6 +46,7 @@ public: virtual void Activate() SAL_OVERRIDE; void SetAttributes( SdrObject* pObj ); + OUString GetShapeType() const; virtual SdrObject* CreateDefaultObject(const sal_uInt16 nID, const Rectangle& rRectangle) SAL_OVERRIDE; diff --git a/sd/source/ui/table/tablefunction.cxx b/sd/source/ui/table/tablefunction.cxx index 291cff7798f5..15731f7661d1 100644 --- a/sd/source/ui/table/tablefunction.cxx +++ b/sd/source/ui/table/tablefunction.cxx @@ -190,7 +190,6 @@ void DrawViewShell::FuTable(SfxRequest& rReq) else mpView->InsertObjectAtView(pObj, *pPV, SdrInsertFlags::SETDEFLAYER); - Invalidate(SID_DRAWTBX_INSERT); rReq.Ignore(); SfxViewShell* pViewShell = GetViewShell(); OSL_ASSERT (pViewShell!=NULL); diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx index 7108b3571d12..9999d012a361 100644 --- a/sd/source/ui/view/drviews2.cxx +++ b/sd/source/ui/view/drviews2.cxx @@ -1111,7 +1111,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) SetCurrentFunction( FuInsertGraphic::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) ); Cancel(); rReq.Ignore (); - Invalidate(SID_DRAWTBX_INSERT); } break; @@ -1121,8 +1120,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) Cancel(); rReq.Ignore (); - - Invalidate(SID_DRAWTBX_INSERT); } break; @@ -1142,8 +1139,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) SetOldFunction( FuSelection::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) ); Cancel(); rReq.Ignore (); - - Invalidate(SID_DRAWTBX_INSERT); } break; #if HAVE_FEATURE_GLTF @@ -1153,8 +1148,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) Cancel(); rReq.Ignore (); - - Invalidate(SID_DRAWTBX_INSERT); } break; #endif @@ -1187,8 +1180,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) Broadcast (ViewShellHint(ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_END)); Cancel(); rReq.Done (); - - Invalidate(SID_DRAWTBX_INSERT); } break; @@ -1205,8 +1196,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) case SID_BEHIND_OBJ: { SetCurrentFunction( FuDisplayOrder::Create(this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) ); - Invalidate( SID_POSITION ); - rReq.Ignore (); + rReq.Done(); // finishes itself, no Cancel() needed! } break; @@ -1214,7 +1204,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) case SID_REVERSE_ORDER: // BASIC { mpDrawView->ReverseOrderOfMarked(); - Invalidate( SID_POSITION ); Cancel(); rReq.Done (); } @@ -2421,7 +2410,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) { mpDrawView->PutMarkedToTop(); Cancel(); - Invalidate( SID_POSITION ); rReq.Done (); } break; @@ -2430,7 +2418,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) { mpDrawView->MovMarkedToTop(); Cancel(); - Invalidate( SID_POSITION ); rReq.Done (); } break; @@ -2439,7 +2426,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) { mpDrawView->MovMarkedToBtm(); Cancel(); - Invalidate( SID_POSITION ); rReq.Done (); } break; @@ -2448,7 +2434,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) { mpDrawView->PutMarkedToBtm(); Cancel(); - Invalidate( SID_POSITION ); rReq.Done (); } break; diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx index ca5023b8ea39..b773cff8484b 100644 --- a/sd/source/ui/view/drviews7.cxx +++ b/sd/source/ui/view/drviews7.cxx @@ -82,6 +82,7 @@ #include "Window.hxx" #include "fuediglu.hxx" #include "fubullet.hxx" +#include "fuconcs.hxx" #include "fuformatpaintbrush.hxx" #include <config_features.h> @@ -278,11 +279,7 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) if(HasCurrentFunction()) { sal_uInt16 nSId = GetCurrentFunction()->GetSlotID(); - sal_uInt16 nMainId = GetIdBySubId( nSId ); - rSet.Put( SfxBoolItem( nSId, true ) ); - if ( nMainId != 0 ) - rSet.Put( SfxBoolItem( nMainId, true ) ); } SdrPageView* pPageView = mpDrawView->GetSdrPageView(); @@ -1047,7 +1044,6 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) nCurrentSId = SID_ATTR_CHAR; rSet.Put( SfxBoolItem( nCurrentSId, true ) ); - rSet.Put( SfxBoolItem( SID_DRAWTBX_TEXT, true ) ); } if ( GetDocSh()->IsReadOnly() ) @@ -1334,20 +1330,8 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) if( xSlideshow.is() && xSlideshow->isRunning() ) { - rSet.ClearItem(SID_ZOOM_TOOLBOX); - rSet.ClearItem(SID_OBJECT_CHOOSE_MODE); - rSet.ClearItem(SID_DRAWTBX_TEXT); - rSet.ClearItem(SID_DRAWTBX_RECTANGLES); - rSet.ClearItem(SID_DRAWTBX_ELLIPSES); - rSet.ClearItem(SID_DRAWTBX_LINES); - rSet.ClearItem(SID_DRAWTBX_ARROWS); - rSet.ClearItem(SID_DRAWTBX_3D_OBJECTS); - rSet.ClearItem(SID_DRAWTBX_CONNECTORS); - rSet.ClearItem(SID_OBJECT_CHOOSE_MODE ); - rSet.ClearItem(SID_DRAWTBX_INSERT); rSet.ClearItem(SID_INSERTFILE); rSet.ClearItem(SID_OBJECT_ROTATE); - rSet.ClearItem(SID_POSITION); rSet.ClearItem(SID_FM_CONFIG); rSet.ClearItem(SID_ANIMATION_EFFECTS); rSet.ClearItem(SID_ANIMATION_OBJECTS); @@ -1538,22 +1522,23 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) //highlight selected custom shape { - sal_uInt16 nCurrentSId = 0; if(HasCurrentFunction()) - nCurrentSId = GetCurrentFunction()->GetSlotID(); + { + rtl::Reference< FuPoor > xFunc( GetCurrentFunction() ); + FuConstructCustomShape* pShapeFunc = dynamic_cast< FuConstructCustomShape* >( xFunc.get() ); + + static const sal_uInt16 nCSTbArray[] = { SID_DRAWTBX_CS_BASIC, SID_DRAWTBX_CS_SYMBOL, + SID_DRAWTBX_CS_ARROW, SID_DRAWTBX_CS_FLOWCHART, + SID_DRAWTBX_CS_CALLOUT, SID_DRAWTBX_CS_STAR }; - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_BASIC ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_BASIC, SID_DRAWTBX_CS_BASIC == nCurrentSId )); - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_SYMBOL ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_SYMBOL, SID_DRAWTBX_CS_SYMBOL == nCurrentSId )); - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_ARROW ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_ARROW, SID_DRAWTBX_CS_ARROW == nCurrentSId )); - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_FLOWCHART ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_FLOWCHART, SID_DRAWTBX_CS_FLOWCHART == nCurrentSId )); - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_CALLOUT ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_CALLOUT,SID_DRAWTBX_CS_CALLOUT == nCurrentSId )); - if ( SfxItemState::DEFAULT == rSet.GetItemState( SID_DRAWTBX_CS_STAR ) ) - rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_STAR, SID_DRAWTBX_CS_STAR == nCurrentSId )); + const sal_uInt16 nCurrentSId = GetCurrentFunction()->GetSlotID(); + for ( size_t i = 0; i < SAL_N_ELEMENTS( nCSTbArray ); ++i ) + { + rSet.ClearItem( nCSTbArray[i] ); // Why is this necessary? + rSet.Put( SfxStringItem( nCSTbArray[i], nCurrentSId == nCSTbArray[i] && pShapeFunc + ? pShapeFunc->GetShapeType() : OUString() ) ); + } + } } if ( bDisableEditHyperlink || GetDocSh()->IsReadOnly() ) diff --git a/sd/source/ui/view/drviewsc.cxx b/sd/source/ui/view/drviewsc.cxx index 78afdcf83cf9..61957356d273 100644 --- a/sd/source/ui/view/drviewsc.cxx +++ b/sd/source/ui/view/drviewsc.cxx @@ -51,161 +51,6 @@ #include "sdabstdlg.hxx" namespace sd { -/** - * Returns the ID of the group button, if it should be toggled. - */ -sal_uInt16 DrawViewShell::GetIdBySubId( sal_uInt16 nSId ) -{ - sal_uInt16 nMappedSId = 0; - switch( nSId ) - { - case SID_OBJECT_ROTATE: - case SID_OBJECT_MIRROR: - case SID_OBJECT_TRANSPARENCE: - case SID_OBJECT_GRADIENT: - case SID_OBJECT_SHEAR: - case SID_OBJECT_CROOK_ROTATE: - case SID_OBJECT_CROOK_SLANT: - case SID_OBJECT_CROOK_STRETCH: - case SID_CONVERT_TO_3D_LATHE: - { - nMappedSId = SID_OBJECT_CHOOSE_MODE; - } - break; - - case SID_BEFORE_OBJ: - case SID_BEHIND_OBJ: - { - nMappedSId = SID_POSITION; - } - break; - - case SID_ZOOM_PANNING: - case SID_ZOOM_MODE: - { - nMappedSId = SID_ZOOM_TOOLBOX; - } - break; - - case SID_ATTR_CHAR: - case SID_TEXT_FITTOSIZE: - case SID_DRAW_CAPTION: - case SID_DRAW_FONTWORK: - case SID_DRAW_FONTWORK_VERTICAL: - { - nMappedSId = SID_DRAWTBX_TEXT; - } - break; - - case SID_DRAW_RECT: - case SID_DRAW_SQUARE: - case SID_DRAW_RECT_ROUND: - case SID_DRAW_SQUARE_ROUND: - case SID_DRAW_RECT_NOFILL: - case SID_DRAW_SQUARE_NOFILL: - case SID_DRAW_RECT_ROUND_NOFILL: - case SID_DRAW_SQUARE_ROUND_NOFILL: - { - nMappedSId = SID_DRAWTBX_RECTANGLES; - } - break; - - case SID_DRAW_ELLIPSE: - case SID_DRAW_CIRCLE: - case SID_DRAW_PIE: - case SID_DRAW_CIRCLEPIE: - case SID_DRAW_ELLIPSECUT: - case SID_DRAW_CIRCLECUT: - case SID_DRAW_ARC: - case SID_DRAW_CIRCLEARC: - case SID_DRAW_ELLIPSE_NOFILL: - case SID_DRAW_CIRCLE_NOFILL: - case SID_DRAW_PIE_NOFILL: - case SID_DRAW_CIRCLEPIE_NOFILL: - case SID_DRAW_ELLIPSECUT_NOFILL: - case SID_DRAW_CIRCLECUT_NOFILL: - { - nMappedSId = SID_DRAWTBX_ELLIPSES; - } - break; - - case SID_DRAW_BEZIER_NOFILL: - case SID_DRAW_POLYGON_NOFILL: - case SID_DRAW_XPOLYGON_NOFILL: - case SID_DRAW_FREELINE_NOFILL: - case SID_DRAW_BEZIER_FILL: - case SID_DRAW_POLYGON: - case SID_DRAW_XPOLYGON: - case SID_DRAW_FREELINE: - { - nMappedSId = SID_DRAWTBX_LINES; - } - break; - - case SID_DRAW_LINE: - case SID_DRAW_XLINE: - case SID_DRAW_MEASURELINE: - case SID_LINE_ARROW_START: - case SID_LINE_ARROW_END: - case SID_LINE_ARROWS: - case SID_LINE_ARROW_CIRCLE: - case SID_LINE_CIRCLE_ARROW: - case SID_LINE_ARROW_SQUARE: - case SID_LINE_SQUARE_ARROW: - { - nMappedSId = SID_DRAWTBX_ARROWS; - } - break; - - case SID_3D_CUBE: - case SID_3D_TORUS: - case SID_3D_SPHERE: - case SID_3D_SHELL: - case SID_3D_HALF_SPHERE: - case SID_3D_CYLINDER: - case SID_3D_CONE: - case SID_3D_PYRAMID: - { - nMappedSId = SID_DRAWTBX_3D_OBJECTS; - } - break; - - case SID_TOOL_CONNECTOR: - case SID_CONNECTOR_ARROW_START: - case SID_CONNECTOR_ARROW_END: - case SID_CONNECTOR_ARROWS: - case SID_CONNECTOR_CIRCLE_START: - case SID_CONNECTOR_CIRCLE_END: - case SID_CONNECTOR_CIRCLES: - case SID_CONNECTOR_LINE: - case SID_CONNECTOR_LINE_ARROW_START: - case SID_CONNECTOR_LINE_ARROW_END: - case SID_CONNECTOR_LINE_ARROWS: - case SID_CONNECTOR_LINE_CIRCLE_START: - case SID_CONNECTOR_LINE_CIRCLE_END: - case SID_CONNECTOR_LINE_CIRCLES: - case SID_CONNECTOR_CURVE: - case SID_CONNECTOR_CURVE_ARROW_START: - case SID_CONNECTOR_CURVE_ARROW_END: - case SID_CONNECTOR_CURVE_ARROWS: - case SID_CONNECTOR_CURVE_CIRCLE_START: - case SID_CONNECTOR_CURVE_CIRCLE_END: - case SID_CONNECTOR_CURVE_CIRCLES: - case SID_CONNECTOR_LINES: - case SID_CONNECTOR_LINES_ARROW_START: - case SID_CONNECTOR_LINES_ARROW_END: - case SID_CONNECTOR_LINES_ARROWS: - case SID_CONNECTOR_LINES_CIRCLE_START: - case SID_CONNECTOR_LINES_CIRCLE_END: - case SID_CONNECTOR_LINES_CIRCLES: - { - nMappedSId = SID_DRAWTBX_CONNECTORS; - } - } - return nMappedSId; -} - - void DrawViewShell::UpdateIMapDlg( SdrObject* pObj ) { if( ( pObj->ISA( SdrGrafObj ) || pObj->ISA( SdrOle2Obj ) ) && !mpDrawView->IsTextEdit() && diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx index 70cd2f6e8fc1..0eb9f29177c4 100644 --- a/sd/source/ui/view/drviewse.cxx +++ b/sd/source/ui/view/drviewse.cxx @@ -1133,7 +1133,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); rReq.Done (); } break; @@ -1148,7 +1147,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); rReq.Done (); } break; @@ -1163,7 +1161,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); rReq.Done (); } break; @@ -1177,7 +1174,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) mpZoomList->InsertZoomRect(aVisAreaWin); Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); rReq.Done (); } break; @@ -1194,7 +1190,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); } rReq.Done (); } @@ -1225,7 +1220,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); rReq.Done (); } break; @@ -1258,7 +1252,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) Invalidate( SID_ZOOM_IN ); Invalidate( SID_ZOOM_OUT ); Invalidate( SID_ZOOM_PANNING ); - Invalidate( SID_ZOOM_TOOLBOX ); } rReq.Done (); } @@ -1277,7 +1270,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) SetZoomRect(mpZoomList->GetPreviousZoomRect()); } rReq.Done (); - Invalidate( SID_ZOOM_TOOLBOX ); } break; @@ -1294,7 +1286,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) SetZoomRect(mpZoomList->GetNextZoomRect()); } rReq.Done (); - Invalidate( SID_ZOOM_TOOLBOX ); } break; diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi index 04f61b7d58a2..e207e8b45b53 100644 --- a/sfx2/sdi/sfx.sdi +++ b/sfx2/sdi/sfx.sdi @@ -6668,7 +6668,7 @@ SfxVoidItem ZoomPrevious SID_ZOOM_PREV ] -SfxBoolItem ZoomToolBox SID_ZOOM_TOOLBOX +SfxVoidItem ZoomToolBox SID_ZOOM_TOOLBOX [ /* flags: */ diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi index fe52a8c12291..91a7662cddb8 100644 --- a/svx/sdi/svx.sdi +++ b/svx/sdi/svx.sdi @@ -14174,7 +14174,7 @@ SfxBoolItem BasicShapes SID_DRAWTBX_CS_BASIC Synchron; /* status: */ - SlotType = SfxBoolItem + SlotType = SfxStringItem /* config: */ AccelConfig = TRUE, @@ -14202,7 +14202,7 @@ SfxBoolItem SymbolShapes SID_DRAWTBX_CS_SYMBOL Synchron; /* status: */ - SlotType = SfxBoolItem + SlotType = SfxStringItem /* config: */ AccelConfig = TRUE, @@ -14230,7 +14230,7 @@ SfxBoolItem ArrowShapes SID_DRAWTBX_CS_ARROW Synchron; /* status: */ - SlotType = SfxBoolItem + SlotType = SfxStringItem /* config: */ AccelConfig = TRUE, @@ -14258,7 +14258,7 @@ SfxBoolItem FlowChartShapes SID_DRAWTBX_CS_FLOWCHART Synchron; /* status: */ - SlotType = SfxBoolItem + SlotType = SfxStringItem /* config: */ AccelConfig = TRUE, @@ -14286,7 +14286,7 @@ SfxBoolItem CalloutShapes SID_DRAWTBX_CS_CALLOUT Synchron; /* status: */ - SlotType = SfxBoolItem + SlotType = SfxStringItem /* config: */ AccelConfig = TRUE, @@ -14314,7 +14314,7 @@ SfxBoolItem StarShapes SID_DRAWTBX_CS_STAR Synchron; /* status: */ - SlotType = SfxBoolItem + SlotType = SfxStringItem /* config: */ AccelConfig = TRUE, diff --git a/sw/source/uibase/uiview/viewstat.cxx b/sw/source/uibase/uiview/viewstat.cxx index 43b0c0fd4a2d..be077fd82f48 100644 --- a/sw/source/uibase/uiview/viewstat.cxx +++ b/sw/source/uibase/uiview/viewstat.cxx @@ -520,7 +520,7 @@ void SwView::GetDrawState(SfxItemSet &rSet) if ( bWeb ) rSet.DisableItem( nWhich ); else - rSet.Put( SfxBoolItem( nWhich, m_nDrawSfxId == nWhich ) ); + rSet.Put( SfxStringItem( nWhich, m_nDrawSfxId == nWhich ? m_sDrawCustom : OUString() ) ); } break; |