SVN commit 862081 by sebas: Use an extender.
I'm still not getting the popup to pop up, out of ideas for now. Maybe someone else can have a look, I'm kind of stuck. CCMAIL:plasma-devel@kde.org M +25 -3 battery.cpp M +2 -0 battery.h --- trunk/KDE/kdebase/workspace/plasma/applets/battery/battery.cpp #862080:862081 @@ -40,6 +40,8 @@ #include <plasma/svg.h> #include <plasma/theme.h> #include <plasma/animator.h> +#include <plasma/extender.h> +#include <plasma/extenderitem.h> #include <plasma/popupapplet.h> #include <plasma/widgets/label.h> #include <plasma/widgets/slider.h> @@ -61,7 +63,7 @@ m_numOfBattery(0) { kDebug() << "Loading applet battery"; - setAcceptsHoverEvents(true); + //setAcceptsHoverEvents(true); setHasConfigurationInterface(true); setPopupIcon(QIcon()); resize(128, 128); @@ -72,6 +74,10 @@ void Battery::init() { + new Plasma::Extender(this); + extender()->setEmptyExtenderMessage(i18n("no running jobs...")); + extender()->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); + KConfigGroup cg = config(); m_showBatteryString = cg.readEntry("showBatteryString", false); m_showMultipleBatteries = cg.readEntry("showMultipleBatteries", true); @@ -109,6 +115,12 @@ dataUpdated(I18N_NOOP("AC Adapter"), dataEngine("powermanagement")->query(I18N_NOOP("AC Adapter"))); m_numOfBattery = battery_sources.size(); kDebug() << battery_sources.size(); + + if (!extender()->item("powermanagement")) { + Plasma::ExtenderItem *eItem = new Plasma::ExtenderItem(extender()); + eItem->setName("powermanagement"); + initExtenderItem(eItem); + } } void Battery::constraintsEvent(Plasma::Constraints constraints) @@ -271,7 +283,14 @@ QGraphicsWidget *Battery::graphicsWidget() { - QGraphicsWidget *controls= new QGraphicsWidget(this); + kDebug(); + return extender(); +} + +void Battery::initExtenderItem(Plasma::ExtenderItem *item) +{ + kDebug(); + QGraphicsWidget *controls = new QGraphicsWidget(item); QGraphicsLinearLayout *controlsLayout = new QGraphicsLinearLayout(controls); controlsLayout->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -292,7 +311,10 @@ controls->setLayout(controlsLayout); - return controls; + item->setWidget(controls); + item->setTitle(i18n("Power Management")); + + } void Battery::showLabel(bool show) --- trunk/KDE/kdebase/workspace/plasma/applets/battery/battery.h #862080:862081 @@ -34,6 +34,7 @@ namespace Plasma { class Svg; + class ExtenderItem; } class Battery : public Plasma::PopupApplet @@ -64,6 +65,7 @@ protected: void createConfigurationInterface(KConfigDialog *parent); QGraphicsWidget *graphicsWidget(); + void initExtenderItem(Plasma::ExtenderItem *item); private slots: void animationUpdate(qreal progress); _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel