summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rockpool.pro7
-rw-r--r--rockworkd/platformintegration/sailfish/organizeradapter.cpp24
-rw-r--r--rockworkd/platformintegration/sailfish/organizeradapter.h11
-rw-r--r--rockworkd/rockworkd.pro3
-rw-r--r--rpm/rockpool.spec2
-rw-r--r--rpm/rockpool.yaml2
6 files changed, 49 insertions, 0 deletions
diff --git a/rockpool.pro b/rockpool.pro
index 88ea7a8..d38aaf6 100644
--- a/rockpool.pro
+++ b/rockpool.pro
@@ -5,3 +5,10 @@ OTHER_FILES += \
rpm/rockpool.spec \
rpm/rockpool.yaml \
rpm/rockpool.changes
+
+# TODO:
+# Merge in latest changes from rockwork release
+# Migrate VoiceCallManager over to replace callchannelobserver
+# Dismiss notifications
+# Integrate calendar
+# Alarms?
diff --git a/rockworkd/platformintegration/sailfish/organizeradapter.cpp b/rockworkd/platformintegration/sailfish/organizeradapter.cpp
index 8851fa5..416aad2 100644
--- a/rockworkd/platformintegration/sailfish/organizeradapter.cpp
+++ b/rockworkd/platformintegration/sailfish/organizeradapter.cpp
@@ -4,6 +4,8 @@
#include <QDebug>
#include <QOrganizerEventOccurrence>
#include <QOrganizerItemDetail>
+# include <extendedcalendar.h>
+# include <extendedstorage.h>
QTORGANIZER_USE_NAMESPACE
@@ -21,6 +23,28 @@ OrganizerAdapter::OrganizerAdapter(QObject *parent) : QObject(parent)
m_manager = new QOrganizerManager(envManager);
m_manager->setParent(this);
connect(m_manager, &QOrganizerManager::dataChanged, this, &OrganizerAdapter::refresh);
+
+ mKCal::ExtendedCalendar::Ptr calendar = mKCal::ExtendedCalendar::Ptr ( new mKCal::ExtendedCalendar( QLatin1String( "UTC" ) ) );
+ mKCal::ExtendedStorage::Ptr storage = mKCal::ExtendedCalendar::defaultStorage( calendar );
+ if (storage->open()) {
+ mKCal::Notebook::List notebooks = storage->notebooks();
+ qDebug()<< "Notebooks: " + notebooks.count();
+ for (int ii = 0; ii < notebooks.count(); ++ii) {
+ if (!notebooks.at(ii)->isReadOnly()) {
+ m_calendars << CalendarInfo(normalizeCalendarName(notebooks.at(ii)->name()), notebooks.at(ii)->uid());
+ qDebug()<< "Notebook: " << notebooks.at(ii)->name() << notebooks.at(ii)->uid();
+ }
+ }
+ }
+}
+
+QString OrganizerAdapter::normalizeCalendarName(QString name)
+{
+ if (name == "qtn_caln_personal_caln") {
+ return tr("Personal");
+ }
+
+ return name;
}
void OrganizerAdapter::refresh()
diff --git a/rockworkd/platformintegration/sailfish/organizeradapter.h b/rockworkd/platformintegration/sailfish/organizeradapter.h
index 2ce8e4d..04ebfa3 100644
--- a/rockworkd/platformintegration/sailfish/organizeradapter.h
+++ b/rockworkd/platformintegration/sailfish/organizeradapter.h
@@ -11,6 +11,15 @@
QTORGANIZER_USE_NAMESPACE
+struct CalendarInfo
+{
+ QString name;
+ QString notebookUID;
+
+ CalendarInfo(const QString &name, const QString &notebookUID = QString())
+ : name(name), notebookUID(notebookUID) {}
+};
+
class OrganizerAdapter : public QObject
{
Q_OBJECT
@@ -18,6 +27,7 @@ public:
explicit OrganizerAdapter(QObject *parent = 0);
QList<CalendarEvent> items() const;
+ QString normalizeCalendarName(QString name);
public slots:
void refresh();
@@ -28,6 +38,7 @@ signals:
private:
QOrganizerManager *m_manager;
QList<CalendarEvent> m_items;
+ QList<CalendarInfo> m_calendars;
};
#endif // ORGANIZERADAPTER_H
diff --git a/rockworkd/rockworkd.pro b/rockworkd/rockworkd.pro
index 888fefc..c56751f 100644
--- a/rockworkd/rockworkd.pro
+++ b/rockworkd/rockworkd.pro
@@ -12,6 +12,9 @@ CONFIG += link_pkgconfig
INCLUDEPATH += /usr/include/telepathy-qt5/ $$[QT_HOST_PREFIX]/include/quazip/
LIBS += -lquazip -ltelepathy-qt5
+PKGCONFIG += libmkcal-qt5 libkcalcoren-qt5
+INCLUDEPATH += /usr/include/mkcal-qt5 /usr/include/kcalcoren-qt5
+
SOURCES += main.cpp \
libpebble/watchconnection.cpp \
libpebble/pebble.cpp \
diff --git a/rpm/rockpool.spec b/rpm/rockpool.spec
index 4e4365a..57e470b 100644
--- a/rpm/rockpool.spec
+++ b/rpm/rockpool.spec
@@ -37,6 +37,8 @@ BuildRequires: pkgconfig(mlite5)
BuildRequires: pkgconfig(sailfishapp) >= 0.0.10
BuildRequires: pkgconfig(icu-i18n)
BuildRequires: pkgconfig(zlib)
+BuildRequires: pkgconfig(libmkcal-qt5)
+BuildRequires: pkgconfig(libkcalcoren-qt5)
BuildRequires: desktop-file-utils
%description
diff --git a/rpm/rockpool.yaml b/rpm/rockpool.yaml
index 5ec39ca..6d17a53 100644
--- a/rpm/rockpool.yaml
+++ b/rpm/rockpool.yaml
@@ -27,6 +27,8 @@ PkgConfigBR:
- sailfishapp >= 0.0.10
- icu-i18n
- zlib
+- libmkcal-qt5
+- libkcalcoren-qt5
Requires:
- sailfishsilica-qt5 >= 0.10.9
- systemd-user-session-targets