Changeset View
Changeset View
Standalone View
Standalone View
src/freebusymodel/freebusyitemmodel.cpp
Show First 20 Lines • Show All 97 Lines • ▼ Show 20 Line(s) | 84 | public: | |||
---|---|---|---|---|---|
98 | QList<FreeBusyItem::Ptr> mFreeBusyItems; | 98 | QList<FreeBusyItem::Ptr> mFreeBusyItems; | ||
99 | ItemPrivateData *mRootData = nullptr; | 99 | ItemPrivateData *mRootData = nullptr; | ||
100 | }; | 100 | }; | ||
101 | 101 | | |||
102 | FreeBusyItemModel::FreeBusyItemModel(QObject *parent) | 102 | FreeBusyItemModel::FreeBusyItemModel(QObject *parent) | ||
103 | : QAbstractItemModel(parent) | 103 | : QAbstractItemModel(parent) | ||
104 | , d(new CalendarSupport::FreeBusyItemModelPrivate) | 104 | , d(new CalendarSupport::FreeBusyItemModelPrivate) | ||
105 | { | 105 | { | ||
106 | qRegisterMetaType<KCalCore::Attendee::Ptr>("KCalCore::Attendee::Ptr"); | 106 | qRegisterMetaType<KCalCore::Attendee>(); | ||
107 | qRegisterMetaType<KCalCore::FreeBusy::Ptr>("KCalCore::FreeBusy::Ptr"); | 107 | qRegisterMetaType<KCalCore::FreeBusy::Ptr>("KCalCore::FreeBusy::Ptr"); | ||
108 | qRegisterMetaType<KCalCore::Period>("KCalCore::Period"); | 108 | qRegisterMetaType<KCalCore::Period>("KCalCore::Period"); | ||
109 | 109 | | |||
110 | Akonadi::FreeBusyManager *m = Akonadi::FreeBusyManager::self(); | 110 | Akonadi::FreeBusyManager *m = Akonadi::FreeBusyManager::self(); | ||
111 | connect(m, &Akonadi::FreeBusyManager::freeBusyRetrieved, this, | 111 | connect(m, &Akonadi::FreeBusyManager::freeBusyRetrieved, this, | ||
112 | &FreeBusyItemModel::slotInsertFreeBusy); | 112 | &FreeBusyItemModel::slotInsertFreeBusy); | ||
113 | 113 | | |||
114 | connect(&d->mReloadTimer, &QTimer::timeout, this, &FreeBusyItemModel::autoReload); | 114 | connect(&d->mReloadTimer, &QTimer::timeout, this, &FreeBusyItemModel::autoReload); | ||
Show All 18 Lines | 126 | { | |||
133 | if (data->parent() == d->mRootData) { | 133 | if (data->parent() == d->mRootData) { | ||
134 | int row = index.row(); | 134 | int row = index.row(); | ||
135 | if (row >= d->mFreeBusyItems.size()) { | 135 | if (row >= d->mFreeBusyItems.size()) { | ||
136 | return QVariant(); | 136 | return QVariant(); | ||
137 | } | 137 | } | ||
138 | 138 | | |||
139 | switch (role) { | 139 | switch (role) { | ||
140 | case Qt::DisplayRole: | 140 | case Qt::DisplayRole: | ||
141 | return d->mFreeBusyItems.at(row)->attendee()->fullName(); | 141 | return d->mFreeBusyItems.at(row)->attendee().fullName(); | ||
142 | case FreeBusyItemModel::AttendeeRole: | 142 | case FreeBusyItemModel::AttendeeRole: | ||
143 | return QVariant::fromValue(d->mFreeBusyItems.at(row)->attendee()); | 143 | return QVariant::fromValue(d->mFreeBusyItems.at(row)->attendee()); | ||
144 | case FreeBusyItemModel::FreeBusyRole: | 144 | case FreeBusyItemModel::FreeBusyRole: | ||
145 | if (d->mFreeBusyItems.at(row)->freeBusy()) { | 145 | if (d->mFreeBusyItems.at(row)->freeBusy()) { | ||
146 | return QVariant::fromValue(d->mFreeBusyItems.at(row)->freeBusy()); | 146 | return QVariant::fromValue(d->mFreeBusyItems.at(row)->freeBusy()); | ||
147 | } else { | 147 | } else { | ||
148 | return QVariant(); | 148 | return QVariant(); | ||
149 | } | 149 | } | ||
▲ Show 20 Lines • Show All 162 Lines • ▼ Show 20 Line(s) | |||||
312 | void FreeBusyItemModel::removeItem(const FreeBusyItem::Ptr &freebusy) | 312 | void FreeBusyItemModel::removeItem(const FreeBusyItem::Ptr &freebusy) | ||
313 | { | 313 | { | ||
314 | int row = d->mFreeBusyItems.indexOf(freebusy); | 314 | int row = d->mFreeBusyItems.indexOf(freebusy); | ||
315 | if (row >= 0) { | 315 | if (row >= 0) { | ||
316 | removeRow(row); | 316 | removeRow(row); | ||
317 | } | 317 | } | ||
318 | } | 318 | } | ||
319 | 319 | | |||
320 | void FreeBusyItemModel::removeAttendee(const KCalCore::Attendee::Ptr &attendee) | 320 | void FreeBusyItemModel::removeAttendee(const KCalCore::Attendee &attendee) | ||
321 | { | 321 | { | ||
322 | FreeBusyItem::Ptr anItem; | 322 | FreeBusyItem::Ptr anItem; | ||
323 | for (int i = 0; i < d->mFreeBusyItems.count(); ++i) { | 323 | for (int i = 0; i < d->mFreeBusyItems.count(); ++i) { | ||
324 | anItem = d->mFreeBusyItems[i]; | 324 | anItem = d->mFreeBusyItems[i]; | ||
325 | if (*anItem->attendee() == *attendee) { | 325 | if (anItem->attendee() == attendee) { | ||
326 | if (anItem->updateTimerID() != 0) { | 326 | if (anItem->updateTimerID() != 0) { | ||
327 | killTimer(anItem->updateTimerID()); | 327 | killTimer(anItem->updateTimerID()); | ||
328 | } | 328 | } | ||
329 | removeRow(i); | 329 | removeRow(i); | ||
330 | break; | 330 | break; | ||
331 | } | 331 | } | ||
332 | } | 332 | } | ||
333 | } | 333 | } | ||
334 | 334 | | |||
335 | bool FreeBusyItemModel::containsAttendee(const KCalCore::Attendee::Ptr &attendee) | 335 | bool FreeBusyItemModel::containsAttendee(const KCalCore::Attendee &attendee) | ||
336 | { | 336 | { | ||
337 | FreeBusyItem::Ptr anItem; | 337 | FreeBusyItem::Ptr anItem; | ||
338 | for (int i = 0; i < d->mFreeBusyItems.count(); ++i) { | 338 | for (int i = 0; i < d->mFreeBusyItems.count(); ++i) { | ||
339 | anItem = d->mFreeBusyItems[i]; | 339 | anItem = d->mFreeBusyItems[i]; | ||
340 | if (*anItem->attendee() == *attendee) { | 340 | if (anItem->attendee() == attendee) { | ||
341 | return true; | 341 | return true; | ||
342 | } | 342 | } | ||
343 | } | 343 | } | ||
344 | return false; | 344 | return false; | ||
345 | } | 345 | } | ||
346 | 346 | | |||
347 | void FreeBusyItemModel::updateFreeBusyData(const FreeBusyItem::Ptr &item) | 347 | void FreeBusyItemModel::updateFreeBusyData(const FreeBusyItem::Ptr &item) | ||
348 | { | 348 | { | ||
▲ Show 20 Lines • Show All 77 Lines • Show Last 20 Lines |