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);
|
||||
QCoreApplication::setLibraryPaths( QStringList( QCoreApplication::applicationDirPath() ) );
|
||||
//QCoreApplication::setLibraryPaths( QStringList( QCoreApplication::applicationDirPath() ) );
|
||||
application.loadPlugins();
|
||||
application.loadScripts();
|
||||
|
||||
|
|
|
@ -76,14 +76,6 @@ void TelldusCenterApplication::eventTriggered( const QString &name, const QStrin
|
|||
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*/) {
|
||||
TelldusCenterApplication *app = TelldusCenterApplication::instance();
|
||||
emit app->sigDeviceEvent(deviceId, method, data);
|
||||
|
@ -100,11 +92,14 @@ void TelldusCenterApplication::loadPlugins() {
|
|||
pluginsDir.cdUp();
|
||||
}
|
||||
#endif
|
||||
if (!pluginsDir.cd("plugins")) {
|
||||
if (!pluginsDir.cd("Plugins")) {
|
||||
return;
|
||||
}
|
||||
this->setLibraryPaths( QStringList(pluginsDir.absolutePath()) );
|
||||
|
||||
QScriptValue object = d->scriptEngine.newQObject(this);
|
||||
d->scriptEngine.globalObject().setProperty("application", object);
|
||||
|
||||
foreach (QString fileName, pluginsDir.entryList(QDir::Files)) {
|
||||
QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
|
||||
QObject *plugin = loader.instance();
|
||||
|
|
|
@ -25,7 +25,6 @@ public:
|
|||
|
||||
PluginList plugins() const;
|
||||
void showMainWindow();
|
||||
bool isMainWindowShown();
|
||||
|
||||
void loadPlugins();
|
||||
void loadScripts();
|
||||
|
@ -34,10 +33,11 @@ public:
|
|||
|
||||
signals:
|
||||
void sigDeviceEvent(int deviceId, int method, const QString &data);
|
||||
void showMessage( const QString &title, const QString &message, const QString &detailedMessage );
|
||||
|
||||
public slots:
|
||||
void showMessage( const QString &title, const QString &message, const QString &detailedMessage );
|
||||
void eventTriggered( const QString &name, const QString &title );
|
||||
bool isMainWindowShown();
|
||||
|
||||
private slots:
|
||||
void deviceEvent(int deviceId, int method, const QString &data);
|
||||
|
|
|
@ -7,6 +7,7 @@ public:
|
|||
virtual ~TelldusCenterPlugin() {}
|
||||
|
||||
virtual QIcon iconForPage( const QString &page ) const = 0;
|
||||
// virtual void init() = 0;
|
||||
virtual QString pluginName() const = 0;
|
||||
virtual QWidget *widget( const QString &page, QWidget *parent ) const = 0;
|
||||
virtual QStringList widgets() const = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue