sd/source/ui/func/fuolbull.cxx | 5 ++++- sd/source/ui/view/drviews2.cxx | 5 ++++- svx/sdi/svx.sdi | 2 +- svx/source/tbxctrls/bulletsnumbering.cxx | 26 ++++++++++++++++++++++---- sw/source/uibase/shells/txtnum.cxx | 3 +++ 5 files changed, 34 insertions(+), 7 deletions(-)
New commits: commit cb6ced50c11ea71e5655c46e49f17f3b5921f526 Author: Maxim Monastirsky <[email protected]> Date: Sun Nov 23 10:19:40 2014 +0200 fdo#86546 Open the right tab for more bullets and numbering Change-Id: Ib8dda6eab89c92fa9bea98e3570896ea02692585 diff --git a/sd/source/ui/func/fuolbull.cxx b/sd/source/ui/func/fuolbull.cxx index aa19030..9888738 100644 --- a/sd/source/ui/func/fuolbull.cxx +++ b/sd/source/ui/func/fuolbull.cxx @@ -68,8 +68,9 @@ void FuOutlineBullet::DoExecute( SfxRequest& rReq ) } const SfxItemSet* pArgs = rReq.GetArgs(); + SFX_ITEMSET_ARG( pArgs, pPageItem, SfxStringItem, FN_PARAM_1, false ); - if( !pArgs ) + if ( !pArgs || pPageItem ) { // fill ItemSet for Dialog SfxItemSet aEditAttr( mpDoc->GetPool() ); @@ -84,6 +85,8 @@ void FuOutlineBullet::DoExecute( SfxRequest& rReq ) boost::scoped_ptr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSdOutlineBulletTabDlg( NULL, &aNewAttr, mpView ) : 0); if( pDlg ) { + if ( pPageItem ) + pDlg->SetCurPageId( OUStringToOString( pPageItem->GetValue(), RTL_TEXTENCODING_UTF8 ) ); sal_uInt16 nResult = pDlg->Execute(); switch( nResult ) diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi index 9691ba5..565ee34 100644 --- a/svx/sdi/svx.sdi +++ b/svx/sdi/svx.sdi @@ -7918,7 +7918,7 @@ SvxOrphansItem Orphan SID_ATTR_PARA_ORPHANS SfxVoidItem OutlineBullet SID_OUTLINE_BULLET -() +(SfxStringItem Page FN_PARAM_1) [ /* flags: */ AutoUpdate = FALSE, diff --git a/svx/source/tbxctrls/bulletsnumbering.cxx b/svx/source/tbxctrls/bulletsnumbering.cxx index 3f848c2..bc47a66 100644 --- a/svx/source/tbxctrls/bulletsnumbering.cxx +++ b/svx/source/tbxctrls/bulletsnumbering.cxx @@ -34,15 +34,17 @@ #define NUM_PAGETYPE_BULLET 0 #define NUM_PAGETYPE_SINGLENUM 1 +class NumberingToolBoxControl; + class NumberingPopup : public svtools::ToolbarMenu { bool mbBulletItem; - svt::ToolboxController& mrController; + NumberingToolBoxControl& mrController; SvxNumValueSet* mpValueSet; DECL_LINK( VSSelectHdl, void * ); public: - NumberingPopup( svt::ToolboxController& rController, + NumberingPopup( NumberingToolBoxControl& rController, const css::uno::Reference< css::frame::XFrame >& rFrame, vcl::Window* pParent, bool bBulletItem ); @@ -57,6 +59,7 @@ class NumberingToolBoxControl : public svt::PopupWindowController public: NumberingToolBoxControl( const css::uno::Reference< css::uno::XComponentContext >& rxContext ); virtual vcl::Window* createPopupWindow( vcl::Window* pParent ) SAL_OVERRIDE; + bool IsInImpressDraw(); // XStatusListener virtual void SAL_CALL statusChanged( const css::frame::FeatureStateEvent& rEvent ) @@ -76,7 +79,7 @@ public: }; //class NumberingPopup -NumberingPopup::NumberingPopup( svt::ToolboxController& rController, +NumberingPopup::NumberingPopup( NumberingToolBoxControl& rController, const css::uno::Reference< css::frame::XFrame >& rFrame, vcl::Window* pParent, bool bBulletItem ) : ToolbarMenu( rFrame, pParent, WB_STDPOPUP ), @@ -164,7 +167,16 @@ IMPL_LINK( NumberingPopup, VSSelectHdl, void *, pControl ) } else if ( getSelectedEntryId() == 1 ) { - css::uno::Sequence< css::beans::PropertyValue > aArgs( 0 ); + OUString aPageName; + if ( mrController.IsInImpressDraw() ) + aPageName = "customize"; + else + // Writer variants + aPageName = "options"; + + css::uno::Sequence< css::beans::PropertyValue > aArgs( 1 ); + aArgs[0].Name = "Page"; + aArgs[0].Value <<= aPageName; mrController.dispatchCommand( ".uno:OutlineBullet", aArgs ); } @@ -184,6 +196,12 @@ vcl::Window* NumberingToolBoxControl::createPopupWindow( vcl::Window* pParent ) return new NumberingPopup( *this, m_xFrame, pParent, mbBulletItem ); } +bool NumberingToolBoxControl::IsInImpressDraw() +{ + return ( m_sModuleName == "com.sun.star.presentation.PresentationDocument" || + m_sModuleName == "com.sun.star.drawing.DrawingDocument" ); +} + void SAL_CALL NumberingToolBoxControl::statusChanged( const css::frame::FeatureStateEvent& rEvent ) throw ( css::uno::RuntimeException, std::exception ) { diff --git a/sw/source/uibase/shells/txtnum.cxx b/sw/source/uibase/shells/txtnum.cxx index 79fa813..359ff14 100644 --- a/sw/source/uibase/shells/txtnum.cxx +++ b/sw/source/uibase/shells/txtnum.cxx @@ -186,6 +186,9 @@ void SwTextShell::ExecEnterNum(SfxRequest &rReq) boost::scoped_ptr<SfxAbstractTabDialog> pDlg(pFact->CreateSwTabDialog( DLG_SVXTEST_NUM_BULLET, GetView().GetWindow(), &aSet, GetShell())); OSL_ENSURE(pDlg, "Dialog creation failed!"); + SFX_REQUEST_ARG( rReq, pPageItem, SfxStringItem, FN_PARAM_1, false ); + if ( pPageItem ) + pDlg->SetCurPageId( OUStringToOString( pPageItem->GetValue(), RTL_TEXTENCODING_UTF8 ) ); const short nRet = pDlg->Execute(); const SfxPoolItem* pItem; if ( RET_OK == nRet ) commit 2497285dcaf135e55daf273607ed86575c8032ac Author: Maxim Monastirsky <[email protected]> Date: Sun Nov 23 00:32:48 2014 +0200 Related: fdo#83572 Deactivate previous function when inserting object Change-Id: I790202676210e6724c369996f26651ab5307ee72 diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx index c8b6c07..00d1b0d 100644 --- a/sd/source/ui/view/drviews2.cxx +++ b/sd/source/ui/view/drviews2.cxx @@ -1159,7 +1159,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) case SID_ATTR_TABLE: { SetCurrentFunction( FuInsertOLE::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) ); - + // Set the selection tool as the old one. This in particular important for the + // zoom function, in which clicking without dragging zooms as well, and that + // makes exiting the object editing mode impossible. + SetOldFunction( FuSelection::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) ); Cancel(); rReq.Ignore (); _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
