Author: lmontel
Date: Thu Feb 15 11:01:52 2007
New Revision: 121311

Added:
   packages/cooker/kdebase/current/SOURCES/kdebase-3.5.6-sidetop.patch
Modified:
   packages/cooker/kdebase/current/SPECS/kdebase.spec

Log:
Add kside top patch


Added: packages/cooker/kdebase/current/SOURCES/kdebase-3.5.6-sidetop.patch
==============================================================================
--- (empty file)
+++ packages/cooker/kdebase/current/SOURCES/kdebase-3.5.6-sidetop.patch Thu Feb 
15 11:01:52 2007
@@ -0,0 +1,198 @@
+--- kdebase-3.5.6/kicker/libkicker/kickerSettings.kcfg--       2007-02-15 
09:27:50.000000000 +0100
++++ kdebase-3.5.6/kicker/libkicker/kickerSettings.kcfg 2007-02-15 
09:31:35.000000000 +0100
+@@ -255,6 +255,22 @@
+       <default>true</default>
+    </entry>
+ 
++<entry name="UseTopSide" type="Bool" >
++      <label>Use side image on top of Kmenu</label>
++      <default>true</default>
++   </entry>
++
++<entry name="SideTopPixmapName" key="SideTopName" type="String" >
++      <label>The name of the file to use as the side image in the K 
Menu</label>
++      <default>kside_top.png</default>
++   </entry>
++
++<entry name="SideTopTileName" key="SideTopTileName" type="String" >
++      <label>The name of the file used as a tile to fill the height of K Menu 
that SidePixmapName does not cover</label>
++      <default>kside_top_tile.png</default>
++   </entry>
++
++
+ <entry name="SidePixmapName" key="SideName" type="String" >
+       <label>The name of the file to use as the side image in the K 
Menu</label>
+       <default>kside.png</default>
+--- kdebase-3.5.6/kicker/kicker/ui/k_mnu.cpp-- 2007-02-15 09:23:56.000000000 
+0100
++++ kdebase-3.5.6/kicker/kicker/ui/k_mnu.cpp   2007-02-15 09:41:11.000000000 
+0100
+@@ -110,9 +110,9 @@
+     {
+         return false;
+     }
+-
+-    QString sideName = KickerSettings::sidePixmapName();
+-    QString sideTileName = KickerSettings::sideTileName();
++    bool useTop = KickerSettings::useTopSide();
++    QString sideName = useTop ? KickerSettings::sideTopPixmapName() : 
KickerSettings::sidePixmapName();
++    QString sideTileName = useTop ? KickerSettings::sideTopTileName() : 
KickerSettings::sideTileName();
+ 
+     QImage image;
+     image.load(locate("data", "kicker/pics/" + sideName));
+@@ -122,8 +122,8 @@
+         kdDebug(1210) << "Can't find a side pixmap" << endl;
+         return false;
+     }
+-
+-    KickerLib::colorize(image);
++    if(!useTop)
++      KickerLib::colorize(image);
+     sidePixmap.convertFromImage(image);
+ 
+     image.load(locate("data", "kicker/pics/" + sideTileName));
+@@ -134,7 +134,8 @@
+         return false;
+     }
+ 
+-    KickerLib::colorize(image);
++    if(!useTop)
++      KickerLib::colorize(image);
+     sideTilePixmap.convertFromImage(image);
+ 
+     if (sidePixmap.width() != sideTilePixmap.width())
+@@ -144,15 +145,28 @@
+     }
+ 
+     // pretile the pixmap to a height of at least 100 pixels
+-    if (sideTilePixmap.height() < 100)
++    if( !useTop)
+     {
++       if (sideTilePixmap.height() < 100)
++       {
+         int tiles = (int)(100 / sideTilePixmap.height()) + 1;
+         QPixmap preTiledPixmap(sideTilePixmap.width(), 
sideTilePixmap.height() * tiles);
+         QPainter p(&preTiledPixmap);
+         p.drawTiledPixmap(preTiledPixmap.rect(), sideTilePixmap);
+         sideTilePixmap = preTiledPixmap;
++       }
++    }
++    else
++    {
++      if (sideTilePixmap.width() < 100)
++      {
++        int tiles = (int)(100 / sideTilePixmap.width()) + 1;
++        QPixmap preTiledPixmap(sideTilePixmap.width()*tiles, 
sideTilePixmap.height());
++        QPainter p(&preTiledPixmap);
++        p.drawTiledPixmap(preTiledPixmap.rect(), sideTilePixmap);
++        sideTilePixmap = preTiledPixmap;
++      }
+     }
+-
+     return true;
+ }
+ 
+@@ -444,22 +458,34 @@
+ 
+ void PanelKMenu::setMinimumSize(const QSize & s)
+ {
+-    KPanelMenu::setMinimumSize(s.width() + sidePixmap.width(), s.height());
++    if(KickerSettings::useTopSide())
++      KPanelMenu::setMinimumSize(s.width() , s.height()+sidePixmap.height());
++    else
++      KPanelMenu::setMinimumSize(s.width() + sidePixmap.width(), s.height());
+ }
+ 
+ void PanelKMenu::setMaximumSize(const QSize & s)
+ {
+-    KPanelMenu::setMaximumSize(s.width() + sidePixmap.width(), s.height());
++    if(KickerSettings::useTopSide())
++      KPanelMenu::setMaximumSize(s.width() , s.height()+sidePixmap.height());
++    else
++      KPanelMenu::setMaximumSize(s.width() + sidePixmap.width(), s.height());
+ }
+ 
+ void PanelKMenu::setMinimumSize(int w, int h)
+ {
+-    KPanelMenu::setMinimumSize(w + sidePixmap.width(), h);
++    if(KickerSettings::useTopSide())
++        KPanelMenu::setMinimumSize(w , h+sidePixmap.height());
++    else
++      KPanelMenu::setMinimumSize(w + sidePixmap.width(), h);
+ }
+ 
+ void PanelKMenu::setMaximumSize(int w, int h)
+ {
+-  KPanelMenu::setMaximumSize(w + sidePixmap.width(), h);
++    if(KickerSettings::useTopSide())
++        KPanelMenu::setMaximumSize(w, h+sidePixmap.height());
++    else
++      KPanelMenu::setMaximumSize(w + sidePixmap.width(), h);
+ }
+ 
+ #include <iostream>
+@@ -482,8 +508,10 @@
+ 
+ QRect PanelKMenu::sideImageRect()
+ {
+-    return QStyle::visualRect( QRect( frameWidth(), frameWidth(), 
sidePixmap.width(),
+-                                      height() - 2*frameWidth() ), this );
++    if(KickerSettings::useTopSide())
++      return QStyle::visualRect( QRect( frameWidth(), frameWidth(), 
width(),sidePixmap.height() ), this );
++    else
++      return QStyle::visualRect( QRect( frameWidth(), frameWidth(), 
sidePixmap.width(),height() - 2*frameWidth() ), this );
+ }
+ 
+ void PanelKMenu::resizeEvent(QResizeEvent * e)
+@@ -493,7 +521,11 @@
+ 
+     PanelServiceMenu::resizeEvent(e);
+ 
+-    setFrameRect( QStyle::visualRect( QRect( sidePixmap.width(), 0,
++    if(KickerSettings::useTopSide())
++      setFrameRect( QStyle::visualRect( QRect( 0, sidePixmap.height(),
++                                      width(), height()-sidePixmap.height() 
), this ) );
++    else
++      setFrameRect( QStyle::visualRect( QRect( sidePixmap.width(), 0,
+                                       width() - sidePixmap.width(), height() 
), this ) );
+ }
+ 
+@@ -519,6 +551,7 @@
+         return;
+     }
+ 
++    bool useTop = KickerSettings::useTopSide();
+     QPainter p(this);
+     p.setClipRegion(e->region());
+ 
+@@ -528,19 +561,29 @@
+                            QStyleOption( frameWidth(), 0 ) );
+ 
+     QRect r = sideImageRect();
+-    r.setBottom( r.bottom() - sidePixmap.height() );
++    if(useTop)
++      r.setLeft( r.right() - sidePixmap.width() );
++    else
++      r.setBottom( r.bottom() - sidePixmap.height() );
+     if ( r.intersects( e->rect() ) )
+     {
+         p.drawTiledPixmap( r, sideTilePixmap );
+     }
+ 
+     r = sideImageRect();
+-    r.setTop( r.bottom() - sidePixmap.height() );
++    if(!useTop)
++      r.setTop( r.bottom() - sidePixmap.height() );
++
++
++
+     if ( r.intersects( e->rect() ) )
+     {
+         QRect drawRect = r.intersect( e->rect() );
+         QRect pixRect = drawRect;
+-        pixRect.moveBy( -r.left(), -r.top() );
++      if(useTop)
++              pixRect.moveBy( -r.left()-2, -r.top() );
++      else
++              pixRect.moveBy( -r.left(), -r.top() );
+         p.drawPixmap( drawRect.topLeft(), sidePixmap, pixRect );
+     }
+ 

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 15 11:01:52 2007
@@ -41,7 +41,7 @@
 Name: kdebase
 Summary:       K Desktop Environment - Core files
 Version: 3.5.6
-Release: %mkrel 9
+Release: %mkrel 10
 Epoch: 1
 Group: Graphical desktop/KDE
 License:       GPL
@@ -252,6 +252,7 @@
 Patch161:      kdebase-3.5.6-fix-background-default.patch
 
 Patch166:      kdebase-3.5.6-kicker-button-custom.patch
+Patch167:      kdebase-3.5.6-sidetop.patch
 
 BuildConflicts: lm_utils
 BuildConflicts: lm_utils-devel
@@ -1653,6 +1654,7 @@
 %patch161 -p1 -b .fix_background_default_value
 
 %patch166 -p1 -b .kicker_custom_button
+%patch167 -p1 -b .kicker_side_top
 
 %build
 # This is here just because patch 93. Too

Reply via email to