Added the application to the script engine
This commit is contained in:
parent
385b0fa000
commit
2b98542e6e
7 changed files with 22 additions and 12 deletions
1
telldus-gui/TelldusCenter/Plugins/script/com/__init__.js
Normal file
1
telldus-gui/TelldusCenter/Plugins/script/com/__init__.js
Normal file
|
@ -0,0 +1 @@
|
||||||
|
__setupPackage__( __extension__ );
|
|
@ -0,0 +1,3 @@
|
||||||
|
__setupPackage__( __extension__ );
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
|
||||||
|
__postInit__ = function() {
|
||||||
|
application.showMessage.connect( systrayMessage );
|
||||||
|
}
|
||||||
|
|
||||||
|
function systrayMessage(title, message, detailedMessage) {
|
||||||
|
if (!application.isMainWindowShown()) {
|
||||||
|
com.telldus.systray.showMessage(title, message, detailedMessage);
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,7 +15,7 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
|
|
||||||
TelldusCenterApplication application(argc, argv);
|
TelldusCenterApplication application(argc, argv);
|
||||||
QCoreApplication::setLibraryPaths( QStringList( QCoreApplication::applicationDirPath() ) );
|
//QCoreApplication::setLibraryPaths( QStringList( QCoreApplication::applicationDirPath() ) );
|
||||||
application.loadPlugins();
|
application.loadPlugins();
|
||||||
application.loadScripts();
|
application.loadScripts();
|
||||||
|
|
||||||
|
|
|
@ -76,14 +76,6 @@ void TelldusCenterApplication::eventTriggered( const QString &name, const QStrin
|
||||||
qDebug() << "Systray - eventTriggered:" << name << title;
|
qDebug() << "Systray - eventTriggered:" << name << title;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TelldusCenterApplication::showMessage( const QString &title, const QString &message, const QString &detailedMessage ) {
|
|
||||||
if (isMainWindowShown()) {
|
|
||||||
d->mainWindow->showMessage(title, message, detailedMessage);
|
|
||||||
} else {
|
|
||||||
//d->systrayIcon->showMessage((title != "" ? title : "Telldus Center"), message, QSystemTrayIcon::Warning);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void TelldusCenterApplication::deviceEvent(int deviceId, int method, const char *data, int /*callbackId*/, void */*context*/) {
|
void TelldusCenterApplication::deviceEvent(int deviceId, int method, const char *data, int /*callbackId*/, void */*context*/) {
|
||||||
TelldusCenterApplication *app = TelldusCenterApplication::instance();
|
TelldusCenterApplication *app = TelldusCenterApplication::instance();
|
||||||
emit app->sigDeviceEvent(deviceId, method, data);
|
emit app->sigDeviceEvent(deviceId, method, data);
|
||||||
|
@ -100,11 +92,14 @@ void TelldusCenterApplication::loadPlugins() {
|
||||||
pluginsDir.cdUp();
|
pluginsDir.cdUp();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (!pluginsDir.cd("plugins")) {
|
if (!pluginsDir.cd("Plugins")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this->setLibraryPaths( QStringList(pluginsDir.absolutePath()) );
|
this->setLibraryPaths( QStringList(pluginsDir.absolutePath()) );
|
||||||
|
|
||||||
|
QScriptValue object = d->scriptEngine.newQObject(this);
|
||||||
|
d->scriptEngine.globalObject().setProperty("application", object);
|
||||||
|
|
||||||
foreach (QString fileName, pluginsDir.entryList(QDir::Files)) {
|
foreach (QString fileName, pluginsDir.entryList(QDir::Files)) {
|
||||||
QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
|
QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
|
||||||
QObject *plugin = loader.instance();
|
QObject *plugin = loader.instance();
|
||||||
|
|
|
@ -25,7 +25,6 @@ public:
|
||||||
|
|
||||||
PluginList plugins() const;
|
PluginList plugins() const;
|
||||||
void showMainWindow();
|
void showMainWindow();
|
||||||
bool isMainWindowShown();
|
|
||||||
|
|
||||||
void loadPlugins();
|
void loadPlugins();
|
||||||
void loadScripts();
|
void loadScripts();
|
||||||
|
@ -34,10 +33,11 @@ public:
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void sigDeviceEvent(int deviceId, int method, const QString &data);
|
void sigDeviceEvent(int deviceId, int method, const QString &data);
|
||||||
|
void showMessage( const QString &title, const QString &message, const QString &detailedMessage );
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void showMessage( const QString &title, const QString &message, const QString &detailedMessage );
|
|
||||||
void eventTriggered( const QString &name, const QString &title );
|
void eventTriggered( const QString &name, const QString &title );
|
||||||
|
bool isMainWindowShown();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void deviceEvent(int deviceId, int method, const QString &data);
|
void deviceEvent(int deviceId, int method, const QString &data);
|
||||||
|
|
|
@ -7,6 +7,7 @@ public:
|
||||||
virtual ~TelldusCenterPlugin() {}
|
virtual ~TelldusCenterPlugin() {}
|
||||||
|
|
||||||
virtual QIcon iconForPage( const QString &page ) const = 0;
|
virtual QIcon iconForPage( const QString &page ) const = 0;
|
||||||
|
// virtual void init() = 0;
|
||||||
virtual QString pluginName() const = 0;
|
virtual QString pluginName() const = 0;
|
||||||
virtual QWidget *widget( const QString &page, QWidget *parent ) const = 0;
|
virtual QWidget *widget( const QString &page, QWidget *parent ) const = 0;
|
||||||
virtual QStringList widgets() const = 0;
|
virtual QStringList widgets() const = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue