[gitg] Do not show null in Author of Commiter labels
- From: Garrett Regier <gregier src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gitg] Do not show null in Author of Commiter labels
- Date: Sat, 23 Jul 2011 11:53:06 +0000 (UTC)
commit d5b65f6cc644431efd171f3bbc10185f4f446217
Author: Garrett Regier <garrettregier gmail com>
Date: Sat Jul 23 04:16:14 2011 -0700
Do not show null in Author of Commiter labels
gitg/gitg-revision-details-panel.c | 107 +++++++++++++++++++++++++-----------
1 files changed, 75 insertions(+), 32 deletions(-)
---
diff --git a/gitg/gitg-revision-details-panel.c b/gitg/gitg-revision-details-panel.c
index a1d315d..c72fa56 100644
--- a/gitg/gitg-revision-details-panel.c
+++ b/gitg/gitg-revision-details-panel.c
@@ -739,6 +739,72 @@ update_details (GitgRevisionDetailsPanel *panel)
}
static void
+update_author (GitgRevisionDetailsPanel *panel)
+{
+ gchar const *author;
+ gchar const *author_email;
+
+ author = gitg_revision_get_author (panel->priv->revision);
+ author_email = gitg_revision_get_author_email (panel->priv->revision);
+
+ if (author == NULL || author_email == NULL ||
+ *author == '\0' || *author_email == '\0')
+ {
+ gtk_label_set_text (panel->priv->author, "");
+ }
+ else
+ {
+ gchar *tmp;
+ gchar *date;
+
+ date = gitg_revision_get_author_date_for_display (panel->priv->revision);
+ tmp = g_markup_printf_escaped ("<a href='mailto:%s'>%s <%s></a> (%s)",
+ author_email,
+ author,
+ author_email,
+ date);
+
+ gtk_label_set_markup (panel->priv->author, tmp);
+
+ g_free (tmp);
+ g_free (date);
+ }
+}
+
+static void
+update_committer (GitgRevisionDetailsPanel *panel)
+{
+ gchar const *committer;
+ gchar const *committer_email;
+
+ committer = gitg_revision_get_committer (panel->priv->revision);
+ committer_email = gitg_revision_get_committer_email (panel->priv->revision);
+
+ if (committer == NULL || committer_email == NULL ||
+ *committer == '\0' || *committer_email == '\0')
+ {
+ gtk_label_set_text (panel->priv->committer, "");
+ }
+ else
+ {
+ gchar *tmp;
+ gchar *date;
+
+ date = gitg_revision_get_committer_date_for_display (panel->priv->revision);
+ tmp = g_markup_printf_escaped ("<a href='mailto:%s'>%s <%s></a> (%s)",
+ committer_email,
+ committer,
+ committer_email,
+ date);
+
+ gtk_label_set_markup (panel->priv->committer, tmp);
+
+ g_free (tmp);
+ g_free (date);
+ }
+}
+
+static void
avatar_ready (GObject *source_object,
GAsyncResult *res,
GitgRevisionDetailsPanel *panel)
@@ -792,47 +858,24 @@ reload (GitgRevisionDetailsPanel *panel)
if (panel->priv->revision)
{
gchar *tmp;
- gchar *date;
-
- date = gitg_revision_get_author_date_for_display (panel->priv->revision);
- tmp = g_markup_printf_escaped ("<a href='mailto:%s'>%s <%s></a> (%s)",
- gitg_revision_get_author_email (panel->priv->revision),
- gitg_revision_get_author (panel->priv->revision),
- gitg_revision_get_author_email (panel->priv->revision),
- date);
-
- gtk_label_set_markup (panel->priv->author, tmp);
- g_free (tmp);
- g_free (date);
+ update_author (panel);
+ update_committer (panel);
- date = gitg_revision_get_committer_date_for_display (panel->priv->revision);
- tmp = g_markup_printf_escaped ("<a href='mailto:%s'>%s <%s></a> (%s)",
- gitg_revision_get_committer_email (panel->priv->revision),
- gitg_revision_get_committer (panel->priv->revision),
- gitg_revision_get_committer_email (panel->priv->revision),
- date);
+ tmp = g_markup_printf_escaped ("<b>%s</b>",
+ gitg_revision_get_subject (panel->priv->revision));
- gtk_label_set_markup (panel->priv->committer, tmp);
+ gtk_label_set_markup (panel->priv->subject, tmp);
g_free (tmp);
- g_free (date);
- gchar *subject;
-
- subject = g_markup_printf_escaped ("<b>%s</b>",
- gitg_revision_get_subject (panel->priv->revision));
-
- gtk_label_set_markup (panel->priv->subject, subject);
- g_free (subject);
-
- gchar *sha = gitg_revision_get_sha1 (panel->priv->revision);
- gtk_label_set_text (panel->priv->sha, sha);
+ tmp = gitg_revision_get_sha1 (panel->priv->revision);
+ gtk_label_set_text (panel->priv->sha, tmp);
cb = gtk_clipboard_get (GDK_SELECTION_PRIMARY);
- gtk_clipboard_set_text (cb, sha, -1);
+ gtk_clipboard_set_text (cb, tmp, -1);
- g_free (sha);
+ g_free (tmp);
set_avatar (panel, gitg_revision_get_author_email (panel->priv->revision));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]