roles[ActionRole] = "type";
roles[ActionIconRole] = "icon";
roles[ActionTextRole] = "subject";
+ roles[ActionTextColorRole] = "activityTextTitleColor";
roles[ObjectTypeRole] = "objectType";
roles[PointInTimeRole] = "dateTime";
return roles;
}
case ActionTextRole:
return a._subject;
+ case ActionTextColorRole:
+ return a._id == -1 ? QLatin1String("#808080") : QLatin1String("#222"); // FIXME: This is a temporary workaround for _showMoreActivitiesAvailableEntry
case MessageRole:
if (a._message.isEmpty()) {
return QString("No description available.");
case AccountRole:
return a._accName;
case PointInTimeRole:
- return QString("%1 - %2").arg(Utility::timeAgoInWords(a._dateTime.toLocalTime()), a._dateTime.toLocalTime().toString(Qt::DefaultLocaleShortDate));
+ return a._id == -1 ? "" : QString("%1 - %2").arg(Utility::timeAgoInWords(a._dateTime.toLocalTime()), a._dateTime.toLocalTime().toString(Qt::DefaultLocaleShortDate));
case AccountConnectedRole:
return (ast && ast->isConnected());
default:
if(_totalActivitiesFetched == _maxActivities ||
a._dateTime < oldestDate) {
+ _showMoreActivitiesAvailableEntry = true;
_doneFetching = true;
break;
}
if (_activityLists.count() > 0) {
std::sort(_activityLists.begin(), _activityLists.end());
resultList.append(_activityLists);
+
+ if(_showMoreActivitiesAvailableEntry) {
+ Activity a;
+ a._type = Activity::ActivityType;
+ a._accName = _accountState->account()->displayName();
+ a._id = -1;
+ a._subject = tr("For more activities please open the Activity app.");
+ a._dateTime = QDateTime::currentDateTime();
+
+ AccountApp *app = _accountState->findApp(QLatin1String("activity"));
+ if(app) {
+ a._link = app->url();
+ }
+
+ resultList.append(a);
+ }
}
beginResetModel();
_doneFetching = false;
_currentItem = 0;
_totalActivitiesFetched = 0;
+ _showMoreActivitiesAvailableEntry = false;
if (canFetchActivities()) {
startFetchJob();
_doneFetching = false;
_currentItem = 0;
_totalActivitiesFetched = 0;
+ _showMoreActivitiesAvailableEntry = false;
}
}