diff --git a/src/gui/folderstatusdelegate.cpp b/src/gui/folderstatusdelegate.cpp index 9ea0346dc..52b989ef2 100644 --- a/src/gui/folderstatusdelegate.cpp +++ b/src/gui/folderstatusdelegate.cpp @@ -79,12 +79,6 @@ QSize FolderStatusDelegate::sizeHint(const QStyleOptionViewItem & option , h += aliasMargin*2 + errMsgs.count()*fm.height(); } - if( qvariant_cast(index.data(AddProgressSpace)) ) { - int margin = fm.height()/4; - h += (5 * margin); // All the margins - h += 2* fm.boundingRect(tr("File")).height(); - } - return QSize( 0, h); } @@ -221,20 +215,23 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & painter->setFont(aliasFont); painter->drawText(aliasRect, elidedAlias); - painter->setFont(subFont); - QString elidedRemotePathText; + const bool showProgess = !overallString.isEmpty() || !itemString.isEmpty(); + if(!showProgess) { + painter->setFont(subFont); + QString elidedRemotePathText; - if (remotePath.isEmpty() || remotePath == QLatin1String("/")) { - elidedRemotePathText = subFm.elidedText(tr("Syncing selected files in your account with"), - Qt::ElideRight, remotePathRect.width()); - } else { - elidedRemotePathText = subFm.elidedText(tr("Remote path: %1").arg(remotePath), - Qt::ElideMiddle, remotePathRect.width()); + if (remotePath.isEmpty() || remotePath == QLatin1String("/")) { + elidedRemotePathText = subFm.elidedText(tr("Syncing selected files in your account with"), + Qt::ElideRight, remotePathRect.width()); + } else { + elidedRemotePathText = subFm.elidedText(tr("Remote path: %1").arg(remotePath), + Qt::ElideMiddle, remotePathRect.width()); + } + painter->drawText(remotePathRect, elidedRemotePathText); + + QString elidedPathText = subFm.elidedText(pathText, Qt::ElideMiddle, localPathRect.width()); + painter->drawText(localPathRect, elidedPathText); } - painter->drawText(remotePathRect, elidedRemotePathText); - - QString elidedPathText = subFm.elidedText(pathText, Qt::ElideMiddle, localPathRect.width()); - painter->drawText(localPathRect, elidedPathText); // paint an error overlay if there is an error string @@ -270,7 +267,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & h += aliasMargin; // Sync File Progress Bar: Show it if syncFile is not empty. - if( !overallString.isEmpty() || !itemString.isEmpty()) { + if (showProgess) { int fileNameTextHeight = subFm.boundingRect(tr("File")).height(); int barHeight = qMax(fileNameTextHeight, aliasFm.height()+4); ; int overallWidth = option.rect.width()-aliasMargin-nextToIcon; @@ -283,7 +280,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & // Overall Progress Bar. QRect pBRect; - pBRect.setTop( h ); + pBRect.setTop( remotePathRect.top() ); pBRect.setLeft( nextToIcon ); pBRect.setHeight(barHeight); pBRect.setWidth( overallWidth - progressTextWidth - 2 * margin ); diff --git a/src/gui/folderstatusdelegate.h b/src/gui/folderstatusdelegate.h index fc7050c72..1cea50e35 100644 --- a/src/gui/folderstatusdelegate.h +++ b/src/gui/folderstatusdelegate.h @@ -41,7 +41,6 @@ public: SyncProgressOverallPercent, SyncProgressOverallString, SyncProgressItemString, - AddProgressSpace, WarningCount, SyncRunning, diff --git a/src/gui/folderstatusmodel.cpp b/src/gui/folderstatusmodel.cpp index 2df83d6f8..f5e6cc9d2 100644 --- a/src/gui/folderstatusmodel.cpp +++ b/src/gui/folderstatusmodel.cpp @@ -212,8 +212,6 @@ QVariant FolderStatusModel::data(const QModelIndex &index, int role) const } else { return Theme::instance()->folderOfflineIcon(); } - case FolderStatusDelegate::AddProgressSpace: - return !progress.isNull(); case FolderStatusDelegate::SyncProgressItemString: return progress._progressString; case FolderStatusDelegate::WarningCount: @@ -658,7 +656,7 @@ void FolderStatusModel::slotUpdateFolderState(Folder *folder) for (int i = 0; i < _folders.count(); ++i) { if (_folders.at(i)._folder == folder) { emit dataChanged(index(i), index(i), - QVector() << FolderStatusDelegate::AddProgressSpace); + QVector() << FolderStatusDelegate::FolderStatus); } } } @@ -751,8 +749,7 @@ void FolderStatusModel::slotSetProgress(const ProgressInfo &progress) auto *pi = &_folders[folderIndex]._progress; QVector roles; - roles << FolderStatusDelegate::AddProgressSpace << FolderStatusDelegate::SyncProgressItemString - << FolderStatusDelegate::WarningCount; + roles << FolderStatusDelegate::SyncProgressItemString << FolderStatusDelegate::WarningCount; if (!progress._currentDiscoveredFolder.isEmpty()) { pi->_progressString = tr("Checking for changes in '%1'").arg(progress._currentDiscoveredFolder);