include/sfx2/sidebar/EnumContext.hxx | 6 officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu | 102 +++++----- officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs | 8 sfx2/source/sidebar/EnumContext.cxx | 6 sfx2/source/sidebar/ResourceManager.cxx | 65 +++--- svx/source/sidebar/paragraph/ParaPropertyPanel.cxx | 10 svx/source/sidebar/possize/PosSizePropertyPanel.cxx | 12 - svx/source/sidebar/text/TextPropertyPanel.cxx | 10 8 files changed, 122 insertions(+), 97 deletions(-)
New commits: commit a6830c7f2bf80eeaa5e570d834d6e1a29085d211 Author: Andre Fischer <a...@apache.org> Date: Tue Apr 23 11:33:28 2013 +0000 Related: #i122051# Sidebar handles more Writer variants. (cherry picked from commit dc36f82362dc1fb159668937cde7cedbc3fad503) Conflicts: sfx2/inc/sfx2/sidebar/EnumContext.hxx Change-Id: I230b6dd3a68d2a17d0433f7919e74f1fcfae8d01 diff --git a/include/sfx2/sidebar/EnumContext.hxx b/include/sfx2/sidebar/EnumContext.hxx index 54b07e0..cad942e 100644 --- a/include/sfx2/sidebar/EnumContext.hxx +++ b/include/sfx2/sidebar/EnumContext.hxx @@ -33,7 +33,9 @@ public: enum Application { Application_Writer, + Application_WriterGlobal, Application_WriterWeb, + Application_WriterXML, Application_Calc, Application_Draw, Application_Impress, @@ -42,8 +44,8 @@ public: // case that Draw and Impress use identical context configurations. Application_DrawImpress, - // Also for your convenience for either Writer or WriterWeb. - Application_WriterAndWeb, + // Also for your convenience for the different variants of Writer documents. + Application_WriterVariants, // Used only by deck or panel descriptors. Matches any // application. diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu index 3187e52..b435c9a 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu @@ -212,11 +212,11 @@ DrawImpress, OutlineText, visible ; DrawImpress, Table, visible ; DrawImpress, TextObject, visible ; - WriterAndWeb, Annotation, visible ; - WriterAndWeb, DrawText, visible ; - WriterAndWeb, Table, visible ; - WriterAndWeb, Text, visible ; - WriterAndWeb, default, visible ; + WriterVariants, Annotation, visible ; + WriterVariants, DrawText, visible ; + WriterVariants, Table, visible ; + WriterVariants, Text, visible ; + WriterVariants, default, visible ; </value> </prop> <prop oor:name="ImplementationURL" oor:type="xs:string"> @@ -316,11 +316,11 @@ </prop> <prop oor:name="ContextList"> <value oor:separator=";"> - Calc, Draw, visible ; - DrawImpress, 3DObject, visible ; - DrawImpress, Draw, visible ; - DrawImpress, TextObject, hidden ; - WriterAndWeb, Draw, visible ; + Calc, Draw, visible ; + DrawImpress, 3DObject, visible ; + DrawImpress, Draw, visible ; + DrawImpress, TextObject, hidden ; + WriterVariants, Draw, visible ; </value> </prop> <prop oor:name="ImplementationURL" oor:type="xs:string"> @@ -346,13 +346,13 @@ </prop> <prop oor:name="ContextList"> <value oor:separator=";"> - Calc, Draw, visible ; - Calc, Graphic, visible ; - DrawImpress, 3DObject, visible ; - DrawImpress, Draw, visible ; - DrawImpress, Graphic, visible ; - DrawImpress, TextObject, hidden ; - WriterAndWeb, Draw, visible ; + Calc, Draw, visible ; + Calc, Graphic, visible ; + DrawImpress, 3DObject, visible ; + DrawImpress, Draw, visible ; + DrawImpress, Graphic, visible ; + DrawImpress, TextObject, hidden ; + WriterVariants, Draw, visible ; </value> </prop> <prop oor:name="ImplementationURL" oor:type="xs:string"> @@ -404,26 +404,26 @@ </prop> <prop oor:name="ContextList"> <value oor:separator=";"> - Calc, Chart, visible ; - Calc, Draw, hidden ; - Calc, Form, visible ; - Calc, Graphic, hidden ; - Calc, Media, visible ; - Calc, MultiObject, visible ; - Calc, OLE, visible ; - DrawImpress, 3DObject, visible ; - DrawImpress, Draw, hidden ; - DrawImpress, Form, visible ; - DrawImpress, Graphic, hidden ; - DrawImpress, Media, visible ; - DrawImpress, MultiObject, visible ; - DrawImpress, OLE, visible ; - DrawImpress, TextObject, hidden ; - WriterAndWeb, Draw, hidden ; - WriterAndWeb, Form, visible ; - WriterAndWeb, Graphic, visible, .uno:GraphicDialog ; - WriterAndWeb, Media, visible ; - WriterAndWeb, OLE, visible, .uno:FrameDialog ; + Calc, Chart, visible ; + Calc, Draw, hidden ; + Calc, Form, visible ; + Calc, Graphic, hidden ; + Calc, Media, visible ; + Calc, MultiObject, visible ; + Calc, OLE, visible ; + DrawImpress, 3DObject, visible ; + DrawImpress, Draw, hidden ; + DrawImpress, Form, visible ; + DrawImpress, Graphic, hidden ; + DrawImpress, Media, visible ; + DrawImpress, MultiObject, visible ; + DrawImpress, OLE, visible ; + DrawImpress, TextObject, hidden ; + WriterVariants, Draw, hidden ; + WriterVariants, Form, visible ; + WriterVariants, Graphic, visible, .uno:GraphicDialog ; + WriterVariants, Media, visible ; + WriterVariants, OLE, visible, .uno:FrameDialog ; </value> </prop> <prop oor:name="ImplementationURL" oor:type="xs:string"> @@ -448,7 +448,7 @@ <value oor:separator=";"> Calc, Graphic, visible ; DrawImpress, Graphic, visible ; - WriterAndWeb, Graphic, visible ; + WriterVariants, Graphic, visible ; </value> </prop> <prop oor:name="ImplementationURL" oor:type="xs:string"> @@ -774,18 +774,18 @@ </prop> <prop oor:name="ContextList"> <value oor:separator=";"> - Calc, DrawText, visible ; - DrawImpress, 3DObject, hidden ; - DrawImpress, Draw, hidden ; - DrawImpress, DrawText, visible ; - DrawImpress, Graphic, hidden ; - DrawImpress, Table, visible ; - DrawImpress, TextObject, visible ; - WriterAndWeb, Annotation, visible ; - WriterAndWeb, DrawText, visible ; - WriterAndWeb, Table, visible ; - WriterAndWeb, Text, visible ; - WriterAndWeb, default, visible ; + Calc, DrawText, visible ; + DrawImpress, 3DObject, hidden ; + DrawImpress, Draw, hidden ; + DrawImpress, DrawText, visible ; + DrawImpress, Graphic, hidden ; + DrawImpress, Table, visible ; + DrawImpress, TextObject, visible ; + WriterVariants, Annotation, visible ; + WriterVariants, DrawText, visible ; + WriterVariants, Table, visible ; + WriterVariants, Text, visible ; + WriterVariants, default, visible ; </value> </prop> <prop oor:name="ImplementationURL" oor:type="xs:string"> @@ -839,7 +839,7 @@ </prop> <prop oor:name="ContextList"> <value oor:separator=";"> - WriterAndWeb, any, visible ; + WriterVariants, any, visible ; </value> </prop> <prop oor:name="ImplementationURL" oor:type="xs:string"> diff --git a/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs b/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs index a5b9ee3..49d6118 100644 --- a/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs @@ -65,6 +65,9 @@ separated values (note that values are case sensitive): 1 Application name. Valid values are com.sun.star.text.TextDocument + com.sun.star.text.GlobalDocument + com.sun.star.text.WebDocument + com.sun.star.xforms.XMLFormDocument com.sun.star.sheet.SpreadsheetDocument com.sun.star.presentation.PresentationDocument com.sun.star.drawing.DrawingDocument @@ -77,9 +80,10 @@ Shortcuts for multiple applications: DrawImpress - WriterAndWeb + WriterVariants These shortcuts exist for even more convenience and handle the frequent case of Draw - and Impress as well as Writer and WriterWeb having otherwise identical context descriptions. + and Impress as well as different variants of the Writer where they have otherwise + identical context descriptions. Special values: any diff --git a/sfx2/source/sidebar/EnumContext.cxx b/sfx2/source/sidebar/EnumContext.cxx index d8d39fb..acc5340 100644 --- a/sfx2/source/sidebar/EnumContext.cxx +++ b/sfx2/source/sidebar/EnumContext.cxx @@ -89,8 +89,10 @@ sal_Int32 EnumContext::GetCombinedContext_DI (void) const return CombinedEnumContext(Application_DrawImpress, meContext); case Application_Writer: + case Application_WriterGlobal: case Application_WriterWeb: - return CombinedEnumContext(Application_WriterAndWeb, meContext); + case Application_WriterXML: + return CombinedEnumContext(Application_WriterVariants, meContext); default: return CombinedEnumContext(meApplication, meContext); @@ -152,7 +154,9 @@ void EnumContext::ProvideApplicationContainers (void) { maApplicationVector.resize(static_cast<size_t>(EnumContext::__LastApplicationEnum)+1); AddEntry(A2S("com.sun.star.text.TextDocument"), EnumContext::Application_Writer); + AddEntry(A2S("com.sun.star.text.GlobalDocument"), EnumContext::Application_WriterGlobal); AddEntry(A2S("com.sun.star.text.WebDocument"), EnumContext::Application_WriterWeb); + AddEntry(A2S("com.sun.star.xforms.XMLFormDocument"), EnumContext::Application_WriterXML); AddEntry(A2S("com.sun.star.sheet.SpreadsheetDocument"), EnumContext::Application_Calc); AddEntry(A2S("com.sun.star.drawing.DrawingDocument"), EnumContext::Application_Draw); AddEntry(A2S("com.sun.star.presentation.PresentationDocument"), EnumContext::Application_Impress); diff --git a/sfx2/source/sidebar/ResourceManager.cxx b/sfx2/source/sidebar/ResourceManager.cxx index efb1fa1..c29ef9a 100644 --- a/sfx2/source/sidebar/ResourceManager.cxx +++ b/sfx2/source/sidebar/ResourceManager.cxx @@ -401,35 +401,41 @@ void ResourceManager::ReadContextList ( : sMenuCommandOverride) : rsDefaultMenuCommand); + // Setup a list of application enums. Note that the + // application name may result in more than one value (eg + // DrawImpress will result in two enums, one for Draw and one + // for Impress). + ::std::vector<EnumContext::Application> aApplications; EnumContext::Application eApplication (EnumContext::GetApplicationEnum(sApplicationName)); - EnumContext::Application eApplication2 (EnumContext::Application_None); if (eApplication == EnumContext::Application_None && !sApplicationName.equals(EnumContext::GetApplicationName(EnumContext::Application_None))) { // Handle some special names: abbreviations that make // context descriptions more readable. if (sApplicationName.equalsAscii("Writer")) - eApplication = EnumContext::Application_Writer; + aApplications.push_back(EnumContext::Application_Writer); else if (sApplicationName.equalsAscii("Calc")) - eApplication = EnumContext::Application_Calc; + aApplications.push_back(EnumContext::Application_Calc); else if (sApplicationName.equalsAscii("Draw")) - eApplication = EnumContext::Application_Draw; + aApplications.push_back(EnumContext::Application_Draw); else if (sApplicationName.equalsAscii("Impress")) - eApplication = EnumContext::Application_Impress; + aApplications.push_back(EnumContext::Application_Impress); else if (sApplicationName.equalsAscii("DrawImpress")) { // A special case among the special names: it is // common to use the same context descriptions for // both Draw and Impress. This special case helps to // avoid duplication in the .xcu file. - eApplication = EnumContext::Application_Draw; - eApplication2 = EnumContext::Application_Impress; + aApplications.push_back(EnumContext::Application_Draw); + aApplications.push_back(EnumContext::Application_Impress); } - else if (sApplicationName.equalsAscii("WriterAndWeb")) + else if (sApplicationName.equalsAscii("WriterVariants")) { - // Another special case for Writer and WriterWeb. - eApplication = EnumContext::Application_Writer; - eApplication2 = EnumContext::Application_WriterWeb; + // Another special case for all Writer variants. + aApplications.push_back(EnumContext::Application_Writer); + aApplications.push_back(EnumContext::Application_WriterGlobal); + aApplications.push_back(EnumContext::Application_WriterWeb); + aApplications.push_back(EnumContext::Application_WriterXML); } else { @@ -437,7 +443,13 @@ void ResourceManager::ReadContextList ( continue; } } + else + { + // No conversion of the application name necessary. + aApplications.push_back(eApplication); + } + // Setup the actual context enum. const EnumContext::Context eContext (EnumContext::GetContextEnum(sContextName)); if (eContext == EnumContext::Context_Unknown) { @@ -445,6 +457,8 @@ void ResourceManager::ReadContextList ( continue; } + // Setup the flag that controls whether a deck/pane is + // initially visible/expanded. bool bIsInitiallyVisible; if (sInitialState.equalsAscii("visible")) bIsInitiallyVisible = true; @@ -456,20 +470,21 @@ void ResourceManager::ReadContextList ( continue; } - if (eApplication != EnumContext::Application_None) - rContextList.AddContextDescription( - Context( - EnumContext::GetApplicationName(eApplication), - EnumContext::GetContextName(eContext)), - bIsInitiallyVisible, - sMenuCommand); - if (eApplication2 != EnumContext::Application_None) - rContextList.AddContextDescription( - Context( - EnumContext::GetApplicationName(eApplication2), - EnumContext::GetContextName(eContext)), - bIsInitiallyVisible, - sMenuCommand); + // Add context descriptors. + for (::std::vector<EnumContext::Application>::const_iterator + iApplication(aApplications.begin()), + iEnd(aApplications.end()); + iApplication!=iEnd; + ++iApplication) + { + if (*iApplication != EnumContext::Application_None) + rContextList.AddContextDescription( + Context( + EnumContext::GetApplicationName(*iApplication), + EnumContext::GetContextName(eContext)), + bIsInitiallyVisible, + sMenuCommand); + } } } diff --git a/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx b/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx index c6b8809..57833b3 100644 --- a/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx +++ b/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx @@ -193,8 +193,8 @@ void ParaPropertyPanel::HandleContextChange ( maTbxProDemoteBackground->Show(); break; - case CombinedEnumContext(Application_WriterAndWeb, Context_Default): - case CombinedEnumContext(Application_WriterAndWeb, Context_Text): + case CombinedEnumContext(Application_WriterVariants, Context_Default): + case CombinedEnumContext(Application_WriterVariants, Context_Text): maTBxVertAlign->Hide(); maTBxVertAlignBackground->Hide(); maTBxBackColor->Show(); @@ -209,7 +209,7 @@ void ParaPropertyPanel::HandleContextChange ( maTbxProDemoteBackground->Hide(); break; - case CombinedEnumContext(Application_WriterAndWeb, Context_Table): + case CombinedEnumContext(Application_WriterVariants, Context_Table): maTBxVertAlign->Show(); maTBxVertAlignBackground->Show(); maTBxBackColor->Show(); @@ -223,7 +223,7 @@ void ParaPropertyPanel::HandleContextChange ( maTbxProDemoteBackground->Hide(); break; - case CombinedEnumContext(Application_WriterAndWeb, Context_DrawText): + case CombinedEnumContext(Application_WriterVariants, Context_DrawText): maTBxVertAlign->Show(); maTBxVertAlignBackground->Show(); maTBxBackColor->Hide(); @@ -237,7 +237,7 @@ void ParaPropertyPanel::HandleContextChange ( maTbxProDemoteBackground->Hide(); break; - case CombinedEnumContext(Application_WriterAndWeb, Context_Annotation): + case CombinedEnumContext(Application_WriterVariants, Context_Annotation): maTBxVertAlign->Hide(); maTBxVertAlignBackground->Hide(); maTBxBackColor->Hide(); diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx index 0eb3125..367e5c8 100644 --- a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx +++ b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx @@ -299,15 +299,15 @@ void PosSizePropertyPanel::HandleContextChange( sal_Int32 nLayoutMode (0); switch (maContext.GetCombinedContext_DI()) { - case CombinedEnumContext(Application_WriterAndWeb, Context_Draw): + case CombinedEnumContext(Application_WriterVariants, Context_Draw): nLayoutMode = 0; break; - case CombinedEnumContext(Application_WriterAndWeb, Context_Graphic): - case CombinedEnumContext(Application_WriterAndWeb, Context_Media): - case CombinedEnumContext(Application_WriterAndWeb, Context_Frame): - case CombinedEnumContext(Application_WriterAndWeb, Context_OLE): - case CombinedEnumContext(Application_WriterAndWeb, Context_Form): + case CombinedEnumContext(Application_WriterVariants, Context_Graphic): + case CombinedEnumContext(Application_WriterVariants, Context_Media): + case CombinedEnumContext(Application_WriterVariants, Context_Frame): + case CombinedEnumContext(Application_WriterVariants, Context_OLE): + case CombinedEnumContext(Application_WriterVariants, Context_Form): nLayoutMode = 1; break; diff --git a/svx/source/sidebar/text/TextPropertyPanel.cxx b/svx/source/sidebar/text/TextPropertyPanel.cxx index 044bfa9..4ef01c3 100644 --- a/svx/source/sidebar/text/TextPropertyPanel.cxx +++ b/svx/source/sidebar/text/TextPropertyPanel.cxx @@ -278,7 +278,7 @@ void TextPropertyPanel::HandleContextChange ( } maContext = aContext; - switch (maContext.GetCombinedContext_DI()) + switch (maContext.GetCombinedContext_DI()) // { case CombinedEnumContext(Application_Calc, Context_Cell): case CombinedEnumContext(Application_Calc, Context_Pivot): @@ -297,8 +297,8 @@ void TextPropertyPanel::HandleContextChange ( break; } - case CombinedEnumContext(Application_WriterAndWeb, Context_Text): - case CombinedEnumContext(Application_WriterAndWeb, Context_Table): + case CombinedEnumContext(Application_WriterVariants, Context_Text): + case CombinedEnumContext(Application_WriterVariants, Context_Table): { mpToolBoxScriptSw->Show(); mpToolBoxScript->Hide(); @@ -314,8 +314,8 @@ void TextPropertyPanel::HandleContextChange ( break; } - case CombinedEnumContext(Application_Writer, Context_DrawText): - case CombinedEnumContext(Application_Writer, Context_Annotation): + case CombinedEnumContext(Application_WriterVariants, Context_DrawText): + case CombinedEnumContext(Application_WriterVariants, Context_Annotation): { mpToolBoxScriptSw->Show(); mpToolBoxScript->Hide(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits