summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier S. Pedro <maemo@javispedro.com>2012-08-10 19:15:18 +0200
committerJavier S. Pedro <maemo@javispedro.com>2012-08-10 19:15:18 +0200
commit15ac98299094f5502044fde7820bf4b05a898a83 (patch)
tree959497f9c1b6745da64c044720874318618b9033
parent4ad9e1874af29864ca8531e5ba033b85d6616639 (diff)
downloadsowatch-15ac98299094f5502044fde7820bf4b05a898a83.tar.gz
sowatch-15ac98299094f5502044fde7820bf4b05a898a83.zip
autostart daemon on boot
-rw-r--r--metawatch/qml/com/javispedro/sowatch/metawatch/MWListView.qml4
-rw-r--r--qtc_packaging/debian_fremantle/changelog11
-rw-r--r--qtc_packaging/debian_fremantle/control4
-rw-r--r--qtc_packaging/debian_harmattan/control2
-rw-r--r--qtc_packaging/debian_harmattan/manifest.aegis6
-rw-r--r--sowatch.pro3
-rw-r--r--sowatchd/main.cpp10
-rw-r--r--sowatchd/sowatchd.conf13
-rw-r--r--sowatchd/sowatchd.pro22
-rw-r--r--sowatchd/watchhandler.cpp2
10 files changed, 54 insertions, 23 deletions
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 <maemo@javispedro.com> 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 <javier@unknown>
+Maintainer: Javier S. Pedro <maemo@javispedro.com>
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 <javier@unknown>
+Maintainer: Javier S. Pedro <maemo@javispedro.com>
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 @@
<aegis>
<request>
- <!-- Request a few tokens for watchlets to use. -->
+ <!-- The daemon is supposed to be run as user. -->
+ <credential name="UID::user" />
+ <credential name="GID::users" />
+
+ <!-- Request a few additional tokens for watchlets to use. -->
<credential name="TrackerReadAccess" />
<credential name="Location" />
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];