[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.6/kdebase/runtime/plasma/scriptengines/javascript/plasmoid
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2011-01-28 19:45:36
Message-ID: 20110128194536.539BBAC8BB () svn ! kde ! org
[Download RAW message or body]
SVN commit 1217813 by aseigo:
unbreak update() method
M +4 -8 appletinterface.cpp
M +23 -11 appletinterface.h
M +4 -2 simplejavascriptapplet.cpp
--- branches/KDE/4.6/kdebase/runtime/plasma/scriptengines/javascript/plasmoid/appletinterface.cpp #1217812:1217813
@@ -124,25 +124,21 @@
m_appletScriptEngine->setConfigurationRequired(needsConfiguring, reason);
}
-#ifdef USE_JS_SCRIPTENGINE
-
-void AppletInterface::update(const QRectF &rect)
+void JsAppletInterface::update(const QRectF &rect)
{
applet()->update(rect);
}
-QGraphicsLayout *AppletInterface::layout() const
+QGraphicsLayout *JsAppletInterface::layout() const
{
return applet()->layout();
}
-void AppletInterface::setLayout(QGraphicsLayout *layout)
+void JsAppletInterface::setLayout(QGraphicsLayout *layout)
{
applet()->setLayout(layout);
}
-#endif
-
QString AppletInterface::activeConfig() const
{
return m_currentConfig.isEmpty() ? "main" : m_currentConfig;
@@ -379,7 +375,7 @@
PopupAppletInterface::PopupAppletInterface(AbstractJsAppletScript *parent)
- : AppletInterface(parent)
+ : POPUPAPPLETSUPERCLASS(parent)
{
}
--- branches/KDE/4.6/kdebase/runtime/plasma/scriptengines/javascript/plasmoid/appletinterface.h #1217812:1217813
@@ -76,10 +76,6 @@
Q_PROPERTY(int apiVersion READ apiVersion CONSTANT)
Q_PROPERTY(QRectF rect READ rect)
Q_PROPERTY(QSizeF size READ size)
-#ifdef USE_JS_SCRIPTENGINE
- Q_PROPERTY(QGraphicsLayout *layout WRITE setLayout READ layout)
- Q_PROPERTY(QObject *sender READ sender)
-#endif
public:
AppletInterface(AbstractJsAppletScript *parent);
@@ -276,12 +272,6 @@
Q_INVOKABLE Plasma::Extender *extender() const;
-#ifdef USE_JS_SCRIPTENGINE
- Q_INVOKABLE void update(const QRectF &rect = QRectF());
- QGraphicsLayout *layout() const;
- void setLayout(QGraphicsLayout *);
-#endif
-
Plasma::DataEngine *dataEngine(const QString &name);
QList<QAction*> contextualActions() const;
@@ -311,9 +301,31 @@
QMap<QString, Plasma::ConfigLoader*> m_configs;
};
-class PopupAppletInterface : public AppletInterface
+class JsAppletInterface : public AppletInterface
{
Q_OBJECT
+ Q_PROPERTY(QGraphicsLayout *layout WRITE setLayout READ layout)
+ Q_PROPERTY(QObject *sender READ sender)
+
+public:
+ JsAppletInterface(AbstractJsAppletScript *parent)
+ : AppletInterface(parent)
+ {
+ }
+
+ Q_INVOKABLE void update(const QRectF &rect = QRectF());
+ QGraphicsLayout *layout() const;
+ void setLayout(QGraphicsLayout *);
+};
+
+#ifdef USE_JS_SCRIPTENGINE
+#define POPUPAPPLETSUPERCLASS JsAppletInterface
+#else
+#define POPUPAPPLETSUPERCLASS AppletInterface
+#endif
+class PopupAppletInterface : public POPUPAPPLETSUPERCLASS
+{
+ Q_OBJECT
Q_PROPERTY(QIcon popupIcon READ popupIcon WRITE setPopupIcon)
Q_PROPERTY(bool passivePopup READ isPassivePopup WRITE setPassivePopup)
Q_PROPERTY(QGraphicsWidget *popupWidget READ popupWidget WRITE setPopupWidget)
--- branches/KDE/4.6/kdebase/runtime/plasma/scriptengines/javascript/plasmoid/simplejavascriptapplet.cpp #1217812:1217813
@@ -55,6 +55,8 @@
#include <Plasma/Svg>
#include <Plasma/VideoWidget>
+#define USE_JS_SCRIPTENGINE
+
#include "appletauthorization.h"
#include "appletinterface.h"
#include "scriptenv.h"
@@ -511,8 +513,8 @@
// Expose applet interface
const bool isPopupApplet = qobject_cast<Plasma::PopupApplet *>(applet());
- m_interface = isPopupApplet ? new PopupAppletInterface(this) : new AppletInterface(this);
- m_self = m_engine->newQObject(m_interface);
+ m_interface = isPopupApplet ? new PopupAppletInterface(this) : new JsAppletInterface(this);
+ m_self = m_engine->newQObject(m_interface, QScriptEngine::QtOwnership, QScriptEngine::ExcludeDeleteLater);
m_env->addMainObjectProperties(m_self);
m_self.setScope(global);
global.setProperty("plasmoid", m_self);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic