┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Fernández López <[email protected]>2007-09-23 04:25:28 +0000
committerRafael Fernández López <[email protected]>2007-09-23 04:25:28 +0000
commit5098937b73e873f64a51e8aabcb1bb6491d8e6ac (patch)
tree4ce9063f2af638d67cf309687a9924e451743327
parent18bdbb7a7e680efd92831f9eee3bc0a508cb7da2 (diff)
Oops, Qt already had a class that does this in a cross-platform way :)
svn path=/trunk/KDE/kdebase/apps/; revision=715737
-rw-r--r--src/dolphinmodel.cpp25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/dolphinmodel.cpp b/src/dolphinmodel.cpp
index c71062860..26221a094 100644
--- a/src/dolphinmodel.cpp
+++ b/src/dolphinmodel.cpp
@@ -20,10 +20,6 @@
#include "dolphinmodel.h"
-extern "C" {
-#include <sys/stat.h>
-}
-
#include "dolphinsortfilterproxymodel.h"
#include "kcategorizedview.h"
@@ -50,6 +46,7 @@ extern "C" {
#include <QSortFilterProxyModel>
#include <QPainter>
#include <QDir>
+#include <QFileInfo>
DolphinModel::DolphinModel(QObject *parent)
: KDirModel(parent)
@@ -168,15 +165,15 @@ QVariant DolphinModel::data(const QModelIndex &index, int role) const
QString group;
QString others;
- mode_t permissions = item.permissions();
+ QFileInfo info(item.url().pathOrUrl());
- if (permissions & S_IRUSR)
+ if (info.permission(QFile::ReadUser))
user = i18n("Read, ");
- if (permissions & S_IWUSR)
+ if (info.permission(QFile::WriteUser))
user += i18n("Write, ");
- if (permissions & S_IXUSR)
+ if (info.permission(QFile::ExeUser))
user += i18n("Execute, ");
if (user.isEmpty())
@@ -184,13 +181,13 @@ QVariant DolphinModel::data(const QModelIndex &index, int role) const
else
user = user.mid(0, user.count() - 2);
- if (permissions & S_IRGRP)
+ if (info.permission(QFile::ReadGroup))
group = i18n("Read, ");
- if (permissions & S_IWGRP)
+ if (info.permission(QFile::WriteGroup))
group += i18n("Write, ");
- if (permissions & S_IXGRP)
+ if (info.permission(QFile::ExeGroup))
group += i18n("Execute, ");
if (group.isEmpty())
@@ -198,13 +195,13 @@ QVariant DolphinModel::data(const QModelIndex &index, int role) const
else
group = group.mid(0, group.count() - 2);
- if (permissions & S_IROTH)
+ if (info.permission(QFile::ReadOther))
others = i18n("Read, ");
- if (permissions & S_IWOTH)
+ if (info.permission(QFile::WriteOther))
others += i18n("Write, ");
- if (permissions & S_IXOTH)
+ if (info.permission(QFile::ExeOther))
others += i18n("Execute, ");
if (others.isEmpty())