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