SVN commit 850434 by sebas: Don't squeeze multiple batteries into the space of one, change the applet sizeHint instead so we get more space.
The emit sizeHint doesn't seem to trigger sizeHint(), though. Bug? CCMAIL:plasma-devel@kde.org M +30 -2 battery.cpp M +1 -1 battery.h --- trunk/KDE/kdebase/workspace/plasma/applets/battery/battery.cpp #850433:850434 @@ -110,10 +110,18 @@ { if (constraints & (Plasma::FormFactorConstraint | Plasma::SizeConstraint)) { if (formFactor() == Plasma::Vertical) { - setMaximumSize(QWIDGETSIZE_MAX, qMax(m_textRect.height(), contentsRect().width())); + if (!m_showMultipleBatteries) { + setMaximumSize(QWIDGETSIZE_MAX, qMax(m_textRect.height(), contentsRect().width())); + } else { + setMaximumSize(QWIDGETSIZE_MAX, qMax(m_textRect.height(), contentsRect().width()*m_numOfBattery)); + } //kDebug() << "Vertical FormFactor"; } else if (formFactor() == Plasma::Horizontal) { - setMaximumSize(qMax(m_textRect.width(), contentsRect().height()), QWIDGETSIZE_MAX); + if (!m_showMultipleBatteries) { + setMaximumSize(qMax(m_textRect.width(), contentsRect().height()), QWIDGETSIZE_MAX); + } else { + setMaximumSize(qMax(m_textRect.width(), contentsRect().height()*m_numOfBattery), QWIDGETSIZE_MAX); + } //kDebug() << "Horizontal FormFactor" << m_textRect.width() << contentsRect().height(); } } @@ -125,6 +133,26 @@ } } + +QSizeF Battery::sizeHint(const Qt::SizeHint which, const QSizeF& constraint) const +{ + Q_UNUSED( which ); + Q_UNUSED( constraint ); + QSizeF sizeHint = contentsRect().size(); + switch (formFactor()) { + case Plasma::Vertical: + sizeHint.setHeight(sizeHint.width() * m_numOfBattery); + break; + + default: + sizeHint.setWidth(sizeHint.height() * m_numOfBattery); + break; + } + kDebug() << "SizeHint" << sizeHint; + return sizeHint; +} + + void Battery::dataUpdated(const QString& source, const Plasma::DataEngine::Data &data) { if (source.startsWith(I18N_NOOP("Battery"))) { --- trunk/KDE/kdebase/workspace/plasma/applets/battery/battery.h #850433:850434 @@ -46,7 +46,7 @@ void paintInterface(QPainter *painter, const QStyleOptionGraphicsItem *option, const QRect &contents); void setPath(const QString&); - QSizeF contentSizeHint() const; + QSizeF sizeHint(const Qt::SizeHint which, const QSizeF& constraint) const; Qt::Orientations expandingDirections() const; void constraintsEvent(Plasma::Constraints constraints); _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel