diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-02-18 21:27:51 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-02-18 21:27:51 (GMT) |
commit | 1eadace09a51cd93aaf78d91f0d601730728dfd5 (patch) | |
tree | 8d40ab473acf2823b2f66ff99f94f8ea97764df4 /src/gui/panels/welcome.c | |
parent | 412251e72f33525c3f5d0a1a3ec3843b9b79131e (diff) |
Moved the resource builder as part of panel base.
Diffstat (limited to 'src/gui/panels/welcome.c')
-rw-r--r-- | src/gui/panels/welcome.c | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/src/gui/panels/welcome.c b/src/gui/panels/welcome.c index 0edeb41..eeff152 100644 --- a/src/gui/panels/welcome.c +++ b/src/gui/panels/welcome.c @@ -53,7 +53,6 @@ struct _GWelcomePanel { GPanelItem parent; /* A laisser en premier */ - GtkBuilder *builder; /* Constructeur utilisé */ cairo_surface_t *background; /* Fond pour astuces */ char **tips; /* Liste de toutes les astuces */ @@ -181,6 +180,7 @@ static void g_welcome_panel_init(GWelcomePanel *panel) { GEditorItem *base; /* Version basique d'instance */ GPanelItem *pitem; /* Version parente du panneau */ + GtkBuilder *builder; /* Constructeur utilisé */ GtkTreeView *treeview; /* Affichage de la liste */ GtkCellRenderer *renderer; /* Moteur de rendu de colonne */ GtkTreeViewColumn *column; /* Colonne de la liste */ @@ -205,15 +205,11 @@ static void g_welcome_panel_init(GWelcomePanel *panel) /* Représentation graphique */ - panel->builder = gtk_builder_new_from_resource("/org/chrysalide/gui/panels/welcome.ui"); - - base->widget = GTK_WIDGET(gtk_builder_get_object(panel->builder, "box")); - g_object_ref(G_OBJECT(base->widget)); - gtk_widget_unparent(base->widget); + builder = g_panel_item_build(pitem, "welcome"); /* Liste des projets récents */ - treeview = GTK_TREE_VIEW(gtk_builder_get_object(panel->builder, "treeview")); + treeview = GTK_TREE_VIEW(gtk_builder_get_object(builder, "treeview")); column = gtk_tree_view_column_new(); gtk_tree_view_append_column(treeview, column); @@ -225,7 +221,7 @@ static void g_welcome_panel_init(GWelcomePanel *panel) /* Affichage au démarrage ? */ - button = GTK_TOGGLE_BUTTON(gtk_builder_get_object(panel->builder, "startup")); + button = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "startup")); g_generic_config_get_value(get_main_configuration(), MPK_WELCOME_STARTUP, &state); @@ -241,7 +237,7 @@ static void g_welcome_panel_init(GWelcomePanel *panel) /* Connexion des signaux */ - gtk_builder_add_callback_symbols(panel->builder, + gtk_builder_add_callback_symbols(builder, "on_tip_background_draw", G_CALLBACK(on_tip_background_draw), "on_new_binary_clicked", G_CALLBACK(on_new_binary_clicked), "on_row_activated_for_projects", G_CALLBACK(on_row_activated_for_projects), @@ -250,7 +246,7 @@ static void g_welcome_panel_init(GWelcomePanel *panel) "on_tip_next_clicked", G_CALLBACK(on_tip_next_clicked), NULL); - gtk_builder_connect_signals(panel->builder, panel); + gtk_builder_connect_signals(builder, panel); } @@ -269,8 +265,6 @@ static void g_welcome_panel_init(GWelcomePanel *panel) static void g_welcome_panel_dispose(GWelcomePanel *panel) { - g_object_unref(G_OBJECT(panel->builder)); - free(panel->tips); G_OBJECT_CLASS(g_welcome_panel_parent_class)->dispose(G_OBJECT(panel)); @@ -513,6 +507,7 @@ static void on_recent_list_changed(GtkRecentManager *manager, GWelcomePanel *pan static void g_welcome_panel_reload_project_list(GWelcomePanel *panel, GtkRecentManager *manager) { + GtkBuilder *builder; /* Constructeur utilisé */ GtkListStore *store; /* Modèle de gestion */ bool empty; /* Liste vide ? */ GList *recents; /* Liste des fichiers récents */ @@ -522,7 +517,9 @@ static void g_welcome_panel_reload_project_list(GWelcomePanel *panel, GtkRecentM /* Réinitialisation */ - store = GTK_LIST_STORE(gtk_builder_get_object(panel->builder, "store")); + builder = G_PANEL_ITEM(panel)->builder; + + store = GTK_LIST_STORE(gtk_builder_get_object(builder, "store")); gtk_list_store_clear(store); @@ -668,6 +665,7 @@ static void g_welcome_panel_check_version(GWelcomePanel *panel) size_t got; /* Quantité de données reçues */ char *version; /* Version récupérée */ int available; /* Version disponible */ + GtkBuilder *builder; /* Constructeur utilisé */ GtkLabel *label; /* Etiquette à éditer */ char *msg; /* Message à faire paraître */ @@ -711,7 +709,9 @@ static void g_welcome_panel_check_version(GWelcomePanel *panel) /* Affichage */ - label = GTK_LABEL(gtk_builder_get_object(panel->builder, "version")); + builder = G_PANEL_ITEM(panel)->builder; + + label = GTK_LABEL(gtk_builder_get_object(builder, "version")); if (skip) asprintf(&msg, @@ -818,11 +818,14 @@ static void on_tip_next_clicked(GtkButton *button, GWelcomePanel *panel) static void g_welcome_panel_refresh_tip(GWelcomePanel *panel) { + GtkBuilder *builder; /* Constructeur utilisé */ GtkLabel *label; /* Etiquette de présentation */ assert(panel->current < panel->count); - label = GTK_LABEL(gtk_builder_get_object(panel->builder, "tip")); + builder = G_PANEL_ITEM(panel)->builder; + + label = GTK_LABEL(gtk_builder_get_object(builder, "tip")); gtk_label_set_markup(label, panel->tips[panel->current]); |