Integrated local sync activities in activitymodel

Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
This commit is contained in:
Dominique Fuchs 2020-01-13 12:20:41 +01:00
parent 96a74d9ef0
commit 9e82ba60b4
3 changed files with 46 additions and 1 deletions

View file

@ -17,6 +17,48 @@ User::User(AccountStatePtr &account, const bool &isCurrent, QObject* parent)
, _isCurrentUser(isCurrent) , _isCurrentUser(isCurrent)
, _activityModel(new ActivityListModel(_account.data())) , _activityModel(new ActivityListModel(_account.data()))
{ {
connect(ProgressDispatcher::instance(), &ProgressDispatcher::itemCompleted,
this, &User::slotItemCompleted);
}
void User::slotItemCompleted(const QString &folder, const SyncFileItemPtr &item)
{
auto folderInstance = FolderMan::instance()->folder(folder);
if (!folderInstance)
return;
// check if we are adding it to the right account and if it is useful information (protocol errors)
if (folderInstance->accountState() == _account.data()) {
qCWarning(lcActivity) << "Item " << item->_file << " retrieved resulted in " << item->_errorString;
Activity activity;
activity._type = Activity::SyncFileItemType; //client activity
activity._status = item->_status;
activity._dateTime = QDateTime::currentDateTime();
activity._message = item->_originalFile;
activity._link = folderInstance->accountState()->account()->url();
activity._accName = folderInstance->accountState()->account()->displayName();
activity._file = item->_file;
activity._folder = folder;
if (item->_status == SyncFileItem::NoStatus || item->_status == SyncFileItem::Success) {
qCWarning(lcActivity) << "Item " << item->_file << " retrieved successfully.";
activity._message.prepend(" ");
activity._message.prepend(tr("Synced"));
_activityModel->addSyncFileItemToActivityList(activity);
} else {
qCWarning(lcActivity) << "Item " << item->_file << " retrieved resulted in error " << item->_errorString;
activity._subject = item->_errorString;
if (item->_status == SyncFileItem::Status::FileIgnored) {
_activityModel->addIgnoredFileToList(activity);
} else {
// add 'protocol error' to activity list
_activityModel->addErrorToActivityList(activity);
}
}
}
} }
AccountPtr User::account() const AccountPtr User::account() const

View file

@ -36,6 +36,9 @@ public:
void logout() const; void logout() const;
void removeAccount() const; void removeAccount() const;
public slots:
void slotItemCompleted(const QString &folder, const SyncFileItemPtr &item);
private: private:
AccountStatePtr _account; AccountStatePtr _account;
bool _isCurrentUser; bool _isCurrentUser;

View file

@ -474,7 +474,7 @@ Window {
Layout.alignment: Qt.AlignLeft Layout.alignment: Qt.AlignLeft
Text { Text {
id: activityTextTitle id: activityTextTitle
text: subject text: (type === "Activity") ? subject : message
width: 220 width: 220
elide: Text.ElideRight elide: Text.ElideRight
font.pointSize: 9 font.pointSize: 9