[gimp] app: add new virtual function GimpProcedure::get_help_id()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: add new virtual function GimpProcedure::get_help_id()
- Date: Sun, 17 Jan 2016 16:16:40 +0000 (UTC)
commit 7c0d7c6311f59c36e1bce16e4294f220d590fb52
Author: Michael Natterer <mitch gimp org>
Date: Sun Jan 17 17:15:27 2016 +0100
app: add new virtual function GimpProcedure::get_help_id()
Implement the new function in GimpPlugInProcedure and remove
gimp_plug_in_procedure_get_help_id().
app/actions/plug-in-actions.c | 4 +--
app/pdb/gimpprocedure.c | 16 +++++++++++++++
app/pdb/gimpprocedure.h | 2 +
app/plug-in/gimppluginprocedure.c | 38 +++++++++++++++++++++---------------
app/plug-in/gimppluginprocedure.h | 3 +-
app/widgets/gimpfileprocview.c | 4 +--
6 files changed, 43 insertions(+), 24 deletions(-)
---
diff --git a/app/actions/plug-in-actions.c b/app/actions/plug-in-actions.c
index e7d5f74..ced328f 100644
--- a/app/actions/plug-in-actions.c
+++ b/app/actions/plug-in-actions.c
@@ -332,13 +332,11 @@ plug_in_actions_add_proc (GimpActionGroup *group,
entry.accelerator = NULL;
entry.tooltip = gimp_procedure_get_blurb (GIMP_PROCEDURE (proc));
entry.procedure = GIMP_PROCEDURE (proc);
- entry.help_id = gimp_plug_in_procedure_get_help_id (proc);
+ entry.help_id = gimp_procedure_get_help_id (GIMP_PROCEDURE (proc));
gimp_action_group_add_procedure_actions (group, &entry, 1,
G_CALLBACK (plug_in_run_cmd_callback));
- g_free ((gchar *) entry.help_id);
-
if (proc->menu_label)
{
GList *list;
diff --git a/app/pdb/gimpprocedure.c b/app/pdb/gimpprocedure.c
index 9c041cc..a4e0a36 100644
--- a/app/pdb/gimpprocedure.c
+++ b/app/pdb/gimpprocedure.c
@@ -51,6 +51,7 @@ static gint64 gimp_procedure_get_memsize (GimpObject *object
static const gchar * gimp_procedure_real_get_label (GimpProcedure *procedure);
static const gchar * gimp_procedure_real_get_menu_label (GimpProcedure *procedure);
static const gchar * gimp_procedure_real_get_blurb (GimpProcedure *procedure);
+static const gchar * gimp_procedure_real_get_help_id (GimpProcedure *procedure);
static gboolean gimp_procedure_real_get_sensitive (GimpProcedure *procedure,
GimpObject *object);
static GimpValueArray * gimp_procedure_real_execute (GimpProcedure *procedure,
@@ -93,6 +94,7 @@ gimp_procedure_class_init (GimpProcedureClass *klass)
klass->get_label = gimp_procedure_real_get_label;
klass->get_menu_label = gimp_procedure_real_get_menu_label;
klass->get_blurb = gimp_procedure_real_get_blurb;
+ klass->get_help_id = gimp_procedure_real_get_help_id;
klass->get_sensitive = gimp_procedure_real_get_sensitive;
klass->execute = gimp_procedure_real_execute;
klass->execute_async = gimp_procedure_real_execute_async;
@@ -184,6 +186,12 @@ gimp_procedure_real_get_blurb (GimpProcedure *procedure)
return procedure->blurb;
}
+static const gchar *
+gimp_procedure_real_get_help_id (GimpProcedure *procedure)
+{
+ return NULL;
+}
+
static gboolean
gimp_procedure_real_get_sensitive (GimpProcedure *procedure,
GimpObject *object)
@@ -353,6 +361,14 @@ gimp_procedure_get_blurb (GimpProcedure *procedure)
return GIMP_PROCEDURE_GET_CLASS (procedure)->get_blurb (procedure);
}
+const gchar *
+gimp_procedure_get_help_id (GimpProcedure *procedure)
+{
+ g_return_val_if_fail (GIMP_IS_PROCEDURE (procedure), NULL);
+
+ return GIMP_PROCEDURE_GET_CLASS (procedure)->get_help_id (procedure);
+}
+
gboolean
gimp_procedure_get_sensitive (GimpProcedure *procedure,
GimpObject *object)
diff --git a/app/pdb/gimpprocedure.h b/app/pdb/gimpprocedure.h
index 948386e..a7f5bbb 100644
--- a/app/pdb/gimpprocedure.h
+++ b/app/pdb/gimpprocedure.h
@@ -72,6 +72,7 @@ struct _GimpProcedureClass
const gchar * (* get_label) (GimpProcedure *procedure);
const gchar * (* get_menu_label) (GimpProcedure *procedure);
const gchar * (* get_blurb) (GimpProcedure *procedure);
+ const gchar * (* get_help_id) (GimpProcedure *procedure);
gboolean (* get_sensitive) (GimpProcedure *procedure,
GimpObject *object);
@@ -122,6 +123,7 @@ void gimp_procedure_take_strings (GimpProcedure *procedure,
const gchar * gimp_procedure_get_label (GimpProcedure *procedure);
const gchar * gimp_procedure_get_menu_label (GimpProcedure *procedure);
const gchar * gimp_procedure_get_blurb (GimpProcedure *procedure);
+const gchar * gimp_procedure_get_help_id (GimpProcedure *procedure);
gboolean gimp_procedure_get_sensitive (GimpProcedure *procedure,
GimpObject *object);
diff --git a/app/plug-in/gimppluginprocedure.c b/app/plug-in/gimppluginprocedure.c
index 52829d3..da7886d 100644
--- a/app/plug-in/gimppluginprocedure.c
+++ b/app/plug-in/gimppluginprocedure.c
@@ -67,6 +67,7 @@ static const gchar * gimp_plug_in_procedure_get_label (GimpProcedure *procedur
static const gchar * gimp_plug_in_procedure_get_menu_label
(GimpProcedure *procedure);
static const gchar * gimp_plug_in_procedure_get_blurb (GimpProcedure *procedure);
+static const gchar * gimp_plug_in_procedure_get_help_id(GimpProcedure *procedure);
static gboolean gimp_plug_in_procedure_get_sensitive (GimpProcedure *procedure,
GimpObject *object);
static GimpValueArray * gimp_plug_in_procedure_execute (GimpProcedure *procedure,
@@ -126,6 +127,7 @@ gimp_plug_in_procedure_class_init (GimpPlugInProcedureClass *klass)
proc_class->get_label = gimp_plug_in_procedure_get_label;
proc_class->get_menu_label = gimp_plug_in_procedure_get_menu_label;
proc_class->get_blurb = gimp_plug_in_procedure_get_blurb;
+ proc_class->get_help_id = gimp_plug_in_procedure_get_help_id;
proc_class->get_sensitive = gimp_plug_in_procedure_get_sensitive;
proc_class->execute = gimp_plug_in_procedure_execute;
proc_class->execute_async = gimp_plug_in_procedure_execute_async;
@@ -139,7 +141,6 @@ gimp_plug_in_procedure_init (GimpPlugInProcedure *proc)
{
GIMP_PROCEDURE (proc)->proc_type = GIMP_PLUGIN;
- proc->label = NULL;
proc->icon_data_length = -1;
}
@@ -154,6 +155,7 @@ gimp_plug_in_procedure_finalize (GObject *object)
g_list_free_full (proc->menu_paths, (GDestroyNotify) g_free);
g_free (proc->label);
+ g_free (proc->help_id);
g_free (proc->icon_data);
g_free (proc->image_types);
@@ -312,6 +314,25 @@ gimp_plug_in_procedure_get_blurb (GimpProcedure *procedure)
return NULL;
}
+static const gchar *
+gimp_plug_in_procedure_get_help_id (GimpProcedure *procedure)
+{
+ GimpPlugInProcedure *proc = GIMP_PLUG_IN_PROCEDURE (procedure);
+ const gchar *domain;
+
+ if (proc->help_id)
+ return proc->help_id;
+
+ domain = gimp_plug_in_procedure_get_help_domain (proc);
+
+ if (domain)
+ proc->help_id = g_strconcat (domain, "?", gimp_object_get_name (proc), NULL);
+ else
+ proc->help_id = g_strdup (gimp_object_get_name (proc));
+
+ return proc->help_id;
+}
+
static gboolean
gimp_plug_in_procedure_get_sensitive (GimpProcedure *procedure,
GimpObject *object)
@@ -861,21 +882,6 @@ gimp_plug_in_procedure_take_icon (GimpPlugInProcedure *proc,
g_object_unref (icon_pixbuf);
}
-gchar *
-gimp_plug_in_procedure_get_help_id (const GimpPlugInProcedure *proc)
-{
- const gchar *domain;
-
- g_return_val_if_fail (GIMP_IS_PLUG_IN_PROCEDURE (proc), NULL);
-
- domain = gimp_plug_in_procedure_get_help_domain (proc);
-
- if (domain)
- return g_strconcat (domain, "?", gimp_object_get_name (proc), NULL);
-
- return g_strdup (gimp_object_get_name (proc));
-}
-
static GimpPlugInImageType
image_types_parse (const gchar *name,
const gchar *image_types)
diff --git a/app/plug-in/gimppluginprocedure.h b/app/plug-in/gimppluginprocedure.h
index aa2ec3b..c2187e9 100644
--- a/app/plug-in/gimppluginprocedure.h
+++ b/app/plug-in/gimppluginprocedure.h
@@ -45,6 +45,7 @@ struct _GimpPlugInProcedure
gchar *menu_label;
GList *menu_paths;
gchar *label;
+ gchar *help_id;
GimpIconType icon_type;
gint icon_data_length;
guint8 *icon_data;
@@ -110,8 +111,6 @@ void gimp_plug_in_procedure_take_icon (GimpPlugInProcedure
guint8 *data,
gint data_length);
-gchar * gimp_plug_in_procedure_get_help_id (const GimpPlugInProcedure *proc);
-
void gimp_plug_in_procedure_set_image_types (GimpPlugInProcedure *proc,
const gchar *image_types);
void gimp_plug_in_procedure_set_file_proc (GimpPlugInProcedure *proc,
diff --git a/app/widgets/gimpfileprocview.c b/app/widgets/gimpfileprocview.c
index f720f8c..3fbae4c 100644
--- a/app/widgets/gimpfileprocview.c
+++ b/app/widgets/gimpfileprocview.c
@@ -139,7 +139,7 @@ gimp_file_proc_view_new (Gimp *gimp,
if (! proc->prefixes_list) /* skip URL loaders */
{
const gchar *label = gimp_procedure_get_label (GIMP_PROCEDURE (proc));
- gchar *help_id = gimp_plug_in_procedure_get_help_id (proc);
+ const gchar *help_id = gimp_procedure_get_help_id (GIMP_PROCEDURE (proc));
GSList *list2;
if (label)
@@ -153,8 +153,6 @@ gimp_file_proc_view_new (Gimp *gimp,
-1);
}
- g_free (help_id);
-
for (list2 = proc->extensions_list;
list2;
list2 = g_slist_next (list2))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]