| 2528 | } |
| 2529 | |
| 2530 | static void |
| 2531 | preset_save_as_response_cb (GtkDialog *dialog, int response, |
| 2532 | signal_user_data_t *ud) |
| 2533 | { |
| 2534 | GtkEditable *entry; |
| 2535 | |
| 2536 | entry = GTK_EDITABLE(ghb_builder_widget("PresetName")); |
| 2537 | |
| 2538 | if (response == GTK_RESPONSE_OK) |
| 2539 | { |
| 2540 | const char *name = gtk_editable_get_text(entry); |
| 2541 | const char *category = ghb_dict_get_string(ud->settings, "PresetCategory"); |
| 2542 | if (!g_strcmp0(category, "new")) |
| 2543 | { |
| 2544 | entry = GTK_EDITABLE(ghb_builder_widget("PresetCategoryName")); |
| 2545 | category = gtk_editable_get_text(entry); |
| 2546 | } |
| 2547 | |
| 2548 | if (preset_exists(category, name)) |
| 2549 | { |
| 2550 | GtkMessageDialog *overwrite = ghb_question_dialog_new(GTK_WINDOW(dialog), |
| 2551 | GHB_ACTION_DESTRUCTIVE, |
| 2552 | _("Overwrite"), _("Cancel"), |
| 2553 | _("Overwrite Preset?"), |
| 2554 | _("The preset “%s” already exists. Do you want to overwrite it?"), |
| 2555 | name); |
| 2556 | g_signal_connect(overwrite, "response", G_CALLBACK(preset_save_as_write_cb), dialog); |
| 2557 | gtk_widget_set_visible(GTK_WIDGET(overwrite), TRUE); |
| 2558 | } |
| 2559 | else |
| 2560 | { |
| 2561 | preset_save_as_write_cb(NULL, GTK_RESPONSE_ACCEPT, dialog); |
| 2562 | } |
| 2563 | } |
| 2564 | else |
| 2565 | { |
| 2566 | g_signal_handlers_disconnect_by_data(dialog, ud); |
| 2567 | gtk_widget_set_visible(GTK_WIDGET(dialog), FALSE); |
| 2568 | } |
| 2569 | } |
| 2570 | |
| 2571 | |
| 2572 | G_MODULE_EXPORT void |
nothing calls this directly
no test coverage detected