diff --git a/framework/source/uielement/langselectionmenucontroller.cxx b/framework/source/uielement/langselectionmenucontroller.cxx index 8d1ced1d61d7..60784531249a 100644 --- a/framework/source/uielement/langselectionmenucontroller.cxx +++ b/framework/source/uielement/langselectionmenucontroller.cxx @@ -207,7 +207,7 @@ void LanguageSelectionMenuController::fillPopupMenu( Reference< css::awt::XPopup OUString aCmd_Language; if( eMode == MODE_SetLanguageSelectionMenu ) { - aCmd_Dialog += ".uno:FontDialog?Language:string=*"; + aCmd_Dialog += ".uno:FontDialog?Page:string=font"; aCmd_Language += ".uno:LanguageStatus?Language:string=Current_"; } else if ( eMode == MODE_SetLanguageParagraphMenu ) diff --git a/sw/source/uibase/shells/annotsh.cxx b/sw/source/uibase/shells/annotsh.cxx index e26f7d62e2de..ad5b11cbb2e3 100644 --- a/sw/source/uibase/shells/annotsh.cxx +++ b/sw/source/uibase/shells/annotsh.cxx @@ -466,8 +466,11 @@ void SwAnnotationShell::Exec( SfxRequest &rReq ) case SID_CHAR_DLG: { const SfxItemSet* pArgs = rReq.GetArgs(); + const SfxPoolItem* pItem = 0; + if (nSlot == SID_CHAR_DLG) + pItem = pArgs->GetItem(FN_PARAM_1, false, TYPE(SfxStringItem) ); - if( !pArgs ) + if( !pArgs || pItem ) { /* mod SwView* pView = &GetView(); @@ -490,6 +493,13 @@ void SwAnnotationShell::Exec( SfxRequest &rReq ) { pDlg->SetCurPageId("fonteffects"); } + else if (pItem) + { + const SfxStringItem* pStringItem = static_cast< const SfxStringItem* >(pItem); + if (pStringItem) + pDlg->SetCurPageId(OUStringToOString(pStringItem->GetValue(), RTL_TEXTENCODING_UTF8)); + } + sal_uInt16 nRet = pDlg->Execute(); if(RET_OK == nRet ) { diff --git a/sw/source/uibase/shells/drwtxtex.cxx b/sw/source/uibase/shells/drwtxtex.cxx index 559a50d5a537..907dc5a09d91 100644 --- a/sw/source/uibase/shells/drwtxtex.cxx +++ b/sw/source/uibase/shells/drwtxtex.cxx @@ -298,8 +298,11 @@ void SwDrawTextShell::Execute( SfxRequest &rReq ) case SID_CHAR_DLG_FOR_PARAGRAPH: { const SfxItemSet* pArgs = rReq.GetArgs(); + const SfxPoolItem* pItem = 0; + if (nSlot == SID_CHAR_DLG) + pItem = pArgs->GetItem(FN_PARAM_1, false, TYPE(SfxStringItem) ); - if( !pArgs ) + if( !pArgs || pItem ) { aOldSelection = pOLV->GetSelection(); if (nSlot == SID_CHAR_DLG_FOR_PARAGRAPH) @@ -329,6 +332,17 @@ void SwDrawTextShell::Execute( SfxRequest &rReq ) { pDlg->SetCurPageId("fonteffects"); } + else if (nSlot == SID_CHAR_DLG_FOR_PARAGRAPH) + { + pDlg->SetCurPageId("font"); + } + else if (pItem) + { + const SfxStringItem* pStringItem = static_cast< const SfxStringItem* >(pItem); + if (pStringItem) + pDlg->SetCurPageId(OUStringToOString(pStringItem->GetValue(), RTL_TEXTENCODING_UTF8)); + } + sal_uInt16 nRet = pDlg->Execute(); if(RET_OK == nRet ) { diff --git a/sw/source/uibase/shells/textsh1.cxx b/sw/source/uibase/shells/textsh1.cxx index 9ef3ae418be8..c8995964b19a 100644 --- a/sw/source/uibase/shells/textsh1.cxx +++ b/sw/source/uibase/shells/textsh1.cxx @@ -183,12 +183,11 @@ void sw_CharDialog( SwWrtShell &rWrtSh, bool bUseDialog, sal_uInt16 nSlot,const { pDlg->SetCurPageId("fonteffects"); } - else if (pDlg && nSlot == SID_ATTR_CHAR_FONT) + else if (pDlg && (nSlot == SID_ATTR_CHAR_FONT || nSlot == SID_CHAR_DLG_FOR_PARAGRAPH)) { pDlg->SetCurPageId("font"); } - - if (pReq) + else if (pDlg && pReq) { SFX_REQUEST_ARG((*pReq), pItem, SfxStringItem, FN_PARAM_1, false); if (pItem)