summaryrefslogtreecommitdiff
path: root/src/msg.c
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2012-09-18 22:51:08 +0200
committerMatthias Clasen <mclasen@redhat.com>2012-09-25 18:46:33 -0400
commitbbcb2a3783de925b93707b8e76110ec9ebaed552 (patch)
tree1dab6b65841e1e94a6fceec2810fa486b893970d /src/msg.c
parent0628bd3291aad936b6b553366600590cca360bfa (diff)
msg: Add an option to set a custom dialog icon
The predefined dialog icons work well in many cases, but sometimes it makes sense to use a more specific icon, so add an option to specify an icon-name to use instead. https://bugzilla.gnome.org/show_bug.cgi?id=684329
Diffstat (limited to 'src/msg.c')
-rw-r--r--src/msg.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/msg.c b/src/msg.c
index 505f961..229f0ce 100644
--- a/src/msg.c
+++ b/src/msg.c
@@ -58,12 +58,14 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data)
GtkWidget *dialog;
GtkWidget *ok_button;
GObject *text;
+ GObject *image;
switch (msg_data->mode) {
case ZENITY_MSG_WARNING:
builder = zenity_util_load_ui_file ("zenity_warning_dialog", NULL);
dialog = GTK_WIDGET (gtk_builder_get_object (builder, "zenity_warning_dialog"));
text = gtk_builder_get_object (builder, "zenity_warning_text");
+ image = gtk_builder_get_object (builder, "zenity_warning_image");
ok_button = GTK_WIDGET (gtk_builder_get_object (builder, "zenity_warning_ok_button"));
break;
@@ -71,6 +73,7 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data)
builder = zenity_util_load_ui_file ("zenity_question_dialog", NULL);
dialog = GTK_WIDGET (gtk_builder_get_object (builder, "zenity_question_dialog"));
text = gtk_builder_get_object (builder, "zenity_question_text");
+ image = gtk_builder_get_object (builder, "zenity_question_image");
ok_button = NULL;
break;
@@ -78,6 +81,7 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data)
builder = zenity_util_load_ui_file ("zenity_error_dialog", NULL);
dialog = GTK_WIDGET (gtk_builder_get_object (builder, "zenity_error_dialog"));
text = gtk_builder_get_object (builder, "zenity_error_text");
+ image = gtk_builder_get_object (builder, "zenity_error_image");
ok_button = GTK_WIDGET (gtk_builder_get_object (builder, "zenity_error_ok_button"));
break;
@@ -85,6 +89,7 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data)
builder = zenity_util_load_ui_file ("zenity_info_dialog", NULL);
dialog = GTK_WIDGET (gtk_builder_get_object (builder, "zenity_info_dialog"));
text = gtk_builder_get_object (builder, "zenity_info_text");
+ image = gtk_builder_get_object (builder, "zenity_info_image");
ok_button = GTK_WIDGET (gtk_builder_get_object (builder, "zenity_info_ok_button"));
break;
@@ -92,6 +97,7 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data)
builder = NULL;
dialog = NULL;
text = NULL;
+ image = NULL;
ok_button = NULL;
g_assert_not_reached ();
break;
@@ -152,6 +158,9 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data)
else
gtk_label_set_markup (GTK_LABEL (text), g_strcompress (msg_data->dialog_text));
}
+
+ if (msg_data->dialog_icon)
+ gtk_image_set_from_icon_name (GTK_IMAGE (image), msg_data->dialog_icon, GTK_ICON_SIZE_DIALOG);
if (msg_data->no_wrap)
gtk_label_set_line_wrap (GTK_LABEL (text), FALSE);