forked from AuroraMiddleware/gtk
modelbutton: Set up tooltips
Use the text of iconic model buttons as tooltip. Fixes: #5220
This commit is contained in:
parent
af0e056eec
commit
55ccaf9df9
@ -640,6 +640,22 @@ update_visibility (GtkModelButton *self)
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
update_tooltip (GtkModelButton *self)
|
||||
{
|
||||
if (self->iconic)
|
||||
{
|
||||
if (gtk_label_get_use_markup (GTK_LABEL (self->label)))
|
||||
gtk_widget_set_tooltip_markup (GTK_WIDGET (self), gtk_label_get_text (GTK_LABEL (self->label)));
|
||||
else
|
||||
gtk_widget_set_tooltip_text (GTK_WIDGET (self), gtk_label_get_text (GTK_LABEL (self->label)));
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_set_tooltip_text (GTK_WIDGET (self), NULL);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_model_button_set_icon (GtkModelButton *self,
|
||||
GIcon *icon)
|
||||
@ -662,6 +678,8 @@ gtk_model_button_set_icon (GtkModelButton *self,
|
||||
}
|
||||
|
||||
update_visibility (self);
|
||||
update_tooltip (self);
|
||||
|
||||
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_ICON]);
|
||||
}
|
||||
|
||||
@ -669,9 +687,9 @@ static void
|
||||
gtk_model_button_set_text (GtkModelButton *button,
|
||||
const char *text)
|
||||
{
|
||||
gtk_label_set_text_with_mnemonic (GTK_LABEL (button->label),
|
||||
text ? text : "");
|
||||
gtk_label_set_text_with_mnemonic (GTK_LABEL (button->label), text ? text : "");
|
||||
update_visibility (button);
|
||||
update_tooltip (button);
|
||||
|
||||
gtk_accessible_update_relation (GTK_ACCESSIBLE (button),
|
||||
GTK_ACCESSIBLE_RELATION_LABELLED_BY, button->label, NULL,
|
||||
@ -690,6 +708,8 @@ gtk_model_button_set_use_markup (GtkModelButton *button,
|
||||
|
||||
gtk_label_set_use_markup (GTK_LABEL (button->label), use_markup);
|
||||
update_visibility (button);
|
||||
update_tooltip (button);
|
||||
|
||||
g_object_notify_by_pspec (G_OBJECT (button), properties[PROP_USE_MARKUP]);
|
||||
}
|
||||
|
||||
@ -769,6 +789,7 @@ gtk_model_button_set_iconic (GtkModelButton *self,
|
||||
|
||||
update_node_name (self);
|
||||
update_visibility (self);
|
||||
update_tooltip (self);
|
||||
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_ICONIC]);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user