diff options
author | Gerald Combs <gerald@wireshark.org> | 2013-02-08 18:07:34 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2013-02-08 18:07:34 +0000 |
commit | d21f62b73b84086173901da197fe15eaa4e9dcce (patch) | |
tree | d14fa98879d71abccd2c8f3003090565c1890326 /epan | |
parent | c7525936983ae67912df1baffbddf60a2e69242b (diff) |
Add a directory name preference type (PREF_DIRNAME) and registration
routine (prefs_register_directory_preference). Add PREF_FILENAME and
PREF_DIRNAME support to the Qt module preferences. Change a couple of
preferences to directory names.
Clean up some names and default settings.
svn path=/trunk/; revision=47573
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-etch.c | 6 | ||||
-rw-r--r-- | epan/dissectors/packet-kerberos.c | 2 | ||||
-rw-r--r-- | epan/libwireshark.def | 1 | ||||
-rw-r--r-- | epan/prefs-int.h | 3 | ||||
-rw-r--r-- | epan/prefs.c | 27 | ||||
-rw-r--r-- | epan/prefs.h | 9 |
6 files changed, 42 insertions, 6 deletions
diff --git a/epan/dissectors/packet-etch.c b/epan/dissectors/packet-etch.c index eb6884c5f6..4c0b22fe66 100644 --- a/epan/dissectors/packet-etch.c +++ b/epan/dissectors/packet-etch.c @@ -937,7 +937,7 @@ void proto_register_etch(void) }; proto_etch = proto_register_protocol("Apache Etch Protocol", /* name */ - "ETCH", /* short name */ + "Etch", /* short name */ "etch" /* abbrev */ ); @@ -950,14 +950,14 @@ void proto_register_etch(void) etch_module = prefs_register_protocol(proto_etch, proto_reg_handoff_etch); - prefs_register_string_preference(etch_module, "file", + prefs_register_directory_preference(etch_module, "file", "Apache Etch symbol folder", "Place the hash/symbol files " "(generated by the Apache Etch compiler) " "ending with .ewh here", &gbl_keytab_folder); prefs_register_uint_preference(etch_module, "tcp.port", - "etch TCP Port", + "Etch TCP Port", "Etch TCP port", 10, &gbl_etch_port); diff --git a/epan/dissectors/packet-kerberos.c b/epan/dissectors/packet-kerberos.c index a339ad4c9e..49df094702 100644 --- a/epan/dissectors/packet-kerberos.c +++ b/epan/dissectors/packet-kerberos.c @@ -384,7 +384,7 @@ call_kerberos_callbacks(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int gboolean krb_decrypt = FALSE; /* keytab filename */ -static const char *keytab_filename = "insert filename here"; +static const char *keytab_filename = ""; void read_keytab_file(const char *); diff --git a/epan/libwireshark.def b/epan/libwireshark.def index 75db51b5d8..8b24000988 100644 --- a/epan/libwireshark.def +++ b/epan/libwireshark.def @@ -743,6 +743,7 @@ prefs_pref_to_str prefs_pref_type_description prefs_pref_type_name prefs_register_bool_preference +prefs_register_directory_preference prefs_register_enum_preference prefs_register_filename_preference prefs_register_modules diff --git a/epan/prefs-int.h b/epan/prefs-int.h index 2da275397a..46c19429f0 100644 --- a/epan/prefs-int.h +++ b/epan/prefs-int.h @@ -102,7 +102,8 @@ typedef enum { PREF_FILENAME, PREF_COLOR, /* XXX - These are only supported for "internal" (non-protocol) */ PREF_CUSTOM, /* use and not as a generic protocol preference */ - PREF_OBSOLETE + PREF_OBSOLETE, + PREF_DIRNAME } pref_type_t; /** Struct to hold preference data */ diff --git a/epan/prefs.c b/epan/prefs.c index a8d30da05f..8e0c3feaa4 100644 --- a/epan/prefs.c +++ b/epan/prefs.c @@ -186,6 +186,7 @@ free_pref(gpointer data, gpointer user_data _U_) break; case PREF_STRING: case PREF_FILENAME: + case PREF_DIRNAME: g_free((char *)*pref->varp.string); *pref->varp.string = NULL; g_free(pref->default_val.string); @@ -978,6 +979,18 @@ prefs_register_filename_preference(module_t *module, const char *name, } /* + * Register a preference with a directory name (string) value. + */ +void +prefs_register_directory_preference(module_t *module, const char *name, + const char *title, const char *description, + const char **var) +{ + register_string_like_preference(module, name, title, description, var, + PREF_DIRNAME); +} + +/* * Register a preference with a ranged value. */ void @@ -1989,7 +2002,7 @@ prefs_register_modules(void) 10, &prefs.gui_recent_df_entries_max); - prefs_register_string_preference(gui_module, "fileopen.dir", "Start Directory", + prefs_register_directory_preference(gui_module, "fileopen.dir", "Start Directory", "Directory to start in when opening File Open dialog.", (const char**)(&prefs.gui_fileopen_dir)); prefs_register_obsolete_preference(gui_module, "fileopen.remembered_dir"); @@ -2714,6 +2727,7 @@ reset_pref(pref_t *pref) case PREF_STRING: case PREF_FILENAME: + case PREF_DIRNAME: g_free((void *)*pref->varp.string); *pref->varp.string = g_strdup(pref->default_val.string); break; @@ -3828,6 +3842,7 @@ set_pref(gchar *pref_name, const gchar *value, void *private_data _U_, case PREF_STRING: case PREF_FILENAME: + case PREF_DIRNAME: if (strcmp(*pref->varp.string, value) != 0) { module->prefs_changed = TRUE; g_free((void *)*pref->varp.string); @@ -3935,6 +3950,10 @@ prefs_pref_type_name(pref_t *pref) type_name = "Filename"; break; + case PREF_DIRNAME: + type_name = "Directory"; + break; + case PREF_RANGE: type_name = "Range"; break; @@ -4019,6 +4038,10 @@ prefs_pref_type_description(pref_t *pref) type_desc = "A path to a file"; break; + case PREF_DIRNAME: + type_desc = "A path to a directory"; + break; + case PREF_RANGE: { type_desc = "A string denoting an positive integer range (e.g., \"1-20,30-40\")"; @@ -4078,6 +4101,7 @@ prefs_pref_is_default(pref_t *pref) { case PREF_STRING: case PREF_FILENAME: + case PREF_DIRNAME: if (!(g_strcmp0(pref->default_val.string, *pref->varp.string))) return TRUE; break; @@ -4197,6 +4221,7 @@ prefs_pref_to_str(pref_t *pref, pref_source_t source) { case PREF_STRING: case PREF_FILENAME: + case PREF_DIRNAME: return g_strdup(pref_string); break; diff --git a/epan/prefs.h b/epan/prefs.h index 8b29860ca6..a2d569fadc 100644 --- a/epan/prefs.h +++ b/epan/prefs.h @@ -387,6 +387,15 @@ extern void prefs_register_filename_preference(module_t *module, const char *nam const char *title, const char *description, const char **var); /* + * Register a preference with a directory name (string) value. + * Directory name preferences are basically like string preferences + * except that the GUI gives the user the ability to browse for a + * directory. + */ +extern void prefs_register_directory_preference(module_t *module, const char *name, + const char *title, const char *description, const char **var); + +/* * Register a preference with a ranged value. */ extern void prefs_register_range_preference(module_t *module, const char *name, |