(trunk gtk) minor code cleanup to the file list

This commit is contained in:
Charles Kerr 2010-05-12 01:34:08 +00:00
parent 6d9ac874d8
commit bb8cef3f14
1 changed files with 26 additions and 29 deletions

View File

@ -42,7 +42,6 @@ enum
FC_HAVE, FC_HAVE,
FC_PRIORITY, FC_PRIORITY,
FC_ENABLED, FC_ENABLED,
FC_IS_FILE,
N_FILE_COLS N_FILE_COLS
}; };
@ -89,16 +88,15 @@ refreshFilesForeach( GtkTreeModel * model,
gpointer gdata ) gpointer gdata )
{ {
FileData * data = gdata; FileData * data = gdata;
gboolean is_file;
unsigned int index; unsigned int index;
uint64_t size; uint64_t size;
uint64_t old_have; uint64_t old_have;
int old_prog; int old_prog;
int old_priority; int old_priority;
int old_enabled; int old_enabled;
const gboolean is_file = !gtk_tree_model_iter_has_child( model, iter );
gtk_tree_model_get( model, iter, FC_IS_FILE, &is_file, gtk_tree_model_get( model, iter, FC_ENABLED, &old_enabled,
FC_ENABLED, &old_enabled,
FC_PRIORITY, &old_priority, FC_PRIORITY, &old_priority,
FC_INDEX, &index, FC_INDEX, &index,
FC_HAVE, &old_have, FC_HAVE, &old_have,
@ -253,18 +251,16 @@ getSelectedFilesForeach( GtkTreeModel * model,
GtkTreeIter * iter, GtkTreeIter * iter,
gpointer gdata ) gpointer gdata )
{ {
struct ActiveData * data = gdata; const gboolean is_file = !gtk_tree_model_iter_has_child( model, iter );
unsigned int i;
gboolean is_file = FALSE;
gboolean is_active = FALSE;
/* active == if it's selected, or any ancestor is selected */
gtk_tree_model_get( model, iter, FC_IS_FILE, &is_file,
FC_INDEX, &i,
-1 );
if( is_file ) if( is_file )
{ {
is_active = gtk_tree_selection_iter_is_selected( data->sel, iter ); struct ActiveData * data = gdata;
/* active means: if it's selected or any ancestor is selected */
gboolean is_active = gtk_tree_selection_iter_is_selected( data->sel, iter );
if( !is_active ) if( !is_active )
{ {
GtkTreeIter walk = *iter; GtkTreeIter walk = *iter;
@ -275,10 +271,14 @@ getSelectedFilesForeach( GtkTreeModel * model,
walk = parent; walk = parent;
} }
} }
}
if( is_active ) if( is_active )
{
unsigned int i;
gtk_tree_model_get( model, iter, FC_INDEX, &i, -1 );
g_array_append_val( data->array, i ); g_array_append_val( data->array, i );
}
}
return FALSE; /* keep walking */ return FALSE; /* keep walking */
} }
@ -306,16 +306,19 @@ getSubtreeForeach( GtkTreeModel * model,
GtkTreeIter * iter, GtkTreeIter * iter,
gpointer gdata ) gpointer gdata )
{ {
struct SubtreeForeachData * data = gdata; const gboolean is_file = !gtk_tree_model_iter_has_child( model, iter );
unsigned int i;
gboolean is_file = FALSE;
gtk_tree_model_get( model, iter, FC_IS_FILE, &is_file,
FC_INDEX, &i,
-1 );
if( is_file ) if( is_file )
{
struct SubtreeForeachData * data = gdata;
if( !gtk_tree_path_compare( path, data->path ) || gtk_tree_path_is_descendant( path, data->path ) ) if( !gtk_tree_path_compare( path, data->path ) || gtk_tree_path_is_descendant( path, data->path ) )
{
unsigned int i;
gtk_tree_model_get( model, iter, FC_INDEX, &i, -1 );
g_array_append_val( data->array, i ); g_array_append_val( data->array, i );
}
}
return FALSE; /* keep walking */ return FALSE; /* keep walking */
} }
@ -399,7 +402,6 @@ buildTree( GNode * node, gpointer gdata )
FC_ICON, icon, FC_ICON, icon,
FC_PRIORITY, priority, FC_PRIORITY, priority,
FC_ENABLED, enabled, FC_ENABLED, enabled,
FC_IS_FILE, isLeaf,
-1 ); -1 );
#else #else
gtk_tree_store_append( build->store, &child_iter, build->iter ); gtk_tree_store_append( build->store, &child_iter, build->iter );
@ -410,7 +412,6 @@ buildTree( GNode * node, gpointer gdata )
FC_ICON, icon, FC_ICON, icon,
FC_PRIORITY, priority, FC_PRIORITY, priority,
FC_ENABLED, enabled, FC_ENABLED, enabled,
FC_IS_FILE, isLeaf,
-1 ); -1 );
#endif #endif
@ -459,11 +460,7 @@ file_list_set_torrent( GtkWidget * w, int torrentId )
G_TYPE_UINT64, /* size */ G_TYPE_UINT64, /* size */
G_TYPE_UINT64, /* have */ G_TYPE_UINT64, /* have */
G_TYPE_INT, /* priority */ G_TYPE_INT, /* priority */
G_TYPE_INT, /* dl enabled */ G_TYPE_INT ); /* dl enabled */
G_TYPE_BOOLEAN, /* is file */
G_TYPE_UINT64, /* sub size */
G_TYPE_UINT64, /* sub have */
G_TYPE_INT ); /* sub state */
data->store = store; data->store = store;
data->model = GTK_TREE_MODEL( store ); data->model = GTK_TREE_MODEL( store );