You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by af...@apache.org on 2013/05/13 17:25:52 UTC

svn commit: r1481916 - in /openoffice/trunk/main: sd/source/ui/view/drviewsa.cxx svx/inc/svx/sidebar/SelectionAnalyzer.hxx svx/source/sidebar/SelectionAnalyzer.cxx

Author: af
Date: Mon May 13 15:25:51 2013
New Revision: 1481916

URL: http://svn.apache.org/r1481916
Log:
121981: Don't change sidebar context while in Impress table.

Modified:
    openoffice/trunk/main/sd/source/ui/view/drviewsa.cxx
    openoffice/trunk/main/svx/inc/svx/sidebar/SelectionAnalyzer.hxx
    openoffice/trunk/main/svx/source/sidebar/SelectionAnalyzer.cxx

Modified: openoffice/trunk/main/sd/source/ui/view/drviewsa.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sd/source/ui/view/drviewsa.cxx?rev=1481916&r1=1481915&r2=1481916&view=diff
==============================================================================
--- openoffice/trunk/main/sd/source/ui/view/drviewsa.cxx (original)
+++ openoffice/trunk/main/sd/source/ui/view/drviewsa.cxx Mon May 13 15:25:51 2013
@@ -871,14 +871,10 @@ void DrawViewShell::GetAnnotationState (
 }
 
 
+
+
 EnumContext::Context DrawViewShell::GetContextForSelection (void) const
 {
-    if (mpDrawView->GetMarkedObjectList().GetMarkCount() == 1)
-        if (mpDrawView->GetTextEditObject() != NULL)
-            if (mpDrawView->GetTextEditOutlinerView() != NULL)
-				return EnumContext::Context_DrawText;
-
-    // All other cases are handled by the SelectionAnalyzer.
     return ::svx::sidebar::SelectionAnalyzer::GetContextForSelection_SD(
         mpDrawView->GetMarkedObjectList(),
         meEditMode == EM_MASTERPAGE,

Modified: openoffice/trunk/main/svx/inc/svx/sidebar/SelectionAnalyzer.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/svx/inc/svx/sidebar/SelectionAnalyzer.hxx?rev=1481916&r1=1481915&r2=1481916&view=diff
==============================================================================
--- openoffice/trunk/main/svx/inc/svx/sidebar/SelectionAnalyzer.hxx (original)
+++ openoffice/trunk/main/svx/inc/svx/sidebar/SelectionAnalyzer.hxx Mon May 13 15:25:51 2013
@@ -31,6 +31,11 @@ class SdrObject;
 
 namespace svx { namespace sidebar {
 
+/** Analyze the current selection of Calc or Draw/Impress documents
+    and return the associated sidebar context.
+
+    The decision is based on heuristics.  Do not expect pretty code.
+*/
 class SVX_DLLPUBLIC SelectionAnalyzer
 {
 public :

Modified: openoffice/trunk/main/svx/source/sidebar/SelectionAnalyzer.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/svx/source/sidebar/SelectionAnalyzer.cxx?rev=1481916&r1=1481915&r2=1481916&view=diff
==============================================================================
--- openoffice/trunk/main/svx/source/sidebar/SelectionAnalyzer.cxx (original)
+++ openoffice/trunk/main/svx/source/sidebar/SelectionAnalyzer.cxx Mon May 13 15:25:51 2013
@@ -122,9 +122,17 @@ EnumContext::Context SelectionAnalyzer::
         case 1:
         {
             SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
-            if ( pObj->ISA(SdrTextObj) && ((SdrTextObj*)pObj)->IsInEditMode() )
+            if (pObj->ISA(SdrTextObj) && ((SdrTextObj*)pObj)->IsInEditMode())
             {
-                eContext = EnumContext::Context_DrawText;
+                if (pObj->GetObjIdentifier() == OBJ_TABLE)
+                {
+                    // Let a table object take precedence over text
+                    // edit mode.  The panels for text editing are
+                    // present for table context as well, anyway.
+                    eContext = EnumContext::Context_Table;
+                }
+                else
+                    eContext = EnumContext::Context_DrawText;
             }
             else
             {