diff --git a/.cvsignore b/.cvsignore index 5c86e6c..08e10dd 100644 --- a/.cvsignore +++ b/.cvsignore @@ -3,3 +3,4 @@ kdeplasma-addons-4.1.80.tar.bz2 kdeplasma-addons-4.1.85.tar.bz2 kdeplasma-addons-4.1.96.tar.bz2 kdeplasma-addons-4.2.0.tar.bz2 +kdeplasma-addons-4.2.1.tar.bz2 diff --git a/kdeplasma-addons-4.2.1-lancelot-qt45.patch b/kdeplasma-addons-4.2.1-lancelot-qt45.patch new file mode 100644 index 0000000..b1c9887 --- /dev/null +++ b/kdeplasma-addons-4.2.1-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 ++#include ++#include ++#include ++#include + + 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 + #include + +-#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/kdeplasma-addons.spec b/kdeplasma-addons.spec index 32e1c81..f478411 100644 --- a/kdeplasma-addons.spec +++ b/kdeplasma-addons.spec @@ -1,27 +1,29 @@ + Name: kdeplasma-addons Version: 4.2.1 -Release: 1%{?dist} +Release: 3%{?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.1-lancelot-qt45.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: boost-devel BuildRequires: gettext BuildRequires: kdepimlibs-devel >= %{version} -BuildRequires: plasma-devel >= %{version} # for libplasmaclock BuildRequires: kdebase-workspace-devel >= %{version} -BuildRequires: openldap-devel -BuildRequires: qimageblitz-devel -%if 0%{?fedora} >= 10 +%if 0%{?fedora} > 9 # Optional (but recommended), enables automatic rotation for frame applet -# Not available on Fedora 9 BuildRequires: libkexiv2-devel >= 0.4.0 %endif +BuildRequires: plasma-devel >= %{version} +BuildRequires: qimageblitz-devel # most of former kdeaddons for KDE3 is now here Obsoletes: kdeaddons < 4 @@ -46,6 +48,9 @@ Additional plasmoids for KDE. %prep %setup -q -n kdeplasma-addons-%{version} +%if 0%{?_qt45:1} +%patch0 -p0 -b .lancelot-qt45 +%endif %build @@ -55,7 +60,7 @@ pushd %{_target_platform} %{cmake_kde4} .. popd -make %{?_smp_mflags} -C %{_target_platform} VERBOSE=1 +make %{?_smp_mflags} -C %{_target_platform} %install @@ -63,11 +68,19 @@ rm -rf %{buildroot} make install/fast DESTDIR=%{buildroot} -C %{_target_platform} +# fixup bball +pushd %{buildroot}%{_kde4_appsdir}/bball/ +for svgz in *.svgz ; do + mv $svgz `basename $svgz .svgz`.svg.gz + gunzip `basename $svgz .svgz`.svg.gz +done +popd + # unpackaged files # omit -devel type stuff, for now rm -f %{buildroot}%{_kde4_libdir}/libplasma*.so rm -f %{buildroot}%{_kde4_libdir}/liblancelot*.so -rm -rf %{buildroot}%{_kde4_includedir}/ +rm -rf %{buildroot}%{_kde4_includedir}/lancelot %post @@ -79,7 +92,6 @@ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null || : xdg-icon-resource forceupdate --theme hicolor 2> /dev/null || : - %clean rm -rf %{buildroot} @@ -93,22 +105,31 @@ rm -rf %{buildroot} %{_kde4_appsdir}/plasma/services/* %{_kde4_appsdir}/plasma-bluemarble/ %{_kde4_appsdir}/rssnow/ -%{_kde4_datadir}/config/* -%{_kde4_datadir}/kde4/services/* -%{_kde4_datadir}/kde4/servicetypes/* +%{_kde4_datadir}/config/comic.knsrc +%{_kde4_datadir}/kde4/services/*.desktop +%{_kde4_datadir}/kde4/services/ServiceMenus/*.desktop +%{_kde4_datadir}/kde4/servicetypes/*.desktop %{_kde4_datadir}/mime/packages/lancelotpart-mime.xml %{_kde4_datadir}/dbus-1/services/org.kde.lancelot.service -%{_kde4_libdir}/kde4/* +%{_kde4_libdir}/kde4/*.so %{_kde4_libdir}/liblancelot.so.* %{_kde4_libdir}/libplasmaconverter.so.* %{_kde4_libdir}/libplasmacomicprovidercore.so.* -# %{_kde4_libdir}/libplasmaappletdialog.so.* %{_kde4_iconsdir}/hicolor/*/*/* %{_kde4_iconsdir}/oxygen/*/*/* %changelog -* Fri Feb 27 2009 Lukáš Tinkl - 4.2.1-1 +* Mon Mar 16 2009 Rex Dieter - 4.2.1-2 +- make bball applet work (ship .svg instead of .svgz) +- use new %%_qt45 macro +- spec housecleaning + +* Fri Mar 13 2009 Kevin Kofler - 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 - 4.2.1-1 - 4.2.1 * Wed Feb 25 2009 Fedora Release Engineering - 4.2.0-2