[gnome-builder] libide-vcs: add display name helper



commit a47a2c955ca7f47a634cf13ac57654c7cb4ec6a9
Author: Christian Hergert <chergert redhat com>
Date:   Mon Jul 11 18:06:06 2022 -0700

    libide-vcs: add display name helper

 src/libide/vcs/ide-vcs.c | 20 ++++++++++++++++++++
 src/libide/vcs/ide-vcs.h |  3 +++
 2 files changed, 23 insertions(+)
---
diff --git a/src/libide/vcs/ide-vcs.c b/src/libide/vcs/ide-vcs.c
index ef00efd99..81f9fd9c0 100644
--- a/src/libide/vcs/ide-vcs.c
+++ b/src/libide/vcs/ide-vcs.c
@@ -646,3 +646,23 @@ ide_vcs_push_branch_finish (IdeVcs        *self,
 
   return IDE_VCS_GET_IFACE (self)->push_branch_finish (self, result, error);
 }
+
+/**
+ * ide_vcs_get_display_name:
+ * @self: a #IdeVcs
+ *
+ * Gets the display name for the VCS.
+ *
+ * Returns: (transfer full): a string describing the VCS
+ */
+char *
+ide_vcs_get_display_name (IdeVcs *self)
+{
+  g_return_val_if_fail (IDE_IS_VCS (self), NULL);
+
+  if (IDE_VCS_GET_IFACE (self)->get_display_name == NULL)
+    /* translators: None means "no version control system" */
+    return g_strdup (_("None"));
+
+  return IDE_VCS_GET_IFACE (self)->get_display_name (self);
+}
diff --git a/src/libide/vcs/ide-vcs.h b/src/libide/vcs/ide-vcs.h
index f84c53c8f..d891b9325 100644
--- a/src/libide/vcs/ide-vcs.h
+++ b/src/libide/vcs/ide-vcs.h
@@ -40,6 +40,7 @@ struct _IdeVcsInterface
 {
   GTypeInterface            parent_interface;
 
+  char                   *(*get_display_name)          (IdeVcs               *self);
   GFile                  *(*get_workdir)               (IdeVcs               *self);
   gboolean                (*is_ignored)                (IdeVcs               *self,
                                                         GFile                *file,
@@ -162,5 +163,7 @@ IDE_AVAILABLE_IN_ALL
 gboolean      ide_vcs_push_branch_finish   (IdeVcs               *self,
                                             GAsyncResult         *result,
                                             GError              **error);
+IDE_AVAILABLE_IN_ALL
+char         *ide_vcs_get_display_name     (IdeVcs               *self);
 
 G_END_DECLS


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]