summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TODO2
-rw-r--r--src/format-window-operation.c111
-rw-r--r--src/format-window.c121
-rw-r--r--src/format-window.h2
-rw-r--r--src/gdu-utils.c120
-rw-r--r--src/gnome-disk-utility-format.c1
-rw-r--r--src/nautilus-gdu.c12
7 files changed, 103 insertions, 266 deletions
diff --git a/TODO b/TODO
index 079e07d..433567d 100644
--- a/TODO
+++ b/TODO
@@ -26,7 +26,7 @@ Standalone mode:
- handle LUKS encrypted volumes -- creating new encrypted media works fine, but reverting back to non-encrypted doesn't (device /dev/sdb1 vs. /dev/dm-0)
DONE, NEEDS_TESTING - monitor device/presentable events like eject, umount etc. (try to pull the USB key out and window should disappear)
- show custom icon if user has set it in Nautilus
-- is firmware needed for some devices?
+REMOVED- is firmware needed for some devices?
DONE - different partition tables?
DONE - what to do if device is blank (zeroed, no MBR)?
DONE - handle read only device - gdu_device_is_read_only() - test with DVD-RAM media
diff --git a/src/format-window-operation.c b/src/format-window-operation.c
index 40ea754..0d0a8f1 100644
--- a/src/format-window-operation.c
+++ b/src/format-window-operation.c
@@ -36,6 +36,7 @@
+/* TODO: find a better way for this */
#define DEVICE_SETTLE_TIMEOUT 3000
@@ -58,7 +59,7 @@ device_needs_partition_table (GduDevice *device)
}
}
// g_strfreev (media_compat); /* so, is this const then? */
- g_print ("device_needs_partition_table = %d\n", needs);
+ g_debug ("device_needs_partition_table = %d", needs);
return needs;
}
@@ -71,7 +72,7 @@ job_progress_pulse_timeout_handler (gpointer user_data)
g_return_val_if_fail (data != NULL, TRUE);
- g_print ("job_progress_pulse_timeout_handler\n");
+/* g_print ("job_progress_pulse_timeout_handler\n"); */
gtk_progress_bar_pulse (GTK_PROGRESS_BAR (data->priv->progress_bar));
return TRUE;
@@ -87,7 +88,7 @@ do_progress_bar_update (FormatProcessData *data, const char *label, double perce
gtk_progress_bar_set_pulse_step (GTK_PROGRESS_BAR (data->priv->progress_bar), 2.0 / 50);
gtk_progress_bar_pulse (GTK_PROGRESS_BAR (data->priv->progress_bar));
if (data->job_progress_pulse_timer_id == 0) {
- g_print ("activating progress bounce...\n");
+/* g_print ("activating progress bounce...\n"); */
data->job_progress_pulse_timer_id = g_timeout_add (
1000 / 50,
job_progress_pulse_timeout_handler,
@@ -119,8 +120,6 @@ presentable_job_changed (GduPresentable *presentable, gpointer user_data)
char *task_description;
double percentage;
- g_print ("presentable_job_changed\n");
-
g_return_if_fail (data != NULL);
if (data->device != NULL && gdu_device_job_in_progress (data->device)) {
@@ -165,8 +164,6 @@ update_ui_progress (FormatDialogPrivate *priv,
{
g_return_if_fail (priv != NULL);
-// g_print ("update_ui_progress\n");
-
priv->job_running = working;
if (working) {
@@ -252,14 +249,10 @@ free_format_action_data (FormatProcessData *data)
g_object_unref (data->presentable);
if (data->device != NULL)
g_object_unref (data->device);
- if (data->encrypt_passphrase != NULL)
- g_free (data->encrypt_passphrase);
- if (data->fstype != NULL)
- g_free (data->fstype);
- if (data->fslabel != NULL)
- g_free (data->fslabel);
- if (data->secure_erase != NULL)
- g_free (data->secure_erase);
+ g_free (data->encrypt_passphrase);
+ g_free (data->fstype);
+ g_free (data->fslabel);
+ g_free (data->secure_erase);
g_free (data);
}
}
@@ -273,7 +266,7 @@ action_finished (FormatProcessData *data, char *new_device_path)
GduDevice *new_device;
GduPresentable *new_presentable = NULL;
- /* we don't want to destroy objects at this point, don't pass data */
+ /* we don't want to destroy objects at this point, don't pass data in */
update_ui_progress (data->priv, NULL, FALSE);
/* change to the new device */
@@ -285,10 +278,10 @@ action_finished (FormatProcessData *data, char *new_device_path)
new_presentable = gdu_pool_get_volume_by_device (data->priv->pool, new_device);
if (new_presentable) {
/* switch to new presentable */
- g_print ("setting new presentable...\n");
+ g_debug ("setting new presentable...");
}
} else {
- g_warning ("action_finished: cannot find device for the %s device path\n", new_device_path);
+ g_warning ("action_finished: cannot find device for the %s device path", new_device_path);
}
g_free (new_device_path);
}
@@ -346,8 +339,8 @@ nautilus_gdu_show_error (GtkWidget *parent_window,
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s", error->message);
gtk_window_set_title (GTK_WINDOW (dialog), window_title);
- // TODO: no support for GIcon in GtkWindow
- //gtk_window_set_icon_name (GTK_WINDOW (dialog), window_icon_name);
+ /* TODO: no support for GIcon in GtkWindow */
+ /* gtk_window_set_icon_name (GTK_WINDOW (dialog), window_icon_name); */
g_signal_connect_swapped (dialog,
"response",
@@ -370,7 +363,7 @@ modify_partition_completed (GduDevice *device,
{
FormatProcessData *data = user_data;
- g_print ("modify_partition_completed\n");
+ g_debug ("modify_partition_completed");
g_return_if_fail (data != NULL);
if (error != NULL) {
@@ -396,7 +389,7 @@ part_modify_action_callback (GtkAction *action, gpointer user_data)
FormatProcessData *data = user_data;
g_return_if_fail (data != NULL);
- g_print ("part_modify_action_callback\n");
+ g_debug ("part_modify_action_callback");
if (data->priv->job_cancelled)
return;
@@ -413,7 +406,7 @@ part_modify_auth_end_callback (PolKitGnomeAction *action,
FormatProcessData *data = user_data;
g_return_if_fail (data != NULL);
- g_print ("part_modify_auth_end_callback\n");
+ g_debug ("part_modify_auth_end_callback");
if (! gained_privilege) {
/* cancel the whole operation */
@@ -436,7 +429,7 @@ format_action_completed (GduDevice *device,
GduPresentable *toplevel_presentable;
GduDevice *toplevel_device;
- g_print ("format_action_completed\n");
+ g_debug ("format_action_completed");
g_return_if_fail (data != NULL);
if (error != NULL) {
@@ -465,11 +458,11 @@ format_action_completed (GduDevice *device,
if (! data->priv->job_cancelled && data->scheme && strlen (data->scheme) > 0) {
part_type = gdu_device_partition_get_type (device);
data->recommended_part_type = gdu_util_get_default_part_type_for_scheme_and_fstype (data->scheme, data->fstype, gdu_device_partition_get_size (device));
- g_print ("format_action_completed: part_type = %s, recommended_part_type = %s\n", part_type, data->recommended_part_type);
+ g_debug ("format_action_completed: part_type = %s, recommended_part_type = %s", part_type, data->recommended_part_type);
/* Change partition type if necessary */
if (strcasecmp (part_type, data->recommended_part_type) != 0)
{
- g_print ("changing part type to %s, device = %s\n", data->recommended_part_type, gdu_device_get_device_file (device));
+ g_debug ("changing part type to %s, device = %s", data->recommended_part_type, gdu_device_get_device_file (device));
gtk_action_activate (GTK_ACTION (data->part_modify_action));
return; /* don't change the UI yet */
}
@@ -487,7 +480,7 @@ format_action_callback (GtkAction *action, gpointer user_data)
FormatProcessData *data = user_data;
g_return_if_fail (data != NULL);
- g_print ("format_action_callback\n");
+ g_debug ("format_action_callback");
if (data->priv->job_cancelled)
return;
@@ -510,7 +503,7 @@ format_auth_end_callback (PolKitGnomeAction *action,
FormatProcessData *data = user_data;
g_return_if_fail (data != NULL);
- g_print ("format_auth_end_callback\n");
+ g_debug ("format_auth_end_callback");
if (! gained_privilege) {
/* cancel the whole operation */
@@ -552,7 +545,7 @@ unmount_action_completed (GduDevice *device,
g_return_if_fail (data != NULL);
- g_print ("unmount_action_completed\n");
+ g_debug ("unmount_action_completed");
update_ui_controls (data->priv);
if (error != NULL) {
@@ -573,7 +566,7 @@ unmount_action_completed (GduDevice *device,
else
{
/* TODO: maybe perform a refresh? */
- g_print (" formatting...\n");
+ g_debug (" formatting...");
if (data->priv->job_cancelled)
return;
gtk_action_activate (GTK_ACTION (data->format_action));
@@ -586,7 +579,7 @@ unmount_action_callback (GtkAction *action, gpointer user_data)
FormatProcessData *data = user_data;
g_return_if_fail (data != NULL);
- g_print ("unmount_action_callback\n");
+ g_debug ("unmount_action_callback");
if (data->priv->job_cancelled)
return;
@@ -602,7 +595,7 @@ unmount_auth_end_callback (PolKitGnomeAction *action,
FormatProcessData *data = user_data;
g_return_if_fail (data != NULL);
- g_print ("unmount_auth_end_callback\n");
+ g_debug ("unmount_auth_end_callback");
if (! gained_privilege) {
/* cancel the whole operation */
@@ -621,7 +614,7 @@ part_table_new_timeout_handler (gpointer user_data)
FormatProcessData *data = user_data;
g_return_val_if_fail (data != NULL, FALSE);
- g_print ("part_table_new_timeout_handler\n");
+ g_debug ("part_table_new_timeout_handler");
gtk_action_activate (GTK_ACTION (data->part_new_action));
@@ -638,7 +631,7 @@ part_table_new_completed (GduDevice *device,
/* BUG: callback shouldn't be spawned until all changes are reflected in pool */
g_return_if_fail (data != NULL);
- g_print ("part_table_new_completed\n");
+ g_debug ("part_table_new_completed");
update_ui_controls (data->priv);
if (error != NULL) {
@@ -651,13 +644,13 @@ part_table_new_completed (GduDevice *device,
}
else
{
- g_print (" creating partition...\n");
+ g_debug (" creating partition...");
if (data->priv->job_cancelled)
return;
/* TODO: we should wait here for proper refresh */
g_timeout_add (DEVICE_SETTLE_TIMEOUT, part_table_new_timeout_handler, data);
do_progress_bar_update (data, _("Waiting for device to settle..."), -1, TRUE);
-// gtk_action_activate (GTK_ACTION (data->part_new_action));
+ /* gtk_action_activate (GTK_ACTION (data->part_new_action)); -- disabled */
}
}
@@ -667,7 +660,7 @@ part_table_new_action_callback (GtkAction *action, gpointer user_data)
FormatProcessData *data = user_data;
g_return_if_fail (data != NULL);
- g_print ("part_table_new_action_callback\n");
+ g_debug ("part_table_new_action_callback");
if (data->priv->job_cancelled)
return;
@@ -686,7 +679,7 @@ part_table_new_auth_end_callback (PolKitGnomeAction *action,
FormatProcessData *data = user_data;
g_return_if_fail (data != NULL);
- g_print ("part_table_new_auth_end_callback\n");
+ g_debug ("part_table_new_auth_end_callback");
if (! gained_privilege) {
/* cancel the whole operation */
@@ -710,7 +703,7 @@ part_new_completed (GduDevice *device,
/* BUG: callback shouldn't be spawned until all changes are reflected in pool */
g_return_if_fail (data != NULL);
- g_print ("part_new_completed, created_device_object_path = %s\n", error == NULL ? created_device_object_path : NULL);
+ g_debug ("part_new_completed, created_device_object_path = %s", error == NULL ? created_device_object_path : NULL);
if (error != NULL) {
nautilus_gdu_show_error (GTK_WIDGET (data->priv->dialog),
@@ -737,7 +730,7 @@ part_new_action_callback (GtkAction *action, gpointer user_data)
char *type;
g_return_if_fail (data != NULL);
- g_print ("part_new_action_callback, device = %s\n", gdu_device_get_device_file (data->device));
+ g_debug ("part_new_action_callback, device = %s", gdu_device_get_device_file (data->device));
if (data->priv->job_cancelled)
return;
@@ -752,7 +745,7 @@ part_new_action_callback (GtkAction *action, gpointer user_data)
type = gdu_util_get_default_part_type_for_scheme_and_fstype (data->scheme, data->fstype, size);
- g_print ("creating new partition, offset = %lu, size = %lu, scheme = %s, type = %s\n", offset, size, data->scheme, type);
+ g_debug ("creating new partition, offset = %lu, size = %lu, scheme = %s, type = %s", offset, size, data->scheme, type);
gdu_device_op_partition_create (data->device, offset, size, type, NULL, NULL,
data->fstype, data->fslabel, data->secure_erase, data->encrypt_passphrase, data->take_ownership,
@@ -768,7 +761,7 @@ part_new_auth_end_callback (PolKitGnomeAction *action,
FormatProcessData *data = user_data;
g_return_if_fail (data != NULL);
- g_print ("part_new_auth_end_callback\n");
+ g_debug ("part_new_auth_end_callback");
if (! gained_privilege) {
/* cancel the whole operation */
@@ -810,13 +803,13 @@ do_format (FormatDialogPrivate *priv)
data->presentable = g_object_ref (priv->presentable);
toplevel_presentable = gdu_presentable_get_toplevel (data->presentable);
if (toplevel_presentable == NULL) {
- g_warning ("%s: no toplevel presentable", __FUNCTION__);
+ g_warning ("%s: no toplevel presentable", __FUNCTION__);
}
toplevel_device = gdu_presentable_get_device (toplevel_presentable);
if (toplevel_device == NULL) {
- g_warning ("%s: no device for toplevel presentable", __FUNCTION__);
- free_format_action_data (data);
- goto out;
+ g_warning ("%s: no device for toplevel presentable", __FUNCTION__);
+ free_format_action_data (data);
+ goto out;
}
data->device = gdu_presentable_get_device (data->presentable);
@@ -825,33 +818,33 @@ do_format (FormatDialogPrivate *priv)
data->device = g_object_ref (toplevel_device);
create_new_part_table = FALSE;
create_new_partition = TRUE;
- g_print ("Partition table exists but has no partition for the selected device.\n");
+ g_debug ("Partition table exists but has no partition for the selected device.");
} else
if (toplevel_device != NULL && ! gdu_device_is_partition_table (toplevel_device)) {
/* no partition table on the device, create partition table first. */
/* also empty (zeroed) device */
create_new_part_table = TRUE;
create_new_partition = TRUE;
- g_print ("Device is known but doesn't have partition table, we need to create it first.\n");
+ g_debug ("Device is known but doesn't have partition table, we need to create it first.");
} else
if (toplevel_device != NULL && data->device != NULL && toplevel_device == data->device && device_needs_partition_table (data->device)) {
/* device is toplevel, check if we need new partitions */
create_new_partition = TRUE;
- g_print ("Device is known but requires partitioning, we'll create new one.\n");
+ g_debug ("Device is known but requires partitioning, we'll create new one.");
}
if (data->device == NULL) {
- g_warning ("%s: device is not supposed to be NULL", __FUNCTION__);
- free_format_action_data (data);
- goto out;
+ g_warning ("%s: device is not supposed to be NULL", __FUNCTION__);
+ free_format_action_data (data);
+ goto out;
}
drive_name = gdu_presentable_get_name (toplevel_presentable);
data->fstype = gdu_util_fstype_combo_box_get_selected (priv->part_type_combo_box);
if (data->fstype == NULL) {
- g_warning ("%s: no valid filesystem type specified", __FUNCTION__);
- free_format_action_data (data);
- goto out;
+ g_warning ("%s: no valid filesystem type specified", __FUNCTION__);
+ free_format_action_data (data);
+ goto out;
}
data->fslabel = g_strdup (GTK_WIDGET_IS_SENSITIVE (priv->label_entry) ?
gtk_entry_get_text (GTK_ENTRY (priv->label_entry)) : "");
@@ -859,10 +852,9 @@ do_format (FormatDialogPrivate *priv)
data->take_ownership = FALSE;
kfs = gdu_pool_get_known_filesystem_by_id (priv->pool, data->fstype);
if (kfs != NULL) {
- if (gdu_known_filesystem_get_supports_unix_owners (kfs) && gtk_toggle_button_get_active (
- GTK_TOGGLE_BUTTON (priv->take_ownership_of_fs_check_button)))
- data->take_ownership = TRUE;
- g_object_unref (kfs);
+ if (gdu_known_filesystem_get_supports_unix_owners (kfs) && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->take_ownership_of_fs_check_button)))
+ data->take_ownership = TRUE;
+ g_object_unref (kfs);
}
primary = g_strdup (_("<b><big>Are you sure you want to create a new file system, deleting existing data?</big></b>"));
@@ -897,7 +889,6 @@ do_format (FormatDialogPrivate *priv)
}
}
-
update_ui_progress (priv, data, TRUE);
data->secure_erase = gdu_util_delete_confirmation_dialog (GTK_WIDGET (priv->dialog),
diff --git a/src/format-window.c b/src/format-window.c
index f652afb..1f227a5 100644
--- a/src/format-window.c
+++ b/src/format-window.c
@@ -41,21 +41,6 @@ static void set_new_presentable (FormatDialogPrivate *priv, GduPresentable *pres
/* ---------------------------------------------------------------------------------------------------- */
-/* taken from palimpsest/gdu-section-partition.c */
-static gboolean
-has_flag (char **flags, const char *flag)
-{
- int n = 0;
- while (flags != NULL && flags[n] != NULL) {
- if (strcmp (flags[n], flag) == 0)
- return TRUE;
- n++;
- }
- return FALSE;
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
/* taken from palimpsest/gdu-section-unrecognized.c */
static void
type_combo_box_changed (GtkWidget *combo_box, FormatDialogPrivate *priv)
@@ -63,28 +48,23 @@ type_combo_box_changed (GtkWidget *combo_box, FormatDialogPrivate *priv)
char *fstype;
GduKnownFilesystem *kfs;
gboolean label_entry_sensitive;
-// gboolean can_erase;
gboolean have_owners;
int max_label_len;
fstype = NULL;
label_entry_sensitive = FALSE;
-// can_erase = FALSE;
max_label_len = 0;
have_owners = FALSE;
fstype = gdu_util_fstype_combo_box_get_selected (combo_box);
- g_print ("type_combo_box_changed: fstype = '%s'\n", fstype);
if (fstype != NULL && priv->presentable) {
kfs = gdu_pool_get_known_filesystem_by_id (priv->pool, fstype);
if (kfs != NULL) {
- g_print (" kfs ID = '%s', name = %s\n", gdu_known_filesystem_get_id (kfs), gdu_known_filesystem_get_name (kfs));
max_label_len = gdu_known_filesystem_get_max_label_len (kfs);
have_owners = gdu_known_filesystem_get_supports_unix_owners (kfs);
g_object_unref (kfs);
}
-// can_erase = TRUE;
}
if (max_label_len > 0)
@@ -92,7 +72,6 @@ type_combo_box_changed (GtkWidget *combo_box, FormatDialogPrivate *priv)
gtk_entry_set_max_length (GTK_ENTRY (priv->label_entry), max_label_len);
gtk_widget_set_sensitive (priv->label_entry, label_entry_sensitive);
-// polkit_gnome_action_set_sensitive (priv->erase_action, can_erase);
if (have_owners)
gtk_widget_show (priv->take_ownership_of_fs_check_button);
@@ -144,8 +123,6 @@ update_ui_controls (FormatDialogPrivate *priv)
if (priv->volume_selector)
gtk_widget_set_sensitive (priv->volume_selector, ! priv->job_running);
gtk_dialog_set_response_sensitive (priv->dialog, GTK_RESPONSE_OK, sensitive && gtk_combo_box_get_active (GTK_COMBO_BOX (priv->part_type_combo_box)) >= 0);
-/* gtk_dialog_set_response_sensitive (priv->dialog, GTK_RESPONSE_REJECT, sensitive);
- gtk_dialog_set_response_sensitive (priv->dialog, GTK_RESPONSE_CLOSE, sensitive); */
if (device != NULL)
g_object_unref (device);
@@ -169,12 +146,7 @@ update_ui (FormatDialogPrivate *priv)
GduDevice *device = NULL;
GduPresentable *toplevel_presentable = NULL;
GduDevice *toplevel_device = NULL;
- gboolean show_flag_boot;
- gboolean show_flag_required;
-// gboolean can_edit_part_label;
gboolean known_fs;
- const char *scheme;
- char **flags;
GPtrArray *details;
guint n;
@@ -402,13 +374,11 @@ update_ui (FormatDialogPrivate *priv)
if (device)
- g_print ("gdu_device_id_get_type (device) = '%s', gdu_device_partition_get_type (device) = '%s'\n",
+ g_debug ("gdu_device_id_get_type = '%s', gdu_device_partition_get_type = '%s'",
gdu_device_id_get_type (device), gdu_device_partition_get_type (device));
- if (name)
- g_free (name);
- if (strsize_long)
- g_free (strsize_long);
+ g_free (name);
+ g_free (strsize_long);
for (n = 0; n < 4; n++) {
@@ -460,54 +430,6 @@ update_ui (FormatDialogPrivate *priv)
gtk_widget_show (priv->encrypted_check_button);
}
-
-
- /* TODO: is this really valid for a formatter? -- disabled */
- scheme = device ? gdu_device_partition_get_scheme (device) : NULL;
-// can_edit_part_label = FALSE;
- show_flag_boot = FALSE;
- show_flag_required = FALSE;
-
-#if 0 /* -- disabled */
- if (strcmp (scheme, "mbr") == 0) {
-// can_edit_part_label = TRUE;
- show_flag_boot = TRUE;
- }
-
- if (strcmp (scheme, "gpt") == 0) {
-// can_edit_part_label = TRUE;
- show_flag_required = TRUE;
- }
-
- if (strcmp (scheme, "apm") == 0) {
-// can_edit_part_label = TRUE;
- show_flag_boot = TRUE;
- }
-#endif
-
- if (show_flag_boot)
- gtk_widget_show (priv->part_flag_boot_check_button);
- else
- gtk_widget_hide (priv->part_flag_boot_check_button);
-
- if (show_flag_required)
- gtk_widget_show (priv->part_flag_required_check_button);
- else
- gtk_widget_hide (priv->part_flag_required_check_button);
-
- flags = device ? gdu_device_partition_get_flags (device) : NULL;
- if (! priv->job_running) {
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->part_flag_boot_check_button),
- has_flag (flags, "boot"));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->part_flag_required_check_button),
- has_flag (flags, "required"));
- }
-
-/*
- gtk_widget_set_sensitive (priv->label_entry, can_edit_part_label);
- gtk_entry_set_text (GTK_ENTRY (priv->label_entry),
- gdu_device_partition_get_label (device));
-*/
/* Volume label */
if (! priv->job_running) {
gtk_entry_set_text (GTK_ENTRY (priv->label_entry), device ? gdu_device_id_get_label (device) : "");
@@ -546,7 +468,6 @@ nautilus_gdu_destroy (FormatDialogPrivate *priv)
gboolean standalone;
g_return_if_fail (priv != NULL);
-// g_print ("...destroying...\n");
standalone = priv->standalone_mode;
/* disconnect our handlers, since the presentable (resp. the pool) refence counter doesn't really need to be zero */
@@ -566,7 +487,7 @@ static void
presentable_removed (GduPresentable *presentable, FormatDialogPrivate *priv)
{
g_return_if_fail (priv != NULL);
- g_warning ("Presentable removed event.\n");
+ g_warning ("Presentable removed event.");
if (priv->standalone_mode) {
/* we want to clear the UI, selecting another presentable might lead to accident */
@@ -582,7 +503,7 @@ static void
presentable_changed (GduPresentable *presentable, FormatDialogPrivate *priv)
{
g_return_if_fail (priv != NULL);
- g_warning ("Presentable changed event.\n");
+ g_warning ("Presentable changed event.");
/* TODO: shall we preserve label or any other settings? */
update_ui (priv);
@@ -609,14 +530,14 @@ set_new_presentable (FormatDialogPrivate *priv, GduPresentable *presentable)
if (priv->presentable) {
/* first of all, disconnect handlers from the old presentable */
g_signal_handlers_disconnect_matched (priv->presentable, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, priv);
- g_print ("before unreffing presentable, count = %d [%p]\n", ((GObject*)priv->presentable)->ref_count, priv->presentable);
+/* g_debug ("before unreffing presentable, count = %d [%p]", ((GObject*)priv->presentable)->ref_count, priv->presentable); */
g_object_unref (priv->presentable);
priv->presentable = NULL;
}
if (presentable) {
priv->presentable = g_object_ref (presentable);
- g_print ("set_new_presentable: after reffing presentable, count = %d [%p]\n", ((GObject*)priv->presentable)->ref_count, priv->presentable);
+/* g_debug ("set_new_presentable: after reffing presentable, count = %d [%p]", ((GObject*)priv->presentable)->ref_count, priv->presentable); */
/* catch Presentable events */
g_signal_connect (G_OBJECT (priv->presentable), "removed",
@@ -633,7 +554,7 @@ pool_presentable_changed (GduPool *pool, GduPresentable *presentable, FormatDial
g_return_if_fail (priv->volume_selector != NULL);
if (! priv->job_running) {
- g_warning ("Pool presentable changed event.\n");
+ g_warning ("Pool presentable changed event.");
gdu_util_presentable_combo_box_rebuild (priv->volume_selector, pool);
}
}
@@ -668,7 +589,7 @@ cancel_operation (FormatDialogPrivate *priv)
g_return_if_fail (priv->job_running == TRUE);
/* TODO: check for valid device */
g_return_if_fail (priv->presentable != NULL);
- g_warning ("Cancelling...\n");
+ g_warning ("Cancelling...");
priv->job_cancelled = TRUE;
device = gdu_presentable_get_device (priv->presentable);
@@ -699,11 +620,6 @@ format_dialog_got_response (GtkDialog *dialog,
if (response_id == GTK_RESPONSE_OK) {
do_format (priv);
}
- else
- if (response_id == GTK_RESPONSE_REJECT) {
- /* revert changes */
- update_ui (priv);
- }
else {
if (priv->job_running) {
cancel_operation (priv);
@@ -753,12 +669,10 @@ nautilus_gdu_spawn_dialog (GduPresentable *presentable,
gtk_dialog_add_buttons (dialog,
_("_Format"), GTK_RESPONSE_OK,
-/* _("_Revert"), GTK_RESPONSE_REJECT, */
NULL);
priv->close_button = gtk_dialog_add_button (dialog, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
gtk_dialog_set_default_response (dialog, GTK_RESPONSE_CLOSE);
-// gtk_window_set_default_size (GTK_WINDOW (dialog), 300, 400);
content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
gtk_container_set_border_width (GTK_CONTAINER (content_area), 10);
@@ -893,20 +807,6 @@ nautilus_gdu_spawn_dialog (GduPresentable *presentable,
gdu_util_fstype_combo_box_set_desc_label (combo_box, label);
row++;
- /* flags: used by mbr, apm */
- check_button = gtk_check_button_new_with_mnemonic (_("_Bootable"));
- gtk_table_attach (GTK_TABLE (table), check_button, 1, 2, row, row +1,
- GTK_FILL, GTK_EXPAND | GTK_FILL, 2, 2);
- priv->part_flag_boot_check_button = check_button;
- row++;
-
- /* flags: used by gpt */
- check_button = gtk_check_button_new_with_mnemonic (_("Required / Firm_ware"));
- gtk_table_attach (GTK_TABLE (table), check_button, 1, 2, row, row +1,
- GTK_FILL, GTK_EXPAND | GTK_FILL, 2, 2);
- priv->part_flag_required_check_button = check_button;
- row++;
-
/* whether to chown fs root for user */
check_button = gtk_check_button_new_with_mnemonic (_("T_ake ownership of file system"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button), TRUE);
@@ -952,7 +852,6 @@ nautilus_gdu_spawn_dialog (GduPresentable *presentable,
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0);
label = gtk_label_new (_("The volume is currently mounted. Please make sure to close all open files before formatting."));
-// gtk_label_set_width_chars (GTK_LABEL (label), 50);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
@@ -988,8 +887,6 @@ nautilus_gdu_spawn_dialog (GduPresentable *presentable,
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
- // gtk_dialog_set_response_sensitive (dialog, GTK_RESPONSE_OK, FALSE);
-
g_signal_connect (priv->dialog, "delete-event",
G_CALLBACK (window_delete_event), priv);
/* update sensivity and length of fs label + entry */
diff --git a/src/format-window.h b/src/format-window.h
index f3c993e..92efbae 100644
--- a/src/format-window.h
+++ b/src/format-window.h
@@ -45,8 +45,6 @@ typedef struct {
GtkWidget *no_media_warning;
GtkWidget *label_entry;
GtkWidget *part_type_combo_box;
- GtkWidget *part_flag_boot_check_button;
- GtkWidget *part_flag_required_check_button;
GtkWidget *encrypted_check_button;
GtkWidget *take_ownership_of_fs_check_button;
GtkWidget *progress_bar;
diff --git a/src/gdu-utils.c b/src/gdu-utils.c
index 0d01aef..8f72144 100644
--- a/src/gdu-utils.c
+++ b/src/gdu-utils.c
@@ -33,8 +33,8 @@
-GduPresentable *
-find_presentable_from_mount_path (char *mount_path)
+static GduPresentable *
+_find_presentable (char *mount_path, char *device_path)
{
GduPool *pool;
GList *presentables, *presentables_w;
@@ -42,35 +42,43 @@ find_presentable_from_mount_path (char *mount_path)
GduPresentable *pres_w;
GduDevice *device;
const char *device_mount;
+ const char *device_file;
GFile *file1, *file2;
- g_return_val_if_fail (mount_path != NULL, NULL);
- g_return_val_if_fail (strlen (mount_path) > 1, NULL);
-
pool = gdu_pool_new ();
presentables = gdu_pool_get_presentables (pool);
presentables_w = presentables;
while (presentables_w != NULL) {
pres_w = presentables_w->data;
+#if 0
if (pres_w)
g_print ("presentable '%s', ref count = %d [%p]\n", gdu_presentable_get_name (pres_w), ((GObject*)pres_w)->ref_count, pres_w);
+#endif
if (! presentable && pres_w) {
device = gdu_presentable_get_device (pres_w);
if (device) {
device_mount = gdu_device_get_mount_path (device);
- if (device_mount && strlen (device_mount) > 1) {
-// g_print ("find_presentable_from_path: found mount '%s', matching with '%s'\n", device_mount, mount_path);
+ device_file = gdu_device_get_device_file (device);
+
+ /* match mount_path */
+ if (mount_path && device_mount && strlen (device_mount) > 1) {
/* compare via GFile routines */
file1 = g_file_new_for_commandline_arg (mount_path);
file2 = g_file_new_for_path (device_mount);
- if (g_file_equal (file1, file2)) {
+ if (g_file_equal (file1, file2))
presentable = g_object_ref (pres_w);
- g_print (" reffing presentable, count = %d [%p]\n", ((GObject*)presentable)->ref_count, presentable);
- break;
- }
g_object_unref (file1);
g_object_unref (file2);
+ if (presentable)
+ break;
+ }
+ /* match device_path */
+ if (device_path && device_file && strlen (device_file) > 1) {
+ if (strcmp (device_file, device_path) == 0) {
+ presentable = g_object_ref (pres_w);
+ break;
+ }
}
g_object_unref (device);
}
@@ -82,68 +90,26 @@ find_presentable_from_mount_path (char *mount_path)
g_list_free (presentables);
g_object_unref (pool);
- if (presentable)
- g_print ("find_presentable_from_path: found presentable '%s'\n", gdu_presentable_get_name (presentable));
- else
- g_print ("find_presentable_from_path: no presentable found\n");
-
return presentable;
}
+GduPresentable *
+find_presentable_from_mount_path (char *mount_path)
+{
+ g_return_val_if_fail (mount_path != NULL, NULL);
+ g_return_val_if_fail (strlen (mount_path) > 1, NULL);
+ return _find_presentable (mount_path, NULL);
+}
GduPresentable *
find_presentable_from_device_path (char *device_path)
{
- GduPool *pool;
- GList *presentables, *presentables_w;
- GduPresentable *presentable = NULL;
- GduPresentable *pres_w;
- GduDevice *device;
- const char *device_file;
-
g_return_val_if_fail (device_path != NULL, NULL);
g_return_val_if_fail (strlen (device_path) > 1, NULL);
-
- pool = gdu_pool_new ();
- presentables = gdu_pool_get_presentables (pool);
-
- presentables_w = presentables;
- while (presentables_w != NULL) {
- pres_w = presentables_w->data;
- if (pres_w)
- g_print ("presentable '%s', ref count = %d [%p]\n", gdu_presentable_get_name (pres_w), ((GObject*)pres_w)->ref_count, pres_w);
- if (! presentable) {
- device = gdu_presentable_get_device (pres_w);
- if (device) {
- device_file = gdu_device_get_device_file (device);
- if (device_file && strlen (device_file) > 1) {
- g_print ("find_presentable_from_device_path: found device '%s', matching with '%s'\n", device_file, device_path);
- if (strcmp (device_file, device_path) == 0) {
- presentable = g_object_ref (pres_w);
- g_print (" reffing presentable, count = %d [%p]\n", ((GObject*)presentable)->ref_count, presentable);
- break;
- }
- }
- g_object_unref (device);
- }
- }
- presentables_w = g_list_next (presentables_w);
- }
-
- g_list_foreach (presentables, (GFunc) g_object_unref, NULL);
- g_list_free (presentables);
- g_object_unref (pool);
-
- if (presentable)
- g_print ("find_presentable_from_device_path: found presentable '%s'\n", gdu_presentable_get_name (presentable));
- else
- g_print ("find_presentable_from_device_path: no presentable found\n");
-
- return presentable;
+ return _find_presentable (NULL, device_path);
}
-
/* ---------------------------------------------------------------------------------------------------- */
/* Volume selector widget */
@@ -202,8 +168,7 @@ gdu_util_presentable_combo_box_add_item (GtkListStore *store, GduPresentable *pr
g_object_unref (toplevel_presentable);
if (toplevel_device)
g_object_unref (toplevel_device);
- if (name)
- g_free (name);
+ g_free (name);
if (pixbuf)
g_object_unref (pixbuf);
}
@@ -240,24 +205,15 @@ gdu_util_presentable_combo_box_create_store (GduPool *pool)
if (toplevel_presentable)
toplevel_device = gdu_presentable_get_device (toplevel_presentable);
/* First eliminate all non-toplevel presentables */
- if (/* device != NULL && */
- toplevel_device != NULL &&
+ if (toplevel_device != NULL &&
toplevel_presentable == presentable &&
- gdu_device_is_removable (toplevel_device)
- /* && ! gdu_device_is_system_internal (device) */) {
-
+ gdu_device_is_removable (toplevel_device))
+ {
/* determine parent presentables (in case of toplevel drive) */
enclosed_presentables = gdu_pool_get_enclosed_presentables (pool, presentable);
g_print ("presentable %s [%s], enclosed_presentables = %d, toplevel_presentable = %p vs. %p, gdu_device_is_partition_table = %d, gdu_device_is_optical_disc = %d, gdu_device_drive_get_media = '%s'\n",
gdu_presentable_get_name (presentable), device ? gdu_device_get_device_file (device) : "no device.", g_list_length (enclosed_presentables), toplevel_presentable, presentable, gdu_device_is_partition_table (device), gdu_device_is_optical_disc (device), gdu_device_drive_get_media (device));
-#if 0
- char **media_compat = gdu_device_drive_get_media_compatibility (device);
- for (; *media_compat; media_compat++) {
- g_print (" compat '%s'\n", *media_compat);
- }
-#endif
-
GList *enclosed_presentables_l;
for (enclosed_presentables_l = enclosed_presentables; enclosed_presentables_l != NULL; enclosed_presentables_l = enclosed_presentables_l->next) {
@@ -270,12 +226,6 @@ gdu_util_presentable_combo_box_create_store (GduPool *pool)
g_object_unref (device_e);
}
-#if 0
- if (/* toplevel_device != NULL && gdu_device_is_removable (toplevel_device) && */ g_list_length (enclosed_presentables) == 0) {
- gdu_util_presentable_combo_box_add_item (store, presentable);
- }
-#endif
-
g_list_foreach (enclosed_presentables, (GFunc) g_object_unref, NULL);
g_list_free (enclosed_presentables);
}
@@ -337,15 +287,13 @@ gdu_util_presentable_combo_box_text_renderer_func (GtkCellLayout *cell_layout,
display_name = g_strdup_printf ("<span font_desc='18'><b> %s</b></span>", name);
}
- g_object_set (cell, "sensitive", sensitive, /* "visible", visible, */ NULL);
+ g_object_set (cell, "sensitive", sensitive, NULL);
if (GTK_IS_CELL_RENDERER_TEXT (cell))
g_object_set (cell, "markup", display_name, NULL);
g_free (display_name);
- if (name)
- g_free (name);
- if (device_path)
- g_free (device_path);
+ g_free (name);
+ g_free (device_path);
gtk_tree_path_free (path);
}
diff --git a/src/gnome-disk-utility-format.c b/src/gnome-disk-utility-format.c
index b5b807c..5ce8373 100644
--- a/src/gnome-disk-utility-format.c
+++ b/src/gnome-disk-utility-format.c
@@ -89,7 +89,6 @@ main (int argc, char *argv[])
g_set_prgname ("gnome-disk-utility-format");
context = g_option_context_new ("[device_file] - simple disk formatter");
-// g_option_context_set_summary (context, _("Copyright (c) 2009 Tomas Bzatek <tbzatek@redhat.com>"));
g_option_context_add_main_entries (context, entries, NULL);
g_option_context_add_group (context, gtk_get_option_group (TRUE));
diff --git a/src/nautilus-gdu.c b/src/nautilus-gdu.c
index 39c396b..a7a06cd 100644
--- a/src/nautilus-gdu.c
+++ b/src/nautilus-gdu.c
@@ -111,6 +111,7 @@ find_presentable_from_file (NautilusFileInfo *nautilus_file)
}
}
+ g_print ("nautilus-gdu: matching device_file = '%s', mount_path = '%s'\n", device_file, mount_path);
if (device_file)
presentable = find_presentable_from_device_path (device_file);
@@ -118,12 +119,15 @@ find_presentable_from_file (NautilusFileInfo *nautilus_file)
if (mount_path)
presentable = find_presentable_from_mount_path (mount_path);
- if (device_file)
- g_free (device_file);
- if (mount_path)
- g_free (mount_path);
+ g_free (device_file);
+ g_free (mount_path);
g_object_unref (file);
+ if (presentable)
+ g_print ("nautilus-gdu: find_presentable_from_file: found presentable '%s'\n", gdu_presentable_get_name (presentable));
+ else
+ g_print ("nautilus-gdu: find_presentable_from_file: no presentable found\n");
+
return presentable;
}