static void ask_password__response_cb (GtkWidget *dialog, int response_id, DialogData *data) { char *password; switch (response_id) { case GTK_RESPONSE_OK: password = _gtk_entry_get_locale_text (GTK_ENTRY (data->pw_password_entry)); if (data->pwd_type == FR_PASSWORD_TYPE_MAIN) fr_window_set_password (data->window, password); else if (data->pwd_type == FR_PASSWORD_TYPE_PASTE_FROM) fr_window_set_password_for_paste (data->window, password); g_free (password); if (fr_window_is_batch_mode (data->window)) fr_window_resume_batch (data->window); else fr_window_restart_current_batch_action (data->window); break; default: if (fr_window_is_batch_mode (data->window)) gtk_widget_destroy (GTK_WIDGET (data->window)); else fr_window_reset_current_batch_action (data->window); break; } gtk_widget_destroy (data->dialog); }
static void new_archive (DlgNewData *data, char *uri) { GtkWidget *archive_window; gboolean new_window; const char *password; gboolean encrypt_header; int volume_size; new_window = fr_window_archive_is_present (data->window) && ! fr_window_is_batch_mode (data->window); if (new_window) archive_window = fr_window_new (); else archive_window = (GtkWidget *) data->window; password = dlg_new_data_get_password (data); encrypt_header = dlg_new_data_get_encrypt_header (data); volume_size = dlg_new_data_get_volume_size (data); fr_window_set_password (FR_WINDOW (archive_window), password); fr_window_set_encrypt_header (FR_WINDOW (archive_window), encrypt_header); fr_window_set_volume_size (FR_WINDOW (archive_window), volume_size); if (fr_window_archive_new (FR_WINDOW (archive_window), uri)) { gtk_widget_destroy (data->dialog); if (! fr_window_is_batch_mode (FR_WINDOW (archive_window))) gtk_window_present (GTK_WINDOW (archive_window)); } else if (new_window) gtk_widget_destroy (archive_window); }
static void response_cb (GtkWidget *dialog, int response_id, DialogData *data) { char *password; gboolean encrypt_header; switch (response_id) { case GTK_RESPONSE_OK: password = _gtk_entry_get_locale_text (GTK_ENTRY (data->pw_password_entry)); fr_window_set_password (data->window, password); g_free (password); encrypt_header = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->pw_encrypt_header_checkbutton)); { GSettings *settings; settings = g_settings_new (ENGRAMPA_SCHEMA_GENERAL); g_settings_set_boolean (settings, PREF_GENERAL_ENCRYPT_HEADER, encrypt_header); g_object_unref (settings); } fr_window_set_encrypt_header (data->window, encrypt_header); break; default: break; } gtk_widget_destroy (data->dialog); }
static void dialog_response_cb (GtkDialog *dialog, int response_id, gpointer user_data) { FrWindow *window = user_data; if (response_id == GTK_RESPONSE_OK) { GFile *file; const char *mime_type; file = fr_new_archive_dialog_get_file (FR_NEW_ARCHIVE_DIALOG (dialog), &mime_type); if (file == NULL) return; fr_window_set_password (window, fr_new_archive_dialog_get_password (FR_NEW_ARCHIVE_DIALOG (dialog))); fr_window_set_encrypt_header (window, fr_new_archive_dialog_get_encrypt_header (FR_NEW_ARCHIVE_DIALOG (dialog))); fr_window_set_volume_size (window, fr_new_archive_dialog_get_volume_size (FR_NEW_ARCHIVE_DIALOG (dialog))); fr_window_create_archive_and_continue (window, file, mime_type, NULL); g_object_unref (file); } else fr_window_stop_batch (window); gtk_widget_destroy (GTK_WIDGET (dialog)); }
static void set_archive_options (DialogData *data) { int idx; idx = gtk_combo_box_get_active (GTK_COMBO_BOX (data->a_archive_type_combo_box)); if (mime_type_desc[data->supported_types[idx]].capabilities & FR_COMMAND_CAN_ENCRYPT) { const char *pwd; pwd = gtk_entry_get_text (GTK_ENTRY (data->a_password_entry)); if (pwd != NULL) { if (strcmp (pwd, "") != 0) { fr_window_set_password (data->window, pwd); if (mime_type_desc[data->supported_types[idx]].capabilities & FR_COMMAND_CAN_ENCRYPT_HEADER) fr_window_set_encrypt_header (data->window, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->a_encrypt_header_checkbutton))); } } } if ((mime_type_desc[data->supported_types[idx]].capabilities & FR_COMMAND_CAN_CREATE_VOLUMES) && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->a_volume_checkbutton))) { double value; int size; value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (data->a_volume_spinbutton)); size = floor (value * MEGABYTE); g_settings_set_int (data->settings, PREF_BATCH_ADD_VOLUME_SIZE, size); fr_window_set_volume_size (data->window, (guint) size); } }