diff options
Diffstat (limited to 'rockworkd/platformintegration/sailfish')
| -rw-r--r-- | rockworkd/platformintegration/sailfish/organizeradapter.cpp | 24 | ||||
| -rw-r--r-- | rockworkd/platformintegration/sailfish/organizeradapter.h | 11 |
2 files changed, 35 insertions, 0 deletions
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 |
