[gnac/devel] Code cleanup
- From: BenoÃt Dupasquier <bdupasqu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnac/devel] Code cleanup
- Date: Sat, 29 Oct 2011 10:09:44 +0000 (UTC)
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]