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