[gnome-commander] Add methods for getting file attributes directly through GFileInfo
- From: Uwe Scholz <uwescholz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-commander] Add methods for getting file attributes directly through GFileInfo
- Date: Thu, 6 Jan 2022 22:27:53 +0000 (UTC)
commit ed5931fb05bc946f853077bb6b7ebbc1aabb9857
Author: Uwe Scholz <u scholz83 gmx de>
Date: Wed Jan 5 14:27:06 2022 +0100
Add methods for getting file attributes directly through GFileInfo
src/gnome-cmd-file.cc | 8 ++++----
src/utils.cc | 38 ++++++++++++++++++++++++++++++++++----
src/utils.h | 8 ++++++++
3 files changed, 46 insertions(+), 8 deletions(-)
---
diff --git a/src/gnome-cmd-file.cc b/src/gnome-cmd-file.cc
index 9cd8fb60..176cd611 100644
--- a/src/gnome-cmd-file.cc
+++ b/src/gnome-cmd-file.cc
@@ -567,25 +567,25 @@ GAppInfo *GnomeCmdFile::GetAppInfoForContentType()
gboolean GnomeCmdFile::GetGfileAttributeBoolean(const char *attribute)
{
- return get_gfile_attribute_boolean(this->gFile, attribute);
+ return get_gfile_attribute_boolean(this->gFileInfo, attribute);
}
gchar *GnomeCmdFile::GetGfileAttributeString(const char *attribute)
{
- return get_gfile_attribute_string(this->gFile, attribute);
+ return get_gfile_attribute_string(this->gFileInfo, attribute);
}
guint32 GnomeCmdFile::GetGfileAttributeUInt32(const char *attribute)
{
- return get_gfile_attribute_uint32(this->gFile, attribute);
+ return get_gfile_attribute_uint32(this->gFileInfo, attribute);
}
guint64 GnomeCmdFile::GetGfileAttributeUInt64(const char *attribute)
{
- return get_gfile_attribute_uint64(this->gFile, attribute);
+ return get_gfile_attribute_uint64(this->gFileInfo, attribute);
}
diff --git a/src/utils.cc b/src/utils.cc
index 56725805..4845458c 100644
--- a/src/utils.cc
+++ b/src/utils.cc
@@ -1093,6 +1093,14 @@ gchar *string_double_underscores (const gchar *string)
return escaped;
}
+guint32 get_gfile_attribute_uint32(GFileInfo *gFileInfo, const char *attribute)
+{
+ g_return_val_if_fail(gFileInfo != nullptr, 0);
+ g_return_val_if_fail(G_IS_FILE_INFO(gFileInfo), 0);
+
+ return g_file_info_get_attribute_uint32 (gFileInfo, attribute);
+}
+
guint32 get_gfile_attribute_uint32(GFile *gFile, const char *attribute)
{
GError *error;
@@ -1114,13 +1122,20 @@ guint32 get_gfile_attribute_uint32(GFile *gFile, const char *attribute)
}
else
{
- gFileAttributeUInt32 = g_file_info_get_attribute_uint32 (gcmdFileInfo, attribute);
+ gFileAttributeUInt32 = get_gfile_attribute_uint32 (gcmdFileInfo, attribute);
g_object_unref(gcmdFileInfo);
}
return gFileAttributeUInt32;
}
+guint64 get_gfile_attribute_uint64(GFileInfo *gFileInfo, const char *attribute)
+{
+ g_return_val_if_fail(gFileInfo != nullptr, 0);
+ g_return_val_if_fail(G_IS_FILE_INFO(gFileInfo), 0);
+
+ return g_file_info_get_attribute_uint64 (gFileInfo, attribute);
+}
guint64 get_gfile_attribute_uint64(GFile *gFile, const char *attribute)
{
@@ -1143,7 +1158,7 @@ guint64 get_gfile_attribute_uint64(GFile *gFile, const char *attribute)
}
else
{
- gFileAttributeUInt64 = g_file_info_get_attribute_uint64 (gcmdFileInfo, attribute);
+ gFileAttributeUInt64 = get_gfile_attribute_uint64 (gcmdFileInfo, attribute);
g_object_unref(gcmdFileInfo);
}
@@ -1151,6 +1166,14 @@ guint64 get_gfile_attribute_uint64(GFile *gFile, const char *attribute)
}
+gboolean get_gfile_attribute_boolean(GFileInfo *gFileInfo, const char *attribute)
+{
+ g_return_val_if_fail(gFileInfo != nullptr, FALSE);
+ g_return_val_if_fail(G_IS_FILE_INFO(gFileInfo), FALSE);
+
+ return g_file_info_get_attribute_boolean (gFileInfo, attribute);
+}
+
gboolean get_gfile_attribute_boolean(GFile *gFile, const char *attribute)
{
GError *error;
@@ -1172,13 +1195,20 @@ gboolean get_gfile_attribute_boolean(GFile *gFile, const char *attribute)
}
else
{
- gFileAttributeBoolean = g_file_info_get_attribute_boolean (gcmdFileInfo, attribute);
+ gFileAttributeBoolean = get_gfile_attribute_boolean (gcmdFileInfo, attribute);
g_object_unref(gcmdFileInfo);
}
return gFileAttributeBoolean;
}
+gchar *get_gfile_attribute_string(GFileInfo *gFileInfo, const char *attribute)
+{
+ g_return_val_if_fail(gFileInfo != nullptr, nullptr);
+ g_return_val_if_fail(G_IS_FILE_INFO(gFileInfo), nullptr);
+
+ return g_strdup(g_file_info_get_attribute_string (gFileInfo, attribute));
+}
gchar *get_gfile_attribute_string(GFile *gFile, const char *attribute)
{
@@ -1199,7 +1229,7 @@ gchar *get_gfile_attribute_string(GFile *gFile, const char *attribute)
return nullptr;
}
- auto gFileAttributeString = g_strdup(g_file_info_get_attribute_string (gcmdFileInfo, attribute));
+ auto gFileAttributeString = get_gfile_attribute_string (gcmdFileInfo, attribute);
g_object_unref(gcmdFileInfo);
return gFileAttributeString;
diff --git a/src/utils.h b/src/utils.h
index a35bf425..2f262181 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -403,10 +403,18 @@ gchar* get_package_config_dir();
gchar *string_double_underscores (const gchar *string);
+gboolean get_gfile_attribute_boolean(GFileInfo *gFileInfo, const char *attribute);
+
gboolean get_gfile_attribute_boolean(GFile *gFile, const char *attribute);
+guint32 get_gfile_attribute_uint32(GFileInfo *gFileInfo, const char *attribute);
+
guint32 get_gfile_attribute_uint32(GFile *gFile, const char *attribute);
+guint64 get_gfile_attribute_uint64(GFileInfo *gFileInfo, const char *attribute);
+
guint64 get_gfile_attribute_uint64(GFile *gFile, const char *attribute);
+gchar *get_gfile_attribute_string(GFileInfo *gFileInfo, const char *attribute);
+
gchar *get_gfile_attribute_string(GFile *gFile, const char *attribute);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]