ooo-build r12412 - in trunk: . patches/dev300



Author: jonp
Date: Thu May  1 02:22:51 2008
New Revision: 12412
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12412&view=rev

Log:
	* patches/dev300/apply, patches/dev300/sc-copy-source-border.diff: Fix the
	  patch for dev300 and re-enable.


Modified:
   trunk/ChangeLog
   trunk/patches/dev300/apply
   trunk/patches/dev300/sc-copy-source-border.diff

Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply	(original)
+++ trunk/patches/dev300/apply	Thu May  1 02:22:51 2008
@@ -646,7 +646,7 @@
 sc-paste-on-enter.diff, n#358545, i#28535, jonp
 
 # Place a border around the Copy source cell(s).
-#FIXME dev300: sc-copy-source-border.diff, n#367489, jonp
+sc-copy-source-border.diff, n#367489, jonp
 
 # Allow 'june-2007' to be properly parsed as June 1 2007 in en-US locales.
 sc-date-fix.diff, n#358750, jonp

Modified: trunk/patches/dev300/sc-copy-source-border.diff
==============================================================================
--- trunk/patches/dev300/sc-copy-source-border.diff	(original)
+++ trunk/patches/dev300/sc-copy-source-border.diff	Thu May  1 02:22:51 2008
@@ -1,7 +1,8 @@
-diff -urp --exclude=CVS --exclude=unxlngi6.pro --exclude=sc.vpj sc.clean/source/ui/inc/gridwin.hxx sc/source/ui/inc/gridwin.hxx
---- sc.clean/source/ui/inc/gridwin.hxx	2008-03-11 09:39:34.000000000 -0400
-+++ sc/source/ui/inc/gridwin.hxx	2008-03-20 20:32:17.000000000 -0400
-@@ -164,6 +164,7 @@ private:
+diff --git sc/source/ui/inc/gridwin.hxx sc/source/ui/inc/gridwin.hxx
+index 1762f20..1ace419 100644
+--- sc/source/ui/inc/gridwin.hxx
++++ sc/source/ui/inc/gridwin.hxx
+@@ -143,6 +143,7 @@ private:
  	// #114409#
  	::sdr::overlay::OverlayObjectList*				mpOOCursors;
      ::sdr::overlay::OverlayObjectList*              mpOOSelection;
@@ -9,22 +10,27 @@
      ::sdr::overlay::OverlayObjectList*              mpOOAutoFill;
      ::sdr::overlay::OverlayObjectList*              mpOODragRect;
      ::sdr::overlay::OverlayObjectList*              mpOOHeader;
-@@ -331,6 +332,11 @@ private:
+@@ -310,6 +311,15 @@ private:
  	void			SelectForContextMenu( const Point& rPosPixel );
  
      void            GetSelectionRects( ::std::vector< Rectangle >& rPixelRects );
++    struct RectangleConverter {
++        virtual Rectangle Convert (const Rectangle& r) const = 0;
++    };
 +    void            ConvertPixelRectsToRangeVector( 
 +                        const ::std::vector< Rectangle >& rPixelRects, 
-+                        sdr::overlay::OverlayObjectCell::RangeVector& rRanges,
-+                        const MapMode& rDrawMode );
++                        sdr::overlay::OverlayObjectCell::RangeVector* pRanges,
++                        const MapMode& rDrawMode,
++                        const RectangleConverter *pConverter = NULL);
 +    void            UpdateCopySourceOverlay(const MapMode& rDrawMode);
  
  protected:
      using Window::Resize;
