diff options
| author | Frank Reininghaus <[email protected]> | 2013-12-06 01:36:42 +0100 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2013-12-06 01:36:42 +0100 |
| commit | 2619cc1c3d9e9ccd9518c4d5ff6e762728f60cb5 (patch) | |
| tree | 05f1fc81b2589874f567321b7257f4f121a7a16b /src | |
| parent | 6e3673305832180f46911743180d6ad090f2c6a0 (diff) | |
| parent | f3537f5b5fb0fd107a2e299aaeca3524cf1dd792 (diff) | |
Merge remote-tracking branch 'origin/KDE/4.12'
Diffstat (limited to 'src')
| -rw-r--r-- | src/kitemviews/kstandarditemlistwidget.cpp | 17 | ||||
| -rw-r--r-- | src/views/dolphinview.cpp | 4 |
2 files changed, 15 insertions, 6 deletions
diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp index 302150fec..acdf839ac 100644 --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@ -99,11 +99,18 @@ QSizeF KStandardItemListWidgetInformant::itemSizeHint(int index, const KItemList // to show all roles without horizontal clipping. qreal maximumRequiredWidth = 0.0; - const QHash<QByteArray, QVariant> values = view->model()->data(index); - foreach (const QByteArray& role, view->visibleRoles()) { - const QString text = roleText(role, values); - const qreal requiredWidth = option.fontMetrics.width(text); - maximumRequiredWidth = qMax(maximumRequiredWidth, requiredWidth); + const QList<QByteArray>& visibleRoles = view->visibleRoles(); + const bool showOnlyTextRole = (visibleRoles.count() == 1) && (visibleRoles.first() == "text"); + + if (showOnlyTextRole) { + maximumRequiredWidth = option.fontMetrics.width(itemText(index, view)); + } else { + const QHash<QByteArray, QVariant> values = view->model()->data(index); + foreach (const QByteArray& role, view->visibleRoles()) { + const QString text = roleText(role, values); + const qreal requiredWidth = option.fontMetrics.width(text); + maximumRequiredWidth = qMax(maximumRequiredWidth, requiredWidth); + } } qreal width = option.padding * 4 + option.iconSize + maximumRequiredWidth; diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index d0a85b3e2..1416bb6df 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -1486,7 +1486,9 @@ void DolphinView::slotRoleEditingFinished(int index, const QByteArray& role, con } KonqOperations* op = KonqOperations::renameV2(this, oldUrl, newName); - if (op) { + if (op && !newNameExistsAlready) { + // Only connect the renamingFailed signal if there is no item with the new name + // in the model yet, see bug 328262. connect(op, SIGNAL(renamingFailed(KUrl,KUrl)), SLOT(slotRenamingFailed(KUrl,KUrl))); } } |
