diff options
author | Markos Chandras <hwoarang@gentoo.org> | 2009-02-15 17:49:56 +0000 |
---|---|---|
committer | Markos Chandras <hwoarang@gentoo.org> | 2009-02-15 17:49:56 +0000 |
commit | 67cc78b869612c1a3bf48b0d99410dae65f82f9f (patch) | |
tree | 4280febda9440e9bfc4303086aba391706f687e9 /kde-base/kdeplasma-addons | |
parent | Bump to 2.5, closes #234844 (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | kde-base/kdeplasma-addons/files/lancelot-qt45.patch | 263 | ||||
-rw-r--r-- | kde-base/kdeplasma-addons/kdeplasma-addons-4.2.0-r1.ebuild | 54 |
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 +} |