-diff -urp --exclude=CVS --exclude=unxlngi6.pro --exclude=sc.vpj sc.clean/source/ui/view/gridwin.cxx sc/source/ui/view/gridwin.cxx
---- sc.clean/source/ui/view/gridwin.cxx	2008-03-11 09:39:35.000000000 -0400
-+++ sc/source/ui/view/gridwin.cxx	2008-03-20 20:32:59.000000000 -0400
-@@ -417,6 +417,7 @@ ScGridWindow::ScGridWindow( Window* pPar
+diff --git sc/source/ui/view/gridwin.cxx sc/source/ui/view/gridwin.cxx
+index a5952de..d57ed0a 100644
+--- sc/source/ui/view/gridwin.cxx
++++ sc/source/ui/view/gridwin.cxx
+@@ -407,6 +407,7 @@ ScGridWindow::ScGridWindow( Window* pParent, ScViewData* pData, ScSplitPos eWhic
  			DragSourceHelper( this ),
              mpOOCursors( NULL ),
              mpOOSelection( NULL ),
@@ -32,7 +38,7 @@
              mpOOAutoFill( NULL ),
              mpOODragRect( NULL ),
              mpOOHeader( NULL ),
-@@ -5028,6 +5029,79 @@ void ScGridWindow::UpdateAllOverlays()
+@@ -5154,6 +5155,82 @@ void ScGridWindow::UpdateAllOverlays()
  void ScGridWindow::DeleteCursorOverlay()
  {
      DELETEZ( mpOOCursors );
@@ -40,20 +46,23 @@
 +}
 +
 +void ScGridWindow::ConvertPixelRectsToRangeVector( const ::std::vector< Rectangle >& rPixelRects, 
-+        sdr::overlay::OverlayObjectCell::RangeVector& rRanges,
-+        const MapMode& rDrawMode )
++        sdr::overlay::OverlayObjectCell::RangeVector* pRanges,
++        const MapMode& rDrawMode,
++        const ScGridWindow::RectangleConverter* pConverter )
 +{
 +    std::vector<Rectangle>::const_iterator aPixelEnd( rPixelRects.end() );
 +    for ( std::vector<Rectangle>::const_iterator aPixelIter( rPixelRects.begin() );
 +          aPixelIter != aPixelEnd; ++aPixelIter )
 +    {
-+        Rectangle aLogic( PixelToLogic( *aPixelIter, rDrawMode ) );
++        Rectangle aLogic( PixelToLogic( 
++              (pConverter == NULL ? *aPixelIter : pConverter->Convert (*aPixelIter)),
++              rDrawMode ) );
 +
 +        const basegfx::B2DPoint aTopLeft(aLogic.Left(), aLogic.Top());
 +        const basegfx::B2DPoint aBottomRight(aLogic.Right(), aLogic.Bottom());
 +        const basegfx::B2DRange a2DRange(aTopLeft, aBottomRight);
 +
-+        rRanges.push_back( a2DRange );
++        pRanges->push_back( a2DRange );
 +    }
 +}
 +
@@ -99,7 +108,7 @@
 +    aPixelRects.push_back(Rectangle( aRect.Left()+3, aRect.Bottom()-2, aRect.Right()-3, aRect.Bottom() ));
 +
 +    sdr::overlay::OverlayObjectCell::RangeVector aRanges;
-+    ConvertPixelRectsToRangeVector( aPixelRects, aRanges, rDrawMode );
++    ConvertPixelRectsToRangeVector( aPixelRects, &aRanges, rDrawMode );
 +
 +    ScOverlayType eType = SC_OVERLAY_TRANSPARENT;
 +
@@ -112,7 +121,7 @@
  }
  
  void ScGridWindow::UpdateCursorOverlay()
-@@ -5042,6 +5116,8 @@ void ScGridWindow::UpdateCursorOverlay()
+@@ -5168,6 +5245,8 @@ void ScGridWindow::UpdateCursorOverlay()
  
      DeleteCursorOverlay();
  
@@ -121,7 +130,7 @@
      std::vector<Rectangle> aPixelRects;
  
      //
-@@ -5126,19 +5202,7 @@ void ScGridWindow::UpdateCursorOverlay()
+@@ -5252,19 +5331,7 @@ void ScGridWindow::UpdateCursorOverlay()
      if ( aPixelRects.size() )
      {
          sdr::overlay::OverlayObjectCell::RangeVector aRanges;
@@ -138,32 +147,74 @@
 -
 -            aRanges.push_back( a2DRange );
 -        }
-+        ConvertPixelRectsToRangeVector( aPixelRects, aRanges, aDrawMode );
++        ConvertPixelRectsToRangeVector( aPixelRects, &aRanges, aDrawMode );
  
  		// #i70788# get the OverlayManager safely
  		::sdr::overlay::OverlayManager* pOverlayManager = getOverlayManager();
