rpms/kdeplasma-addons/devel kdeplasma-addons-4.2.1-lancelot-qt45.patch, NONE, 1.1 kdeplasma-addons.spec, 1.24, 1.25

Kevin Kofler kkofler at fedoraproject.org
Fri Mar 13 09:50:24 UTC 2009


Author: kkofler

Update of /cvs/pkgs/rpms/kdeplasma-addons/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27417/devel

Modified Files:
	kdeplasma-addons.spec 
Added Files:
	kdeplasma-addons-4.2.1-lancelot-qt45.patch 
Log Message:
* Fri Mar 13 2009 Kevin Kofler <Kevin at tigcc.ticalc.org> - 4.2.1-2
- fix Lancelot rendering issues with Qt 4.5 (F11+ only, as the effect of that
  patch with 4.4.3 is unknown)

kdeplasma-addons-4.2.1-lancelot-qt45.patch:

--- NEW FILE kdeplasma-addons-4.2.1-lancelot-qt45.patch ---
--- 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();
 } //<
 


Index: kdeplasma-addons.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdeplasma-addons/devel/kdeplasma-addons.spec,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- kdeplasma-addons.spec	27 Feb 2009 12:46:22 -0000	1.24
+++ kdeplasma-addons.spec	13 Mar 2009 09:49:54 -0000	1.25
@@ -1,12 +1,19 @@
+%if 0%{?fedora} > 10
+%define have_qt45 1
+%endif
+
 Name:           kdeplasma-addons
 Version:        4.2.1
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Additional plasmoids for KDE
 
 Group:          User Interface/Desktops
 License:        GPLv2
 URL:            http://www.kde.org/
 Source0:        ftp://ftp.kde.org/pub/kde/stable/%{version}/src/kdeplasma-addons-%{version}.tar.bz2
+# http://ivan.fomentgroup.org/blog/2009/03/09/patch-for-lancelot-and-qt4/
+# http://bugs.gentoo.org/258758
+Patch0:         kdeplasma-addons-4.2.0-lancelot-qt45.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  boost-devel
@@ -46,6 +53,9 @@
 
 %prep
 %setup -q -n kdeplasma-addons-%{version}
+%if 0%{?have_qt45}
+%patch0 -p0 -b .lancelot-qt45
+%endif
 
 
 %build
@@ -108,6 +118,10 @@
 
 
 %changelog
+* Fri Mar 13 2009 Kevin Kofler <Kevin at tigcc.ticalc.org> - 4.2.1-2
+- fix Lancelot rendering issues with Qt 4.5 (F11+ only, as the effect of that
+  patch with 4.4.3 is unknown)
+
 * Fri Feb 27 2009 Than Ngo <than at redhat.com> - 4.2.1-1
 - 4.2.1
 




More information about the fedora-extras-commits mailing list