Author: lmontel
Date: Thu Feb  8 10:41:21 2007
New Revision: 117642

Added:
   packages/cooker/kdebase/current/SOURCES/kdebase-3.5.6-rubberband.patch
Removed:
   packages/cooker/kdebase/current/SOURCES/kdebase-3.5.1-rubberband.patch
Modified:
   packages/cooker/kdebase/current/SPECS/kdebase.spec

Log:
Reapply this patch


Added: packages/cooker/kdebase/current/SOURCES/kdebase-3.5.6-rubberband.patch
==============================================================================
--- (empty file)
+++ packages/cooker/kdebase/current/SOURCES/kdebase-3.5.6-rubberband.patch      
Thu Feb  8 10:41:21 2007
@@ -0,0 +1,393 @@
+--- kdebase-3.5.6/kdesktop/kfileividesktop.cpp.rubberband      2007-01-15 
12:32:10.000000000 +0100
++++ kdebase-3.5.6/kdesktop/kfileividesktop.cpp 2007-02-08 10:36:24.000000000 
+0100
+@@ -100,7 +100,13 @@
+ 
+   // draw the pixmap as in KIconViewItem::paintItem(...)
+   paintPixmap(p, colors);
+-
++   if ( isSelected() ) {
++     p->setBrush( QBrush( cg.highlight() ) );
++     p->setPen( QPen( cg.highlight() ) );
++     p->drawRoundRect( textRect( FALSE ),
++                       1000 / textRect( FALSE ).width(),
++                       1000 / textRect( FALSE ).height() );
++  }
+   //
+   // Paint the text as shadowed if the shadow is available
+   //
+@@ -167,7 +173,7 @@
+ 
+ void KFileIVIDesktop::drawShadowedText( QPainter *p, const QColorGroup &cg )
+ {
+-  int textX = textRect( FALSE ).x() + 2;
++  int textX = textRect( FALSE ).x() + 4;
+   int textY = textRect( FALSE ).y();
+   int align = ((KIconView *) iconView())->itemTextPos() == QIconView::Bottom
+     ? AlignHCenter : AlignAuto;
+@@ -184,12 +190,15 @@
+   int spread = shadowThickness();
+ 
+   if ( isSelected() && settings->selectionType() != 
KShadowSettings::InverseVideoOnSelection ) {
+-    // select using a filled rect
+     text = cg.highlightedText();
+     QRect rect = textRect( false );
+     rect.setRight( rect.right() - spread );
+     rect.setBottom( rect.bottom() - spread + 1 );
+-    p->fillRect( rect, cg.highlight() );
++    p->setBrush( QBrush( cg.highlight() ) );
++    p->setPen( QPen( cg.highlight() ) );
++    p->drawRoundRect( rect,
++                    1000 / rect.width(),
++                    1000 / rect.height() );
+   }
+   else {
+     // use shadow
+--- kdebase-3.5.6/kdesktop/kfileividesktop.h.rubberband        2005-10-10 
17:04:11.000000000 +0200
++++ kdebase-3.5.6/kdesktop/kfileividesktop.h   2007-02-08 10:31:45.000000000 
+0100
+@@ -80,12 +80,6 @@
+     virtual void paintItem(QPainter *p, const QColorGroup &cg);
+ 
+     /**
+-     * Reimplements QIconView::paintFocus() to take the shadow
+-     * metrics into account();
+-     */
+-    virtual void paintFocus( QPainter *p, const QColorGroup &cg );
+-
+-    /**
+      * Draws the shadow text.
+      * @param p the painter for drawing the item
+      * @param cg the base color group
+@@ -101,6 +95,8 @@
+      */
+     virtual QImage *buildShadow(QPainter *p, const int align, QColor 
&shadowColor);
+ 
++      void paintFocus(QPainter*, const QColorGroup&);
++
+  protected:
+     void setNormalImage(QImage *newImage) { delete m_normalImage; 
m_normalImage = newImage; };
+     void setSelectedImage(QImage *newImage) { delete m_selectedImage; 
m_selectedImage = newImage; };
+--- kdebase-3.5.6/konqueror/listview/konq_listviewwidget.cc.rubberband 
2006-10-01 19:32:03.000000000 +0200
++++ kdebase-3.5.6/konqueror/listview/konq_listviewwidget.cc    2007-02-08 
10:31:45.000000000 +0100
+@@ -405,7 +405,6 @@
+ {
+    if ( m_rubber )
+    {
+-      drawRubber();
+       delete m_rubber;
+       m_rubber = 0;
+    }
+@@ -417,14 +416,17 @@
+    KonqBaseListViewItem* item = isExecuteArea( vp ) ?
+          static_cast<KonqBaseListViewItem*>( itemAt( vp ) ) : 0L;
+ 
+-   if ( item )
++   if ( item ) {
+       KListView::contentsMousePressEvent( e );
++   }
+    else {
+       if ( e->button() == LeftButton )
+       {
+          if ( !( e->state() & ControlButton ) )
+             setSelected( itemAt( vp ), false );
+          m_rubber = new QRect( e->x(), e->y(), 0, 0 );
++         clearSelection();
++         emit selectionChanged();
+          m_fileTip->setItem( 0 );
+       }
+       if ( e->button() != RightButton )
+@@ -440,9 +442,10 @@
+ {
+    if ( m_rubber )
+    {
+-      drawRubber();
++      QRect r( m_rubber->normalize() );
+       delete m_rubber;
+       m_rubber = 0;
++      repaintContents( r, FALSE );
+    }
+ 
+    if ( m_scrollTimer )
+@@ -534,23 +537,21 @@
+    KListView::leaveEvent( e );
+ }
+ 
+-void KonqBaseListViewWidget::drawRubber()
++void KonqBaseListViewWidget::drawRubber( QPainter *p )
+ {
+    if ( !m_rubber )
+       return;
+ 
+-   QPainter p;
+-   p.begin( viewport() );
+-   p.setRasterOp( NotROP );
+-   p.setPen( QPen( color0, 1 ) );
+-   p.setBrush( NoBrush );
++   p->setRasterOp( NotROP );
++   p->setPen( QPen( color0, 1 ) );
++   p->setBrush( NoBrush );
+ 
+    QPoint pt( m_rubber->x(), m_rubber->y() );
+    pt = contentsToViewport( pt );
+-   style().drawPrimitive( QStyle::PE_FocusRect, &p,
++   style().drawPrimitive( QStyle::PE_FocusRect, p,
+                           QRect( pt.x(), pt.y(), m_rubber->width(), 
m_rubber->height() ),
+                           colorGroup(), QStyle::Style_Default, 
colorGroup().base() );
+-   p.end();
++   p->end();
+ }
+ 
+ void KonqBaseListViewWidget::slotAutoScroll()
+@@ -566,10 +567,11 @@
+    if ( vc == m_rubber->bottomRight() )
+       return;
+ 
++   QRect oldRubber = *m_rubber;
++
+    const int oldTop = m_rubber->normalize().top();
+    const int oldBottom = m_rubber->normalize().bottom();
+ 
+-   drawRubber();
+    m_rubber->setBottomRight( vc );
+ 
+    QListViewItem *cur = itemAt( QPoint(0,0) );
+@@ -577,10 +579,19 @@
+    bool block = signalsBlocked();
+    blockSignals( true );
+ 
++   QRect rr;
+    QRect nr = m_rubber->normalize();
++   bool changed = FALSE;
+    if ( cur )
+    {
+-      QRect rect = itemRect( cur );
++      QRect rect;
++      if ( allColumnsShowFocus() )
++          rect = itemRect( cur );
++      else {
++          rect = itemRect( cur );
++          rect.setWidth( executeArea( cur ) );
++      }
++
+       if ( !allColumnsShowFocus() )
+           rect.setWidth( executeArea( cur ) );
+ 
+@@ -606,10 +617,25 @@
+          if ( rect.intersects( nr ) )
+          {
+             if ( !cur->isSelected() && cur->isSelectable() )
++            {
+                setSelected( cur, true );
+-         } else if ( !m_selected || !m_selected->contains( 
(KonqBaseListViewItem*)cur ) )
+-            setSelected( cur, false );
+-
++               changed=TRUE;
++               rr = rr.unite( itemRect( cur ) );
++            }
++         }
++         else
++         {
++            if ( cur->isSelected() )
++            {
++               changed = TRUE;
++               rr = rr.unite( itemRect( cur ) );
++            }
++
++            if ( !m_selected || !m_selected->contains( 
(KonqBaseListViewItem*)cur ) )
++            {
++               setSelected( cur, false );
++            }
++         }
+          cur = cur->itemBelow();
+          if (cur && !allColumnsShowFocus())
+             rect.setWidth( executeArea( cur ) );
+@@ -625,9 +651,22 @@
+          if ( rect.intersects( nr ) )
+          {
+             if ( !cur->isSelected() && cur->isSelectable() )
++            {
+                setSelected( cur, true );
+-         } else if ( !m_selected || !m_selected->contains( 
(KonqBaseListViewItem*)cur ) )
+-            setSelected( cur, false );
++               changed = TRUE;
++               rr = rr.unite( itemRect( cur ) );
++            }
++         }
++         else
++         {
++            if ( cur->isSelected() )
++            {
++               changed = TRUE;
++               rr = rr.unite( itemRect( cur ) );
++            }
++            if ( !m_selected || !m_selected->contains( 
(KonqBaseListViewItem*)cur ) )
++               setSelected( cur, false );
++         }
+ 
+          cur = cur->itemAbove();
+          if (cur && !allColumnsShowFocus())
+@@ -639,7 +678,31 @@
+    blockSignals( block );
+    emit selectionChanged();
+ 
+-   drawRubber();
++   QRect allRect = oldRubber.normalize();
++   if ( changed )
++   {
++       allRect |= rr.normalize();
++   }
++   allRect |= m_rubber->normalize();
++   QPoint point = contentsToViewport( allRect.topLeft() );
++   allRect = QRect( point.x(), point.y(), allRect.width(), allRect.height() );
++   allRect &= viewport()->rect();
++   allRect.addCoords( -2, -2, 2, 2 );
++
++   QPixmap backrubber( viewport()->rect().size() );
++   backrubber.fill( viewport(), viewport()->rect().topLeft() );
++
++   QPainter p( &backrubber );
++   p.save();
++   drawContentsOffset( &p,
++      contentsX(),
++      contentsY(),
++      contentsX() + allRect.left(), contentsY() + allRect.top(),
++      allRect.width(), allRect.height() );
++   p.restore();
++   drawRubber( &p );
++   p.end();
++   bitBlt( viewport(), allRect.topLeft(), &backrubber, allRect );
+ 
+    const int scroll_margin = 40;
+    ensureVisible( vc.x(), vc.y(), scroll_margin, scroll_margin );
+@@ -669,9 +732,11 @@
+ 
+ void KonqBaseListViewWidget::viewportPaintEvent( QPaintEvent *e )
+ {
+-   drawRubber();
+    KListView::viewportPaintEvent( e );
+-   drawRubber();
++
++   QPainter p( viewport() );
++   drawRubber( &p );
++   p.end();
+ }
+ 
+ void KonqBaseListViewWidget::viewportResizeEvent(QResizeEvent * e)
+--- kdebase-3.5.6/konqueror/listview/konq_listviewwidget.h.rubberband  
2005-10-10 17:04:14.000000000 +0200
++++ kdebase-3.5.6/konqueror/listview/konq_listviewwidget.h     2007-02-08 
10:31:45.000000000 +0100
+@@ -206,7 +206,7 @@
+    virtual void viewportPaintEvent( QPaintEvent *e );
+    virtual void viewportResizeEvent( QResizeEvent *e );
+ 
+-   virtual void drawRubber();
++   virtual void drawRubber( QPainter * );
+    virtual void contentsMousePressEvent( QMouseEvent *e );
+    virtual void contentsMouseReleaseEvent( QMouseEvent *e );
+    virtual void contentsMouseMoveEvent( QMouseEvent *e );
+@@ -246,6 +246,7 @@
+    QColor m_itemColor;
+ 
+    QRect *m_rubber;
++   QPixmap *m_backrubber;
+ 
+    bool m_bTopLevelComplete:1;
+    bool m_showIcons:1;
+--- kdebase-3.5.6/konqueror/sidebar/konqsidebar.cpp.rubberband 2005-09-10 
10:25:47.000000000 +0200
++++ kdebase-3.5.6/konqueror/sidebar/konqsidebar.cpp    2007-02-08 
10:31:45.000000000 +0100
+@@ -56,7 +56,8 @@
+       return true;
+ }
+ 
+-bool KonqSidebar::openURL(const KURL &url) {
++bool KonqSidebar::openURL(const KURL &url)
++{
+       if (m_widget)
+               return m_widget->openURL(url);
+       else return false;
+@@ -73,8 +74,6 @@
+       }
+ }
+ 
+-
+-
+ // It's usually safe to leave the factory code alone.. with the
+ // notable exception of the KAboutData data
+ #include <kaboutdata.h>
+--- kdebase-3.5.6/konqueror/sidebar/konqsidebartng.rc.rubberband       
2005-09-10 10:25:47.000000000 +0200
++++ kdebase-3.5.6/konqueror/sidebar/konqsidebartng.rc  2007-02-08 
10:31:45.000000000 +0100
+@@ -1,7 +1,12 @@
+ [filemanagement]
++[filemanagement]
+ OpenViews=home.desktop
+ SingleWidgetMode=true
+ 
+ [webbrowsing]
+ OpenViews=bookmarks.desktop
+ SingleWidgetMode=true
++
++[webbrowsing]
++OpenViews=bookmarks.desktop
++SingleWidgetMode=true
+--- kdebase-3.5.6/konqueror/sidebar/konqsidebartng.upd.rubberband      
2005-09-10 10:25:47.000000000 +0200
++++ kdebase-3.5.6/konqueror/sidebar/konqsidebartng.upd 2007-02-08 
10:31:45.000000000 +0100
+@@ -10,3 +10,15 @@
+ 
+ Id=konqsidebartng_entries
+ Script=move_konqsidebartng_entries.sh,sh
++Id=konqsidebartng_rc
++File=konqsidebartng.rc
++Group=<default>,webbrowsing
++Options=Copy
++AllKeys
++Group=<default>,filemanagement
++Options=Copy
++AllKeys
++RemoveGroup=<default>
++
++Id=konqsidebartng_entries
++Script=move_konqsidebartng_entries.sh,sh
+--- kdebase-3.5.6/konqueror/sidebar/move_konqsidebartng_entries.sh.rubberband  
2005-09-10 10:25:47.000000000 +0200
++++ kdebase-3.5.6/konqueror/sidebar/move_konqsidebartng_entries.sh     
2007-02-08 10:31:45.000000000 +0100
+@@ -16,3 +16,21 @@
+ done
+ 
+ rm -rf $source/entries
++#!/bin/sh
++
++prefix=$(kde-config --localprefix)
++source="$prefix/share/apps/konqsidebartng"
++
++[ -d "$source/entries" ] || exit 0
++
++profiles="filemanagement webbrowsing"
++for profile in $profiles; do
++      dest="$source/$profile/entries"
++      if [ ! -d "$dest" ]; then
++              mkdir -p "$dest" || exit 1
++              cp $source/entries/.version $dest/
++              cp $source/entries/* $dest/
++      fi
++done
++
++rm -rf $source/entries
+--- kdebase-3.5.6/konqueror/sidebar/sidebar_widget.cpp.rubberband      
2006-05-22 20:12:52.000000000 +0200
++++ kdebase-3.5.6/konqueror/sidebar/sidebar_widget.cpp 2007-02-08 
10:31:45.000000000 +0100
+@@ -14,6 +14,7 @@
+  *   (at your option) any later version.                                   *
+  *                                                                         *
+  ***************************************************************************/
++
+ #include <config.h>
+ 
+ #include <limits.h>
+@@ -25,6 +26,11 @@
+ #include <qwhatsthis.h>
+ #include <qlayout.h>
+ #include <qstringlist.h>
++#include <qdockwindow.h>
++#include <qlabel.h>
++#include <qtoolbox.h>
++#include <qpainter.h>
++#include <kpushbutton.h>
+ 
+ #include <klocale.h>
+ #include <ksimpleconfig.h>

Modified: packages/cooker/kdebase/current/SPECS/kdebase.spec
==============================================================================
--- packages/cooker/kdebase/current/SPECS/kdebase.spec  (original)
+++ packages/cooker/kdebase/current/SPECS/kdebase.spec  Thu Feb  8 10:41:21 2007
@@ -41,7 +41,7 @@
 Name: kdebase
 Summary:       K Desktop Environment - Core files
 Version: 3.5.6
-Release: %mkrel 5
+Release: %mkrel 6
 Epoch: 1
 Group: Graphical desktop/KDE
 License:       GPL
@@ -232,7 +232,7 @@
 # Post 3.5.4 release
 Patch96: kdebase-3.5.3-fix-kthememanager-enable-button.patch
 Patch101: kdebase-3.5.3-show-specific-kde-desktop-file-only-kde.patch
-Patch125: kdebase-3.5.1-rubberband.patch
+Patch125: kdebase-3.5.6-rubberband.patch
 Patch126: kdebase-3.5.4-rubberband-kcmstyle.patch
 Patch145: kdebase-3.3.2-fix-kdm-theme-mdk.patch
 Patch147: kdebase-3.4.2-fix-kdm-server-args.patch
@@ -1632,7 +1632,7 @@
 %patch93 -p1 -b .crypto
 %patch96 -p1 -b .fix_kthemenamager_disable_button
 %patch101 -p1 -b .only_show_desktop_under_kde
-#%patch125 -p1 -b .rubberband
+%patch125 -p1 -b .rubberband
 %patch126 -p1 -b .rubberbandkcm
 %patch145 -p1 -b .fix_kdm_theme
 %patch147 -p1 -b .fix_kdm_server_args

Reply via email to