Add getters and setters for PopupApplet::widget() and PopupApplet::graphicsWidget()
for use in scripting languages. Add a initScriptingExtenderItem() signal for script engines to connect to and call their versions of Applet::initExtenderItem() svn path=/trunk/KDE/kdelibs/; revision=998323
This commit is contained in:
parent
d9d08c94e0
commit
695168a4bd
@ -666,11 +666,15 @@ void Applet::constraintsEvent(Plasma::Constraints constraints)
|
||||
|
||||
void Applet::initExtenderItem(ExtenderItem *item)
|
||||
{
|
||||
if (d->script) {
|
||||
emit initScriptExtenderItem(item);
|
||||
} else {
|
||||
kWarning() << "Missing implementation of initExtenderItem in the applet "
|
||||
<< item->config().readEntry("SourceAppletPluginName", "")
|
||||
<< "!\n Any applet that uses extenders should implement initExtenderItem to "
|
||||
<< "instantiate a widget. Destroying the item...";
|
||||
item->destroy();
|
||||
}
|
||||
}
|
||||
|
||||
Extender *Applet::extender() const
|
||||
|
5
applet.h
5
applet.h
@ -693,6 +693,11 @@ class PLASMA_EXPORT Applet : public QGraphicsWidget
|
||||
*/
|
||||
void newStatus(Plasma::ItemStatus status);
|
||||
|
||||
/**
|
||||
* Emitted when an ExtenderItem in a scripting applet needs to be initialized
|
||||
*/
|
||||
void initScriptExtenderItem(Plasma::ExtenderItem *item);
|
||||
|
||||
public Q_SLOTS:
|
||||
/**
|
||||
* Sets the immutability type for this applet (not immutable,
|
||||
|
@ -112,12 +112,26 @@ QIcon PopupApplet::popupIcon() const
|
||||
|
||||
QWidget *PopupApplet::widget()
|
||||
{
|
||||
return 0;
|
||||
return d->widget;
|
||||
}
|
||||
|
||||
void PopupApplet::setWidget(QWidget * widget)
|
||||
{
|
||||
d->widget = widget;
|
||||
}
|
||||
|
||||
QGraphicsWidget *PopupApplet::graphicsWidget()
|
||||
{
|
||||
if (d->graphicsWidget != 0) {
|
||||
return d->graphicsWidget;
|
||||
} else {
|
||||
return static_cast<Applet*>(this)->d->extender;
|
||||
}
|
||||
}
|
||||
|
||||
void PopupApplet::setGraphicsWidget(QGraphicsWidget * graphicsWidget)
|
||||
{
|
||||
d->graphicsWidget = graphicsWidget;
|
||||
}
|
||||
|
||||
void PopupAppletPrivate::checkExtenderAppearance(Plasma::FormFactor f)
|
||||
@ -486,6 +500,8 @@ PopupAppletPrivate::PopupAppletPrivate(PopupApplet *applet)
|
||||
icon(0),
|
||||
dialog(0),
|
||||
proxy(0),
|
||||
widget(0),
|
||||
graphicsWidget(0),
|
||||
popupPlacement(Plasma::FloatingPopup),
|
||||
savedAspectRatio(Plasma::InvalidAspectRatioMode),
|
||||
timer(0),
|
||||
|
@ -77,6 +77,7 @@ public:
|
||||
* depending on the form factor of the applet.
|
||||
*/
|
||||
virtual QWidget *widget();
|
||||
void setWidget(QWidget * widget);
|
||||
|
||||
/**
|
||||
* Implement either this function or widget().
|
||||
@ -84,6 +85,7 @@ public:
|
||||
* depending on the form factor of the applet.
|
||||
*/
|
||||
virtual QGraphicsWidget *graphicsWidget();
|
||||
void setGraphicsWidget(QGraphicsWidget * widget);
|
||||
|
||||
/**
|
||||
* @return the placement of the popup relating to the icon
|
||||
|
@ -44,6 +44,8 @@ public:
|
||||
Plasma::IconWidget *icon;
|
||||
QPointer<Plasma::Dialog> dialog;
|
||||
QGraphicsProxyWidget *proxy;
|
||||
QWidget *widget;
|
||||
QGraphicsWidget *graphicsWidget;
|
||||
Plasma::PopupPlacement popupPlacement;
|
||||
Plasma::AspectRatioMode savedAspectRatio;
|
||||
QTimer *timer;
|
||||
|
Loading…
Reference in New Issue
Block a user