RowLayout {
spacing: 20
Button {
- text: 'Sushi'
+ text: 'Wifi'
highlighted: true
+ property int index: 0
+ property var icons: ['HMI_Status_Wifi_NoBars-01', 'HMI_Status_Wifi_1Bar-01', 'HMI_Status_Wifi_2Bars-01', 'HMI_Status_Wifi_3Bars-01', 'HMI_Status_Wifi_Full-01']
+ onClicked: {
+ index = (index + 1) % icons.length
+ setStatusIcon(0, 'qrc:/images/Status/%1.png'.arg(icons[index]))
+ }
}
Button {
- text: 'Sashimi'
+ text: 'Bluetooth'
+ property int index: 0
+ property var icons: ['HMI_Status_Bluetooth_Inactive-01', 'HMI_Status_Bluetooth_On-01']
+ onClicked: {
+ index = (index + 1) % icons.length
+ setStatusIcon(1, 'qrc:/images/Status/%1.png'.arg(icons[index]))
+ }
}
Button {
- text: 'Ramen'
+ text: 'Signal'
+ property int index: 0
+ property var icons: ['HMI_Status_Signal_NoBars-01', 'HMI_Status_Signal_1Bars-01', 'HMI_Status_Signal_2Bars-01', 'HMI_Status_Signal_3Bars-01', 'HMI_Status_Signal_4Bars-01', 'HMI_Status_Signal_Full-01']
+ onClicked: {
+ index = (index + 1) % icons.length
+ setStatusIcon(2, 'qrc:/images/Status/%1.png'.arg(icons[index]))
+ }
}
}
#include <QtCore/QDebug>
#include <QtCore/QCommandLineParser>
#include <QtCore/QUrlQuery>
+#include <QtDBus/QDBusInterface>
+#include <QtDBus/QDBusReply>
#include <QtGui/QGuiApplication>
#include <QtQml/QQmlApplicationEngine>
#include <QtQml/QQmlContext>
#include <libhomescreen.hpp>
#endif
+class DBus : public QObject
+{
+ Q_OBJECT
+public:
+ DBus(QObject *parent = nullptr)
+ : QObject(parent)
+ , interface("org.agl.homescreen", "/StatusBar", "org.agl.statusbar", QDBusConnection::sessionBus())
+ {}
+
+ Q_INVOKABLE void setStatusIcon(int index, const QString &url) {
+ interface.call("setStatusIcon", index, url);
+ }
+
+private:
+ QDBusInterface interface;
+};
+
int main(int argc, char *argv[])
{
#ifdef HAVE_LIBHOMESCREEN
QQmlContext *context = engine.rootContext();
context->setContextProperty(QStringLiteral("bindingAddress"), bindingAddress);
}
+
+ DBus dbus;
+ engine.rootContext()->setContextProperty("dbus", &dbus);
engine.load(QUrl(QStringLiteral("qrc:/Settings.qml")));
return app.exec();
}
+#include "main.moc"