void FahrplanCalendarManager::getCalendarsList() { settings->beginGroup("Calendar"); #ifdef BUILD_FOR_BLACKBERRY int accountId = settings->value("AccountId", -1).toInt(); int folderId = settings->value("FolderId", -1).toInt(); bb::pim::calendar::CalendarService service; bb::pim::account::AccountService accservice; QList<bb::pim::calendar::CalendarFolder> folders = service.folders(); foreach (const bb::pim::calendar::CalendarFolder &folder, folders) { if (!folder.isVisible() || folder.isReadOnly()) continue; QString account; if (folder.accountId() == 1) account = tr("Local Calendar"); else account = accservice.account(folder.accountId()).displayName(); //: Calendar name (Account name) m_calendars << CalendarInfo(tr("%1 (%2)", "Calendar name (Account name)") .arg(folder.name()).arg(account) , folder.accountId(), folder.id()); if ((folder.id() == folderId) && (folder.accountId() == accountId)) { m_selectedIndex = m_calendars.count() - 1; emit selectedIndexChanged(); } } #elif defined(BUILD_FOR_SAILFISHOS) #elif !defined(BUILD_FOR_DESKTOP) && !defined(BUILD_FOR_UBUNTU) QString id = settings->value("CollectionId").toString(); QOrganizerCollectionId collectionId = QOrganizerCollectionId::fromString(id); QOrganizerManager manager; QList<QOrganizerCollection> collections = manager.collections(); foreach (const QOrganizerCollection &collection, collections) { // TODO: Find out ??? where possible. // Hidden/disabled calendar: // - IsVisible on Harmattan; // - Enabled on Symbian; // - ??? on Ubuntu Touch. // Read only calendar: // - IsReadOnly on Harmattan; // - ??? on Symbian; // - ??? on Ubuntu Touch. // Calendar doesn't store events (stores only notes, todos, etc.): // - EventsAllowed on Harmattan; // - ??? on Symbian; // - ??? on Ubuntu Touch. // ??? temporary calendar ???: // - IsRunTimeOnly on Harmattan; // - ??? on Symbian; // - ??? on Ubuntu Touch. if ( #ifdef BUILD_FOR_HARMATTAN collection.metaData("IsReadOnly").toBool() || !collection.metaData("IsVisible").toBool() || !collection.metaData("EventsAllowed").toBool() || collection.metaData("IsRunTimeOnly").toBool() #elif defined(BUILD_FOR_SYMBIAN) !collection.metaData("Enabled").toBool() #else // Show all calendars by default on // unknown/unsupported platforms. false #endif ) continue; m_calendars << CalendarInfo(normalizeCalendarName(collection.metaData(QOrganizerCollection::KeyName).toString()), collection.id().toString()); if (collection.id() == collectionId) m_selectedIndex = m_calendars.count() - 1; } #endif settings->endGroup(); }
void CalendarCollections::refresh() { QOrganizerManager organizerManager; mCollections = organizerManager.collections(); }