]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Oops, Qt already had a class that does this in a cross-platform way :)
authorRafael Fernández López <ereslibre@kde.org>
Sun, 23 Sep 2007 04:25:28 +0000 (04:25 +0000)
committerRafael Fernández López <ereslibre@kde.org>
Sun, 23 Sep 2007 04:25:28 +0000 (04:25 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=715737

src/dolphinmodel.cpp

index c71062860286d881dbf6bbad8779ac93784d2f28..26221a094ed5da31c38b5c5076353eb7c08fea67 100644 (file)
 
 #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())