[-]
[+]
|
Changed |
_service:tar_git:harbour-maira.spec
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -6,7 +6,7 @@
<service name="tar_git">
<param name="url">https://github.com/kimmoli/maira.git</param>
<param name="branch">master</param>
- <param name="revision">0e35a4c27be6a4a03e2daf5fcd7ec7d2c3886f26</param>
+ <param name="revision">c80a2f3a0b8c8538002f6680aba61e4c7017ae70</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-maira-0.0.15.tar.bz2/.gitignore
^
|
@@ -1 +1,3 @@
qml/version.json
+src/dbusAdaptor.cpp
+src/dbusAdaptor.h
\ No newline at end of file
|
[-]
[+]
|
Added |
_service:tar_git:harbour-maira-0.0.15.tar.bz2/config/com.kimmoli.harbour.maira.service
^
|
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=com.kimmoli.harbour.maira
+Exec=/usr/bin/invoker --type=silica-qt5 --desktop-file=harbour-maira.desktop -s -n /usr/bin/harbour-maira
|
[-]
[+]
|
Added |
_service:tar_git:harbour-maira-0.0.15.tar.bz2/config/com.kimmoli.harbour.maira.xml
^
|
@@ -0,0 +1,9 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node>
+ <interface name="com.kimmoli.harbour.maira">
+ <method name="showissue">
+ <annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
+ <arg name="key" type="as" direction="in" />
+ </method>
+ </interface>
+</node>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-maira-0.0.15.tar.bz2/maira.pro
^
|
@@ -6,6 +6,8 @@
DEFINES += "APPVERSION=\\\"$${SPECVERSION}\\\""
DEFINES += "APPNAME=\\\"$${TARGET}\\\""
+system(qdbusxml2cpp config/com.kimmoli.harbour.maira.xml -i dbus.h -a src/dbusAdaptor)
+
icons.files = icons/*
icons.path = /usr/share/icons/hicolor/
@@ -15,7 +17,13 @@
notificationCategories.path = /usr/share/lipstick/notificationcategories
notificationCategories.files = config/x-harbour.maira.activity.*
-INSTALLS += icons config notificationCategories
+dbus_services.path = /usr/share/dbus-1/services/
+dbus_services.files = config/com.kimmoli.harbour.maira.service
+
+interfaces.path = /usr/share/dbus-1/interfaces/
+interfaces.files = config/com.kimmoli.harbour.maira.xml
+
+INSTALLS += icons config notificationCategories dbus_services interfaces
@@ -44,16 +52,22 @@
qml/pages/IssuetypeSelector.qml \
config/icon-lock-harbour-maira.png \
config/x-harbour.maira.activity.conf \
- config/x-harbour.maira.activity.preview.conf
+ config/x-harbour.maira.activity.preview.conf \
+ config/com.kimmoli.harbour.maira.service \
+ config/com.kimmoli.harbour.maira.xml
SOURCES += \
src/main.cpp \
src/filedownloader.cpp \
src/fileuploader.cpp \
- src/notifications.cpp
+ src/notifications.cpp \
+ src/dbusAdaptor.cpp \
+ src/dbus.cpp
HEADERS += \
src/filedownloader.h \
src/fileuploader.h \
- src/notifications.h
+ src/notifications.h \
+ src/dbusAdaptor.h \
+ src/dbus.h
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-maira-0.0.15.tar.bz2/qml/maira.qml
^
|
@@ -452,6 +452,35 @@
}
}
+ Connections
+ {
+ target: Dbus
+ onViewissue:
+ {
+ showissuetimer.keytoshow = key
+ showissuetimer.start()
+ }
+ }
+ Timer
+ {
+ property var keytoshow
+ id: showissuetimer
+ interval: 100
+ onTriggered:
+ {
+ if (!loggedin)
+ {
+ restart()
+ }
+ else
+ {
+ fetchissue(keytoshow)
+ pageStack.push(Qt.resolvedUrl("pages/IssueView.qml"), {key: keytoshow})
+ activate()
+ }
+ }
+ }
+
/************************************************************************************/
function request(url, callback)
|
[-]
[+]
|
Added |
_service:tar_git:harbour-maira-0.0.15.tar.bz2/src/dbus.cpp
^
|
@@ -0,0 +1,48 @@
+#include "dbus.h"
+
+static const char *PATH = "/";
+static const char *SERVICE = SERVICE_NAME;
+
+Dbus::Dbus(QObject *parent) :
+ QObject(parent)
+{
+ m_dbusRegistered = false;
+ new MairaAdaptor(this);
+ registerDBus();
+}
+
+Dbus::~Dbus()
+{
+ if (m_dbusRegistered)
+ {
+ QDBusConnection connection = QDBusConnection::sessionBus();
+ connection.unregisterObject(PATH);
+ connection.unregisterService(SERVICE);
+ }
+}
+
+void Dbus::registerDBus()
+{
+ if (!m_dbusRegistered)
+ {
+ QDBusConnection connection = QDBusConnection::sessionBus();
+ if (!connection.registerService(SERVICE))
+ {
+ QCoreApplication::quit();
+ return;
+ }
+
+ if (!connection.registerObject(PATH, this))
+ {
+ QCoreApplication::quit();
+ return;
+ }
+ m_dbusRegistered = true;
+ }
+}
+
+void Dbus::showissue(const QStringList &key)
+{
+ emit viewissue(key.at(0));
+}
+
|
[-]
[+]
|
Added |
_service:tar_git:harbour-maira-0.0.15.tar.bz2/src/dbus.h
^
|
@@ -0,0 +1,32 @@
+#ifndef DBUS_H
+#define DBUS_H
+
+#include <QObject>
+#include <QtDBus/QtDBus>
+#include "dbusAdaptor.h"
+
+#define SERVICE_NAME "com.kimmoli.harbour.maira"
+
+class QDBusInterface;
+class Dbus : public QObject
+{
+ Q_OBJECT
+ Q_CLASSINFO("D-Bus Interface", SERVICE_NAME)
+
+public:
+ explicit Dbus(QObject *parent = 0);
+ ~Dbus();
+ void registerDBus();
+
+public Q_SLOTS:
+ Q_NOREPLY void showissue(const QStringList &key);
+
+signals:
+ void viewissue(QString key);
+
+private:
+ bool m_dbusRegistered;
+};
+
+#endif // DBUS_H
+
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-maira-0.0.15.tar.bz2/src/main.cpp
^
|
@@ -10,6 +10,7 @@
#include "filedownloader.h"
#include "fileuploader.h"
#include "notifications.h"
+#include "dbus.h"
class MyNetworkCookieJar : public QNetworkCookieJar
{
@@ -107,6 +108,9 @@
Notifications *no = new Notifications();
view->rootContext()->setContextProperty("Notifications", no);
+ Dbus *dbus = new Dbus();
+ view->rootContext()->setContextProperty("Dbus", dbus);
+
view->setSource(SailfishApp::pathTo("qml/maira.qml"));
view->show();
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-maira-0.0.15.tar.bz2/src/notifications.cpp
^
|
@@ -36,9 +36,9 @@
notif.setRemoteAction(Notification::remoteAction("default",
QString(),
- "com.kimmoli.maira",
- "/com/kimmoli/maira",
- "com.kimmoli.maira",
+ "com.kimmoli.harbour.maira",
+ "/",
+ "com.kimmoli.harbour.maira",
"showissue",
args));
}
|