summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <hwoarang@gentoo.org>2009-02-15 17:49:56 +0000
committerMarkos Chandras <hwoarang@gentoo.org>2009-02-15 17:49:56 +0000
commit67cc78b869612c1a3bf48b0d99410dae65f82f9f (patch)
tree4280febda9440e9bfc4303086aba391706f687e9 /kde-base/kdeplasma-addons
parentBump to 2.5, closes #234844 (diff)
downloadgentoo-2-67cc78b869612c1a3bf48b0d99410dae65f82f9f.tar.gz
gentoo-2-67cc78b869612c1a3bf48b0d99410dae65f82f9f.tar.bz2
gentoo-2-67cc78b869612c1a3bf48b0d99410dae65f82f9f.zip
Fixing lancelot compatibility issue with qt-4.5.(bug #258758) . Thanks to Robert Piasek
(Portage version: 2.2_rc23/cvs/Linux x86_64)
Diffstat (limited to 'kde-base/kdeplasma-addons')
-rw-r--r--kde-base/kdeplasma-addons/ChangeLog9
-rw-r--r--kde-base/kdeplasma-addons/files/lancelot-qt45.patch263
-rw-r--r--kde-base/kdeplasma-addons/kdeplasma-addons-4.2.0-r1.ebuild54
3 files changed, 325 insertions, 1 deletions
diff --git a/kde-base/kdeplasma-addons/ChangeLog b/kde-base/kdeplasma-addons/ChangeLog
index a80181b56208..878a7449f84d 100644
--- a/kde-base/kdeplasma-addons/ChangeLog
+++ b/kde-base/kdeplasma-addons/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for kde-base/kdeplasma-addons
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdeplasma-addons/ChangeLog,v 1.7 2009/02/01 07:02:39 jmbsvicetto Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdeplasma-addons/ChangeLog,v 1.8 2009/02/15 17:49:56 hwoarang Exp $
+
+*kdeplasma-addons-4.2.0-r1 (15 Feb 2009)
+
+ 15 Feb 2009; Markos Chandras <hwoarang@gentoo.org>
+ +files/lancelot-qt45.patch, +kdeplasma-addons-4.2.0-r1.ebuild:
+ Fixing lancelot compatibility with qt-4.5 ( bug #258758 ). Thanks to
+ Robert Piasek for backporting upstream patch
01 Feb 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
kdeplasma-addons-4.2.0.ebuild:
diff --git a/kde-base/kdeplasma-addons/files/lancelot-qt45.patch b/kde-base/kdeplasma-addons/files/lancelot-qt45.patch
new file mode 100644
index 000000000000..b1c9887d55dc
--- /dev/null
+++ b/kde-base/kdeplasma-addons/files/lancelot-qt45.patch
@@ -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();
+ } //<
+
diff --git a/kde-base/kdeplasma-addons/kdeplasma-addons-4.2.0-r1.ebuild b/kde-base/kdeplasma-addons/kdeplasma-addons-4.2.0-r1.ebuild
new file mode 100644
index 000000000000..4ba4ce358ffc
--- /dev/null
+++ b/kde-base/kdeplasma-addons/kdeplasma-addons-4.2.0-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdeplasma-addons/kdeplasma-addons-4.2.0-r1.ebuild,v 1.1 2009/02/15 17:49:56 hwoarang Exp $
+
+EAPI="2"
+
+KMNAME="kdeplasma-addons"
+OPENGL_REQUIRED="optional"
+inherit kde4-base
+
+DESCRIPTION="Extra Plasma applets and engines."
+HOMEPAGE="http://www.kde.org/"
+LICENSE="GPL-2 LGPL-2"
+
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="debug xinerama"
+
+DEPEND="
+ !kdeprefix? ( !kde-misc/lancelot-menu[kdeprefix=] )
+ >=kde-base/krunner-${PV}:${SLOT}
+ >=kde-base/plasma-workspace-${PV}:${SLOT}
+ opengl? ( >=kde-base/kdelibs-${PV}:${SLOT}[opengl] )
+ xinerama? ( x11-proto/xineramaproto )
+"
+RDEPEND="${DEPEND}
+ xinerama? ( x11-libs/libXinerama )
+"
+
+PATCHES=(
+ "${FILESDIR}/lancelot-qt45.patch"
+)
+
+src_prepare() {
+ sed -i -e 's/${KDE4WORKSPACE_PLASMACLOCK_LIBRARY}/plasmaclock/g' \
+ -e 's/${KDE4WORKSPACE_WEATHERION_LIBRARY}/weather_ion/g' \
+ -e 's/${KDE4WORKSPACE_TASKMANAGER_LIBRARY}/taskmanager/g' \
+ applets/{binary-clock,fuzzy-clock,weather_station,lancelot/app/src}/CMakeLists.txt \
+ || die "Failed to patch CMake files"
+
+ sed -i -e 's/(KDE4_PLASMA_OPENGL_FOUND)/(KDE4_PLASMA_OPENGL_FOUND AND OPENGL_FOUND)/g' \
+ applets/CMakeLists.txt \
+ || die "Failed to make OpenGL applets optional"
+
+ kde4-base_src_prepare
+}
+
+src_configure() {
+ mycmakeargs="${mycmakeargs}
+ -DDBUS_INTERFACES_INSTALL_DIR=${KDEDIR}/share/dbus-1/interfaces/
+ $(cmake-utils_use_with opengl OpenGL)
+ $(cmake-utils_use_with xinerama X11_Xinerama)"
+
+ kde4-base_src_configure
+}