When I implemented the GTK messagebox() function and everything that
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 11 Apr 2003 18:44:05 +0000 (18:44 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 11 Apr 2003 18:44:05 +0000 (18:44 +0000)
needed to use it, I completely forgot about askappend(). D'oh.

git-svn-id: svn://svn.tartarus.org/sgt/putty@3101 cda61777-01e9-0310-a592-d414129be87e

unix/gtkdlg.c
unix/pterm.c

index 000fe04..63e5101 100644 (file)
@@ -2739,3 +2739,31 @@ void logevent_dlg(void *estuff, char *string)
     }
     es->nevents++;
 }
+
+int askappend(void *frontend, Filename filename)
+{
+    static const char msgtemplate[] =
+       "The session log file \"%.*s\" already exists. "
+       "You can overwrite it with a new session log, "
+       "append your session log to the end of it, "
+       "or disable session logging for this session.";
+    char *message;
+    char *mbtitle;
+    int mbret;
+
+    message = dupprintf(msgtemplate, FILENAME_MAX, filename.path);
+    mbtitle = dupprintf("%s Log to File", appname);
+
+    mbret = messagebox(get_window(frontend), mbtitle, message,
+                      string_width("LINE OF TEXT SUITABLE FOR THE"
+                                   " ASKAPPEND WIDTH"),
+                      "Overwrite", 'o', 1, 2,
+                      "Append", 'a', 0, 1,
+                      "Disable", 'd', -1, 0,
+                      NULL);
+
+    sfree(message);
+    sfree(mbtitle);
+
+    return mbret;
+}
index 70317d5..d787da9 100644 (file)
@@ -152,17 +152,6 @@ void ldisc_update(void *frontend, int echo, int edit)
      */
 }
 
-int askappend(void *frontend, Filename filename)
-{
-    /*
-     * Logging in an xterm-alike is liable to be something you only
-     * do at serious diagnostic need. Hence, I'm going to take the
-     * easy option for now and assume we always want to overwrite
-     * log files. I can always make it properly configurable later.
-     */
-    return 2;
-}
-
 int from_backend(void *frontend, int is_stderr, const char *data, int len)
 {
     struct gui_data *inst = (struct gui_data *)frontend;