[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [krusader] krusader/FileSystem: FileSystem: Added changed and access time to FileItem (not used yet)
From: Alexander Bikadorov <null () kde ! org>
Date: 2017-05-31 19:23:12
Message-ID: E1dG9D6-00015r-UZ () code ! kde ! org
[Download RAW message or body]
Git commit 30bf21fa71229f580ac7fe0a5f74f20ac039d3e1 by Alexander Bikadorov.
Committed on 30/05/2017 at 16:22.
Pushed by abikadorov into branch 'master'.
FileSystem: Added changed and access time to FileItem (not used yet)
M +11 -4 krusader/FileSystem/fileitem.cpp
M +9 -1 krusader/FileSystem/fileitem.h
M +6 -2 krusader/FileSystem/filesystem.cpp
https://commits.kde.org/krusader/30bf21fa71229f580ac7fe0a5f74f20ac039d3e1
diff --git a/krusader/FileSystem/fileitem.cpp b/krusader/FileSystem/fileitem.cpp
index 3a55ff87..b253a870 100644
--- a/krusader/FileSystem/fileitem.cpp
+++ b/krusader/FileSystem/fileitem.cpp
@@ -55,12 +55,14 @@ public:
static QCache<const QUrl, FileSize> s_fileSizeCache(1000);
FileItem::FileItem(const QString &name, const QUrl &url, bool isDir,
- KIO::filesize_t size, mode_t mode, time_t mtime,
+ KIO::filesize_t size, mode_t mode,
+ time_t mtime, time_t ctime, time_t atime,
uid_t uid, gid_t gid, const QString &owner, const QString &group,
bool isLink, const QString &linkDest, bool isBrokenLink,
const QString &acl, const QString &defaultAcl)
: m_name(name), m_url(url), m_isDir(isDir),
- m_size(size), m_mode(mode), m_mtime(mtime),
+ m_size(size), m_mode(mode),
+ m_mtime(mtime), m_ctime(ctime), m_atime(atime),
m_uid(uid), m_gid(gid), m_owner(owner), m_group(group),
m_isLink(isLink), m_linkDest(linkDest), m_isBrokenLink(isBrokenLink),
m_acl(acl), m_defaulfAcl(defaultAcl), m_AclLoaded(false),
@@ -82,6 +84,7 @@ FileItem::FileItem(const QString &name, const QUrl &url, bool \
isDir, FileItem *FileItem::createDummy()
{
FileItem *file = new FileItem("..", QUrl(), true,
+ 0, 0,
0, 0, 0);
file->setIcon("go-up");
return file;
@@ -90,14 +93,16 @@ FileItem *FileItem::createDummy()
FileItem *FileItem::createVirtualDir(const QString &name, const QUrl &url)
{
return new FileItem(name, url, true,
- 0, 0700, time(0),
+ 0, 0700,
+ time(0), time(0), time(0),
getuid(), getgid());
}
FileItem *FileItem::createCopy(const FileItem &file, const QString &newName)
{
return new FileItem(newName, file.getUrl(), file.isDir(),
- file.getSize(), file.getMode(), file.getTime_t(),
+ file.getSize(), file.getMode(),
+ file.getTime_t(), file.getChangedTime(), file.getAccessTime(),
file.m_uid, file.m_gid, file.getOwner(), file.getGroup(),
file.isSymLink(), file.getSymDest(), file.isBrokenLink());
}
@@ -200,6 +205,8 @@ const KIO::UDSEntry FileItem::getEntry()
entry.insert(KIO::UDSEntry::UDS_NAME, getName());
entry.insert(KIO::UDSEntry::UDS_SIZE, getSize());
entry.insert(KIO::UDSEntry::UDS_MODIFICATION_TIME, getTime_t());
+ entry.insert(KIO::UDSEntry::UDS_CREATION_TIME, getChangedTime());
+ entry.insert(KIO::UDSEntry::UDS_ACCESS_TIME, getAccessTime());
entry.insert(KIO::UDSEntry::UDS_USER, getOwner());
entry.insert(KIO::UDSEntry::UDS_GROUP, getGroup());
entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, getMime());
diff --git a/krusader/FileSystem/fileitem.h b/krusader/FileSystem/fileitem.h
index fc50963b..7c4b7b91 100644
--- a/krusader/FileSystem/fileitem.h
+++ b/krusader/FileSystem/fileitem.h
@@ -64,6 +64,8 @@ public:
* @param size size of file
* @param mode mode of file (file type and permissions)
* @param mtime file modification time
+ * @param ctime file changed time
+ * @param atime file access time
* @param uid Unix user id of file owner. Use -1 here and provide an owner name \
for non-local files.
* @param gid Unix group id of file group. Use -1 here and provide a group name \
for non-local files.
* @param owner user name of file owner. Can be empty for local files
@@ -75,7 +77,8 @@ public:
* @param defaultAcl default ACL string of file (only for directories). Can be \
empty and is loaded on demand.
*/
FileItem(const QString &name, const QUrl &url, bool isDir,
- KIO::filesize_t size, mode_t mode, time_t mtime,
+ KIO::filesize_t size, mode_t mode,
+ time_t mtime, time_t ctime, time_t atime,
uid_t uid = -1, gid_t gid = -1,
const QString &owner = QString(), const QString &group = QString(),
bool isLink = false, const QString &linkDest = QString(), bool \
isBrokenLink = false, @@ -101,6 +104,8 @@ public:
inline const QString &getSymDest() const { return m_linkDest; }
inline mode_t getMode() const { return m_mode; }
inline time_t getTime_t() const { return m_mtime; }
+ inline time_t getChangedTime() const { return m_ctime; }
+ inline time_t getAccessTime() const { return m_atime; }
inline const QUrl &getUrl() const { return m_url; }
inline const QString &getOwner() const { return m_owner; }
inline const QString &getGroup() const { return m_group; }
@@ -135,7 +140,10 @@ private:
KIO::filesize_t m_size; //< file size
mode_t m_mode; //< file mode (file type and permissions)
+
time_t m_mtime; //< file modification time
+ time_t m_ctime; //< file changed time
+ time_t m_atime; //< file access time
uid_t m_uid; //< file owner id
gid_t m_gid; //< file group id
diff --git a/krusader/FileSystem/filesystem.cpp b/krusader/FileSystem/filesystem.cpp
index e164ed7b..2e9cce1e 100644
--- a/krusader/FileSystem/filesystem.cpp
+++ b/krusader/FileSystem/filesystem.cpp
@@ -235,7 +235,8 @@ FileItem *FileSystem::createLocalFileItem(const QString &name, \
const QString &di }
return new FileItem(virt ? path : name, QUrl::fromLocalFile(path), isDir,
- size, stat_p.st_mode, stat_p.st_mtime,
+ size, stat_p.st_mode,
+ stat_p.st_mtime, stat_p.st_ctime, stat_p.st_atime,
stat_p.st_uid, stat_p.st_gid, QString(), QString(),
isLink, linkDestination, brokenLink);
}
@@ -256,6 +257,8 @@ FileItem *FileSystem::createFileItemFromKIO(const KIO::UDSEntry \
&entry, const QU
// get file statistics...
const time_t mtime = kfi.time(KFileItem::ModificationTime).toTime_t();
+ const time_t ctime = kfi.time(KFileItem::CreationTime).toTime_t(); // \
"Creation"? its "Changed" + const time_t atime = \
kfi.time(KFileItem::AccessTime).toTime_t(); const mode_t mode = kfi.mode() | \
kfi.permissions();
// NOTE: we could get the mimetype (and file icon) from the kfileitem here but \
this is very
// slow. Instead, the file item class has it's own (faster) way to determine the \
file type. @@ -263,7 +266,8 @@ FileItem *FileSystem::createFileItemFromKIO(const \
KIO::UDSEntry &entry, const QU
// NOTE: "broken link" flag is always false, checking link destination existence \
is // considered to be too expensive
return new FileItem(fname, url, kfi.isDir(),
- kfi.size(), mode, mtime,
+ kfi.size(), mode,
+ mtime, ctime, atime,
(uid_t) -1, (gid_t) -1, kfi.user(), kfi.group(),
kfi.isLink(), kfi.linkDest(), false,
kfi.ACL().asString(), kfi.defaultACL().asString());
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic