mirror of https://github.com/GNOME/gimp.git
app: add GimpProcedure::get_menu_label()
which returns a procedure's *menu* label (not stripped of mnemonics and ellipses). Use it to further reduce dependencies on GimpPlugInProcedure.
This commit is contained in:
parent
1d3bf65934
commit
78f5dbeac3
|
@ -839,16 +839,7 @@ filters_actions_history_changed (Gimp *gimp,
|
|||
|
||||
proc = gimp_filter_history_nth (gimp, i);
|
||||
|
||||
/* FIXME history */
|
||||
if (GIMP_PLUG_IN_PROCEDURE (proc)->menu_label)
|
||||
{
|
||||
label = dgettext (gimp_plug_in_procedure_get_locale_domain (GIMP_PLUG_IN_PROCEDURE (proc)),
|
||||
GIMP_PLUG_IN_PROCEDURE (proc)->menu_label);
|
||||
}
|
||||
else
|
||||
{
|
||||
label = gimp_procedure_get_label (proc);
|
||||
}
|
||||
label = gimp_procedure_get_menu_label (proc);
|
||||
|
||||
/* see comment above */
|
||||
if (plug_in_group)
|
||||
|
|
|
@ -286,17 +286,12 @@ plug_in_actions_add_proc (GimpActionGroup *group,
|
|||
{
|
||||
GimpProcedureActionEntry entry;
|
||||
const gchar *locale_domain;
|
||||
const gchar *label;
|
||||
gchar *path_original = NULL;
|
||||
gchar *path_translated = NULL;
|
||||
|
||||
locale_domain = gimp_plug_in_procedure_get_locale_domain (proc);
|
||||
|
||||
if (proc->menu_label)
|
||||
{
|
||||
label = dgettext (locale_domain, proc->menu_label);
|
||||
}
|
||||
else
|
||||
if (! proc->menu_label)
|
||||
{
|
||||
gchar *p1, *p2;
|
||||
|
||||
|
@ -317,8 +312,6 @@ plug_in_actions_add_proc (GimpActionGroup *group,
|
|||
{
|
||||
*p1 = '\0';
|
||||
*p2 = '\0';
|
||||
|
||||
label = p2 + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -334,17 +327,12 @@ plug_in_actions_add_proc (GimpActionGroup *group,
|
|||
|
||||
entry.name = gimp_object_get_name (proc);
|
||||
entry.icon_name = gimp_viewable_get_icon_name (GIMP_VIEWABLE (proc));
|
||||
entry.label = label;
|
||||
entry.label = gimp_procedure_get_menu_label (GIMP_PROCEDURE (proc));
|
||||
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);
|
||||
|
||||
#if 0
|
||||
g_print ("adding plug-in action '%s' (%s)\n",
|
||||
gimp_object_get_name (proc), label);
|
||||
#endif
|
||||
|
||||
gimp_action_group_add_procedure_actions (group, &entry, 1,
|
||||
G_CALLBACK (plug_in_run_cmd_callback));
|
||||
|
||||
|
|
|
@ -43,33 +43,34 @@
|
|||
#include "gimp-intl.h"
|
||||
|
||||
|
||||
static void gimp_procedure_finalize (GObject *object);
|
||||
static void gimp_procedure_finalize (GObject *object);
|
||||
|
||||
static gint64 gimp_procedure_get_memsize (GimpObject *object,
|
||||
gint64 *gui_size);
|
||||
static gint64 gimp_procedure_get_memsize (GimpObject *object,
|
||||
gint64 *gui_size);
|
||||
|
||||
static const gchar * gimp_procedure_real_get_label (GimpProcedure *procedure);
|
||||
static const gchar * gimp_procedure_real_get_blurb (GimpProcedure *procedure);
|
||||
static GimpValueArray * gimp_procedure_real_execute (GimpProcedure *procedure,
|
||||
Gimp *gimp,
|
||||
GimpContext *context,
|
||||
GimpProgress *progress,
|
||||
GimpValueArray *args,
|
||||
GError **error);
|
||||
static void gimp_procedure_real_execute_async (GimpProcedure *procedure,
|
||||
Gimp *gimp,
|
||||
GimpContext *context,
|
||||
GimpProgress *progress,
|
||||
GimpValueArray *args,
|
||||
GimpObject *display);
|
||||
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 GimpValueArray * gimp_procedure_real_execute (GimpProcedure *procedure,
|
||||
Gimp *gimp,
|
||||
GimpContext *context,
|
||||
GimpProgress *progress,
|
||||
GimpValueArray *args,
|
||||
GError **error);
|
||||
static void gimp_procedure_real_execute_async (GimpProcedure *procedure,
|
||||
Gimp *gimp,
|
||||
GimpContext *context,
|
||||
GimpProgress *progress,
|
||||
GimpValueArray *args,
|
||||
GimpObject *display);
|
||||
|
||||
static void gimp_procedure_free_strings (GimpProcedure *procedure);
|
||||
static gboolean gimp_procedure_validate_args (GimpProcedure *procedure,
|
||||
GParamSpec **param_specs,
|
||||
gint n_param_specs,
|
||||
GimpValueArray *args,
|
||||
gboolean return_vals,
|
||||
GError **error);
|
||||
static void gimp_procedure_free_strings (GimpProcedure *procedure);
|
||||
static gboolean gimp_procedure_validate_args (GimpProcedure *procedure,
|
||||
GParamSpec **param_specs,
|
||||
gint n_param_specs,
|
||||
GimpValueArray *args,
|
||||
gboolean return_vals,
|
||||
GError **error);
|
||||
|
||||
|
||||
G_DEFINE_TYPE (GimpProcedure, gimp_procedure, GIMP_TYPE_VIEWABLE)
|
||||
|
@ -88,6 +89,7 @@ gimp_procedure_class_init (GimpProcedureClass *klass)
|
|||
gimp_object_class->get_memsize = gimp_procedure_get_memsize;
|
||||
|
||||
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->execute = gimp_procedure_real_execute;
|
||||
klass->execute_async = gimp_procedure_real_execute_async;
|
||||
|
@ -167,6 +169,12 @@ gimp_procedure_real_get_label (GimpProcedure *procedure)
|
|||
return gimp_object_get_name (procedure); /* lame fallback */
|
||||
}
|
||||
|
||||
static const gchar *
|
||||
gimp_procedure_real_get_menu_label (GimpProcedure *procedure)
|
||||
{
|
||||
return gimp_procedure_get_label (procedure);
|
||||
}
|
||||
|
||||
static const gchar *
|
||||
gimp_procedure_real_get_blurb (GimpProcedure *procedure)
|
||||
{
|
||||
|
@ -319,6 +327,14 @@ gimp_procedure_get_label (GimpProcedure *procedure)
|
|||
return GIMP_PROCEDURE_GET_CLASS (procedure)->get_label (procedure);
|
||||
}
|
||||
|
||||
const gchar *
|
||||
gimp_procedure_get_menu_label (GimpProcedure *procedure)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_PROCEDURE (procedure), NULL);
|
||||
|
||||
return GIMP_PROCEDURE_GET_CLASS (procedure)->get_menu_label (procedure);
|
||||
}
|
||||
|
||||
const gchar *
|
||||
gimp_procedure_get_blurb (GimpProcedure *procedure)
|
||||
{
|
||||
|
|
|
@ -69,21 +69,22 @@ struct _GimpProcedureClass
|
|||
{
|
||||
GimpViewableClass parent_class;
|
||||
|
||||
const gchar * (* get_label) (GimpProcedure *procedure);
|
||||
const gchar * (* get_blurb) (GimpProcedure *procedure);
|
||||
const gchar * (* get_label) (GimpProcedure *procedure);
|
||||
const gchar * (* get_menu_label) (GimpProcedure *procedure);
|
||||
const gchar * (* get_blurb) (GimpProcedure *procedure);
|
||||
|
||||
GimpValueArray * (* execute) (GimpProcedure *procedure,
|
||||
Gimp *gimp,
|
||||
GimpContext *context,
|
||||
GimpProgress *progress,
|
||||
GimpValueArray *args,
|
||||
GError **error);
|
||||
void (* execute_async) (GimpProcedure *procedure,
|
||||
Gimp *gimp,
|
||||
GimpContext *context,
|
||||
GimpProgress *progress,
|
||||
GimpValueArray *args,
|
||||
GimpObject *display);
|
||||
GimpValueArray * (* execute) (GimpProcedure *procedure,
|
||||
Gimp *gimp,
|
||||
GimpContext *context,
|
||||
GimpProgress *progress,
|
||||
GimpValueArray *args,
|
||||
GError **error);
|
||||
void (* execute_async) (GimpProcedure *procedure,
|
||||
Gimp *gimp,
|
||||
GimpContext *context,
|
||||
GimpProgress *progress,
|
||||
GimpValueArray *args,
|
||||
GimpObject *display);
|
||||
};
|
||||
|
||||
|
||||
|
@ -117,6 +118,7 @@ void gimp_procedure_take_strings (GimpProcedure *procedure,
|
|||
gchar *deprecated);
|
||||
|
||||
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);
|
||||
|
||||
void gimp_procedure_add_argument (GimpProcedure *procedure,
|
||||
|
|
|
@ -61,8 +61,10 @@ static gint64 gimp_plug_in_procedure_get_memsize (GimpObject *object,
|
|||
static gchar * gimp_plug_in_procedure_get_description (GimpViewable *viewable,
|
||||
gchar **tooltip);
|
||||
|
||||
static const gchar * gimp_plug_in_procedure_get_label (GimpProcedure *procedure);
|
||||
static const gchar * gimp_plug_in_procedure_get_blurb (GimpProcedure *procedure);
|
||||
static const gchar * gimp_plug_in_procedure_get_label (GimpProcedure *procedure);
|
||||
static const gchar * gimp_plug_in_procedure_get_menu_label
|
||||
(GimpProcedure *procedure);
|
||||
static const gchar * gimp_plug_in_procedure_get_blurb (GimpProcedure *procedure);
|
||||
static GimpValueArray * gimp_plug_in_procedure_execute (GimpProcedure *procedure,
|
||||
Gimp *gimp,
|
||||
GimpContext *context,
|
||||
|
@ -113,6 +115,7 @@ gimp_plug_in_procedure_class_init (GimpPlugInProcedureClass *klass)
|
|||
viewable_class->get_description = gimp_plug_in_procedure_get_description;
|
||||
|
||||
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->execute = gimp_plug_in_procedure_execute;
|
||||
proc_class->execute_async = gimp_plug_in_procedure_execute_async;
|
||||
|
@ -260,6 +263,32 @@ gimp_plug_in_procedure_get_label (GimpProcedure *procedure)
|
|||
return proc->label;
|
||||
}
|
||||
|
||||
static const gchar *
|
||||
gimp_plug_in_procedure_get_menu_label (GimpProcedure *procedure)
|
||||
{
|
||||
GimpPlugInProcedure *proc = GIMP_PLUG_IN_PROCEDURE (procedure);
|
||||
|
||||
if (proc->menu_label)
|
||||
{
|
||||
return dgettext (gimp_plug_in_procedure_get_locale_domain (proc),
|
||||
proc->menu_label);
|
||||
}
|
||||
else if (proc->menu_paths)
|
||||
{
|
||||
const gchar *translated;
|
||||
|
||||
translated = dgettext (gimp_plug_in_procedure_get_locale_domain (proc),
|
||||
proc->menu_paths->data);
|
||||
|
||||
translated = strrchr (translated, '/');
|
||||
|
||||
if (translated)
|
||||
return translated + 1;
|
||||
}
|
||||
|
||||
return GIMP_PROCEDURE_CLASS (parent_class)->get_menu_label (procedure);
|
||||
}
|
||||
|
||||
static const gchar *
|
||||
gimp_plug_in_procedure_get_blurb (GimpProcedure *procedure)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue