Wireshark-dev: Re: [Wireshark-dev] Issues with most usage of GtkFileChooserDialog ?
Bill Meier wrote:
Packing a GtkFileChooserWidget into a standard dialog window along with
OK/Cancel buttons & etc, should, I believe, allow Wireshark to handle
the dialog window containing the file chooser just like it handles any
other dialog window (and the way the GtkFileSelection window was handled):
connect callbacks to the OK/Cancel buttons & etc.
Bill Meier also wrote (in another EMail)
> I realized that I was doing as much editing as it would take to just
> write a file_chooser version of file_selection and use that instead.
>
> The file_chooser version would just put a GtkFGileChooserWidget in a
> normal Wireshark dialog window (as discussed previously).
>
> I've done a prototype version of such a file_chooser() and it worked
> AOK; I just about have a working production version.
Upodate
-------
1. The "production version" of a new file_chooser using
GtkFileChooserWidget as described above didn't actually work as
well as I would have liked so I've scrapped it for now.
2. I've committed changes to all but one of the files which use
gtk_file_chooser_dialog (either directly or via file_selection).
I've also queued the changes up for Wireshark 1.2.
These changes mostly fix the issue of leaving a "dead" file_chooser
dialog window open if a file open/read/write error occurs on the
OK/Save or if a directory name is explicitly entered.
(iax2 and rtp_analysis changes are more extensive).
The remaining file: capture_file_dlg.c:
a. There's a number of places in the code which would would need
changes/testing/etc.
b. File open/read/write errors are mostly handled correctly;
(I'm not sure but file merge might leave a dead dialog
window if a file error occurs).
So: I'll leave capture_file_dlg.c well enough alone given that
whatever issues exist in capture_file_dlg.c related to the
use of the file chooser widget are relatively minor and have
been there for some time.
3. I do have a "Plan B" for a file_chooser() replacement for
file_selection(); I'll implement it and we'll see how it goes...
Bill