app: bring dialog titles and help IDs to GEGL filter dialogs
Add "title" and "help_id" parameters and members/properties to GimpToolDialog, GimpToolGui, GimpOperationTool. Also make the order of parameters more consistent.
This commit is contained in:
@ -63,8 +63,10 @@ typedef struct _GimpToolGuiPrivate GimpToolGuiPrivate;
|
||||
struct _GimpToolGuiPrivate
|
||||
{
|
||||
GimpToolInfo *tool_info;
|
||||
gchar *title;
|
||||
gchar *description;
|
||||
gchar *icon_name;
|
||||
gchar *help_id;
|
||||
GList *response_entries;
|
||||
gint default_response;
|
||||
gboolean focus_on_map;
|
||||
@ -189,6 +191,12 @@ gimp_tool_gui_finalize (GObject *object)
|
||||
{
|
||||
GimpToolGuiPrivate *private = GET_PRIVATE (object);
|
||||
|
||||
if (private->title)
|
||||
{
|
||||
g_free (private->title);
|
||||
private->title = NULL;
|
||||
}
|
||||
|
||||
if (private->description)
|
||||
{
|
||||
g_free (private->description);
|
||||
@ -201,6 +209,12 @@ gimp_tool_gui_finalize (GObject *object)
|
||||
private->icon_name = NULL;
|
||||
}
|
||||
|
||||
if (private->help_id)
|
||||
{
|
||||
g_free (private->help_id);
|
||||
private->help_id = NULL;
|
||||
}
|
||||
|
||||
if (private->response_entries)
|
||||
{
|
||||
g_list_free_full (private->response_entries,
|
||||
@ -245,7 +259,10 @@ gimp_tool_gui_new (GimpToolInfo *tool_info,
|
||||
private = GET_PRIVATE (gui);
|
||||
|
||||
private->tool_info = g_object_ref (tool_info);
|
||||
private->title = g_strdup (tool_info->blurb);
|
||||
private->description = g_strdup (description);
|
||||
private->icon_name = g_strdup (gimp_viewable_get_icon_name (GIMP_VIEWABLE (tool_info)));
|
||||
private->help_id = g_strdup (tool_info->help_id);
|
||||
private->overlay = overlay;
|
||||
|
||||
va_start (args, overlay);
|
||||
@ -268,6 +285,28 @@ gimp_tool_gui_new (GimpToolInfo *tool_info,
|
||||
return gui;
|
||||
}
|
||||
|
||||
void
|
||||
gimp_tool_gui_set_title (GimpToolGui *gui,
|
||||
const gchar *title)
|
||||
{
|
||||
GimpToolGuiPrivate *private;
|
||||
|
||||
g_return_if_fail (GIMP_IS_TOOL_GUI (gui));
|
||||
|
||||
private = GET_PRIVATE (gui);
|
||||
|
||||
if (title == private->title)
|
||||
return;
|
||||
|
||||
g_free (private->title);
|
||||
private->title = g_strdup (title);
|
||||
|
||||
if (! title)
|
||||
title = private->tool_info->blurb;
|
||||
|
||||
g_object_set (private->dialog, "title", title, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_tool_gui_set_description (GimpToolGui *gui,
|
||||
const gchar *description)
|
||||
@ -319,6 +358,35 @@ gimp_tool_gui_set_icon_name (GimpToolGui *gui,
|
||||
g_object_set (private->dialog, "icon-name", icon_name, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_tool_gui_set_help_id (GimpToolGui *gui,
|
||||
const gchar *help_id)
|
||||
{
|
||||
GimpToolGuiPrivate *private;
|
||||
|
||||
g_return_if_fail (GIMP_IS_TOOL_GUI (gui));
|
||||
|
||||
private = GET_PRIVATE (gui);
|
||||
|
||||
if (help_id == private->help_id)
|
||||
return;
|
||||
|
||||
g_free (private->help_id);
|
||||
private->help_id = g_strdup (help_id);
|
||||
|
||||
if (! help_id)
|
||||
help_id = private->tool_info->help_id;
|
||||
|
||||
if (private->overlay)
|
||||
{
|
||||
/* TODO */
|
||||
}
|
||||
else
|
||||
{
|
||||
g_object_set (private->dialog, "help-id", help_id, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
gimp_tool_gui_set_shell (GimpToolGui *gui,
|
||||
GimpDisplayShell *shell)
|
||||
@ -708,7 +776,10 @@ gimp_tool_gui_create_dialog (GimpToolGui *gui,
|
||||
{
|
||||
private->dialog = gimp_tool_dialog_new (private->tool_info,
|
||||
screen, monitor,
|
||||
private->title,
|
||||
private->description,
|
||||
private->icon_name,
|
||||
private->help_id,
|
||||
NULL);
|
||||
|
||||
for (list = private->response_entries; list; list = g_list_next (list))
|
||||
|
Reference in New Issue
Block a user