As you may know, GimpDialog from libgimpwidgets badly needs an
API change for GIMP 2.0.

The relevant bugzilla entry:

The plan is to just remove our own action_area API and use GtkDialog's
one, which involves making use of the dialog's "response" signal
instead of connecting to each button's "clicked".

The old API is just way too complicated and does things nobody
really needs. The new stuff boils down to one function:

 * gimp_dialog_new:
 * @title:        The dialog's title which will be set with
 *                gtk_window_set_title().
 * @role:         The dialog's @role which will be set with
 *                gtk_window_set_role().
 * @parent:       The @parent widget of this dialog.
 * @flags:        The @flags (see the #GtkDialog documentation).
 * @help_func:    The function which will be called if the user presses "F1".
 * @help_id:      The help_id which will be passed to @help_func.
 * @...:          A %NULL-terminated @va_list destribing the
 *                action_area buttons.
 * Creates a new @GimpDialog widget.
 * This function simply packs the action_area arguments passed in "..."
 * into a @va_list variable and passes everything to gimp_dialog_new_valist().
 * For a description of the format of the @va_list describing the
 * action_area buttons see gtk_dialog_new_with_buttons().
 * Returns: A #GimpDialog.
GtkWidget *
gimp_dialog_new (const gchar    *title,
                 const gchar    *role,
                 GtkWidget      *parent,
                 GtkDialogFlags  flags,
                 GimpHelpFunc    help_func,
                 const gchar    *help_id,

Of course there will be a _valist() variant.

I'll start hacking this today but would like to get some ACKs or EEKs
before I start porting the plug-ins (which have many many GimpDialogs).


Gimp-developer mailing list

Reply via email to