Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal/gtk find_dlg.c

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxxxxxxxxx>
Date: Thu, 28 Aug 2003 23:03:46 -0500 (CDT)
guy         2003/08/28 23:03:46 CDT

  Modified files:
    gtk                  find_dlg.c 
  Log:
  Get rid of the EBCDIC stuff in the find dialog - it's not supported yet,
  so we shouldn't torment the users by offering it.
  
  Check the string type and convert it to an internal representation in
  the GUI code; have the search code deal only with the internal
  representation.
  
  Save the case-sensitivity flag, and the indication of where string
  searches look, along with other search parameters.
  
  Upper-casify the string, for case-insensitive searches, in the GUI code;
  don't save the upper-casified string, so it doesn't SHOUT at you when
  you next pop up a "find" dialog.
  
  Convert the hex value string to raw binary data in the GUI code, rather
  than doing so in the search code.  Check that it's a valid string.
  
  Connect the signals to the radio buttons after the pointers have been
  attached to various GUI items - the signal handlers expect some of those
  pointers to be attached, and aren't happy if they're not.
  
  Have "find_packet()" contain a framework for searching, but not contain
  the matching code; instead, pass it a pointer to a matching routine and
  an opaque pointer to be passed to the matching routine.  Have all the
  routines that do different types of searching have their own matching
  routines, and use the common "find_packet()" code, rather than
  duplicating that code.
  
  Search for the Info column by column type, not by name (the user can
  change the name).
  
  When matching on the protocol tree, don't format the entire protocol
  tree into a big buffer - just have a routine that matches the text
  representation of a protocol tree item against a string, and, if it
  finds a match, sets a "we found a match flag" and returns; have that
  routine not bother doing any more work if that flag is set.
  (Unfortunately, you can't abort "g_node_children_foreach()" in the
  middle of a traversal.)
  
  Free the generated display filter code after a find-by-display-filter
  finishes.
  
  Revision  Changes    Path
  1.33      +270 -75   ethereal/gtk/find_dlg.c