- // The shown additional information is stored for each view-mode separately as
- // string with the view-mode as prefix. Example:
- //
- // AdditionalInfoV2=Details_Size,Details_Date,Details_Owner,Icon_Size
- //
- // To get the representation as KFileItemDelegate::InformationList, the current
- // view-mode must be checked and the values of this mode added to the list.
- //
- // For the details-view a special case must be respected: Per default the size
- // and date should be shown without creating a .directory file. Only if
- // the user explictly has modified the properties of the details view (marked
- // by "CustomizedDetails"), also a details-view with no additional information
- // is accepted.
-
- KFileItemDelegate::InformationList usedInfo;
-
- // infoHash allows to get the mapped KFileItemDelegate::Information value
- // for a stored string-value in a fast way
- static QHash<QString, KFileItemDelegate::Information> infoHash;
- if (infoHash.isEmpty()) {
- AdditionalInfoAccessor& infoAccessor = AdditionalInfoAccessor::instance();
- const KFileItemDelegate::InformationList keys = infoAccessor.keys();
- foreach (const KFileItemDelegate::Information key, keys) {
- infoHash.insert(infoAccessor.value(key), key);
+ QStringList visibleRoles = m_node->visibleRoles();
+ for (int i = 0; i < visibleRoles.count(); ++i) {
+ if (visibleRoles[i].endsWith(QLatin1String("_name"))) {
+ const int leftLength = visibleRoles[i].length() - 5;
+ visibleRoles[i] = visibleRoles[i].left(leftLength) + "_text";