[gitg] Added state and local name
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: svn-commits-list gnome org
- Subject: [gitg] Added state and local name
- Date: Sun, 5 Jul 2009 01:13:04 +0000 (UTC)
commit 173a4b1a7e0f77f2020df331c41bbb40c7db0fc5
Author: Jesse van den Kieboom <jessevdk gnome org>
Date: Sun Jun 28 23:48:01 2009 +0200
Added state and local name
gitg/gitg-ref.c | 30 ++++++++++++++++++++++++++++++
gitg/gitg-ref.h | 39 ++++++++++++++++++++++++++-------------
2 files changed, 56 insertions(+), 13 deletions(-)
---
diff --git a/gitg/gitg-ref.c b/gitg/gitg-ref.c
index 2e5f826..f577338 100644
--- a/gitg/gitg-ref.c
+++ b/gitg/gitg-ref.c
@@ -39,6 +39,7 @@ struct _GitgRef
gchar *shortname;
gchar *prefix;
+ GitgRefState state;
};
GType
@@ -184,3 +185,32 @@ gitg_ref_get_prefix(GitgRef *ref)
{
return ref->prefix;
}
+
+GitgRefState
+gitg_ref_get_state (GitgRef *ref)
+{
+ return ref->state;
+}
+
+void
+gitg_ref_set_state (GitgRef *ref,
+ GitgRefState state)
+{
+ ref->state = state;
+}
+
+gchar *
+gitg_ref_get_local_name (GitgRef *ref)
+{
+ gchar const *shortname = gitg_ref_get_shortname (ref);
+ gchar const *prefix = gitg_ref_get_prefix (ref);
+
+ if (prefix && g_str_has_prefix (shortname, prefix))
+ {
+ return g_strdup (shortname + strlen(prefix) + 1);
+ }
+ else
+ {
+ return g_strdup (shortname);
+ }
+}
diff --git a/gitg/gitg-ref.h b/gitg/gitg-ref.h
index 0948b64..8a4da07 100644
--- a/gitg/gitg-ref.h
+++ b/gitg/gitg-ref.h
@@ -40,28 +40,41 @@ typedef enum
GITG_REF_TYPE_TAG
} GitgRefType;
+typedef enum
+{
+ GITG_REF_STATE_NONE = 0,
+ GITG_REF_STATE_SELECTED,
+ GITG_REF_STATE_PRELIGHT
+} GitgRefState;
+
typedef struct _GitgRef GitgRef;
GType gitg_ref_get_type (void) G_GNUC_CONST;
-GitgRef *gitg_ref_new (gchar const *hash,
- gchar const *name);
+GitgRef *gitg_ref_new (gchar const *hash,
+ gchar const *name);
+
+gchar const *gitg_ref_get_hash (GitgRef *ref);
+GitgRefType gitg_ref_get_ref_type (GitgRef *ref);
+gchar const *gitg_ref_get_name (GitgRef *ref);
+
+gchar const *gitg_ref_get_shortname (GitgRef *ref);
+gchar const *gitg_ref_get_prefix (GitgRef *ref);
-gchar const *gitg_ref_get_hash (GitgRef *ref);
-GitgRefType gitg_ref_get_ref_type (GitgRef *ref);
-gchar const *gitg_ref_get_name (GitgRef *ref);
+gchar *gitg_ref_get_local_name (GitgRef *ref);
-gchar const *gitg_ref_get_shortname (GitgRef *ref);
-gchar const *gitg_ref_get_prefix (GitgRef *ref);
+GitgRefState gitg_ref_get_state (GitgRef *ref);
+void gitg_ref_set_state (GitgRef *ref,
+ GitgRefState state);
-GitgRef *gitg_ref_copy (GitgRef *ref);
-void gitg_ref_free (GitgRef *ref);
+GitgRef *gitg_ref_copy (GitgRef *ref);
+void gitg_ref_free (GitgRef *ref);
-gboolean gitg_ref_equal (GitgRef *ref,
- GitgRef *other);
+gboolean gitg_ref_equal (GitgRef *ref,
+ GitgRef *other);
-gboolean gitg_ref_equal_prefix (GitgRef *ref,
- GitgRef *other);
+gboolean gitg_ref_equal_prefix (GitgRef *ref,
+ GitgRef *other);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]