diff options
author | Olivier Goffart <ogoffart@woboq.com> | 2018-08-18 10:37:00 +0300 |
---|---|---|
committer | Markus Goetz <markus@woboq.com> | 2018-08-19 22:18:15 +0300 |
commit | dd13e6304a2e374794bc28df7eab1a653d7f882b (patch) | |
tree | 1437820bb297211688682bc25344c197f6d6add0 | |
parent | d1e15b7802e4c8ea8d20b383eff8309ef34a4788 (diff) |
Account Settings: Add a text for folder using vierual files
Issue #6723
-rw-r--r-- | src/gui/folderstatusdelegate.cpp | 18 | ||||
-rw-r--r-- | src/gui/folderstatusdelegate.h | 1 | ||||
-rw-r--r-- | src/gui/folderstatusmodel.cpp | 4 |
3 files changed, 14 insertions, 9 deletions
diff --git a/src/gui/folderstatusdelegate.cpp b/src/gui/folderstatusdelegate.cpp index 8f718a0f3..db967a103 100644 --- a/src/gui/folderstatusdelegate.cpp +++ b/src/gui/folderstatusdelegate.cpp @@ -77,16 +77,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<QStringList>(index.data(FolderConflictMsg)).isEmpty()) { - QStringList msgs = qvariant_cast<QStringList>(index.data(FolderConflictMsg)); - h += margin + 2 * margin + msgs.count() * fm.height(); - } - // add some space to show an error condition. - if (!qvariant_cast<QStringList>(index.data(FolderErrorMsg)).isEmpty()) { - QStringList errMsgs = qvariant_cast<QStringList>(index.data(FolderErrorMsg)); - h += margin + 2 * margin + errMsgs.count() * fm.height(); + for (auto role : {FolderConflictMsg, FolderErrorMsg, FolderInfoMsg}) { + auto msgs = qvariant_cast<QStringList>(index.data(role)); + if (!msgs.isEmpty()) { + h += margin + 2 * margin + msgs.count() * fm.height(); + } } return QSize(0, h); @@ -156,6 +153,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & QString remotePath = qvariant_cast<QString>(index.data(FolderSecondPathRole)); QStringList conflictTexts = qvariant_cast<QStringList>(index.data(FolderConflictMsg)); QStringList errorTexts = qvariant_cast<QStringList>(index.data(FolderErrorMsg)); + QStringList infoTexts = qvariant_cast<QStringList>(index.data(FolderInfoMsg)); int overallPercent = qvariant_cast<int>(index.data(SyncProgressOverallPercent)); QString overallString = qvariant_cast<QString>(index.data(SyncProgressOverallString)); @@ -290,6 +288,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 213c822dd..27d172bb0 100644 --- a/src/gui/folderstatusdelegate.h +++ b/src/gui/folderstatusdelegate.h @@ -35,6 +35,7 @@ public: FolderSecondPathRole, FolderConflictMsg, FolderErrorMsg, + FolderInfoMsg, FolderSyncPaused, FolderStatusIconRole, FolderAccountConnected, diff --git a/src/gui/folderstatusmodel.cpp b/src/gui/folderstatusmodel.cpp index 19452cdbd..5d32b8d94 100644 --- a/src/gui/folderstatusmodel.cpp +++ b/src/gui/folderstatusmodel.cpp @@ -210,6 +210,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::HeaderRole: |