MCPcopy Create free account
hub / github.com/HandBrake/HandBrake / preset_save_as_write_cb

Function preset_save_as_write_cb

gtk/src/presets.c:2484–2528  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2482}
2483
2484static void
2485preset_save_as_write_cb (GtkDialog *overwrite_dlg, int response, GtkDialog *dialog)
2486{
2487 const char *name, *category;
2488 GtkEditable *entry;
2489 GtkTextView *tv;
2490 signal_user_data_t *ud = ghb_ud();
2491
2492 if (overwrite_dlg)
2493 gtk_window_destroy(GTK_WINDOW(overwrite_dlg));
2494
2495 if (response == GTK_RESPONSE_ACCEPT)
2496 {
2497 GtkTextBuffer * buffer;
2498 GtkTextIter start, end;
2499 char * desc;
2500 gboolean def;
2501
2502 g_signal_handlers_disconnect_by_data(dialog, ud);
2503 gtk_widget_set_visible(GTK_WIDGET(dialog), FALSE);
2504
2505 entry = GTK_EDITABLE(ghb_builder_widget("PresetName"));
2506 tv = GTK_TEXT_VIEW(ghb_builder_widget("PresetDescription"));
2507
2508 // save the preset
2509 name = gtk_editable_get_text(entry);
2510 category = ghb_dict_get_string(ud->settings, "PresetCategory");
2511 if (!g_strcmp0(category, "new"))
2512 {
2513 entry = GTK_EDITABLE(ghb_builder_widget("PresetCategoryName"));
2514 category = gtk_editable_get_text(entry);
2515 }
2516 if (category == NULL || category[0] == 0)
2517 {
2518 ghb_log("Invalid empty category.");
2519 return;
2520 }
2521 buffer = gtk_text_view_get_buffer(tv);
2522 gtk_text_buffer_get_bounds(buffer, &start, &end);
2523 desc = gtk_text_buffer_get_text(buffer, &start, &end, FALSE);
2524 def = ghb_dict_get_bool(ud->settings, "PresetSetDefault");
2525 settings_save(ud, category, name, desc, def);
2526 free(desc);
2527 }
2528}
2529
2530static void
2531preset_save_as_response_cb (GtkDialog *dialog, int response,

Callers 1

Calls 6

ghb_udFunction · 0.85
ghb_builder_widgetFunction · 0.85
ghb_dict_get_stringFunction · 0.85
ghb_logFunction · 0.85
ghb_dict_get_boolFunction · 0.85
settings_saveFunction · 0.85

Tested by

no test coverage detected