mirror of https://github.com/GNOME/gimp.git
app: append insensitive reason to GimpAction proxy tooltip.
With my previous commit, I improved the search action display and search algorithm (which was returning wrong results), but we had lost showing the non-sensitive reason in menu item tooltips. This fixes it, by actually appending the reason, but only in the end, on the GtkWidget tooltip (not in the action's tooltip itself).
This commit is contained in:
parent
811d356953
commit
13a02aea23
|
@ -399,12 +399,30 @@ static void
|
|||
gimp_action_set_proxy_tooltip (GimpAction *action,
|
||||
GtkWidget *proxy)
|
||||
{
|
||||
const gchar *tooltip = gimp_action_get_tooltip (action);
|
||||
const gchar *tooltip;
|
||||
const gchar *reason = NULL;
|
||||
gchar *escaped_reason = NULL;
|
||||
gchar *markup;
|
||||
|
||||
if (tooltip)
|
||||
gimp_help_set_help_data (proxy, tooltip,
|
||||
tooltip = gimp_action_get_tooltip (action);
|
||||
|
||||
gimp_action_get_sensitive (action, &reason);
|
||||
if (reason)
|
||||
escaped_reason = g_markup_escape_text (reason, -1);
|
||||
|
||||
markup = g_strdup_printf ("%s%s" /* Action tooltip */
|
||||
"<i><span weight='light'>%s</span></i>", /* Inactive reason */
|
||||
tooltip,
|
||||
escaped_reason && tooltip ? "\n" : "",
|
||||
escaped_reason);
|
||||
|
||||
if (tooltip || escaped_reason)
|
||||
gimp_help_set_help_data_with_markup (proxy, markup,
|
||||
g_object_get_qdata (G_OBJECT (proxy),
|
||||
GIMP_HELP_ID));
|
||||
|
||||
g_free (escaped_reason);
|
||||
g_free (markup);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue