summaryrefslogtreecommitdiff
path: root/src/dlg-batch-add.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dlg-batch-add.c')
-rw-r--r--src/dlg-batch-add.c30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/dlg-batch-add.c b/src/dlg-batch-add.c
index 9bd0ebd..364b100 100644
--- a/src/dlg-batch-add.c
+++ b/src/dlg-batch-add.c
@@ -35,7 +35,6 @@
#include "preferences.h"
#include "typedefs.h"
-
#define BAD_CHARS "/\\*"
#define GET_ENTRY(x) (GTK_ENTRY (gtk_builder_get_object (data->builder, (x))))
#define GET_FILE_CHOOSER(x) (GTK_FILE_CHOOSER (gtk_builder_get_object (data->builder, (x))))
@@ -46,7 +45,6 @@
static gboolean has_password = FALSE;
static gboolean can_encrypt_header = FALSE;
-
typedef struct {
FrWindow *window;
GSettings *settings;
@@ -60,7 +58,6 @@ typedef struct {
gboolean single_file;
} DialogData;
-
static const char *
get_ext (DialogData *data)
{
@@ -71,7 +68,6 @@ get_ext (DialogData *data)
return mime_type_desc[data->supported_types[idx]].default_ext;
}
-
/* called when the main dialog is closed. */
static void
destroy_cb (GtkWidget *widget,
@@ -81,7 +77,6 @@ destroy_cb (GtkWidget *widget,
/*g_settings_set_boolean (data->settings, PREF_BATCH_ADD_OTHER_OPTIONS, data->add_clicked ? FALSE : gtk_expander_get_expanded (GTK_EXPANDER (GET_WIDGET ("a_other_options_expander"))));*/
g_settings_set_boolean (data->settings_general, PREF_GENERAL_ENCRYPT_HEADER, gtk_toggle_button_get_active (GET_TOGGLE_BUTTON ("a_encrypt_header_checkbutton")));
-
if (! data->add_clicked) {
fr_window_pop_message (data->window);
fr_window_stop_batch (data->window);
@@ -93,7 +88,6 @@ destroy_cb (GtkWidget *widget,
g_free (data);
}
-
static void
set_archive_options (DialogData *data)
{
@@ -120,13 +114,12 @@ set_archive_options (DialogData *data)
int size;
value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (GET_WIDGET ("a_volume_spinbutton")));
- size = floor (value * MEGABYTE);
+ size = (int) (value * MEGABYTE);
g_settings_set_int (data->settings, PREF_BATCH_ADD_VOLUME_SIZE, size);
fr_window_set_volume_size (data->window, (guint) size);
}
}
-
static void
help_clicked_cb (GtkWidget *widget,
DialogData *data)
@@ -134,7 +127,6 @@ help_clicked_cb (GtkWidget *widget,
show_help_dialog (GET_WINDOW ("dialog"), "engrampa-fmgr-add");
}
-
static void
add_clicked_cb (GtkWidget *widget,
DialogData *data)
@@ -359,7 +351,6 @@ add_clicked_cb (GtkWidget *widget,
g_free (archive_file);
}
-
static void
update_sensitivity_for_mime_type (DialogData *data,
const char *mime_type)
@@ -396,7 +387,6 @@ update_sensitivity_for_mime_type (DialogData *data,
}
}
-
static void
archive_type_combo_box_changed_cb (GtkComboBox *combo_box,
DialogData *data)
@@ -404,17 +394,21 @@ archive_type_combo_box_changed_cb (GtkComboBox *combo_box,
const char *mime_type;
int idx = gtk_combo_box_get_active (combo_box);
char *icon_name;
+ char *content_type;
mime_type = mime_type_desc[data->supported_types[idx]].mime_type;
- if ((icon_name = g_content_type_get_generic_icon_name (mime_type)) != NULL) {
+ content_type = g_content_type_from_mime_type (mime_type);
+ if ((icon_name = g_content_type_get_generic_icon_name (content_type)) != NULL) {
gtk_image_set_from_icon_name (GTK_IMAGE (GET_WIDGET ("archive_icon_image")),
icon_name, GTK_ICON_SIZE_DIALOG);
+
g_free (icon_name);
}
+
+ g_free (content_type);
update_sensitivity_for_mime_type (data, mime_type);
}
-
static void
update_archive_type_combo_box_from_ext (DialogData *data,
const char *ext)
@@ -436,7 +430,6 @@ update_archive_type_combo_box_from_ext (DialogData *data,
gtk_combo_box_set_active (GTK_COMBO_BOX (data->archive_type_combo_box), idx);
}
-
static void
update_sensitivity (DialogData *data)
{
@@ -451,7 +444,6 @@ update_sensitivity (DialogData *data)
gtk_widget_set_sensitive (GET_WIDGET ("a_encrypt_header_checkbutton"), can_encrypt_header ? has_password : FALSE);
}
-
static void
password_entry_notify_text_cb (GObject *object,
GParamSpec *spec,
@@ -460,7 +452,6 @@ password_entry_notify_text_cb (GObject *object,
update_sensitivity ((DialogData *) user_data);
}
-
static void
volume_toggled_cb (GtkToggleButton *toggle_button,
gpointer user_data)
@@ -468,7 +459,6 @@ volume_toggled_cb (GtkToggleButton *toggle_button,
update_sensitivity ((DialogData *) user_data);
}
-
void
dlg_batch_add_files (FrWindow *window,
GList *file_list)
@@ -479,6 +469,7 @@ dlg_batch_add_files (FrWindow *window,
const char *first_filename;
char *parent;
int i;
+ int size;
if (file_list == NULL)
return;
@@ -496,8 +487,9 @@ dlg_batch_add_files (FrWindow *window,
gtk_expander_set_expanded (GTK_EXPANDER (GET_WIDGET ("a_other_options_expander")), FALSE /*g_settings_get_boolean (data->settings, PREF_BATCH_ADD_OTHER_OPTIONS)*/);
gtk_toggle_button_set_active (GET_TOGGLE_BUTTON ("a_encrypt_header_checkbutton"), g_settings_get_boolean (data->settings_general, PREF_GENERAL_ENCRYPT_HEADER));
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("a_volume_spinbutton")), g_settings_get_int (data->settings, PREF_BATCH_ADD_VOLUME_SIZE) / MEGABYTE);
-
+ size = g_settings_get_int (data->settings, PREF_BATCH_ADD_VOLUME_SIZE);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("a_volume_spinbutton")),
+ ((gdouble) size) / MEGABYTE);
first_filename = (char*) file_list->data;
parent = remove_level_from_path (first_filename);