Changeset View
Changeset View
Standalone View
Standalone View
krusader/FileSystem/fileitem.cpp
Show First 20 Lines • Show All 50 Lines • ▼ Show 20 Line(s) | 47 | FileItem::FileItem(const QString &name, const QUrl &url, bool isDir, | |||
---|---|---|---|---|---|
51 | bool isLink, const QString &linkDest, bool isBrokenLink, | 51 | bool isLink, const QString &linkDest, bool isBrokenLink, | ||
52 | const QString &acl, const QString &defaultAcl) | 52 | const QString &acl, const QString &defaultAcl) | ||
53 | : m_name(name), m_url(url), m_isDir(isDir), | 53 | : m_name(name), m_url(url), m_isDir(isDir), | ||
54 | m_size(size), m_mode(mode), | 54 | m_size(size), m_mode(mode), | ||
55 | m_mtime(mtime), m_ctime(ctime), m_atime(atime), | 55 | m_mtime(mtime), m_ctime(ctime), m_atime(atime), | ||
56 | m_uid(uid), m_gid(gid), m_owner(owner), m_group(group), | 56 | m_uid(uid), m_gid(gid), m_owner(owner), m_group(group), | ||
57 | m_isLink(isLink), m_linkDest(linkDest), m_isBrokenLink(isBrokenLink), | 57 | m_isLink(isLink), m_linkDest(linkDest), m_isBrokenLink(isBrokenLink), | ||
58 | m_acl(acl), m_defaulfAcl(defaultAcl), m_AclLoaded(false), | 58 | m_acl(acl), m_defaulfAcl(defaultAcl), m_AclLoaded(false), | ||
59 | m_mimeType(), m_icon() | 59 | m_mimeType(), m_iconName() | ||
60 | { | 60 | { | ||
61 | m_permissions = KRpermHandler::mode2QString(mode); | 61 | m_permissions = KRpermHandler::mode2QString(mode); | ||
62 | 62 | | |||
63 | if (m_owner.isEmpty()) | 63 | if (m_owner.isEmpty()) | ||
64 | m_owner = KRpermHandler::uid2user(m_uid); | 64 | m_owner = KRpermHandler::uid2user(m_uid); | ||
65 | 65 | | |||
66 | if (m_group.isEmpty()) | 66 | if (m_group.isEmpty()) | ||
67 | m_group = KRpermHandler::gid2group(m_gid); | 67 | m_group = KRpermHandler::gid2group(m_gid); | ||
68 | 68 | | |||
69 | if (m_isDir && !m_isLink) { | 69 | if (m_isDir && !m_isLink) { | ||
70 | m_size = s_fileSizeCache.contains(m_url) ? s_fileSizeCache[m_url]->m_size : -1; | 70 | m_size = s_fileSizeCache.contains(m_url) ? s_fileSizeCache[m_url]->m_size : -1; | ||
71 | } | 71 | } | ||
72 | } | 72 | } | ||
73 | 73 | | |||
74 | FileItem *FileItem::createDummy() | 74 | FileItem *FileItem::createDummy() | ||
75 | { | 75 | { | ||
76 | FileItem *file = new FileItem("..", QUrl(), true, | 76 | FileItem *file = new FileItem("..", QUrl(), true, | ||
77 | 0, 0, | 77 | 0, 0, | ||
78 | 0, 0, 0); | 78 | 0, 0, 0); | ||
79 | file->setIcon("go-up"); | 79 | file->setIconName("go-up"); | ||
80 | return file; | 80 | return file; | ||
81 | } | 81 | } | ||
82 | 82 | | |||
83 | FileItem *FileItem::createBroken(const QString &name, const QUrl &url) | 83 | FileItem *FileItem::createBroken(const QString &name, const QUrl &url) | ||
84 | { | 84 | { | ||
85 | FileItem *file = new FileItem(name, url, false, | 85 | FileItem *file = new FileItem(name, url, false, | ||
86 | 0, 0, 0, 0, 0); | 86 | 0, 0, 0, 0, 0); | ||
87 | file->setIcon("file-broken"); | 87 | file->setIconName("file-broken"); | ||
88 | return file; | 88 | return file; | ||
89 | } | 89 | } | ||
90 | 90 | | |||
91 | FileItem *FileItem::createVirtualDir(const QString &name, const QUrl &url) | 91 | FileItem *FileItem::createVirtualDir(const QString &name, const QUrl &url) | ||
92 | { | 92 | { | ||
93 | return new FileItem(name, url, true, | 93 | return new FileItem(name, url, true, | ||
94 | 0, 0700, | 94 | 0, 0700, | ||
95 | time(0), time(0), time(0), | 95 | time(0), time(0), time(0), | ||
Show All 39 Lines | 133 | { | |||
135 | s_fileSizeCache.insert(m_url, new FileSize(size)); | 135 | s_fileSizeCache.insert(m_url, new FileSize(size)); | ||
136 | } | 136 | } | ||
137 | 137 | | |||
138 | const QString &FileItem::getMime() | 138 | const QString &FileItem::getMime() | ||
139 | { | 139 | { | ||
140 | if (m_mimeType.isEmpty()) { | 140 | if (m_mimeType.isEmpty()) { | ||
141 | if (m_isDir) { | 141 | if (m_isDir) { | ||
142 | m_mimeType = "inode/directory"; | 142 | m_mimeType = "inode/directory"; | ||
143 | m_icon = "inode-directory"; | 143 | m_iconName = "inode-directory"; | ||
144 | } else if (isBrokenLink()) { | 144 | } else if (isBrokenLink()) { | ||
145 | m_mimeType = "unknown"; | 145 | m_mimeType = "unknown"; | ||
146 | m_icon = "file-broken"; | 146 | m_iconName = "file-broken"; | ||
147 | } else { | 147 | } else { | ||
148 | const QMimeDatabase db; | 148 | const QMimeDatabase db; | ||
149 | const QMimeType mt = db.mimeTypeForUrl(getUrl()); | 149 | const QMimeType mt = db.mimeTypeForUrl(getUrl()); | ||
150 | m_mimeType = mt.isValid() ? mt.name() : "unknown"; | 150 | m_mimeType = mt.isValid() ? mt.name() : "unknown"; | ||
151 | m_icon = mt.isValid() ? mt.iconName() : "file-broken"; | 151 | m_iconName = mt.isValid() ? mt.iconName() : "file-broken"; | ||
152 | 152 | | |||
153 | if (m_mimeType == "inode/directory") { | 153 | if (m_mimeType == "inode/directory") { | ||
154 | // TODO view update needed? and does this ever happen? | 154 | // TODO view update needed? and does this ever happen? | ||
155 | m_isDir = true; | 155 | m_isDir = true; | ||
156 | } | 156 | } | ||
157 | } | 157 | } | ||
158 | 158 | | |||
159 | if (m_isDir && userDefinedFolderIcons) { | 159 | if (m_isDir && userDefinedFolderIcons) { | ||
160 | const QUrl url = getUrl(); | 160 | const QUrl url = getUrl(); | ||
161 | if (url.isLocalFile()) { | 161 | if (url.isLocalFile()) { | ||
162 | const QString file = url.toLocalFile() + "/.directory"; | 162 | const QString file = url.toLocalFile() + "/.directory"; | ||
163 | const KDesktopFile cfg(file); | 163 | const KDesktopFile cfg(file); | ||
164 | const QString icon = cfg.readIcon(); | 164 | const QString iconName = cfg.readIcon(); | ||
165 | if (!icon.isEmpty()) | 165 | if (!iconName.isEmpty()) | ||
166 | m_icon = icon.startsWith(QLatin1String("./")) ? | 166 | m_iconName = iconName.startsWith(QLatin1String("./")) ? | ||
167 | // relative path | 167 | // relative path | ||
168 | url.toLocalFile() + '/' + icon : | 168 | url.toLocalFile() + '/' + iconName : | ||
169 | icon; | 169 | iconName; | ||
170 | } | 170 | } | ||
171 | } | 171 | } | ||
172 | } | 172 | } | ||
173 | return m_mimeType; | 173 | return m_mimeType; | ||
174 | } | 174 | } | ||
175 | 175 | | |||
176 | const QString &FileItem::getIcon() | 176 | const QString &FileItem::getIcon() | ||
177 | { | 177 | { | ||
178 | if (m_icon.isEmpty()) { | 178 | if (m_iconName.isEmpty()) { | ||
179 | getMime(); // sets the icon | 179 | getMime(); // sets the icon | ||
180 | } | 180 | } | ||
181 | return m_icon; | 181 | return m_iconName; | ||
182 | } | 182 | } | ||
183 | 183 | | |||
184 | const QString &FileItem::getACL() | 184 | const QString &FileItem::getACL() | ||
185 | { | 185 | { | ||
186 | if (!m_AclLoaded) | 186 | if (!m_AclLoaded) | ||
187 | loadACL(); | 187 | loadACL(); | ||
188 | return m_acl; | 188 | return m_acl; | ||
189 | } | 189 | } | ||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |