┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2012-08-24 18:51:27 +0200
committerFrank Reininghaus <[email protected]>2012-08-24 18:57:47 +0200
commit2727715cdd8aa738f4b5f0bbcca55a9d249be77b (patch)
tree31fca67c6a7db28dc980a63181447eee9faa32d0
parente7793132e8fc1549bb7781b43dbee840211224e6 (diff)
Fix regression that caused "(I18N_EMPTY_MESSAGE)" sub menus in menus
For top-level roles like "Name" and "Size", the group translation is 0. In that case, the "group" member of the corresponding RoleInfo struct must be an empty string. This is expected by the code which generates Dolphin's menus, which group the top-level roles into a sub menu with the name "(I18N_EMPTY_MESSAGE)" otherwise. This is a recent regression caused by 199fabbaa8d8a12fb49e4c9922c38ec8b033923c. Thanks to Christoph Feck for investigating this issue! CCBUG: 305228
-rw-r--r--src/kitemviews/kfileitemmodel.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp
index 1bf9e65d4..6936af431 100644
--- a/src/kitemviews/kfileitemmodel.cpp
+++ b/src/kitemviews/kfileitemmodel.cpp
@@ -561,7 +561,14 @@ QList<KFileItemModel::RoleInfo> KFileItemModel::rolesInformation()
RoleInfo info;
info.role = map[i].role;
info.translation = i18nc(map[i].roleTranslationContext, map[i].roleTranslation);
- info.group = i18nc(map[i].groupTranslationContext, map[i].groupTranslation);
+ if (map[i].groupTranslation) {
+ info.group = i18nc(map[i].groupTranslationContext, map[i].groupTranslation);
+ } else {
+ // For top level roles, groupTranslation is 0. We must make sure that
+ // info.group is an empty string then because the code that generates
+ // menus tries to put the actions into sub menus otherwise.
+ info.group = QString();
+ }
info.requiresNepomuk = map[i].requiresNepomuk;
info.requiresIndexer = map[i].requiresIndexer;
rolesInfo.append(info);