┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2013-12-06 01:36:42 +0100
committerFrank Reininghaus <[email protected]>2013-12-06 01:36:42 +0100
commit2619cc1c3d9e9ccd9518c4d5ff6e762728f60cb5 (patch)
tree05f1fc81b2589874f567321b7257f4f121a7a16b /src
parent6e3673305832180f46911743180d6ad090f2c6a0 (diff)
parentf3537f5b5fb0fd107a2e299aaeca3524cf1dd792 (diff)
Merge remote-tracking branch 'origin/KDE/4.12'
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kstandarditemlistwidget.cpp17
-rw-r--r--src/views/dolphinview.cpp4
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)));
}
}