app: make GimpOverlayDialog's title and icon-name settable after construction
This commit is contained in:
@ -281,7 +281,7 @@ gimp_tool_gui_set_description (GimpToolGui *gui,
|
|||||||
|
|
||||||
if (private->overlay)
|
if (private->overlay)
|
||||||
{
|
{
|
||||||
/* TODO */
|
g_object_set (private->dialog, "title", description, NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -308,14 +308,7 @@ gimp_tool_gui_set_icon_name (GimpToolGui *gui,
|
|||||||
if (! icon_name)
|
if (! icon_name)
|
||||||
icon_name = gimp_viewable_get_icon_name (GIMP_VIEWABLE (private->tool_info));
|
icon_name = gimp_viewable_get_icon_name (GIMP_VIEWABLE (private->tool_info));
|
||||||
|
|
||||||
if (private->overlay)
|
g_object_set (private->dialog, "icon-name", icon_name, NULL);
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
g_object_set (private->dialog, "icon-name", icon_name, NULL);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -119,14 +119,14 @@ gimp_overlay_dialog_class_init (GimpOverlayDialogClass *klass)
|
|||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
NULL,
|
NULL,
|
||||||
GIMP_PARAM_READWRITE |
|
GIMP_PARAM_READWRITE |
|
||||||
G_PARAM_CONSTRUCT_ONLY));
|
G_PARAM_CONSTRUCT));
|
||||||
|
|
||||||
g_object_class_install_property (object_class, PROP_ICON_NAME,
|
g_object_class_install_property (object_class, PROP_ICON_NAME,
|
||||||
g_param_spec_string ("icon-name",
|
g_param_spec_string ("icon-name",
|
||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
NULL,
|
NULL,
|
||||||
GIMP_PARAM_READWRITE |
|
GIMP_PARAM_READWRITE |
|
||||||
G_PARAM_CONSTRUCT_ONLY));
|
G_PARAM_CONSTRUCT));
|
||||||
|
|
||||||
signals[RESPONSE] =
|
signals[RESPONSE] =
|
||||||
g_signal_new ("response",
|
g_signal_new ("response",
|
||||||
@ -175,11 +175,12 @@ gimp_overlay_dialog_constructed (GObject *object)
|
|||||||
|
|
||||||
G_OBJECT_CLASS (parent_class)->constructed (object);
|
G_OBJECT_CLASS (parent_class)->constructed (object);
|
||||||
|
|
||||||
image = gtk_image_new_from_icon_name (dialog->icon_name, GTK_ICON_SIZE_MENU);
|
dialog->icon_image = image = gtk_image_new_from_icon_name (dialog->icon_name,
|
||||||
|
GTK_ICON_SIZE_MENU);
|
||||||
gtk_box_pack_start (GTK_BOX (dialog->header), image, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (dialog->header), image, FALSE, FALSE, 0);
|
||||||
gtk_widget_show (image);
|
gtk_widget_show (image);
|
||||||
|
|
||||||
label = gtk_label_new (dialog->title);
|
dialog->title_label = label = gtk_label_new (dialog->title);
|
||||||
gimp_label_set_attributes (GTK_LABEL (label),
|
gimp_label_set_attributes (GTK_LABEL (label),
|
||||||
PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD,
|
PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD,
|
||||||
-1);
|
-1);
|
||||||
@ -254,11 +255,18 @@ gimp_overlay_dialog_set_property (GObject *object,
|
|||||||
switch (property_id)
|
switch (property_id)
|
||||||
{
|
{
|
||||||
case PROP_TITLE:
|
case PROP_TITLE:
|
||||||
|
g_free (dialog->title);
|
||||||
dialog->title = g_value_dup_string (value);
|
dialog->title = g_value_dup_string (value);
|
||||||
|
if (dialog->title_label)
|
||||||
|
gtk_label_set_text (GTK_LABEL (dialog->title_label), dialog->title);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_ICON_NAME:
|
case PROP_ICON_NAME:
|
||||||
|
g_free (dialog->icon_name);
|
||||||
dialog->icon_name = g_value_dup_string (value);
|
dialog->icon_name = g_value_dup_string (value);
|
||||||
|
if (dialog->icon_image)
|
||||||
|
gtk_image_set_from_icon_name (GTK_IMAGE (dialog->icon_image),
|
||||||
|
dialog->icon_name, GTK_ICON_SIZE_MENU);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -44,6 +44,8 @@ struct _GimpOverlayDialog
|
|||||||
gchar *icon_name;
|
gchar *icon_name;
|
||||||
|
|
||||||
GtkWidget *header;
|
GtkWidget *header;
|
||||||
|
GtkWidget *icon_image;
|
||||||
|
GtkWidget *title_label;
|
||||||
GtkWidget *close_button;
|
GtkWidget *close_button;
|
||||||
GtkWidget *action_area;
|
GtkWidget *action_area;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user