-@@ -5182,19 +5246,7 @@ void ScGridWindow::UpdateSelectionOverla
+@@ -5306,41 +5373,43 @@ void ScGridWindow::UpdateSelectionOverlay()
+ 
      if ( aPixelRects.size() && pViewData->IsActive() )
      {
-         sdr::overlay::OverlayObjectCell::RangeVector aRanges;
--
+-        SCTAB nTab = pViewData->GetTabNo();
+-        BOOL bLayoutRTL = pViewData->GetDocument()->IsLayoutRTL( nTab );
+-        BOOL bOld = pViewData->GetView()->IsOldSelection();
+-
+-        sdr::overlay::OverlayObjectCell::RangeVector aRanges;
++        struct SelectionConverter : RectangleConverter {
++            SCTAB nTab;
++            BOOL bLayoutRTL;
++            BOOL bOld;
++
++            SelectionConverter (ScViewData* pViewData)
++              : nTab (pViewData->GetTabNo())
++              , bLayoutRTL (pViewData->GetDocument()->IsLayoutRTL( nTab ))
++              , bOld (pViewData->GetView()->IsOldSelection())
++            {
++            }
+ 
 -        std::vector<Rectangle>::const_iterator aPixelEnd( aPixelRects.end() );
 -        for ( std::vector<Rectangle>::const_iterator aPixelIter( aPixelRects.begin() );
 -              aPixelIter != aPixelEnd; ++aPixelIter )
 -        {
--            Rectangle aLogic( PixelToLogic( *aPixelIter, aDrawMode ) );
+-            Rectangle aPixel( *aPixelIter );
+-            if ( !bOld )
++            Rectangle Convert (const Rectangle& rRect) const
+             {
++                if ( bOld )
++                    return rRect;
+                 // for transparent selection, add a pixel so the border is on the grid on all edges
++                Rectangle aPixel (rRect);
+                 if ( bLayoutRTL )
+                     aPixel.Right() += 1;
+                 else
+                     aPixel.Left() -= 1;
+                 aPixel.Top() -= 1;
++                return aPixel;
+             }
+-            Rectangle aLogic( PixelToLogic( aPixel, aDrawMode ) );
 -
 -            const basegfx::B2DPoint aTopLeft(aLogic.Left(), aLogic.Top());
 -            const basegfx::B2DPoint aBottomRight(aLogic.Right(), aLogic.Bottom());
 -            const basegfx::B2DRange a2DRange(aTopLeft, aBottomRight);
--
++        };
++        SelectionConverter aConverter (pViewData);
+ 
 -            aRanges.push_back( a2DRange );
 -        }
-+        ConvertPixelRectsToRangeVector( aPixelRects, aRanges, aDrawMode );
++        sdr::overlay::OverlayObjectCell::RangeVector aRanges;
++        ConvertPixelRectsToRangeVector( aPixelRects, &aRanges, aDrawMode, &aConverter );
  
  		// #i70788# get the OverlayManager safely
  		::sdr::overlay::OverlayManager* pOverlayManager = getOverlayManager();
-@@ -5400,19 +5452,7 @@ void ScGridWindow::UpdateDragRectOverlay
+ 
+ 		if(pOverlayManager)
+ 		{
+-            ScOverlayType eType = bOld ? SC_OVERLAY_INVERT : SC_OVERLAY_BORDER_TRANSPARENT;
++            ScOverlayType eType = aConverter.bOld ? SC_OVERLAY_INVERT : SC_OVERLAY_BORDER_TRANSPARENT;
+ 			Color aHighlight( GetSettings().GetStyleSettings().GetHighlightColor() );
+             sdr::overlay::OverlayObjectCell* pOverlay =
+ 	            new sdr::overlay::OverlayObjectCell( eType, aHighlight, aRanges );
+@@ -5535,19 +5604,7 @@ void ScGridWindow::UpdateDragRectOverlay()
          //
  
          sdr::overlay::OverlayObjectCell::RangeVector aRanges;
@@ -180,7 +231,7 @@
 -
 -            aRanges.push_back( a2DRange );
 -        }
-+        ConvertPixelRectsToRangeVector( aPixelRects, aRanges, aDrawMode );
++        ConvertPixelRectsToRangeVector( aPixelRects, &aRanges, aDrawMode );
  
  		// #i70788# get the OverlayManager safely
  		::sdr::overlay::OverlayManager* pOverlayManager = getOverlayManager();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]