From: Olivier Goffart Date: Sat, 18 Aug 2018 07:37:00 +0000 (+0200) Subject: Account Settings: Add a text for folder using vierual files X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~21^2~468^2~521 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=358aadfb983167456c9056d81c7ccc7593357220;p=nextcloud-desktop.git Account Settings: Add a text for folder using vierual files Issue #6723 --- diff --git a/src/gui/folderstatusdelegate.cpp b/src/gui/folderstatusdelegate.cpp index d5b62a688..f130ba0d4 100644 --- a/src/gui/folderstatusdelegate.cpp +++ b/src/gui/folderstatusdelegate.cpp @@ -79,16 +79,13 @@ QSize FolderStatusDelegate::sizeHint(const QStyleOptionViewItem &option, int h = rootFolderHeightWithoutErrors(fm, aliasFm); // this already includes the bottom margin - // add some space to show an conflict indicator. + // add some space for the message boxes. int margin = fm.height() / 4; - if (!qvariant_cast(index.data(FolderConflictMsg)).isEmpty()) { - QStringList msgs = qvariant_cast(index.data(FolderConflictMsg)); - h += margin + 2 * margin + msgs.count() * fm.height(); - } - // add some space to show an error condition. - if (!qvariant_cast(index.data(FolderErrorMsg)).isEmpty()) { - QStringList errMsgs = qvariant_cast(index.data(FolderErrorMsg)); - h += margin + 2 * margin + errMsgs.count() * fm.height(); + for (auto role : {FolderConflictMsg, FolderErrorMsg, FolderInfoMsg}) { + auto msgs = qvariant_cast(index.data(role)); + if (!msgs.isEmpty()) { + h += margin + 2 * margin + msgs.count() * fm.height(); + } } return {0, h}; @@ -162,6 +159,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & auto remotePath = qvariant_cast(index.data(FolderSecondPathRole)); auto conflictTexts = qvariant_cast(index.data(FolderConflictMsg)); auto errorTexts = qvariant_cast(index.data(FolderErrorMsg)); + auto infoTexts = qvariant_cast(index.data(FolderInfoMsg)); auto overallPercent = qvariant_cast(index.data(SyncProgressOverallPercent)); auto overallString = qvariant_cast(index.data(SyncProgressOverallString)); @@ -307,6 +305,8 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & drawTextBox(conflictTexts, QColor(0xba, 0xba, 0x4d)); if (!errorTexts.isEmpty()) drawTextBox(errorTexts, QColor(0xbb, 0x4d, 0x4d)); + if (!infoTexts.isEmpty()) + drawTextBox(infoTexts, QColor(0x4d, 0xba, 0x4d)); // Sync File Progress Bar: Show it if syncFile is not empty. if (showProgess) { diff --git a/src/gui/folderstatusdelegate.h b/src/gui/folderstatusdelegate.h index 342be330a..fc9cd2349 100644 --- a/src/gui/folderstatusdelegate.h +++ b/src/gui/folderstatusdelegate.h @@ -34,6 +34,7 @@ public: FolderSecondPathRole, FolderConflictMsg, FolderErrorMsg, + FolderInfoMsg, FolderSyncPaused, FolderStatusIconRole, FolderAccountConnected, diff --git a/src/gui/folderstatusmodel.cpp b/src/gui/folderstatusmodel.cpp index 5a550e01a..22f915ce5 100644 --- a/src/gui/folderstatusmodel.cpp +++ b/src/gui/folderstatusmodel.cpp @@ -218,6 +218,10 @@ QVariant FolderStatusModel::data(const QModelIndex &index, int role) const : QStringList(); case FolderStatusDelegate::FolderErrorMsg: return f->syncResult().errorStrings(); + case FolderStatusDelegate::FolderInfoMsg: + return f->useVirtualFiles() + ? QStringList(tr("New files are being created as virtual files.")) + : QStringList(); case FolderStatusDelegate::SyncRunning: return f->syncResult().status() == SyncResult::SyncRunning; case FolderStatusDelegate::SyncDate: