[Xfce4-commits] <thunar-vcs-plugin:master> Show full revision hash in log dialog.

Peter de Ridder noreply at xfce.org
Sun Feb 27 20:38:06 CET 2011


Updating branch refs/heads/master
         to 0e7a4b608cdfcbb39d8b6742a845111f0a9f2bf0 (commit)
       from 460cbe9abcb4593b78b70331097e00b12f4d4dfc (commit)

commit 0e7a4b608cdfcbb39d8b6742a845111f0a9f2bf0
Author: Peter de Ridder <peter at xfce.org>
Date:   Thu Aug 12 22:06:33 2010 +0200

    Show full revision hash in log dialog.
    
    Show the revision hash with elipses in the log table.
    Show the selected revision hash just above the log message.

 tvp-git-helper/tgh-common.c     |    6 ++----
 tvp-git-helper/tgh-log-dialog.c |   29 +++++++++++++++++++++++++----
 2 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/tvp-git-helper/tgh-common.c b/tvp-git-helper/tgh-common.c
index 14bffc8..2bb200a 100644
--- a/tvp-git-helper/tgh-common.c
+++ b/tvp-git-helper/tgh-common.c
@@ -400,8 +400,7 @@ log_parser_func(TghLogParser *parser, gchar *line)
         parent_count++;
       }
 
-      // read first 6 chars of hash?
-      parser->revision = g_strndup(revision, revision[0]=='-'?7:6);
+      parser->revision = g_strdup(revision);
 
       if (parent_count)
       {
@@ -409,8 +408,7 @@ log_parser_func(TghLogParser *parser, gchar *line)
         parents[parent_count] = NULL;
         while (parent_list)
         {
-          // read first 6 chars of hash?
-          parents[--parent_count] = g_strndup (parent_list->data, 6);;
+          parents[--parent_count] = g_strdup (parent_list->data);
           parent_list = g_slist_delete_link (parent_list, parent_list);
         }
         parser->parents = parents;
diff --git a/tvp-git-helper/tgh-log-dialog.c b/tvp-git-helper/tgh-log-dialog.c
index f38507b..7a2bf59 100644
--- a/tvp-git-helper/tgh-log-dialog.c
+++ b/tvp-git-helper/tgh-log-dialog.c
@@ -39,6 +39,7 @@ struct _TghLogDialog
   GList *graph;
 
   GtkWidget *tree_view;
+  GtkWidget *revision_label;
   GtkWidget *text_view;
   GtkWidget *file_view;
   GtkWidget *close;
@@ -102,12 +103,14 @@ static void
 tgh_log_dialog_init (TghLogDialog *dialog)
 {
   GtkWidget *button;
+  GtkWidget *label;
   GtkWidget *tree_view;
   GtkWidget *text_view;
   GtkWidget *file_view;
   GtkWidget *scroll_window;
   GtkWidget *pane;
   GtkWidget *vpane;
+  GtkWidget *box;
   GtkCellRenderer *renderer;
   GtkTreeModel *model;
 
@@ -126,6 +129,8 @@ tgh_log_dialog_init (TghLogDialog *dialog)
       NULL);
 
   renderer = gtk_cell_renderer_text_new ();
+  g_object_set (G_OBJECT (renderer), "width-chars", 9, NULL);
+  g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_END, NULL);
   gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree_view),
       -1, _("Revision"),
       renderer, "text",
@@ -176,20 +181,31 @@ tgh_log_dialog_init (TghLogDialog *dialog)
   gtk_widget_show (tree_view);
   gtk_widget_show (scroll_window);
 
+  vpane = gtk_vpaned_new ();
+
+  box = gtk_vbox_new (FALSE, 0);
+
+  dialog->revision_label = label = gtk_label_new (_("Revision"));
+  gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f);
+  gtk_label_set_selectable (GTK_LABEL (label), TRUE);
+  gtk_box_pack_start (GTK_BOX (box), label, FALSE, TRUE, 0);
+  gtk_widget_show (label);
+
   scroll_window = gtk_scrolled_window_new (NULL, NULL);
   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll_window), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
 
-  vpane = gtk_vpaned_new ();
-
   dialog->text_view = text_view = gtk_text_view_new ();
   gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view), GTK_WRAP_WORD_CHAR);
   gtk_text_view_set_editable (GTK_TEXT_VIEW (text_view), FALSE);
 
   gtk_container_add (GTK_CONTAINER (scroll_window), text_view);
-  gtk_paned_pack1 (GTK_PANED(vpane), scroll_window, TRUE, FALSE);
+  gtk_box_pack_end (GTK_BOX (box), scroll_window, TRUE, TRUE, 0);
   gtk_widget_show (text_view);
   gtk_widget_show (scroll_window);
 
+  gtk_paned_pack1 (GTK_PANED(vpane), box, TRUE, FALSE);
+  gtk_widget_show (box);
+
   scroll_window = gtk_scrolled_window_new (NULL, NULL);
   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
 
@@ -427,6 +443,7 @@ selection_changed (GtkTreeView *tree_view, gpointer user_data)
   GtkTreeIter iter;
   GtkTreeSelection *selection;
   GtkTreeModel *model;
+  gchar *revision;
   gchar *message;
   GSList *files;
 
@@ -436,7 +453,11 @@ selection_changed (GtkTreeView *tree_view, gpointer user_data)
 
   if (gtk_tree_selection_get_selected (selection, &model, &iter))
   {
-    gtk_tree_model_get (model, &iter, COLUMN_FULL_MESSAGE, &message, COLUMN_FILE_LIST, &files, -1);
+    gtk_tree_model_get (model, &iter, COLUMN_REVISION, &revision, COLUMN_FULL_MESSAGE, &message, COLUMN_FILE_LIST, &files, -1);
+
+    gtk_label_set_text (GTK_LABEL (dialog->revision_label), revision);
+    g_free (revision);
+
     gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (dialog->text_view)), message?message:"", -1);
     g_free (message);
 



More information about the Xfce4-commits mailing list