[ooo-build-commit] patches/dev300

Kohei Yoshida kohei at kemper.freedesktop.org
Tue Jun 9 15:45:07 PDT 2009


 patches/dev300/apply                       |    3 +
 patches/dev300/calc-cursor-split-view.diff |   61 +++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)

New commits:
commit f9f3c2d9d9fcc1bb058468ee1434cd88ae9969de
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Tue Jun 9 18:39:50 2009 -0400

    Show cursor in all panes in split-view mode.
    
    When the view is split, Calc showed an ugly black box at current
    cursor position in non-active panes, and apparently that was
    intentional.  This patch shows cursor in all panes instead of the
    ugly black box, but uses a different color in non-active views.
    (n#433834)
    
    * patches/dev300/apply:
    * patches/dev300/calc-cursor-split-view.diff:

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 6ff9492..f437de6 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2008,6 +2008,9 @@ calc-dp-custom-names-ods-xmloff.diff, n#479062, i#22029, kohei
 # when making selection, don't move the cursor position.
 calc-selection-fixed-cursor.diff,     n#502717, kohei
 
+# show cursor in non-active panes, instead of ugly black box.
+calc-cursor-split-view.diff, n#433834, kohei
+
 [ OOXML ]
 oox-import-zoom-setting-with-tab-color.diff, n#494603, janneke
 
diff --git a/patches/dev300/calc-cursor-split-view.diff b/patches/dev300/calc-cursor-split-view.diff
new file mode 100644
index 0000000..62bab0c
--- /dev/null
+++ b/patches/dev300/calc-cursor-split-view.diff
@@ -0,0 +1,61 @@
+diff --git sc/source/ui/view/gridwin.cxx sc/source/ui/view/gridwin.cxx
+index e842c7d..180cbc7 100644
+--- sc/source/ui/view/gridwin.cxx
++++ sc/source/ui/view/gridwin.cxx
+@@ -5323,24 +5323,16 @@ void ScGridWindow::UpdateCursorOverlay()
+             if ( bLayoutRTL )
+                 aScrPos.X() -= nSizeXPix - 2;       // move instead of mirroring
+ 
+-            BOOL bFix = ( pViewData->GetHSplitMode() == SC_SPLIT_FIX ||
+-                            pViewData->GetVSplitMode() == SC_SPLIT_FIX );
+-            if ( pViewData->GetActivePart()==eWhich || bFix )
+-            {
+-                aScrPos.X() -= 2;
+-                aScrPos.Y() -= 2;
+-                Rectangle aRect( aScrPos, Size( nSizeXPix + 3, nSizeYPix + 3 ) );
+-
+-                aPixelRects.push_back(Rectangle( aRect.Left(), aRect.Top(), aRect.Left()+2, aRect.Bottom() ));
+-                aPixelRects.push_back(Rectangle( aRect.Right()-2, aRect.Top(), aRect.Right(), aRect.Bottom() ));
+-                aPixelRects.push_back(Rectangle( aRect.Left()+3, aRect.Top(), aRect.Right()-3, aRect.Top()+2 ));
+-                aPixelRects.push_back(Rectangle( aRect.Left()+3, aRect.Bottom()-2, aRect.Right()-3, aRect.Bottom() ));
+-            }
+-            else
+-            {
+-                Rectangle aRect( aScrPos, Size( nSizeXPix - 1, nSizeYPix - 1 ) );
+-                aPixelRects.push_back( aRect );
+-            }
++            // Now, draw the cursor.
++
++            aScrPos.X() -= 2;
++            aScrPos.Y() -= 2;
++            Rectangle aRect( aScrPos, Size( nSizeXPix + 3, nSizeYPix + 3 ) );
++
++            aPixelRects.push_back(Rectangle( aRect.Left(), aRect.Top(), aRect.Left()+2, aRect.Bottom() ));
++            aPixelRects.push_back(Rectangle( aRect.Right()-2, aRect.Top(), aRect.Right(), aRect.Bottom() ));
++            aPixelRects.push_back(Rectangle( aRect.Left()+3, aRect.Top(), aRect.Right()-3, aRect.Top()+2 ));
++            aPixelRects.push_back(Rectangle( aRect.Left()+3, aRect.Bottom()-2, aRect.Right()-3, aRect.Bottom() ));
+         }
+     }
+ 
+@@ -5362,6 +5354,10 @@ void ScGridWindow::UpdateCursorOverlay()
+ 
+             ScOverlayType eType = bOld ? SC_OVERLAY_INVERT : SC_OVERLAY_SOLID;
+             Color aCursorColor( SC_MOD()->GetColorConfig().GetColorValue(svtools::FONTCOLOR).nColor );
++            if (pViewData->GetActivePart() != eWhich)
++                // non-active pane uses a different color.
++                aCursorColor = SC_MOD()->GetColorConfig().GetColorValue(svtools::CALCPAGEBREAKAUTOMATIC).nColor;
++
+             sdr::overlay::OverlayObjectCell* pOverlay = new sdr::overlay::OverlayObjectCell( eType, aCursorColor, aRanges );
+ 
+             pOverlayManager->add(*pOverlay);
+@@ -5513,6 +5509,10 @@ void ScGridWindow::UpdateAutoFillOverlay()
+ 
+             ScOverlayType eType = bOld ? SC_OVERLAY_INVERT : SC_OVERLAY_SOLID;
+             Color aHandleColor( SC_MOD()->GetColorConfig().GetColorValue(svtools::FONTCOLOR).nColor );
++            if (pViewData->GetActivePart() != eWhich)
++                // non-active pane uses a different color.
++                aHandleColor = SC_MOD()->GetColorConfig().GetColorValue(svtools::CALCPAGEBREAKAUTOMATIC).nColor;
++
+             sdr::overlay::OverlayObjectCell* pOverlay =
+                 new sdr::overlay::OverlayObjectCell( eType, aHandleColor, aRanges );
+ 


More information about the ooo-build-commit mailing list