From 15ac98299094f5502044fde7820bf4b05a898a83 Mon Sep 17 00:00:00 2001 From: "Javier S. Pedro" Date: Fri, 10 Aug 2012 19:15:18 +0200 Subject: autostart daemon on boot --- .../javispedro/sowatch/metawatch/MWListView.qml | 4 ++-- qtc_packaging/debian_fremantle/changelog | 11 +++++++++++ qtc_packaging/debian_fremantle/control | 4 ++-- qtc_packaging/debian_harmattan/control | 2 +- qtc_packaging/debian_harmattan/manifest.aegis | 6 +++++- sowatch.pro | 3 ++- sowatchd/main.cpp | 10 +++++----- sowatchd/sowatchd.conf | 13 +++++++++++++ sowatchd/sowatchd.pro | 22 +++++++++++----------- sowatchd/watchhandler.cpp | 2 ++ 10 files changed, 54 insertions(+), 23 deletions(-) create mode 100644 sowatchd/sowatchd.conf diff --git a/metawatch/qml/com/javispedro/sowatch/metawatch/MWListView.qml b/metawatch/qml/com/javispedro/sowatch/metawatch/MWListView.qml index ed5cf9c..b6764b7 100644 --- a/metawatch/qml/com/javispedro/sowatch/metawatch/MWListView.qml +++ b/metawatch/qml/com/javispedro/sowatch/metawatch/MWListView.qml @@ -17,7 +17,7 @@ ListView { return; // No items } if (selectable) { - if (currentIndex == -1) { + if (currentIndex === -1) { // If no item is selected, select the first one. currentItem = 0; return; @@ -38,7 +38,7 @@ ListView { return; // No items } if (selectable) { - if (currentIndex == -1) { + if (currentIndex === -1) { // If no item is selected, select the last one. currentIndex = count - 1; return; diff --git a/qtc_packaging/debian_fremantle/changelog b/qtc_packaging/debian_fremantle/changelog index d7f6d4b..2c1a390 100644 --- a/qtc_packaging/debian_fremantle/changelog +++ b/qtc_packaging/debian_fremantle/changelog @@ -1,3 +1,14 @@ +sowatch (0.4.0) unstable; urgency=low + + * Brand new configuration user interface. + * Use ConfigKey abstraction instead of directly hitting QSettings + * Add GConfKey backend to ConfigKey. + * Daemon now dynamically loads/unloads watches & watchlets as the + settings change. + * New Qt Messaging Framework based watchlet. + + -- Javier S. Pedro Fri, 10 Aug 2012 17:46:00 +0200 + sowatch (0.3.1) unstable; urgency=low * No longer using Qt Resources for anything. diff --git a/qtc_packaging/debian_fremantle/control b/qtc_packaging/debian_fremantle/control index b36faf6..835f4e3 100644 --- a/qtc_packaging/debian_fremantle/control +++ b/qtc_packaging/debian_fremantle/control @@ -1,7 +1,7 @@ Source: sowatch Section: user/other Priority: optional -Maintainer: Javier +Maintainer: Javier S. Pedro Build-Depends: debhelper (>= 5), libqt4-dev, libqtm-12-dev, pkg-config Standards-Version: 3.7.3 Homepage: http://gitorious.org/sowatch @@ -16,6 +16,6 @@ Description: Bluetooth smartwatch manager - Notifications support: incoming calls, messages, etc. - Watchlets: control the media player or view a map. . - Currently, only the MetaWatch is supported. + Currently, only the digital MetaWatch is supported. XB-Maemo-Display-Name: Sowatch XB-Maemo-Icon-26: diff --git a/qtc_packaging/debian_harmattan/control b/qtc_packaging/debian_harmattan/control index 5a3bc5c..a565d3d 100644 --- a/qtc_packaging/debian_harmattan/control +++ b/qtc_packaging/debian_harmattan/control @@ -1,7 +1,7 @@ Source: sowatch Section: user/other Priority: optional -Maintainer: Javier +Maintainer: Javier S. Pedro Build-Depends: debhelper (>= 5), libqt4-dev, libqtm-dev, pkg-config, applauncherd-dev, libqmafw0-dev, libqmafw-shared0-dev, libnotificationsystem-dev, libcontextsubscriber-dev diff --git a/qtc_packaging/debian_harmattan/manifest.aegis b/qtc_packaging/debian_harmattan/manifest.aegis index a9da1d2..26754f3 100644 --- a/qtc_packaging/debian_harmattan/manifest.aegis +++ b/qtc_packaging/debian_harmattan/manifest.aegis @@ -1,6 +1,10 @@ - + + + + + diff --git a/sowatch.pro b/sowatch.pro index 7fc85a0..3d13e32 100644 --- a/sowatch.pro +++ b/sowatch.pro @@ -9,7 +9,8 @@ metawatch.depends = libsowatch # Some watchlets SUBDIRS += notificationswatchlet sysinfowatchlet -SUBDIRS += qmsgwatchlet qmapwatchlet +#SUBDIRS += qmsgwatchlet +SUBDIRS += qmapwatchlet notificationswatchlet.depends = libsowatch sysinfowatchlet.depends = libsowatch qmsgwatchlet.depends = libsowatch diff --git a/sowatchd/main.cpp b/sowatchd/main.cpp index 2816830..7853cde 100644 --- a/sowatchd/main.cpp +++ b/sowatchd/main.cpp @@ -15,14 +15,14 @@ using namespace sowatch; int main(int argc, char *argv[]) { - // Some plugins might require a user interface, so use QApplication instead - // of QCoreApplication - QApplication a(argc, argv); + // Some plugins use QtGui functionality, so QApplication must be used + // instead of QCoreApplication. + QApplication app(argc, argv); QApplication::setOrganizationDomain("com.javispedro.sowatch"); QApplication::setOrganizationName("sowatch"); QApplication::setApplicationName("sowatchd"); - sowatch::daemon = new Daemon(&a); + sowatch::daemon = new Daemon(&app); new DaemonAdaptor(sowatch::daemon); QDBusConnection connection = QDBusConnection::sessionBus(); @@ -33,5 +33,5 @@ int main(int argc, char *argv[]) qCritical("Could not register daemon object"); } - return a.exec(); + return app.exec(); } diff --git a/sowatchd/sowatchd.conf b/sowatchd/sowatchd.conf new file mode 100644 index 0000000..2cebb82 --- /dev/null +++ b/sowatchd/sowatchd.conf @@ -0,0 +1,13 @@ +description "Sowatch daemon" +author "maemo@javispedro.com" + +stop on stopping xsession + +console none + +respawn +respawn limit 3 10 + +nice 2 + +exec /usr/bin/aegis-exec -s -u user -l "exec /opt/sowatch/bin/sowatchd" diff --git a/sowatchd/sowatchd.pro b/sowatchd/sowatchd.pro index 9299f05..f44acdc 100644 --- a/sowatchd/sowatchd.pro +++ b/sowatchd/sowatchd.pro @@ -5,31 +5,31 @@ TEMPLATE = app QT += core gui dbus CONFIG -= app_bundle -SOURCES += main.cpp daemon.cpp daemonadaptor.cpp \ - watchhandler.cpp -HEADERS += global.h daemon.h daemonadaptor.h \ - watchhandler.h +SOURCES += main.cpp daemon.cpp daemonadaptor.cpp watchhandler.cpp +HEADERS += global.h daemon.h daemonadaptor.h watchhandler.h LIBS += -L$$OUT_PWD/../libsowatch/ -lsowatch INCLUDEPATH += $$PWD/../libsowatch DEPENDPATH += $$PWD/../libsowatch -xml.files = service.xml -INSTALLS += xml - +# Library & target paths !isEmpty(MEEGO_VERSION_MAJOR)|maemo5 { QMAKE_RPATHDIR += /opt/sowatch/lib target.path = /opt/sowatch/bin - xml.path = /opt/sowatch/xml } else { target.path = /usr/bin - xml.path = /usr/share/sowatch/xml } INSTALLS += target +# Service files +!isEmpty(MEEGO_VERSION_MAJOR) { + service.files = sowatchd.conf + service.path = /etc/init/apps + INSTALLS += service +} + dbus.path = /usr/share/dbus-1/services dbus.files = com.javispedro.sowatch.service.sowatch-service.service INSTALLS += dbus -OTHER_FILES += scanner.xml \ - daemon.xml +OTHER_FILES += daemon.xml diff --git a/sowatchd/watchhandler.cpp b/sowatchd/watchhandler.cpp index 00d0641..314156a 100644 --- a/sowatchd/watchhandler.cpp +++ b/sowatchd/watchhandler.cpp @@ -65,6 +65,8 @@ void WatchHandler::updateWatchlets() QStringList newWatchlets = _config->value("watchlets").toStringList(); QStringList curWatchlets = _watchlet_order; + if (newWatchlets == curWatchlets) return; // Nothing to do + // TODO: Something better than removing all and readding foreach (const QString& s, curWatchlets) { Watchlet* watchlet = _watchlets[s]; -- cgit v1.2.3