Author: af Date: Mon Mar 25 14:45:39 2013 New Revision: 1460690 URL: http://svn.apache.org/r1460690 Log: i121420: Added support for Writer/Web.
Modified: openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs openoffice/branches/sidebar/main/sfx2/inc/sfx2/sidebar/EnumContext.hxx openoffice/branches/sidebar/main/sfx2/source/sidebar/EnumContext.cxx openoffice/branches/sidebar/main/sfx2/source/sidebar/ResourceManager.cxx openoffice/branches/sidebar/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx Modified: openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs?rev=1460690&r1=1460689&r2=1460690&view=diff ============================================================================== --- openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs (original) +++ openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs Mon Mar 25 14:45:39 2013 @@ -85,9 +85,12 @@ Calc Impress Draw + + Shortcuts for multiple applications: DrawImpress - The last one, DrawImpress, exists for convenience because most configuration descriptions for Impress - exist in identical form for Draw. + WriterAndWeb + 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. Special values: any Modified: openoffice/branches/sidebar/main/sfx2/inc/sfx2/sidebar/EnumContext.hxx URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/sfx2/inc/sfx2/sidebar/EnumContext.hxx?rev=1460690&r1=1460689&r2=1460690&view=diff ============================================================================== --- openoffice/branches/sidebar/main/sfx2/inc/sfx2/sidebar/EnumContext.hxx (original) +++ openoffice/branches/sidebar/main/sfx2/inc/sfx2/sidebar/EnumContext.hxx Mon Mar 25 14:45:39 2013 @@ -37,6 +37,7 @@ public: enum Application { Application_Writer, + Application_WriterWeb, Application_Calc, Application_Draw, Application_Impress, @@ -45,6 +46,9 @@ public: // case that Draw and Impress use identical context configurations. Application_DrawImpress, + // Also for your convenience for either Writer or WriterWeb. + Application_WriterAndWeb, + // Used only by deck or panel descriptors. Matches any // application. Application_Any, @@ -111,9 +115,12 @@ public: */ sal_Int32 GetCombinedContext(void) const; - /** This variant of the GetCombinedContext() method returns a - single value for both Draw and Impress application. - Use the Application_DrawImpress value in the CombinedEnumContext macro. + /** This variant of the GetCombinedContext() method treats some + application names as identical to each other. Replacements + made are: + Draw or Impress -> DrawImpress + Writer or WriterWeb -> WriterAndWeb + Use the Application_DrawImpress or Application_WriterAndWeb values in the CombinedEnumContext macro. */ sal_Int32 GetCombinedContext_DI(void) const; Modified: openoffice/branches/sidebar/main/sfx2/source/sidebar/EnumContext.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/sfx2/source/sidebar/EnumContext.cxx?rev=1460690&r1=1460689&r2=1460690&view=diff ============================================================================== --- openoffice/branches/sidebar/main/sfx2/source/sidebar/EnumContext.cxx (original) +++ openoffice/branches/sidebar/main/sfx2/source/sidebar/EnumContext.cxx Mon Mar 25 14:45:39 2013 @@ -94,6 +94,10 @@ sal_Int32 EnumContext::GetCombinedContex case Application_Impress: return CombinedEnumContext(Application_DrawImpress, meContext); + case Application_Writer: + case Application_WriterWeb: + return CombinedEnumContext(Application_WriterAndWeb, meContext); + default: return CombinedEnumContext(meApplication, meContext); } @@ -154,6 +158,7 @@ void EnumContext::ProvideApplicationCont { 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.WebDocument"), EnumContext::Application_WriterWeb); 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); Modified: openoffice/branches/sidebar/main/sfx2/source/sidebar/ResourceManager.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/sfx2/source/sidebar/ResourceManager.cxx?rev=1460690&r1=1460689&r2=1460690&view=diff ============================================================================== --- openoffice/branches/sidebar/main/sfx2/source/sidebar/ResourceManager.cxx (original) +++ openoffice/branches/sidebar/main/sfx2/source/sidebar/ResourceManager.cxx Mon Mar 25 14:45:39 2013 @@ -413,7 +413,7 @@ void ResourceManager::ReadContextList ( : rsDefaultMenuCommand); EnumContext::Application eApplication (EnumContext::GetApplicationEnum(sApplicationName)); - bool bApplicationIsDrawAndImpress = false; + EnumContext::Application eApplication2 (EnumContext::Application_None); if (eApplication == EnumContext::Application_None && !sApplicationName.equals(EnumContext::GetApplicationName(EnumContext::Application_None))) { @@ -433,7 +433,14 @@ void ResourceManager::ReadContextList ( // common to use the same context descriptions for // both Draw and Impress. This special case helps to // avoid duplication in the .xcu file. - bApplicationIsDrawAndImpress = true; + eApplication = EnumContext::Application_Draw; + eApplication2 = EnumContext::Application_Impress; + } + else if (sApplicationName.equalsAscii("WriterAndWeb")) + { + // Another special case for Writer and WriterWeb. + eApplication = EnumContext::Application_Writer; + eApplication2 = EnumContext::Application_WriterWeb; } else { @@ -460,31 +467,20 @@ void ResourceManager::ReadContextList ( continue; } - if (bApplicationIsDrawAndImpress) - { - // Add the context description for both Draw and Impress. - rContextList.AddContextDescription( - Context( - EnumContext::GetApplicationName(EnumContext::Application_Draw), - EnumContext::GetContextName(eContext)), - bIsInitiallyVisible, - sMenuCommand); + if (eApplication != EnumContext::Application_None) rContextList.AddContextDescription( Context( - EnumContext::GetApplicationName(EnumContext::Application_Impress), + EnumContext::GetApplicationName(eApplication), EnumContext::GetContextName(eContext)), bIsInitiallyVisible, sMenuCommand); - } - else - { + if (eApplication2 != EnumContext::Application_None) rContextList.AddContextDescription( Context( - EnumContext::GetApplicationName(eApplication), + EnumContext::GetApplicationName(eApplication2), EnumContext::GetContextName(eContext)), bIsInitiallyVisible, sMenuCommand); - } } } Modified: openoffice/branches/sidebar/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx?rev=1460690&r1=1460689&r2=1460690&view=diff ============================================================================== --- openoffice/branches/sidebar/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx (original) +++ openoffice/branches/sidebar/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx Mon Mar 25 14:45:39 2013 @@ -284,36 +284,36 @@ void PosSizePropertyPanel::HandleContext sal_Int32 nLayoutMode (0); switch (maContext.GetCombinedContext_DI()) { - case CombinedEnumContext(Application_Writer, Context_Draw): + case CombinedEnumContext(Application_WriterAndWeb, Context_Draw): nLayoutMode = 0; break; - case CombinedEnumContext(Application_Writer, Context_Graphic): - case CombinedEnumContext(Application_Writer, Context_Media): - case CombinedEnumContext(Application_Writer, Context_Frame): - case CombinedEnumContext(Application_Writer, Context_OLE): - case CombinedEnumContext(Application_Writer, Context_Form): + 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): nLayoutMode = 1; break; case CombinedEnumContext(Application_Calc, Context_Draw): - case CombinedEnumContext(Application_Calc, Context_Graphic): + case CombinedEnumContext(Application_Calc, Context_Graphic): case CombinedEnumContext(Application_DrawImpress, Context_Draw): case CombinedEnumContext(Application_DrawImpress, Context_TextObject): case CombinedEnumContext(Application_DrawImpress, Context_Graphic): nLayoutMode = 2; - break; + break; case CombinedEnumContext(Application_Calc, Context_Chart): - case CombinedEnumContext(Application_Calc, Context_Form): - case CombinedEnumContext(Application_Calc, Context_Media): - case CombinedEnumContext(Application_Calc, Context_OLE): - case CombinedEnumContext(Application_Calc, Context_MultiObject): - case CombinedEnumContext(Application_DrawImpress, Context_Media): - case CombinedEnumContext(Application_DrawImpress, Context_Form): - case CombinedEnumContext(Application_DrawImpress, Context_OLE): - case CombinedEnumContext(Application_DrawImpress, Context_3DObject): - case CombinedEnumContext(Application_DrawImpress, Context_MultiObject): + case CombinedEnumContext(Application_Calc, Context_Form): + case CombinedEnumContext(Application_Calc, Context_Media): + case CombinedEnumContext(Application_Calc, Context_OLE): + case CombinedEnumContext(Application_Calc, Context_MultiObject): + case CombinedEnumContext(Application_DrawImpress, Context_Media): + case CombinedEnumContext(Application_DrawImpress, Context_Form): + case CombinedEnumContext(Application_DrawImpress, Context_OLE): + case CombinedEnumContext(Application_DrawImpress, Context_3DObject): + case CombinedEnumContext(Application_DrawImpress, Context_MultiObject): nLayoutMode = 3; break; } @@ -866,9 +866,9 @@ void PosSizePropertyPanel::NotifyItemUpd const SdrObjKind eKind((SdrObjKind)pObj->GetObjIdentifier()); if(((nCombinedContext == CombinedEnumContext(Application_DrawImpress, Context_Draw) - || nCombinedContext == CombinedEnumContext(Application_DrawImpress, Context_TextObject) - ) && OBJ_EDGE == eKind) - || OBJ_CAPTION == eKind) + || nCombinedContext == CombinedEnumContext(Application_DrawImpress, Context_TextObject) + ) && OBJ_EDGE == eKind) + || OBJ_CAPTION == eKind) { mpFtAngle->Disable(); mpMtrAngle->Disable(); @@ -889,9 +889,9 @@ void PosSizePropertyPanel::NotifyItemUpd const SdrObjKind eKind((SdrObjKind)pObj->GetObjIdentifier()); if(((nCombinedContext == CombinedEnumContext(Application_DrawImpress, Context_Draw) - || nCombinedContext == CombinedEnumContext(Application_DrawImpress, Context_TextObject) - ) && OBJ_EDGE == eKind) - || OBJ_CAPTION == eKind) + || nCombinedContext == CombinedEnumContext(Application_DrawImpress, Context_TextObject) + ) && OBJ_EDGE == eKind) + || OBJ_CAPTION == eKind) { isNoEdge = false; break;