[gimp] app: add gimp_tool_info_get_action_name()
- From: Ell <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: add gimp_tool_info_get_action_name()
- Date: Thu, 30 Jan 2020 00:57:58 +0000 (UTC)
commit ffe4f8a06881d42618bba2487c6765f6e7043a0e
Author: Ell <ell_se yahoo com>
Date: Wed Jan 29 21:49:12 2020 +0200
app: add gimp_tool_info_get_action_name()
Move the logic for translating a tool identifier to a corresponding
action name to GimpToolInfo. It's currently only used in
tools-actions.c, but the next commits will use it in tool buttons.
app/actions/tools-actions.c | 9 ++-------
app/core/gimptoolinfo.c | 24 ++++++++++++++++++++++++
app/core/gimptoolinfo.h | 2 ++
3 files changed, 28 insertions(+), 7 deletions(-)
---
diff --git a/app/actions/tools-actions.c b/app/actions/tools-actions.c
index dab98a48eb..0d627a1243 100644
--- a/app/actions/tools-actions.c
+++ b/app/actions/tools-actions.c
@@ -768,19 +768,14 @@ tools_actions_setup (GimpActionGroup *group)
if (tool_info->menu_label)
{
GimpStringActionEntry entry;
+ gchar *name;
const gchar *icon_name;
const gchar *identifier;
- gchar *tmp;
- gchar *name;
+ name = gimp_tool_info_get_action_name (tool_info);
icon_name = gimp_viewable_get_icon_name (GIMP_VIEWABLE (tool_info));
identifier = gimp_object_get_name (tool_info);
- tmp = g_strndup (identifier + strlen ("gimp-"),
- strlen (identifier) - strlen ("gimp--tool"));
- name = g_strdup_printf ("tools-%s", tmp);
- g_free (tmp);
-
entry.name = name;
entry.icon_name = icon_name;
entry.label = tool_info->menu_label;
diff --git a/app/core/gimptoolinfo.c b/app/core/gimptoolinfo.c
index b6531f70f5..34d93c3b8b 100644
--- a/app/core/gimptoolinfo.c
+++ b/app/core/gimptoolinfo.c
@@ -220,6 +220,30 @@ gimp_tool_info_get_standard (Gimp *gimp)
return gimp->standard_tool_info;
}
+gchar *
+gimp_tool_info_get_action_name (GimpToolInfo *tool_info)
+{
+ const gchar *identifier;
+ gchar *tmp;
+ gchar *name;
+
+ g_return_val_if_fail (GIMP_IS_TOOL_INFO (tool_info), NULL);
+
+ identifier = gimp_object_get_name (GIMP_OBJECT (tool_info));
+
+ g_return_val_if_fail (g_str_has_prefix (identifier, "gimp-"), NULL);
+ g_return_val_if_fail (g_str_has_suffix (identifier, "-tool"), NULL);
+
+ tmp = g_strndup (identifier + strlen ("gimp-"),
+ strlen (identifier) - strlen ("gimp--tool"));
+
+ name = g_strdup_printf ("tools-%s", tmp);
+
+ g_free (tmp);
+
+ return name;
+}
+
GFile *
gimp_tool_info_get_options_file (GimpToolInfo *tool_info,
const gchar *suffix)
diff --git a/app/core/gimptoolinfo.h b/app/core/gimptoolinfo.h
index 2b3f73098e..0d54fc3486 100644
--- a/app/core/gimptoolinfo.h
+++ b/app/core/gimptoolinfo.h
@@ -85,6 +85,8 @@ void gimp_tool_info_set_standard (Gimp *gimp,
GimpToolInfo *tool_info);
GimpToolInfo * gimp_tool_info_get_standard (Gimp *gimp);
+gchar * gimp_tool_info_get_action_name (GimpToolInfo *tool_info);
+
GFile * gimp_tool_info_get_options_file (GimpToolInfo *tool_info,
const gchar *suffix);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]