summaryrefslogtreecommitdiff
path: root/src/dlg-new.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dlg-new.c')
-rw-r--r--src/dlg-new.c33
1 files changed, 10 insertions, 23 deletions
diff --git a/src/dlg-new.c b/src/dlg-new.c
index 8b78561..118e732 100644
--- a/src/dlg-new.c
+++ b/src/dlg-new.c
@@ -30,22 +30,21 @@
#include "gtk-utils.h"
#include "fr-init.h"
#include "preferences.h"
-
+#include "typedefs.h"
#define GET_WIDGET(x) (GTK_WIDGET (gtk_builder_get_object (builder, (x))))
#define DEFAULT_EXTENSION ".tar.gz"
-#define MEGABYTE (1024.0 * 1024.0)
-
/* called when the main dialog is closed. */
static void
destroy_cb (GtkWidget *widget,
DlgNewData *data)
{
+ if (data->original_file != NULL)
+ g_object_unref (data->original_file);
g_free (data);
}
-
static void
update_sensitivity (DlgNewData *data)
{
@@ -54,7 +53,6 @@ update_sensitivity (DlgNewData *data)
gtk_widget_set_sensitive (data->n_volume_spinbutton, ! data->can_create_volumes || gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->n_volume_checkbutton)));
}
-
static void
update_sensitivity_for_ext (DlgNewData *data,
const char *ext)
@@ -95,7 +93,6 @@ update_sensitivity_for_ext (DlgNewData *data,
update_sensitivity (data);
}
-
static int
get_archive_type (DlgNewData *data)
{
@@ -121,7 +118,6 @@ get_archive_type (DlgNewData *data)
return get_mime_type_index (get_mime_type_from_extension (ext));
}
-
/* FIXME
static void
archive_type_combo_box_changed_cb (GtkComboBox *combo_box,
@@ -166,7 +162,6 @@ archive_type_combo_box_changed_cb (GtkComboBox *combo_box,
}
*/
-
static void
password_entry_changed_cb (GtkEditable *editable,
gpointer user_data)
@@ -174,7 +169,6 @@ password_entry_changed_cb (GtkEditable *editable,
update_sensitivity ((DlgNewData *) user_data);
}
-
static void
volume_toggled_cb (GtkToggleButton *toggle_button,
gpointer user_data)
@@ -182,7 +176,6 @@ volume_toggled_cb (GtkToggleButton *toggle_button,
update_sensitivity ((DlgNewData *) user_data);
}
-
static void
format_chooser_selection_changed_cb (EggFileFormatChooser *format_chooser,
DlgNewData *data)
@@ -227,7 +220,6 @@ format_chooser_selection_changed_cb (EggFileFormatChooser *format_chooser,
}
}
-
static char *
get_icon_name_for_type (const char *mime_type)
{
@@ -250,7 +242,6 @@ get_icon_name_for_type (const char *mime_type)
return name;
}
-
static void
options_expander_unmap_cb (GtkWidget *widget,
gpointer user_data)
@@ -258,7 +249,6 @@ options_expander_unmap_cb (GtkWidget *widget,
egg_file_format_chooser_emit_size_changed ((EggFileFormatChooser *) user_data);
}
-
static DlgNewData *
dlg_new_archive (FrWindow *window,
int *supported_types,
@@ -268,6 +258,7 @@ dlg_new_archive (FrWindow *window,
DlgNewData *data;
GSettings *settings;
int i;
+ int size;
data = g_new0 (DlgNewData, 1);
builder = gtk_builder_new_from_resource (ENGRAMPA_RESOURCE_UI_PATH G_DIR_SEPARATOR_S "new.ui");
@@ -304,7 +295,9 @@ dlg_new_archive (FrWindow *window,
g_object_unref (settings);
settings = g_settings_new (ENGRAMPA_SCHEMA_BATCH_ADD);
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (data->n_volume_spinbutton), g_settings_get_int (settings, PREF_BATCH_ADD_VOLUME_SIZE) / MEGABYTE);
+ size = g_settings_get_int (settings, PREF_BATCH_ADD_VOLUME_SIZE);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (data->n_volume_spinbutton),
+ ((gdouble) size) / MEGABYTE);
g_object_unref (settings);
/* format chooser */
@@ -380,7 +373,6 @@ dlg_new_archive (FrWindow *window,
return data;
}
-
DlgNewData *
dlg_new (FrWindow *window)
{
@@ -392,7 +384,6 @@ dlg_new (FrWindow *window)
return data;
}
-
DlgNewData *
dlg_save_as (FrWindow *window,
const char *default_name)
@@ -405,7 +396,6 @@ dlg_save_as (FrWindow *window,
return data;
}
-
const char *
dlg_new_data_get_password (DlgNewData *data)
{
@@ -422,7 +412,6 @@ dlg_new_data_get_password (DlgNewData *data)
return password;
}
-
gboolean
dlg_new_data_get_encrypt_header (DlgNewData *data)
{
@@ -446,12 +435,10 @@ dlg_new_data_get_encrypt_header (DlgNewData *data)
return encrypt_header;
}
-
int
dlg_new_data_get_volume_size (DlgNewData *data)
{
- guint volume_size = 0;
- int idx;
+ int idx;
idx = get_archive_type (data);
if (idx < 0)
@@ -463,9 +450,9 @@ dlg_new_data_get_volume_size (DlgNewData *data)
double value;
value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (data->n_volume_spinbutton));
- volume_size = floor (value * MEGABYTE);
+ return (int) (value * MEGABYTE);
}
- return volume_size;
+ return 0;
}