diff options
| -rw-r--r-- | rockpool.pro | 7 | ||||
| -rw-r--r-- | rockworkd/platformintegration/sailfish/organizeradapter.cpp | 24 | ||||
| -rw-r--r-- | rockworkd/platformintegration/sailfish/organizeradapter.h | 11 | ||||
| -rw-r--r-- | rockworkd/rockworkd.pro | 3 | ||||
| -rw-r--r-- | rpm/rockpool.spec | 2 | ||||
| -rw-r--r-- | rpm/rockpool.yaml | 2 |
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 ¬ebookUID = 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
|
