]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemlistwidget.cpp
GIT_SILENT Sync po/docbooks with svn
[dolphin.git] / src / kitemviews / kfileitemlistwidget.cpp
index fcfc9d7b13764ca802497a8465b014d39cbebecb..b4e0895f2a7fcb0548e8393f63d9dd3832b28fb6 100644 (file)
@@ -162,33 +162,32 @@ QFont KFileItemListWidget::customizedFont(const QFont &baseFont) const
 
 int KFileItemListWidget::selectionLength(const QString &text) const
 {
-    // Select the text without MIME-type extension
-    int selectionLength = text.length();
-
     // If item is a directory, use the whole text length for
     // selection (ignore all points)
     if (data().value("isDir").toBool()) {
-        return selectionLength;
+        return numberOfUnicodeCharactersIn(text);
     }
 
+    int indexOfExtension = text.length();
+
     QMimeDatabase db;
     const QString extension = db.suffixForFileName(text);
     if (extension.isEmpty()) {
         // For an unknown extension just exclude the extension after
         // the last point. This does not work for multiple extensions like
         // *.tar.gz but usually this is anyhow a known extension.
-        selectionLength = text.lastIndexOf(QLatin1Char('.'));
+        indexOfExtension = text.lastIndexOf(QLatin1Char('.'));
 
         // If no point could be found, use whole text length for selection.
-        if (selectionLength < 1) {
-            selectionLength = text.length();
+        if (indexOfExtension < 1) {
+            indexOfExtension = text.length();
         }
 
     } else {
-        selectionLength -= extension.length() + 1;
+        indexOfExtension -= extension.length() + 1;
     }
 
-    return selectionLength;
+    return numberOfUnicodeCharactersIn(text.left(indexOfExtension));
 }
 
 void KFileItemListWidget::hoverSequenceStarted()