[arch-commits] Commit in kdeplasma-addons/trunk (PKGBUILD lancelot.patch)

Pierre Schmitz pierre at archlinux.org
Tue Mar 10 12:24:31 UTC 2009


    Date: Tuesday, March 10, 2009 @ 08:24:31
  Author: pierre
Revision: 29618

upgpkg: kdeplasma-addons 4.2.1-2

Added:
  kdeplasma-addons/trunk/lancelot.patch
Modified:
  kdeplasma-addons/trunk/PKGBUILD

----------------+
 PKGBUILD       |   13 +-
 lancelot.patch |  263 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 272 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2009-03-10 12:22:59 UTC (rev 29617)
+++ PKGBUILD	2009-03-10 12:24:31 UTC (rev 29618)
@@ -3,7 +3,7 @@
 
 pkgname=kdeplasma-addons
 pkgver=4.2.1
-pkgrel=1
+pkgrel=2
 pkgdesc="KDE Plasma addons"
 arch=('i686' 'x86_64')
 url='http://www.kde.org'
@@ -14,11 +14,16 @@
 makedepends=('pkgconfig' 'cmake' 'automoc4')
 options=('docs')
 install='kdeplasma-addons.install'
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('55219414d52924cb22ea2953cd2ae78b')
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2" 'lancelot.patch')
+md5sums=('55219414d52924cb22ea2953cd2ae78b'
+         'fa07578e1781c61b62c818955c5c5087')
 
 build() {
-	cd $srcdir
+	cd $srcdir/${pkgname}-${pkgver}
+	# workaround for Lancelot when using Qt 4.5
+	# see http://ivan.fomentgroup.org/blog/2009/03/09/patch-for-lancelot-and-qt4/
+	patch -p0 -i $srcdir/lancelot.patch || return 1
+	cd ../
 	mkdir build
 	cd build
 	cmake ../${pkgname}-${pkgver} \

Added: lancelot.patch
===================================================================
--- lancelot.patch	                        (rev 0)
+++ lancelot.patch	2009-03-10 12:24:31 UTC (rev 29618)
@@ -0,0 +1,263 @@
+--- applets/lancelot/libs/lancelot/Global.cpp~	2008-12-21 20:20:19.000000000 +0000
++++ applets/lancelot/libs/lancelot/Global.cpp	2009-02-14 20:57:06.000000000 +0000
+@@ -326,8 +326,11 @@
+ 
+     d->confMain = new KConfig("lancelot" + app + "rc");
+ 
++    Plasma::Theme::defaultTheme()->setUseGlobalSettings(true);
++    qDebug() << "What is the plasma theme: " << Plasma::Theme::defaultTheme()->themeName();
+     QString search = "desktoptheme/" + Plasma::Theme::defaultTheme()->themeName() + "/lancelot/" + app + "theme.config";
+     kDebug() << search;
++    qDebug() << "Trying:" << search;
+ 
+     QString path =  KStandardDirs::locate( "data", search );
+     if (path == "") {
+@@ -338,6 +341,8 @@
+         path = "lancelotrc";
+     }
+     kDebug() << path;
++    
++    qDebug() << "Using theme:" << path;
+     d->confTheme = new KConfig(path);
+ 
+     Instance::Private::activeInstance = this;
+--- applets/lancelot/libs/lancelot/widgets/PassagewayView.cpp~	2009-01-06 17:23:55.000000000 +0000
++++ applets/lancelot/libs/lancelot/widgets/PassagewayView.cpp	2009-02-14 21:35:13.000000000 +0000
+@@ -20,6 +20,10 @@
+ #include "PassagewayView.h"
+ 
+ #include <QWidget>
++#include <QGraphicsSceneMouseEvent>
++#include <QGraphicsView>
++#include <QApplication>
++#include <climits>
+ 
+ namespace Lancelot {
+ 
+@@ -65,6 +69,8 @@
+       : layout(NULL), buttonsLayout(NULL), listsLayout(NULL), parent(p), focusIndex(0)
+     {
+         parent->setLayout(layout = new NodeLayout());
++        layout->setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding));
++        layout->setMaximumSize(INT_MAX, INT_MAX);
+ 
+         layout->addItem(
+             buttonsLayout = new QGraphicsLinearLayout(Qt::Horizontal),
+@@ -72,6 +78,9 @@
+             NodeLayout::NodeCoordinate(1, 0, 0, 32)
+         );
+ 
++        buttonsLayout->setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding));
++        buttonsLayout->setMaximumSize(INT_MAX, INT_MAX);
++        
+         ExtenderButton * spacer =
+             new ExtenderButton(parent);
+         spacer->setGroupByName("PassagewayView-Spacer");
+@@ -88,6 +97,9 @@
+ 
+         listsLayout->setSizer(new PassagewayViewSizer());
+ 
++        listsLayout->setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding));
++        listsLayout->setMaximumSize(INT_MAX, INT_MAX);
++
+         buttonsLayout->setSpacing(0.0);
+ 
+         next(Step("", QIcon(), entranceModel));
+@@ -161,7 +173,11 @@
+             path.takeLast();
+ 
+             buttonsLayout->removeItem(button);
+-            layout->activate();
++
++            // This really shouldn't be needed :(
++            buttonsLayout->setGeometry(buttonsLayout->geometry());
++            
++            
+             listsLayout->pop();
+ 
+             button->deleteLater();
+@@ -196,19 +212,18 @@
+         list->setCategoriesGroupByName("ActionListView-CategoriesPass");
+         list->setCategoriesActivable(true);
+ 
+-        // if (lists.count() > 0) {
+-        //     lists.last()->clearSelection();
+-        // }
+-
+         focusIndex = lists.count();
+         lists.append(list);
+ 
+-        // list->initialSelection();
+         path.append(step);
+ 
+         buttonsLayout->addItem(button);
+         listsLayout->push(list);
+ 
++        // This really shouldn't be needed :(
++        buttonsLayout->setGeometry(buttonsLayout->geometry());
++        listsLayout->setGeometry(listsLayout->geometry());
++
+         QObject::connect(
+             list, SIGNAL(activated(int)),
+             parent, SLOT(listItemActivated(int))
+--- applets/lancelot/app/src/models/ContactsKopete.cpp	2009/02/14 16:58:48	926097
++++ applets/lancelot/app/src/models/ContactsKopete.cpp	2009/02/15 10:37:30	926398
+@@ -22,7 +22,7 @@
+ #include <KStandardDirs>
+ #include <KDebug>
+ 
+-#define UPDATE_INTERVAL 30000
++#define UPDATE_INTERVAL 15000
+ #define CHECK_RUNNING_INTERVAL 5000
+ 
+ namespace Models {
+--- applets/lancelot/libs/lancelot/layouts/CardLayout.cpp	2008/08/16 21:14:21	848082
++++ applets/lancelot/libs/lancelot/layouts/CardLayout.cpp	2009/02/15 10:37:30	926398
+@@ -31,6 +31,35 @@
+     {
+     }
+ 
++    void _hide(QGraphicsWidget * widget) {
++        // since Qt has some strange bug (or it
++        // just doesn't behave as it should,
++        // this is a temporary solution
++        // so instead of hiding the item,
++        // we are moving it somewhere
++        // out of bounds
++        // this is a very dirty hack!
++
++        QRectF g = widget->geometry();
++        if (g.left() < 0) {
++            return;
++        }
++        g.moveRight(- g.left());
++        widget->setGeometry(g);
++    }
++
++    void _show(QGraphicsWidget * widget) {
++        // see the comment in _hide
++
++        QRectF g = widget->geometry();
++        if (g.left() >= 0) {
++            return;
++        }
++
++        g.moveLeft(- g.right());
++        widget->setGeometry(g);
++    }
++
+     void relayout()
+     {
+         QRectF g = q->geometry();
+@@ -40,9 +69,11 @@
+         }
+ 
+         foreach (QGraphicsWidget * l, widgets) {
+-            l->show();
++            _show(l);
+             l->setGeometry(g);
+-            if (shown != l) l->hide();
++            if (shown != l) {
++                _hide(l);
++            }
+         }
+     }
+ 
+@@ -107,6 +138,7 @@
+     if (widget) {
+         d->widgets[id] = widget;
+         // widget->hide(); // BUGS in QT
++        d->_hide(widget);
+     } else {
+         d->removeItem(id);
+     }
+@@ -142,17 +174,17 @@
+     if (!d->widgets.contains(id)) return;
+     if (d->shown == d->widgets[id]) return;
+     if (d->shown) {
+-        d->shown->hide();
++        d->_hide(d->shown);
+     }
+     d->shown = d->widgets[id];
+     d->shown->setGeometry(geometry());
+-    d->shown->show();
++    d->_show(d->shown);
+ }
+ 
+ void CardLayout::hideAll()
+ {
+     if (!d->shown) return;
+-    d->shown->hide();
++    d->_hide(d->shown);
+     d->shown = NULL;
+ }
+ 
+--- applets/lancelot/libs/lancelot/layouts/FullBorderLayout.cpp	2008/11/24 16:25:50	888490
++++ applets/lancelot/libs/lancelot/layouts/FullBorderLayout.cpp	2009/02/15 10:37:30	926398
+@@ -41,10 +41,10 @@
+     {
+     }
+ 
+-    QMap< FullBorderLayout::Place, QGraphicsLayoutItem * > itemPositions;
+-    QMap< FullBorderLayout::Border, qreal > sizes;
++    QMap < FullBorderLayout::Place, QGraphicsLayoutItem * > itemPositions;
++    QMap < FullBorderLayout::Border, qreal > sizes;
+ 
+-    void calculateBorderSizes(qreal & top, qreal & bottom, qreal & left, qreal & right) const
++    void calculateBorderSizes(qreal & top, qreal & bottom, qreal & left, qreal & right) // const
+     {
+         // top
+         top = sizes[FullBorderLayout::TopBorder];
+@@ -121,7 +121,8 @@
+ void FullBorderLayout::setGeometry(const QRectF & rect)
+ {
+     QGraphicsLayout::setGeometry(rect);
+-    kDebug() << rect;
++    // WHATA HELL!?
++    qDebug() << "FullBorderLayout::setGeometry()";
+ 
+     QRectF effectiveRect = geometry();
+     qreal left = 0, top = 0, right = 0, bottom = 0;
+@@ -158,7 +159,6 @@
+     itemRect.setHeight(effectiveRect.height() - topBorder - bottomBorder);
+ 
+     if (d->itemPositions[Right]) {
+-        kDebug() << "right" << itemRect;
+         d->itemPositions[Right]->setGeometry(itemRect);
+     }
+ 
+@@ -197,7 +197,6 @@
+             );
+ 
+     if (d->itemPositions[Center]) {
+-        kDebug() << "center" << itemRect;
+         d->itemPositions[Center]->setGeometry(itemRect);
+     }
+ }
+--- applets/lancelot/libs/lancelot/widgets/CustomListView.cpp	2009/02/08 10:49:35	923110
++++ applets/lancelot/libs/lancelot/widgets/CustomListView.cpp	2009/02/15 10:37:30	926398
+@@ -163,9 +163,9 @@
+             QGraphicsWidget * item = itemForIndex(i);
+             QRectF itemGeometry = item->geometry();
+             if (viewport.intersects(itemGeometry)) {
+-                if (q->isVisible()) {
++                //if (q->isVisible()) {
+                     item->show();
+-                }
++                //}
+                 transform.reset();
+                 if (!viewport.contains(itemGeometry)) {
+                     QRectF clip = viewport.intersect(itemGeometry);
+--- applets/lancelot/libs/lancelot/widgets/ScrollPane.cpp	2009/01/18 18:26:08	913061
++++ applets/lancelot/libs/lancelot/widgets/ScrollPane.cpp	2009/02/15 10:37:30	926398
+@@ -229,8 +229,10 @@
+ 
+ void ScrollPane::setGeometry(const QRectF & rect) //>
+ {
++    QRectF old_geometry = geometry();
+     Widget::setGeometry(rect);
+ 
++    if (rect == old_geometry) return ;
+     scrollableWidgetSizeUpdateNeeded();
+ } //<
+ 




More information about the arch-commits mailing list