Stephen Fisher wrote:
> I'm not that familiar with the differences between the two other than 
> what the GTK docs say:
> 
> GtkFileChooserDialog - A file chooser dialog, suitable for "File/Open" 
> or "File/Save" commands
> 
> GtkFileChooserWidget - File chooser widget that can be embedded in other 
> widgets
> 
> So would you be creating a dialog and packing with a 
> GtkFileChooserWidget and widgets for the other options on the window?  
> Is that different then from extending the GtkFileChooserDialog (which is 
> what I assume we do now).
> 
Yes: with GtkFileChooserDialog you have to use gtk_dialog_run after 
setting up the file chooser window. gtk_dialog_handles waiting for the
chooser dialog OK/Cancel buttons to be hit; it's essentially a 
mini-event loop handling only events from the file-chooser.

A typical (condensed) current Wireshark sequence using 
GtkFileChooserDialog is:

    <set up file chooser dialog window>
    signal_connect(....,"delete-event",...)
    signal_connect(....,"destroy",...)
    if (gtk_dialog_run(chooser_window) == ACCEPT) {
        <do_OK_cb>
    else
         <delete/destroy window)
    return


If <accept action> is something like:

    if <error>
        alert_box
        return
    <do action>
    <delete/destroy window>
    <return>

then an error will return leaving the chooser window displayed but with 
no "mini-event loop" (gtk_dialog_run) running and thus a "dead window" 
(for the OK/Cancel buttons).

------------

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
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to