2 * Routines to put up various "standard" alert boxes used in multiple
7 * Wireshark - Network traffic analyzer
8 * By Gerald Combs <gerald@wireshark.org>
9 * Copyright 1998 Gerald Combs
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation; either version 2
14 * of the License, or (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
34 #include <epan/filesystem.h>
35 #include <epan/dfilter/dfilter.h>
37 #include "ui/alert_box.h"
39 #include "ui/simple_dialog.h"
42 * Alert box for general errors.
45 failure_alert_box(const char *msg_format, va_list ap)
47 vsimple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, msg_format, ap);
51 * Alert box for a failed attempt to open or create a file.
52 * "err" is assumed to be a UNIX-style errno; "for_writing" is TRUE if
53 * the file is being opened for writing and FALSE if it's being opened
56 * XXX - add explanatory secondary text for at least some of the errors;
57 * various HIGs suggest that you should, for example, suggest that the
58 * user remove files if the file system is full. Perhaps that's because
59 * they're providing guidelines for people less sophisticated than the
60 * typical Wireshark user is, but....
63 open_failure_alert_box(const char *filename, int err, gboolean for_writing)
65 simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
66 file_open_error_message(err, for_writing), filename);
70 * Alert box for a failed attempt to read a file.
71 * "err" is assumed to be a UNIX-style errno.
74 read_failure_alert_box(const char *filename, int err)
76 simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
77 "An error occurred while reading from the file \"%s\": %s.",
78 filename, g_strerror(err));
82 * Alert box for a failed attempt to write to a file.
83 * "err" is assumed to be a UNIX-style errno if positive and a
84 * Wiretap error if negative.
86 * XXX - add explanatory secondary text for at least some of the errors;
87 * various HIGs suggest that you should, for example, suggest that the
88 * user remove files if the file system is full. Perhaps that's because
89 * they're providing guidelines for people less sophisticated than the
90 * typical Wireshark user is, but....
93 write_failure_alert_box(const char *filename, int err)
98 case WTAP_ERR_SHORT_WRITE:
99 simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
100 "A full write couldn't be done to the file \"%s\".",
105 simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
106 "An error occurred while writing to the file \"%s\": %s.",
107 filename, wtap_strerror(err));
111 simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
112 file_write_error_message(err), filename);
117 * Alert box for an invalid display filter expression.
118 * Assumes "dfilter_error_msg" has been set by "dfilter_compile()" to the
119 * error message for the filter.
121 * XXX - should this have a "Help" button that pops up the display filter
125 bad_dfilter_alert_box(const char *dftext)
127 simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
130 "The filter expression \"%s\" isn't a valid display filter.\n"
131 "See the help for a description of the display filter syntax.",
132 simple_dialog_primary_start(), dfilter_error_msg,
133 simple_dialog_primary_end(), dftext);