[gnac/devel] Fixed a bug in gnac-file-list



commit 0d7ec5e34e6540dc0078a4f2ef723f244ea7b2a4
Author: BenoÃt Dupasquier <bdupasqu src gnome org>
Date:   Thu Jan 26 00:00:54 2012 +0000

    Fixed a bug in gnac-file-list

 src/gnac-file-list.c  |   22 ++++++----------------
 src/gnac-file-list.h  |    8 ++------
 src/gnac-main.c       |    2 +-
 src/gnac-properties.c |    6 +++---
 4 files changed, 12 insertions(+), 26 deletions(-)
---
diff --git a/src/gnac-file-list.c b/src/gnac-file-list.c
index 7941e57..b01c9a2 100644
--- a/src/gnac-file-list.c
+++ b/src/gnac-file-list.c
@@ -43,18 +43,6 @@ static GHashTable       *reference_table = NULL;
 
 
 static void
-gnac_file_list_select_row(GtkTreeRowReference *reference)
-{
-  g_return_if_fail(reference);
-
-  GtkTreePath *path = gtk_tree_row_reference_get_path(reference);
-  gtk_tree_selection_select_path(selection, path);
-
-  gtk_tree_path_free(path);
-}
-
-
-static void
 gnac_file_list_display_stock(GtkTreeViewColumn *tree_column,
                              GtkCellRenderer   *cell,
                              GtkTreeModel      *tree_model,
@@ -382,26 +370,28 @@ gnac_file_list_get_prev_row(GtkTreeRowReference **reference)
 
 
 void
-gnac_file_list_select_row_and_follow(GtkTreeRowReference *reference)
+gnac_file_list_select_row(GtkTreeRowReference *reference)
 {
   g_return_if_fail(reference);
 
   GtkTreePath *path = gtk_tree_row_reference_get_path(reference);
   if (!path) return;
   
-  gtk_tree_view_scroll_to_cell(view, path, NULL, TRUE, 0.5, 0.0);
+  gtk_tree_view_scroll_to_cell(view, path, NULL, FALSE, 0.0, 0.0);
+  gtk_tree_selection_unselect_all(selection);
   gtk_tree_selection_select_path(selection, path);
+
   gtk_tree_path_free(path);
 }
 
 
 void
-gnac_file_list_select_uri_and_follow(const gchar *uri)
+gnac_file_list_select_uri(const gchar *uri)
 {
   GtkTreeRowReference *ref = g_hash_table_lookup(reference_table, uri);
   g_return_if_fail(ref);
 
-  gnac_file_list_select_row_and_follow(ref);
+  gnac_file_list_select_row(ref);
 }
 
 
diff --git a/src/gnac-file-list.h b/src/gnac-file-list.h
index ee4e9b8..364e8c1 100644
--- a/src/gnac-file-list.h
+++ b/src/gnac-file-list.h
@@ -79,15 +79,11 @@ gnac_file_list_has_next_row(GtkTreeRowReference *reference);
 gboolean 
 gnac_file_list_has_prev_row(GtkTreeRowReference *reference);
 
-/** 
- * Callbacks 
- */
-
 void 
-gnac_file_list_select_row_and_follow(GtkTreeRowReference *reference);
+gnac_file_list_select_row(GtkTreeRowReference *reference);
 
 void 
-gnac_file_list_select_uri_and_follow(const gchar *uri);
+gnac_file_list_select_uri(const gchar *uri);
 
 void
 gnac_file_list_hide_visual_bar(void);
diff --git a/src/gnac-main.c b/src/gnac-main.c
index 19dba2e..105b365 100644
--- a/src/gnac-main.c
+++ b/src/gnac-main.c
@@ -450,7 +450,7 @@ gnac_on_converter_file_started_cb(LibgnacConverter *converter,
                                   const gchar      *input)
 {
   gnac_file_list_remove_visual_error(input);
-  gnac_file_list_select_uri_and_follow(input);
+  gnac_file_list_select_uri(input);
   gnac_ui_trayicon_tooltip_update(input);
 }
 
diff --git a/src/gnac-properties.c b/src/gnac-properties.c
index 21a0729..77463ac 100644
--- a/src/gnac-properties.c
+++ b/src/gnac-properties.c
@@ -606,7 +606,7 @@ gnac_properties_set_row(GtkTreeRowReference *current)
 
   current_ref = gtk_tree_row_reference_copy(current);
   gnac_properties_update_arrows();
-  gnac_file_list_select_row_and_follow(current_ref);
+  gnac_file_list_select_row(current_ref);
   gnac_properties_update_display(current_ref);
 }
 
@@ -618,7 +618,7 @@ gnac_properties_on_back(GtkWidget *widget,
   GtkTreeRowReference *old_ref = gtk_tree_row_reference_copy(current_ref);
 
   if (gnac_file_list_get_prev_row(&current_ref)) {
-    gnac_file_list_select_row_and_follow(current_ref);
+    gnac_file_list_select_row(current_ref);
     gnac_properties_update_display(current_ref);
     gtk_tree_row_reference_free(old_ref);
   } else {
@@ -637,7 +637,7 @@ gnac_properties_on_forward(GtkWidget *widget,
   GtkTreeRowReference *old_ref = gtk_tree_row_reference_copy(current_ref);
 
   if (gnac_file_list_get_next_row(&current_ref)) {
-    gnac_file_list_select_row_and_follow(current_ref);
+    gnac_file_list_select_row(current_ref);
     gnac_properties_update_display(current_ref);
     gtk_tree_row_reference_free(old_ref);
   } else {



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