A new function is introduced, prefs_register_protocol_subtree(), that allows the subtree the protocol should appear under to be specified. The subtree is specified as a string, with a '/' delimiting each subtree element. For example,
prefs_register_protocol(proto_dap, prefs_register_dap);
becomes
prefs_register_protocol_subtree("OSI/X.500", proto_dap, prefs_register_dap);
The function will create all the intermediate subtree nodes that are required, if they don't already exist.
This allows the grouping of procotols which should make the list of protocols more manageable as even more are added. The current aim is to group by protocol family e.g.
+ OSI
+ X.400
X.411
X.420
+ X.500
DISP
DAP
DOP
DSP
+ X.509
X509AF
X509CE
...
but others grouping could be envisioned (e.g. by first letter).
As the intermediate nodes may already have preferences (e.g. OSI), then modules are now allowed to have submodules. Previously each node was either a subtree or held preferences. This is consistent with the "User Interface" node.
The subtree structure has no effect on how the preferences are saved to file, and the "Protocol Preferences..." menu option will bring up the preferences expanded to the correct node.
In addition, a new "blank page" has been introduced for intermediate nodes that have no preferences (and is also used when the "Protocols" node itself is chosen). This prevents confusion when the user moves from a node with preferences to a node without preferences, but the page old page is still shown.
There is also a change to prevent '#' characters in a value being treated as a comment when parsing the preferences file. (There is nothing that adds comments when writing the preferences file.)
svn path=/trunk/; revision=21066
* fields of an uat table now are passed using an array of uat_filed_t
* field callbacks take two more userdata arguments
* add some macros to define uat field callbacks.
* uats can be registered as preferences for a specific protocol
- the preference widget is a button that opens the uat's window
* dfilter-macro => reflect changes to API
svn path=/trunk/; revision=20695
can be used to add descriptive text inline with other preference items.
The "preference" contents are not written to disk.
Fixup whitespace.
svn path=/trunk/; revision=20037
Attached is a patch for consideration that changes the title in the
preferences notebook to be the full description of the preference (but
leaves the short name in the preferences list on the left).
svn path=/trunk/; revision=19370
(presumably-)harmless-but-otherwise-unremovable const-to-nonconst
warnings.
In the TACACS dissector, clean up the variables used in option parsing
to avoid some const-to-nonconst warnings.
Clean up some white space.
svn path=/trunk/; revision=15043
allocate them to be large enough.
Add checks that the numbers in the range fit in a guint32.
Check the validity of a range before saving or printing, and report
errors in an alert box.
Clean up white space.
svn path=/trunk/; revision=12320