preference setting, so "ask for unsaved capture files" can be switched off

svn path=/trunk/; revision=11196
This commit is contained in:
Ulf Lamping 2004-06-20 15:57:11 +00:00
parent 17ca623b0f
commit c5bae1f7e3
7 changed files with 41 additions and 16 deletions

View File

@ -1,7 +1,7 @@
/* capture_dlg.c
* Routines for packet capture windows
*
* $Id: capture_dlg.c,v 1.134 2004/06/20 13:39:44 ulfl Exp $
* $Id: capture_dlg.c,v 1.135 2004/06/20 15:57:09 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -1106,7 +1106,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
{
gpointer dialog;
if((cfile.state != FILE_CLOSED) && !cfile.user_saved) {
if((cfile.state != FILE_CLOSED) && !cfile.user_saved && prefs.gui_ask_unsaved) {
/* user didn't saved his current file, ask him */
dialog = simple_dialog(ESD_TYPE_CONFIRMATION, ESD_BTNS_YES_NO_CANCEL,
PRIMARY_TEXT_START "Save capture file before starting a new capture?" PRIMARY_TEXT_END "\n\n"

View File

@ -1,7 +1,7 @@
/* file_dlg.c
* Dialog boxes for handling files
*
* $Id: file_dlg.c,v 1.117 2004/06/20 09:35:51 ulfl Exp $
* $Id: file_dlg.c,v 1.118 2004/06/20 15:57:09 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -579,7 +579,7 @@ void
file_open_cmd_cb(GtkWidget *widget, gpointer data _U_) {
gpointer dialog;
if((cfile.state != FILE_CLOSED) && !cfile.user_saved) {
if((cfile.state != FILE_CLOSED) && !cfile.user_saved && prefs.gui_ask_unsaved) {
/* user didn't saved his current file, ask him */
dialog = simple_dialog(ESD_TYPE_CONFIRMATION, ESD_BTNS_YES_NO_CANCEL,
PRIMARY_TEXT_START "Save capture file before opening a new one?" PRIMARY_TEXT_END "\n\n"
@ -890,7 +890,7 @@ void
file_merge_cmd_cb(GtkWidget *widget, gpointer data _U_) {
gpointer dialog;
if((cfile.state != FILE_CLOSED) && !cfile.user_saved) {
if((cfile.state != FILE_CLOSED) && !cfile.user_saved && prefs.gui_ask_unsaved) {
/* user didn't saved his current file, ask him */
dialog = simple_dialog(ESD_TYPE_CONFIRMATION, ESD_BTNS_OK_CANCEL,
PRIMARY_TEXT_START "Save the capture file before merging to another one?" PRIMARY_TEXT_END "\n\n"
@ -1051,7 +1051,7 @@ void
file_close_cmd_cb(GtkWidget *widget _U_, gpointer data _U_) {
gpointer dialog;
if((cfile.state != FILE_CLOSED) && !cfile.user_saved) {
if((cfile.state != FILE_CLOSED) && !cfile.user_saved && prefs.gui_ask_unsaved) {
/* user didn't saved his current file, ask him */
dialog = simple_dialog(ESD_TYPE_CONFIRMATION, ESD_BTNS_YES_NO_CANCEL,
PRIMARY_TEXT_START "Save capture file before closing it?" PRIMARY_TEXT_END "\n\n"

View File

@ -1,7 +1,7 @@
/* gui_prefs.c
* Dialog box for GUI preferences
*
* $Id: gui_prefs.c,v 1.73 2004/06/17 16:44:46 ulfl Exp $
* $Id: gui_prefs.c,v 1.74 2004/06/20 15:57:10 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -73,6 +73,7 @@ static gint recent_files_count_changed_cb(GtkWidget *recent_files_entry _U_,
#define GUI_FILEOPEN_KEY "fileopen_behavior"
#define GUI_RECENT_FILES_COUNT_KEY "recent_files_count"
#define GUI_FILEOPEN_DIR_KEY "fileopen_directory"
#define GUI_ASK_UNSAVED_KEY "ask_unsaved"
#define GUI_TOOLBAR_STYLE_KEY "toolbar_style"
@ -178,7 +179,7 @@ gui_prefs_show(void)
#endif
GtkWidget *fileopen_rb, *fileopen_dir_te, *toolbar_style_om;
GtkWidget *filter_toolbar_placement_om;
GtkWidget *recent_files_count_max_te;
GtkWidget *recent_files_count_max_te, *ask_unsaved_cb;
GtkWidget *save_position_cb, *save_size_cb, *save_maximized_cb;
#if GTK_MAJOR_VERSION < 2
GtkWidget *expander_style_om, *line_style_om;
@ -311,6 +312,11 @@ gui_prefs_show(void)
fileopen_selected_cb(NULL, main_vb);
ask_unsaved_cb = create_preference_check_button(main_tb, pos++,
"Ask for unsaved capture files:", NULL, prefs.gui_ask_unsaved);
OBJECT_SET_DATA(main_vb, GUI_ASK_UNSAVED_KEY, ask_unsaved_cb);
/* Show 'em what we got */
gtk_widget_show_all(main_vb);
@ -408,6 +414,9 @@ gui_prefs_fetch(GtkWidget *w)
prefs.gui_fileopen_dir = g_strdup(gtk_entry_get_text(
GTK_ENTRY(OBJECT_GET_DATA(w, GUI_FILEOPEN_DIR_KEY))));
prefs.gui_ask_unsaved =
gtk_toggle_button_get_active(OBJECT_GET_DATA(w, GUI_ASK_UNSAVED_KEY));
/*
* XXX - we need to have a way to fetch the preferences into
* local storage and only set the permanent preferences if there

View File

@ -1,6 +1,6 @@
/* main.c
*
* $Id: main.c,v 1.444 2004/06/20 14:48:24 ulfl Exp $
* $Id: main.c,v 1.445 2004/06/20 15:57:11 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -828,7 +828,7 @@ main_window_delete_event_cb(GtkWidget *widget _U_, GdkEvent *event _U_, gpointer
{
gpointer dialog;
if((cfile.state != FILE_CLOSED) && !cfile.user_saved) {
if((cfile.state != FILE_CLOSED) && !cfile.user_saved && prefs.gui_ask_unsaved) {
/* user didn't saved his current file, ask him */
dialog = simple_dialog(ESD_TYPE_CONFIRMATION, ESD_BTNS_YES_NO_CANCEL,
PRIMARY_TEXT_START "Save capture file before program quit?" PRIMARY_TEXT_END "\n\n"
@ -922,7 +922,7 @@ file_quit_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
{
gpointer dialog;
if((cfile.state != FILE_CLOSED) && !cfile.user_saved) {
if((cfile.state != FILE_CLOSED) && !cfile.user_saved && prefs.gui_ask_unsaved) {
/* user didn't saved his current file, ask him */
dialog = simple_dialog(ESD_TYPE_CONFIRMATION, ESD_BTNS_YES_NO_CANCEL,
PRIMARY_TEXT_START "Save capture file before program quit?" PRIMARY_TEXT_END "\n\n"
@ -1360,7 +1360,7 @@ GtkSelectionData *selection_data, guint info, guint t _U_, gpointer data _U_)
g_free(cf_name_ori);
/* ask the user to save it's current capture file first */
if((cfile.state != FILE_CLOSED) && !cfile.user_saved) {
if((cfile.state != FILE_CLOSED) && !cfile.user_saved && prefs.gui_ask_unsaved) {
/* user didn't saved his current file, ask him */
dialog = simple_dialog(ESD_TYPE_CONFIRMATION,
ESD_BTNS_YES_NO_CANCEL,

View File

@ -1,7 +1,7 @@
/* menu.c
* Menu routines
*
* $Id: menu.c,v 1.202 2004/06/17 21:53:26 ulfl Exp $
* $Id: menu.c,v 1.203 2004/06/20 15:57:11 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -976,7 +976,7 @@ menu_open_recent_file_cmd_cb(GtkWidget *widget, gpointer data _U_) {
gpointer dialog;
if((cfile.state != FILE_CLOSED) && !cfile.user_saved) {
if((cfile.state != FILE_CLOSED) && !cfile.user_saved && prefs.gui_ask_unsaved) {
/* user didn't saved his current file, ask him */
dialog = simple_dialog(ESD_TYPE_CONFIRMATION, ESD_BTNS_YES_NO_CANCEL,
PRIMARY_TEXT_START "Save capture file before opening a new one?" PRIMARY_TEXT_END "\n\n"

17
prefs.c
View File

@ -1,7 +1,7 @@
/* prefs.c
* Routines for handling preferences
*
* $Id: prefs.c,v 1.136 2004/06/20 14:48:23 ulfl Exp $
* $Id: prefs.c,v 1.137 2004/06/20 15:57:07 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -1011,6 +1011,7 @@ read_prefs(int *gpf_errno_return, int *gpf_read_errno_return,
prefs.gui_fileopen_style = FO_STYLE_LAST_OPENED;
prefs.gui_recent_files_count_max = 10;
prefs.gui_fileopen_dir = g_strdup("");
prefs.gui_ask_unsaved = TRUE;
prefs.gui_layout_type = layout_type_5;
prefs.gui_layout_content_1 = layout_pane_content_plist;
prefs.gui_layout_content_2 = layout_pane_content_pdetails;
@ -1312,6 +1313,7 @@ prefs_set_pref(char *prefarg)
#define PRS_GUI_RECENT_COUNT_MAX "gui.recent_files_count.max"
#define PRS_GUI_FILEOPEN_DIR "gui.fileopen.dir"
#define PRS_GUI_FILEOPEN_REMEMBERED_DIR "gui.fileopen.remembered_dir"
#define PRS_GUI_ASK_UNSAVED "gui.ask_unsaved"
#define PRS_GUI_GEOMETRY_SAVE_POSITION "gui.geometry.save.position"
#define PRS_GUI_GEOMETRY_SAVE_SIZE "gui.geometry.save.size"
#define PRS_GUI_GEOMETRY_SAVE_MAXIMIZED "gui.geometry.save.maximized"
@ -1638,6 +1640,13 @@ set_pref(gchar *pref_name, gchar *value)
prefs.gui_fileopen_dir = g_strdup(value);
} else if (strcmp(pref_name, PRS_GUI_FILEOPEN_REMEMBERED_DIR) == 0) { /* deprecated */
} else if (strcmp(pref_name, PRS_GUI_ASK_UNSAVED) == 0) {
if (strcasecmp(value, "true") == 0) {
prefs.gui_ask_unsaved = TRUE;
}
else {
prefs.gui_ask_unsaved = FALSE;
}
} else if (strcmp(pref_name, PRS_GUI_LAYOUT_TYPE) == 0) {
prefs.gui_layout_type = strtoul(value, NULL, 10);
@ -2182,6 +2191,11 @@ write_prefs(char **pf_path_return)
prefs.gui_fileopen_dir);
}
fprintf(pf, "\n# Ask to save unsaved capture files?\n");
fprintf(pf, "# TRUE or FALSE (case-insensitive).\n");
fprintf(pf, PRS_GUI_ASK_UNSAVED ": %s\n",
prefs.gui_ask_unsaved == TRUE ? "TRUE" : "FALSE");
fprintf (pf, "\n######## User Interface: Layout ########\n");
fprintf(pf, "\n# Layout type (1-6).\n");
@ -2371,6 +2385,7 @@ copy_prefs(e_prefs *dest, e_prefs *src)
dest->gui_fileopen_dir = g_strdup(src->gui_fileopen_dir);
dest->gui_console_open = src->gui_console_open;
dest->gui_fileopen_style = src->gui_fileopen_style;
dest->gui_ask_unsaved = src->gui_ask_unsaved;
dest->gui_layout_type = src->gui_layout_type;
dest->gui_layout_content_1 = src->gui_layout_content_1;
dest->gui_layout_content_2 = src->gui_layout_content_2;

View File

@ -1,7 +1,7 @@
/* prefs.h
* Definitions for preference handling routines
*
* $Id: prefs.h,v 1.65 2004/06/20 14:48:23 ulfl Exp $
* $Id: prefs.h,v 1.66 2004/06/20 15:57:08 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -128,6 +128,7 @@ typedef struct _e_prefs {
guint gui_fileopen_style;
guint gui_recent_files_count_max;
gchar *gui_fileopen_dir;
gboolean gui_ask_unsaved;
layout_type_e gui_layout_type;
layout_pane_content_e gui_layout_content_1;
layout_pane_content_e gui_layout_content_2;