[gnome-builder] libide-vcs: add display name helper
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] libide-vcs: add display name helper
- Date: Tue, 12 Jul 2022 06:39:10 +0000 (UTC)
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]