--- 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(); } //<