From 130979401e16e3b199ebb2ededc8f2396ce81f49 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Thu, 18 Feb 2016 08:59:57 +0100 Subject: Attempt to integrate Fahrplan's calendar support --- .../sailfish/organizeradapter.cpp | 24 ++++++++++++++++++++++ .../sailfish/organizeradapter.h | 11 ++++++++++ 2 files changed, 35 insertions(+) (limited to 'rockworkd/platformintegration') 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 #include #include +# include +# include 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 items() const; + QString normalizeCalendarName(QString name); public slots: void refresh(); @@ -28,6 +38,7 @@ signals: private: QOrganizerManager *m_manager; QList m_items; + QList m_calendars; }; #endif // ORGANIZERADAPTER_H -- cgit v1.2.3