[ghex] Assume the file chooser never returns directory name when asked for a file name
- From: Kalev Lember <klember src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ghex] Assume the file chooser never returns directory name when asked for a file name
- Date: Sat, 18 Feb 2012 17:47:50 +0000 (UTC)
commit 0c70144e20bf003d2933e4451397ba5c70234985
Author: Kalev Lember <kalevlember gmail com>
Date: Sat Feb 18 19:21:38 2012 +0200
Assume the file chooser never returns directory name when asked for a file name
In GTK_FILE_CHOOSER_ACTION_SAVE mode, GtkFileChooser doesn't let the
user accidentally pick a directory instead of a file name.
Getting rid of the unneeded directory handling code rids us of some more
code that operated under the assumption that / is always the directory
separator.
src/ghex-window.c | 31 +++----------------------------
1 files changed, 3 insertions(+), 28 deletions(-)
---
diff --git a/src/ghex-window.c b/src/ghex-window.c
index 035eb74..073d490 100644
--- a/src/ghex-window.c
+++ b/src/ghex-window.c
@@ -1209,8 +1209,6 @@ ghex_window_save_as(GHexWindow *win)
HexDocument *doc;
GtkWidget *file_sel;
gboolean ret_val = TRUE;
- const gchar *filename;
- gboolean dir_flag = FALSE;
GtkResponseType resp;
if(win->gh == NULL)
@@ -1232,37 +1230,14 @@ ghex_window_save_as(GHexWindow *win)
gtk_window_set_position (GTK_WINDOW (file_sel), GTK_WIN_POS_MOUSE);
gtk_widget_show (file_sel);
- do {
- resp = gtk_dialog_run(GTK_DIALOG(file_sel));
- if(resp == GTK_RESPONSE_OK) {
- filename =
- gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(file_sel));
- if (g_file_test(filename,G_FILE_TEST_IS_DIR)) {
- gint name_len;
- gchar *dir_name;
-
- name_len = strlen (filename);
- if (name_len < 1 || filename [name_len - 1] != '/') {
- dir_name = g_strconcat (filename, "/", NULL);
- } else {
- dir_name = g_strdup (filename);
- }
- gtk_file_chooser_set_filename (GTK_FILE_CHOOSER(file_sel),
- dir_name);
- g_free (dir_name);
- dir_flag = TRUE;
- }
- else {
- dir_flag = FALSE;
- }
- }
- } while (resp == GTK_RESPONSE_OK && dir_flag);
-
+ resp = gtk_dialog_run (GTK_DIALOG (file_sel));
if(resp == GTK_RESPONSE_OK) {
FILE *file;
gchar *flash;
gchar *gtk_file_name, *path_end;
+ const gchar *filename;
+ filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (file_sel));
if(access(filename, F_OK) == 0) {
GtkWidget *mbox;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]