[gnac/devel] Code cleanup



commit 9cc3aa20661e9b2d7c83fa66c940e9d0bb7cd1c7
Author: BenoÃt Dupasquier <bdupasqu src gnome org>
Date:   Sat Oct 29 01:34:22 2011 +0100

    Code cleanup

 src/gnac-file-list.c |  320 +++++++++++++++++---------------------------------
 src/gnac-file-list.h |    9 --
 2 files changed, 110 insertions(+), 219 deletions(-)
---
diff --git a/src/gnac-file-list.c b/src/gnac-file-list.c
index 69088d6..9ddc2ef 100644
--- a/src/gnac-file-list.c
+++ b/src/gnac-file-list.c
@@ -45,12 +45,9 @@ static GHashTable       *reference_table = NULL;
 static void
 gnac_file_list_select_row(GtkTreeRowReference *reference)
 {
-  GtkTreePath *path;
-  
   g_return_if_fail(reference);
 
-  path = gtk_tree_row_reference_get_path(reference);
-  
+  GtkTreePath *path = gtk_tree_row_reference_get_path(reference);
   gtk_tree_selection_unselect_all(selection);
   gtk_tree_selection_select_path(selection, path);
 
@@ -66,15 +63,11 @@ gnac_file_list_display_stock(GtkTreeViewColumn  *tree_column,
                              gpointer            data)
 {
   gchar *stock_id;
-
   gtk_tree_model_get(tree_model, iter, COL_STOCK, &stock_id, -1);
   g_object_set(G_OBJECT(cell), "stock-id", stock_id, NULL);
 }
 
 
-/*
- * Returns the number of rows that have been selected in the file list
- */
 static gint
 gnac_file_list_count_selected_rows(void)
 {
@@ -113,19 +106,13 @@ static void
 gnac_file_list_selection_changed_cb(GtkTreeSelection *selection, 
                                     gpointer          user_data)
 {
-  gint count;
-  
-  count = gtk_tree_selection_count_selected_rows(selection);
+  gint selected_rows = gtk_tree_selection_count_selected_rows(selection);
   
-  if (count != 0 && state == GNAC_AUDIO_READY_STATE) {
+  if (selected_rows != 0 && state == GNAC_AUDIO_READY_STATE) {
     gnac_bars_activate_remove(TRUE);
   }
 
-  if (count != 1) {
-    gnac_bars_activate_properties(FALSE);
-  } else {
-    gnac_bars_activate_properties(TRUE);
-  }
+  gnac_bars_activate_properties(selected_rows == 1);
 }
 
 
@@ -135,10 +122,8 @@ gnac_file_list_new(void)
   GtkCellRenderer   *renderer;
   GtkTreeViewColumn *column;
 
-  reference_table = g_hash_table_new_full(g_str_hash, 
-      g_str_equal,
-      g_free,
-      (GDestroyNotify)gtk_tree_row_reference_free);
+  reference_table = g_hash_table_new_full(g_str_hash, g_str_equal,
+      g_free, (GDestroyNotify)gtk_tree_row_reference_free);
 
   view = gnac_ui_get_widget("file_list");
   gtk_tree_view_set_tooltip_column(GTK_TREE_VIEW(view), COL_TOOLTIP);
@@ -147,23 +132,13 @@ gnac_file_list_new(void)
       G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING));
 
   renderer = gtk_cell_renderer_pixbuf_new();
-  gtk_tree_view_insert_column_with_data_func(GTK_TREE_VIEW(view),
-                                             -1,
-                                             "Status",
-                                             renderer,
-                                             gnac_file_list_display_stock,
-                                             NULL,
-                                             NULL);
+  gtk_tree_view_insert_column_with_data_func(GTK_TREE_VIEW(view), -1,
+      "Status", renderer, gnac_file_list_display_stock, NULL, NULL);
 
   renderer = gtk_cell_renderer_text_new();
   g_object_set(G_OBJECT(renderer), "ypad", 5, NULL);
-  gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view),
-                                              -1,
-                                              "Filelist",
-                                              renderer,
-                                              "text",
-                                              COL_DISPLAY,
-                                              NULL);
+  gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view), -1,
+      "Filelist", renderer, "text", COL_DISPLAY, NULL);
 
   gtk_tree_view_set_model(GTK_TREE_VIEW(view), model);
   gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(view), TRUE);
