From: Andreas Eversberg Date: Fri, 1 May 2015 11:15:43 +0000 (+0200) Subject: Ask before overwriting colorized image X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=colorize.git;a=commitdiff_plain;h=6967ad17908c3381dd43f2d82e4a09dc7d3776fa Ask before overwriting colorized image --- diff --git a/gui/colorize.c b/gui/colorize.c index 8a321b0..e604288 100644 --- a/gui/colorize.c +++ b/gui/colorize.c @@ -57,6 +57,7 @@ static void save_event(gpointer *priv) struct colorize_priv *cp = (struct colorize_priv *) priv; GtkWidget *dialog; char *filename = NULL; + FILE *fp; dialog = gtk_file_chooser_dialog_new("Select file to save colorized image", GTK_WINDOW(main_window), @@ -76,8 +77,25 @@ static void save_event(gpointer *priv) if (!filename) return; - printf("alpha=%d\n", cp->alpha); + if ((fp = fopen(filename, "r"))) { + int ret; + fclose(fp); + GtkWidget *dialog = gtk_message_dialog_new (GTK_WINDOW(main_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK_CANCEL, + "Image already exists, overwrite it?"); + ret = gtk_dialog_run(GTK_DIALOG (dialog)); + gtk_widget_destroy(dialog); + if (ret != GTK_RESPONSE_OK) + goto exit; + } + + save_img(cp->img, cp->width, cp->height, cp->alpha, filename, 0); + +exit: + free(filename); } static void dummy_event(gpointer *priv)