Ask before overwriting colorized image
authorAndreas Eversberg <jolly@eversberg.eu>
Fri, 1 May 2015 11:15:43 +0000 (13:15 +0200)
committerroot <root@dion.jolly.ten>
Thu, 14 May 2015 19:09:26 +0000 (21:09 +0200)
gui/colorize.c

index 8a321b0..e604288 100644 (file)
@@ -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)