diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/panels/bintree.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/gui/panels/bintree.c b/src/gui/panels/bintree.c index 642a71c..ecb18fe 100644 --- a/src/gui/panels/bintree.c +++ b/src/gui/panels/bintree.c @@ -166,6 +166,8 @@ struct _bintree_update_data const GBintreePanel *panel; /* Transfert de panneau */ GtkTreeIter *top; /* Transfert de racine */ + GtkStatusStack *status; /* Transfert de statut */ + activity_id_t id; /* Transfert d'activité */ }; @@ -623,6 +625,7 @@ static bool populate_tree_with_portion(GBinPortion *portion, GBinPortion *parent update_bintree_node(data, store, &iter, portion); + gtk_status_stack_update_activity_value(data->status, data->id, 1); } @@ -674,6 +677,7 @@ static void reload_portions_for_new_tree_view(const GBintreePanel *panel, GtkSta GtkTreeStore *store; /* Modèle de gestion */ GExeFormat *format; /* Format du binaire */ GBinPortion *portions; /* Couche première de portions */ + size_t count; /* Compteur de portions */ GtkTreeIter top; /* Racine de l'arborescence */ gint max_depth; /* Profondeur maximale */ GtkSpinButton *depth_spin; /* Bouton de variation */ @@ -689,6 +693,10 @@ static void reload_portions_for_new_tree_view(const GBintreePanel *panel, GtkSta portions = g_exe_format_get_portions(format); + count = g_binary_portion_count(portions); + + gtk_status_stack_extend_activity(status, id, count); + gtk_tree_store_append(store, &top, NULL); gtk_tree_store_set(store, &top, @@ -698,6 +706,8 @@ static void reload_portions_for_new_tree_view(const GBintreePanel *panel, GtkSta data->panel = panel; data->top = ⊤ + data->status = status; + data->id = id; g_binary_portion_visit(portions, (visit_portion_fc)populate_tree_with_portion, data); @@ -1060,7 +1070,7 @@ static const char *g_bintree_panel_setup(const GBintreePanel *panel, unsigned in { case PUI_0: - *count = 1; + *count = 0; (*data)->count = 0; result = _("Loading portions contained in the binary format..."); |