┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kfileitemlistwidget.cpp
diff options
context:
space:
mode:
authorSerg Podtynnyi <[email protected]>2023-01-27 17:54:35 +0700
committerMéven Car <[email protected]>2023-02-14 16:40:33 +0000
commitb7fa85a33d6b5c1b2a5b60b64a78f7f208ea304c (patch)
tree588bab13ef7742430801752f720955fd1f34b5be /src/kitemviews/kfileitemlistwidget.cpp
parentbb686052c7b353aa58151172cf215fd2349f8b94 (diff)
Add new settings for permissions column format
Ability to configure column for the file/dir permissions in Numeric(Octal)/Textual/Combined style and update field display style to be right-alighed. Add toolips to column menu items BUG: 227745
Diffstat (limited to 'src/kitemviews/kfileitemlistwidget.cpp')
-rw-r--r--src/kitemviews/kfileitemlistwidget.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/kitemviews/kfileitemlistwidget.cpp b/src/kitemviews/kfileitemlistwidget.cpp
index 8002af597..d9644bef5 100644
--- a/src/kitemviews/kfileitemlistwidget.cpp
+++ b/src/kitemviews/kfileitemlistwidget.cpp
@@ -98,6 +98,20 @@ QString KFileItemListWidgetInformant::roleText(const QByteArray &role, const QHa
if (dimensions.isValid()) {
text = i18nc("width × height", "%1 × %2", dimensions.width(), dimensions.height());
}
+ } else if (role == "permissions") {
+ const auto permissions = roleValue.value<QVariantList>();
+
+ switch (DetailsModeSettings::usePermissionsFormat()) {
+ case DetailsModeSettings::EnumUsePermissionsFormat::SymbolicFormat:
+ text = permissions.at(0).toString();
+ break;
+ case DetailsModeSettings::EnumUsePermissionsFormat::NumericFormat:
+ text = QString::number(permissions.at(1).toInt(), 8);
+ break;
+ case DetailsModeSettings::EnumUsePermissionsFormat::CombinedFormat:
+ text = QString("%1 (%2)").arg(permissions.at(0).toString()).arg(permissions.at(1).toInt(), 0, 8);
+ break;
+ }
} else {
text = KStandardItemListWidgetInformant::roleText(role, values);
}
@@ -129,7 +143,7 @@ KItemListWidgetInformant *KFileItemListWidget::createInformant()
bool KFileItemListWidget::isRoleRightAligned(const QByteArray &role) const
{
- return role == "size";
+ return role == "size" || role == "permissions";
}
bool KFileItemListWidget::isHidden() const