@@ -172,7 +147,6 @@ gnac_file_list_new(void)
   gtk_tree_view_column_set_sort_column_id (column,COL_URI);
   gtk_tree_view_column_clicked (column);
 
-
   column = gtk_tree_view_get_column(GTK_TREE_VIEW(view),COL_STOCK);
   gtk_tree_view_column_set_visible(column, FALSE);
   
@@ -190,27 +164,6 @@ gnac_file_list_new(void)
 }
 
 
-GtkWidget *
-gnac_file_list_get_view(void)
-{
-  return view;
-}
-
-
-GtkTreeModel *
-gnac_file_list_get_model(void)
-{
-  return model;
-}
-
-
-GtkTreeSelection *
-gnac_file_list_get_selection(void)
-{
-  return selection;
-}
-
-
 void
 gnac_file_list_attach_default_model(gboolean attach)
 {
@@ -227,32 +180,33 @@ gnac_file_list_attach_default_model(gboolean attach)
 void
 gnac_file_list_add_row(const gchar *uri)
 {
-  GtkTreeRowReference *ref = NULL;
+  g_return_if_fail(uri);
+
+  gchar *display;
   GtkTreeIter iter;
   GtkTreePath *path = NULL;
-  gchar *display;
-  
-  g_return_if_fail(uri);
+  GtkTreeRowReference *ref = NULL;
 
   display = gnac_utils_get_display_name(uri, NULL); 
 
   gtk_list_store_append(GTK_LIST_STORE(model), &iter);
   gtk_list_store_set(GTK_LIST_STORE(model), &iter,
-                  COL_URI, uri,
-                  COL_DISPLAY, display,
-                  -1);
+      COL_URI, uri,
+      COL_DISPLAY, display,
+      -1);
 
   g_free(display);
 
   path = gtk_tree_model_get_path(model, &iter);
-  if (path) {
-    ref = gtk_tree_row_reference_new(model, path);
-    g_hash_table_insert(reference_table, g_strdup(uri), ref);
- 
-    gtk_tree_path_free(path);
-  } else {
+  if (!path) {
     libgnac_debug("Unable to create path");
+    return;
   }
+
+  ref = gtk_tree_row_reference_new(model, path);
+  g_hash_table_insert(reference_table, g_strdup(uri), ref);
+
+  gtk_tree_path_free(path);
 }
 
 
@@ -262,23 +216,21 @@ gnac_file_list_get(GtkTreeRowReference  *reference,
 {
   g_return_val_if_fail(reference, FALSE);
 
-  GtkTreeIter iter;
+  GtkTreeIter  iter;
   GtkTreePath *path = NULL;
 
   path = gtk_tree_row_reference_get_path(reference);
   
   if (path) {
-    gboolean ret = TRUE;
-    if (gtk_tree_model_get_iter(model, &iter, path)) 
-    {
-      gtk_tree_model_get(model, &iter, 
-                    COL_URI, file_uri, 
-                  -1); 
-    } 
-    else { ret = FALSE; }
+    gboolean path_exists = gtk_tree_model_get_iter(model, &iter, path);
+
+    if (path_exists) {
+      gtk_tree_model_get(model, &iter, COL_URI, file_uri, -1);
+    }
   
     gtk_tree_path_free(path);
-    return ret;
+
+    return path_exists;
   }
 
   return FALSE;
@@ -288,43 +240,40 @@ gnac_file_list_get(GtkTreeRowReference  *reference,
 void 
 gnac_file_list_remove_row(const gchar *uri)
 {
+  GtkTreeIter          iter;
+  GtkTreePath         *path;
   GtkTreeRowReference *ref = NULL;
-  GtkTreePath   *path;
+  GtkTreeRowReference *new_ref = NULL;
 
   ref = g_hash_table_lookup(reference_table, uri);
-  if (ref)
-  {
-    path = gtk_tree_row_reference_get_path(ref);
-    if (path) 
-    {
-        GtkTreeRowReference *new_ref = NULL;
-        GtkTreeIter iter;
-
-        if (gnac_file_list_has_next_row(ref)) {
-          new_ref = gtk_tree_row_reference_copy(ref);
-          gnac_file_list_get_next_row(&new_ref);
-        } else if (gnac_file_list_has_prev_row(ref)) {
-          new_ref = gtk_tree_row_reference_copy(ref);
-          gnac_file_list_get_prev_row(&new_ref);
-        }
-
-        if (gtk_tree_model_get_iter(model, &iter, path)) 
-        {
-          gtk_list_store_remove(GTK_LIST_STORE(model), &iter);
-        }
-
-        if (new_ref) {
-          gnac_file_list_select_row(new_ref);
-          gnac_properties_set_row(new_ref);
-        }
-    }
+  g_return_if_fail(ref);
+
+  path = gtk_tree_row_reference_get_path(ref);
+  if (!path) {
     g_hash_table_remove(reference_table, uri);
+    return;
+  }
 
-    gtk_tree_path_free(path);
-  } 
-  else { /* ref not defined */
-    g_return_if_reached();
-  } 
+  if (gnac_file_list_has_next_row(ref)) {
+    new_ref = gtk_tree_row_reference_copy(ref);
+    gnac_file_list_get_next_row(&new_ref);
+  } else if (gnac_file_list_has_prev_row(ref)) {
+    new_ref = gtk_tree_row_reference_copy(ref);
+    gnac_file_list_get_prev_row(&new_ref);
+  }
+
+  if (gtk_tree_model_get_iter(model, &iter, path)) {
+    gtk_list_store_remove(GTK_LIST_STORE(model), &iter);
+  }
+
+  if (new_ref) {
+    gnac_file_list_select_row(new_ref);
+    gnac_properties_set_row(new_ref);
+  }
+
+  g_hash_table_remove(reference_table, uri);
+
+  gtk_tree_path_free(path);
 }
 
 
@@ -336,13 +285,10 @@ gnac_file_list_remove_all(void)
   g_hash_table_remove_all(reference_table);
   gnac_file_list_attach_default_model(TRUE);
   gtk_tree_view_columns_autosize(GTK_TREE_VIEW(view));
-
 }
 
 
 /*  
- *  Create a list of GtkTreeRowReference of all selected rows on the file list.
- *
  *  WARNING : To free the return value, use :
  *  g_list_foreach (list, (GFunc)gtk_tree_row_reference_free, NULL);
  *  g_list_free (list);
@@ -350,7 +296,7 @@ gnac_file_list_remove_all(void)
 GList *
 gnac_file_list_get_selected_rows(void)
 {
-  GList *row_references = NULL ;
+  GList *row_references = NULL;
   GList *row_path;
   GList *next;
 
@@ -366,7 +312,7 @@ gnac_file_list_get_selected_rows(void)
 
   row_references = g_list_reverse(row_references);
 
-  g_list_foreach(row_path, (GFunc)gtk_tree_path_free,NULL);
+  g_list_foreach(row_path, (GFunc)gtk_tree_path_free, NULL);
   g_list_free(row_path);
 
   return row_references;
@@ -376,12 +322,9 @@ gnac_file_list_get_selected_rows(void)
 gboolean
 gnac_file_list_get_current_row(GtkTreeRowReference **reference)
 {
-  GList  *rows_path;
+  GList *rows_path;
 
-  if (*reference) {
-    gtk_tree_row_reference_free(*reference);
-    *reference = NULL;
-  }
+  gtk_tree_row_reference_free(*reference);
 
   rows_path = gtk_tree_selection_get_selected_rows(selection, &model);
 
@@ -398,71 +341,59 @@ gnac_file_list_get_current_row(GtkTreeRowReference **reference)
 gboolean
 gnac_file_list_has_next_row(GtkTreeRowReference *reference)
 {
+  g_return_val_if_fail(reference, FALSE);
+
   GtkTreePath         *path;
   GtkTreeRowReference *temp;
-  gboolean             result;
-
-  g_return_val_if_fail(reference, FALSE);
+  gboolean             has_next_row;
 
   path = gtk_tree_row_reference_get_path(reference);
-  if (path) {
-    gtk_tree_path_next(path);
-    temp = gtk_tree_row_reference_new(model, path);
-    result = gtk_tree_row_reference_valid(temp);
+  if (!path) return FALSE;
 
-    gtk_tree_row_reference_free(temp);
-    gtk_tree_path_free(path);
+  gtk_tree_path_next(path);
+  temp = gtk_tree_row_reference_new(model, path);
+  has_next_row = gtk_tree_row_reference_valid(temp);
 
-  } else {
-    return FALSE;
-  }
+  gtk_tree_row_reference_free(temp);
+  gtk_tree_path_free(path);
 
-  return result;
+  return has_next_row;
 }
 
 
 gboolean
 gnac_file_list_has_prev_row(GtkTreeRowReference *reference)
 {
+  g_return_val_if_fail(reference, FALSE);
+
   GtkTreePath *path;
   GtkTreePath *first;
-  gboolean     result;
-
-  g_return_val_if_fail(reference, FALSE);
+  gboolean     has_prev_row;
 
   first = gtk_tree_path_new_first();
   path = gtk_tree_row_reference_get_path(reference);
 
-  if (path) {
-    if (gtk_tree_path_compare(path, first) == 0) {
-     result = FALSE;
-
-    } else {
-     result = TRUE;
-    }
-
-  } else { /* path not defined */
-    result = FALSE;
-  }
+  has_prev_row = path && gtk_tree_path_compare(path, first) != 0;
 
   gtk_tree_path_free(path);
   gtk_tree_path_free(first);
 
-  return result;
+  return has_prev_row;
 }
 
 
 gboolean
 gnac_file_list_get_next_row(GtkTreeRowReference **reference)
 {
-  GtkTreePath *path;
-
   g_return_val_if_fail(*reference, FALSE);
 
+  GtkTreePath *path;
+
   path = gtk_tree_row_reference_get_path(*reference);
   gtk_tree_path_next(path);
   gtk_tree_row_reference_free(*reference);
   *reference = gtk_tree_row_reference_new(model, path);
+
   gtk_tree_path_free(path);
 
   return gtk_tree_row_reference_valid(*reference);
@@ -472,41 +403,37 @@ gnac_file_list_get_next_row(GtkTreeRowReference **reference)
 gboolean
 gnac_file_list_get_prev_row(GtkTreeRowReference **reference)
 {
-  GtkTreePath *path;
-  GtkTreePath *first;
-  gboolean     result;
-
   g_return_val_if_fail(*reference, FALSE);
 
-  first = gtk_tree_path_new_first();
+  GtkTreePath *path;
+  gboolean     has_prev_row;
+
   path = gtk_tree_row_reference_get_path(*reference);
 
-  gtk_tree_row_reference_free(*reference);
-  *reference = NULL;
+  has_prev_row = gnac_file_list_has_prev_row(*reference);
 
-  if (gtk_tree_path_compare(path, first) == 0) {
-    result = FALSE;
+  gtk_tree_row_reference_free(*reference);
 
-  } else {
+  if (has_prev_row) {
     gtk_tree_path_prev(path);
     *reference = gtk_tree_row_reference_new(model, path);
-    result = TRUE;
   }
 
   gtk_tree_path_free(path);
-  gtk_tree_path_free(first);
 
-  return result;
+  return has_prev_row;
 }
 
 
 void
 gnac_file_list_select_row_and_follow(GtkTreeRowReference *reference)
 {
+  g_return_if_fail(reference);
+
   GtkTreePath *path;
   
-  g_return_if_fail(reference);
   path = gtk_tree_row_reference_get_path(reference);
+  if (!path) return;
   
   gtk_tree_selection_unselect_all(selection);
   gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(view), path, NULL, TRUE, 0.5, 0.0);
@@ -519,23 +446,11 @@ void
 gnac_file_list_select_uri_and_follow(const gchar *uri)
 {
   GtkTreeRowReference *ref = NULL;
-  GtkTreePath   *path;
 
   ref = g_hash_table_lookup(reference_table, uri);
-  if (ref)
-  {
-    path = gtk_tree_row_reference_get_path(ref);
-    if (path) 
-    {
-      gtk_tree_selection_unselect_all(selection);
-      gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(view), path, NULL, TRUE, 0.5, 0.0);
-      gtk_tree_selection_select_path(selection, path);
-      gtk_tree_path_free(path);
-    } 
-    else { /* ref not defined */
-      g_return_if_reached();
-    } 
-  }
+  g_return_if_fail(ref);
+
+  gnac_file_list_select_row_and_follow(ref);
 }
 
 
@@ -544,25 +459,23 @@ gnac_file_list_visual_error(const gchar *uri,
                             const gchar *msg,
                             const gchar *stock_item)
 {
+  GtkTreeIter          iter;
+  GtkTreePath         *path = NULL;
   GtkTreeRowReference *ref = NULL;
-  GtkTreePath *path = NULL;
-  GtkTreeIter iter;
-  GtkTreeViewColumn *column; 
+  GtkTreeViewColumn   *column;
 
   column = gtk_tree_view_get_column(GTK_TREE_VIEW(view),COL_STOCK);
 
-  ref =  g_hash_table_lookup(reference_table, uri);
-  if (!ref)
-  {
-     g_return_if_reached();
-  }
+  ref = g_hash_table_lookup(reference_table, uri);
+  g_return_if_fail(ref);
 
   path = gtk_tree_row_reference_get_path(ref);
   if (gtk_tree_model_get_iter(model, &iter, path))
   {
     gtk_list_store_set(GTK_LIST_STORE(model), &iter, 
-                   COL_STOCK, stock_item ? stock_item : GTK_STOCK_DIALOG_ERROR,
-                   COL_TOOLTIP, g_strdup(msg), -1);
+        COL_STOCK, stock_item ? stock_item : GTK_STOCK_DIALOG_ERROR,
+        COL_TOOLTIP, g_strdup(msg),
+        -1);
     gtk_tree_path_free(path);
 
     if (!gtk_tree_view_column_get_visible(column)) {
@@ -573,10 +486,9 @@ gnac_file_list_visual_error(const gchar *uri,
 
 
 void
-gnac_file_list_hide_visual_bar()
+gnac_file_list_hide_visual_bar(void)
 {
   GtkTreeViewColumn *column; 
-
   column = gtk_tree_view_get_column(GTK_TREE_VIEW(view),COL_STOCK);
   gtk_tree_view_column_set_visible(column, FALSE);
 }
@@ -590,27 +502,15 @@ gnac_file_list_remove_visual_error(const gchar *uri)
   GtkTreeIter iter;
 
   ref =  g_hash_table_lookup(reference_table, uri);
-  if (!ref)
-  {
-     g_return_if_reached();
-  }
+  g_return_if_fail(ref);
 
   path = gtk_tree_row_reference_get_path(ref);
   if (gtk_tree_model_get_iter(model, &iter, path))
   {
-    gchar *stock = NULL;
-    gchar *tooltip = NULL;
-    gtk_tree_model_get(model, &iter,
-            COL_STOCK, &stock,
-            COL_TOOLTIP, &tooltip,
-            -1);
-
     gtk_list_store_set(GTK_LIST_STORE(model), &iter, 
-                       COL_STOCK, NULL,
-                       COL_TOOLTIP, NULL, -1);
-    g_free(stock);
-    g_free(tooltip);
+        COL_STOCK, NULL, COL_TOOLTIP, NULL, -1);
   }
+
   gtk_tree_path_free(path);
 }
 
@@ -634,7 +534,8 @@ gnac_file_list_on_button_pressed(GtkWidget      *treeview,
   }
   else if (gnac_utils_event_is_single_right_click(event))
   {
-    if (row_exists && gnac_file_list_count_selected_rows() <= 1) {
+    if (row_exists && gnac_file_list_count_selected_rows() <= 1)
+    {
       GtkTreeRowReference *reference;
       reference = gtk_tree_row_reference_new(model, path);
       gnac_file_list_select_row(reference);
@@ -656,7 +557,6 @@ gnac_file_list_popup_menu(GtkWidget *treeview,
                           gpointer   user_data)
 {
   gnac_ui_show_popup_menu(treeview, NULL, user_data);
-
   return TRUE;
 }
 
diff --git a/src/gnac-file-list.h b/src/gnac-file-list.h
index 1c71496..1b74f0d 100644
--- a/src/gnac-file-list.h
+++ b/src/gnac-file-list.h
@@ -42,18 +42,9 @@ enum {
 GtkWidget *
 gnac_file_list_new(void);
 
-GtkWidget *
-gnac_file_list_get_view(void);
-
-GtkTreeModel *
-gnac_file_list_get_model(void);
-
 void
 gnac_file_list_attach_default_model(gboolean attach);
 
-GtkTreeSelection *
-gnac_file_list_get_selection(void);
-
 void
 gnac_file_list_add_row(const gchar *uri);
 



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