{
const char * preset_path = g_variant_get_string(value, NULL);
- printf("value %s\n", preset_path);
ghb_select_preset(ud, preset_path);
}
-#if 1
void
ghb_presets_menu_init(signal_user_data_t *ud)
{
mb = GTK_MENU_BUTTON(GHB_WIDGET(ud->builder, "presets_menu_button"));
gtk_menu_button_set_menu_model(mb, G_MENU_MODEL(menu));
}
-#endif
+
+
+void
+ghb_presets_menu_clear(signal_user_data_t *ud)
+{
+ GtkMenuButton * mb;
+ GMenuModel * mm;
+
+ mb = GTK_MENU_BUTTON(GHB_WIDGET(ud->builder, "presets_menu_button"));
+ mm = gtk_menu_button_get_menu_model(mb);
+ gtk_menu_button_set_menu_model(mb, NULL);
+ g_object_unref(G_OBJECT(mm));
+}
+
+void
+ghb_presets_menu_reinit(signal_user_data_t *ud)
+{
+ ghb_presets_menu_clear(ud);
+ ghb_presets_menu_init(ud);
+}
void
ghb_presets_list_init(signal_user_data_t *ud, const hb_preset_index_t *path)
}
ghb_value_free(&dict);
store_presets();
+ ghb_presets_menu_reinit(ud);
ud->dont_clear_presets = TRUE;
// Make the new preset the selected item
// Re-init the UI preset list
ghb_presets_list_reinit(ud);
+ ghb_presets_menu_reinit(ud);
if (index < 0)
{
ghb_select_default_preset(ud);
store_presets();
ghb_presets_list_reinit(ud);
+ ghb_presets_menu_reinit(ud);
ghb_select_default_preset(ud);
}
{
store_presets();
presets_list_remove(ud, path);
+ ghb_presets_menu_reinit(ud);
}
if (valid)
{
free(dst_path);
store_presets();
+ ghb_presets_menu_reinit(ud);
}
gtk_tree_path_free(dst_treepath);
free(src_path);
G_MODULE_EXPORT void
presets_list_selection_changed_cb(GtkTreeSelection *selection, signal_user_data_t *ud)
{
- GtkWidget * widget;
+ GSimpleAction * action;
hb_preset_index_t * path;
gboolean sensitive = FALSE;
ghb_load_post_settings(ud);
set_preset_menu_button_label(ud, path);
}
+ sensitive = TRUE;
free(path);
}
- widget = GHB_WIDGET (ud->builder, "presets_remove");
- gtk_widget_set_sensitive(widget, sensitive);
- widget = GHB_WIDGET (ud->builder, "presets_window_remove");
- gtk_widget_set_sensitive(widget, sensitive);
+ action = G_SIMPLE_ACTION(g_action_map_lookup_action(G_ACTION_MAP(ud->app),
+ "preset-remove"));
+ g_simple_action_set_enabled(action, sensitive);
}
void