summaryrefslogtreecommitdiff
path: root/ui/alert_box.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2012-06-17 22:32:03 +0000
committerGuy Harris <guy@alum.mit.edu>2012-06-17 22:32:03 +0000
commit29e4e2418499fafb5d5a931ad0b06152699f584f (patch)
treef490b9b8070ccb44932555d63d532e882a50edda /ui/alert_box.c
parentd9d97cb7ce5284aad682218f70e6054cabdcdd68 (diff)
downloadwireshark-29e4e2418499fafb5d5a931ad0b06152699f584f.tar.gz
Add "simple dialog" routines to pop up modal message boxes. Use them in
file.c and routines called from it; non-modal dialogs end up, in some cases, either hidden, devoid of the input focus and not dismissable, or both. svn path=/trunk/; revision=43321
Diffstat (limited to 'ui/alert_box.c')
-rw-r--r--ui/alert_box.c41
1 files changed, 27 insertions, 14 deletions
diff --git a/ui/alert_box.c b/ui/alert_box.c
index eacddef189..8fa5b1c9ac 100644
--- a/ui/alert_box.c
+++ b/ui/alert_box.c
@@ -44,7 +44,7 @@
void
failure_alert_box(const char *msg_format, va_list ap)
{
- vsimple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, msg_format, ap);
+ vsimple_error_message_box(msg_format, ap);
}
/*
@@ -62,8 +62,13 @@ failure_alert_box(const char *msg_format, va_list ap)
void
open_failure_alert_box(const char *filename, int err, gboolean for_writing)
{
- simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
- file_open_error_message(err, for_writing), filename);
+ gchar *display_basename;
+
+ display_basename = g_filename_display_basename(filename);
+ simple_message_box(ESD_TYPE_ERROR, NULL, NULL,
+ file_open_error_message(err, for_writing),
+ display_basename);
+ g_free(display_basename);
}
/*
@@ -73,9 +78,13 @@ open_failure_alert_box(const char *filename, int err, gboolean for_writing)
void
read_failure_alert_box(const char *filename, int err)
{
- simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
- "An error occurred while reading from the file \"%s\": %s.",
- filename, g_strerror(err));
+ gchar *display_basename;
+
+ display_basename = g_filename_display_basename(filename);
+ simple_message_box(ESD_TYPE_ERROR, NULL, NULL,
+ "An error occurred while reading from the file \"%s\": %s.",
+ display_basename, g_strerror(err));
+ g_free(display_basename);
}
/*
@@ -92,23 +101,27 @@ read_failure_alert_box(const char *filename, int err)
void
write_failure_alert_box(const char *filename, int err)
{
+ gchar *display_basename;
+
+ display_basename = g_filename_display_basename(filename);
if (err < 0) {
switch (err) {
case WTAP_ERR_SHORT_WRITE:
- simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
- "A full write couldn't be done to the file \"%s\".",
- filename);
+ simple_message_box(ESD_TYPE_ERROR, NULL, NULL,
+ "A full write couldn't be done to the file \"%s\".",
+ display_basename);
break;
default:
- simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
- "An error occurred while writing to the file \"%s\": %s.",
- filename, wtap_strerror(err));
+ simple_message_box(ESD_TYPE_ERROR, NULL, NULL,
+ "An error occurred while writing to the file \"%s\": %s.",
+ display_basename, wtap_strerror(err));
break;
}
} else {
- simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
- file_write_error_message(err), filename);
+ simple_message_box(ESD_TYPE_ERROR, NULL, NULL,
+ file_write_error_message(err), display_basename);
}
+ g_free(display_basename);
}