[gnome-builder] project-file: add IdeProjectFile:is-directory
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] project-file: add IdeProjectFile:is-directory
- Date: Thu, 9 Apr 2015 03:59:38 +0000 (UTC)
commit 67a88e65ae401809dbc228f97aa076ea1e2ba2ef
Author: Christian Hergert <christian hergert me>
Date: Wed Apr 8 20:59:15 2015 -0700
project-file: add IdeProjectFile:is-directory
This gproperty will check the GFileInfo:file-type for
G_FILE_TYPE_DIRECTORY.
libide/ide-project-file.c | 30 ++++++++++++++++++++++++++++--
libide/ide-project-file.h | 9 +++++----
2 files changed, 33 insertions(+), 6 deletions(-)
---
diff --git a/libide/ide-project-file.c b/libide/ide-project-file.c
index 9caae8c..80b4f76 100644
--- a/libide/ide-project-file.c
+++ b/libide/ide-project-file.c
@@ -27,13 +27,13 @@ typedef struct
gchar *path;
} IdeProjectFilePrivate;
-G_DEFINE_TYPE_WITH_PRIVATE (IdeProjectFile, ide_project_file,
- IDE_TYPE_PROJECT_ITEM)
+G_DEFINE_TYPE_WITH_PRIVATE (IdeProjectFile, ide_project_file, IDE_TYPE_PROJECT_ITEM)
enum {
PROP_0,
PROP_FILE,
PROP_FILE_INFO,
+ PROP_IS_DIRECTORY,
PROP_NAME,
PROP_PATH,
LAST_PROP
@@ -41,6 +41,19 @@ enum {
static GParamSpec *gParamSpecs [LAST_PROP];
+gboolean
+ide_project_file_get_is_directory (IdeProjectFile *self)
+{
+ IdeProjectFilePrivate *priv = ide_project_file_get_instance_private (self);
+
+ g_return_val_if_fail (IDE_IS_PROJECT_FILE (self), NULL);
+
+ if (priv->file_info)
+ return (g_file_info_get_file_type (priv->file_info) == G_FILE_TYPE_DIRECTORY);
+
+ return FALSE;
+}
+
const gchar *
ide_project_file_get_path (IdeProjectFile *self)
{
@@ -165,6 +178,10 @@ ide_project_file_get_property (GObject *object,
g_value_set_object (value, ide_project_file_get_file_info (self));
break;
+ case PROP_IS_DIRECTORY:
+ g_value_set_boolean (value, ide_project_file_get_is_directory (self));
+ break;
+
case PROP_NAME:
g_value_set_string (value, ide_project_file_get_name (self));
break;
@@ -234,6 +251,15 @@ ide_project_file_class_init (IdeProjectFileClass *klass)
g_object_class_install_property (object_class, PROP_FILE_INFO,
gParamSpecs [PROP_FILE_INFO]);
+ gParamSpecs [PROP_IS_DIRECTORY] =
+ g_param_spec_boolean ("is-directory",
+ _("Is Directory"),
+ _("Is Directory"),
+ FALSE,
+ (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (object_class, PROP_IS_DIRECTORY,
+ gParamSpecs [PROP_IS_DIRECTORY]);
+
gParamSpecs [PROP_NAME] =
g_param_spec_string ("name",
_("Name"),
diff --git a/libide/ide-project-file.h b/libide/ide-project-file.h
index 92bf7d7..64623e0 100644
--- a/libide/ide-project-file.h
+++ b/libide/ide-project-file.h
@@ -35,10 +35,11 @@ struct _IdeProjectFileClass
GObjectClass parent;
};
-GFile *ide_project_file_get_file (IdeProjectFile *self);
-GFileInfo *ide_project_file_get_file_info (IdeProjectFile *self);
-const gchar *ide_project_file_get_name (IdeProjectFile *self);
-const gchar *ide_project_file_get_path (IdeProjectFile *self);
+GFile *ide_project_file_get_file (IdeProjectFile *self);
+GFileInfo *ide_project_file_get_file_info (IdeProjectFile *self);
+const gchar *ide_project_file_get_name (IdeProjectFile *self);
+const gchar *ide_project_file_get_path (IdeProjectFile *self);
+gboolean ide_project_file_get_is_directory (IdeProjectFile *self);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]