diff --git a/gtk/gtkmessagedialog.c b/gtk/gtkmessagedialog.c
index fb0374ce91..e1180a1be6 100644
--- a/gtk/gtkmessagedialog.c
+++ b/gtk/gtkmessagedialog.c
@@ -44,8 +44,7 @@
* @Title: GtkMessageDialog
* @See_also:#GtkDialog
*
- * #GtkMessageDialog presents a dialog with an image representing the type of
- * message (Error, Question, etc.) alongside some message text. It’s simply a
+ * #GtkMessageDialog presents a dialog with some message text. It’s simply a
* convenience widget; you could construct the equivalent of #GtkMessageDialog
* from #GtkDialog without too much effort, but #GtkMessageDialog saves typing.
*
@@ -170,8 +169,8 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("message-border",
- P_("Image/label border"),
- P_("Width of border around the label and image in the message dialog"),
+ P_("label border"),
+ P_("Width of border around the label in the message dialog"),
0,
G_MAXINT,
12,
@@ -180,9 +179,7 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
/**
* GtkMessageDialog:message-type:
*
- * The type of the message. The type is used to determine
- * the image that is shown in the dialog, unless the image is
- * explicitly set by the ::image property.
+ * The type of the message.
*/
g_object_class_install_property (gobject_class,
PROP_MESSAGE_TYPE,
@@ -266,10 +263,11 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
/**
* GtkMessageDialog:image:
- *
+ *
* The image for this dialog.
*
* Since: 2.10
+ * Deprecated: 3.12: Use #GtkDialog to create dialogs with images
*/
g_object_class_install_property (gobject_class,
PROP_IMAGE,
@@ -277,7 +275,7 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
P_("Image"),
P_("The image"),
GTK_TYPE_WIDGET,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_DEPRECATED));
/**
* GtkMessageDialog:message-area:
@@ -298,7 +296,6 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
/* Setup Composite data */
gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/ui/gtkmessagedialog.ui");
- gtk_widget_class_bind_template_child_private (widget_class, GtkMessageDialog, image);
gtk_widget_class_bind_template_child_private (widget_class, GtkMessageDialog, label);
gtk_widget_class_bind_template_child_private (widget_class, GtkMessageDialog, secondary_label);
gtk_widget_class_bind_template_child_internal_private (widget_class, GtkMessageDialog, message_area);
@@ -364,7 +361,6 @@ setup_type (GtkMessageDialog *dialog,
GtkMessageDialogPrivate *priv = dialog->priv;
const gchar *name = NULL;
AtkObject *atk_obj;
- GIcon *gicon = NULL;
priv->message_type = type;
@@ -372,22 +368,18 @@ setup_type (GtkMessageDialog *dialog,
{
case GTK_MESSAGE_INFO:
name = _("Information");
- gicon = g_themed_icon_new_with_default_fallbacks ("dialog-information-symbolic");
break;
case GTK_MESSAGE_QUESTION:
name = _("Question");
- gicon = g_themed_icon_new_with_default_fallbacks ("dialog-question-symbolic");
break;
case GTK_MESSAGE_WARNING:
name = _("Warning");
- gicon = g_themed_icon_new_with_default_fallbacks ("dialog-warning-symbolic");
break;
case GTK_MESSAGE_ERROR:
name = _("Error");
- gicon = g_themed_icon_new_with_default_fallbacks ("dialog-error-symbolic");
break;
case GTK_MESSAGE_OTHER:
@@ -398,10 +390,6 @@ setup_type (GtkMessageDialog *dialog,
break;
}
- gtk_image_set_from_gicon (GTK_IMAGE (priv->image), gicon, GTK_ICON_SIZE_DIALOG);
- if (gicon)
- g_object_unref (gicon);
-
atk_obj = gtk_widget_get_accessible (GTK_WIDGET (dialog));
if (GTK_IS_ACCESSIBLE (atk_obj))
{
@@ -469,7 +457,9 @@ gtk_message_dialog_set_property (GObject *object,
g_value_get_boolean (value));
break;
case PROP_IMAGE:
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
gtk_message_dialog_set_image (dialog, g_value_get_object (value));
+G_GNUC_END_IGNORE_DEPRECATIONS
break;
default:
@@ -666,6 +656,7 @@ gtk_message_dialog_new_with_markup (GtkWindow *parent,
* Sets the dialog’s image to @image.
*
* Since: 2.10
+ * Deprecated: 3.12: Use #GtkDialog to create dialogs with images
**/
void
gtk_message_dialog_set_image (GtkMessageDialog *dialog,
@@ -678,24 +669,25 @@ gtk_message_dialog_set_image (GtkMessageDialog *dialog,
g_return_if_fail (image == NULL || GTK_IS_WIDGET (image));
priv = dialog->priv;
+
+ if (priv->image)
+ gtk_widget_destroy (priv->image);
- if (image == NULL)
- {
- image = gtk_image_new_from_icon_name (NULL, GTK_ICON_SIZE_DIALOG);
- gtk_widget_set_halign (image, GTK_ALIGN_CENTER);
- gtk_widget_set_valign (image, GTK_ALIGN_START);
+ priv->image = image;
+
+ if (priv->image)
+ {
+ gtk_widget_set_halign (priv->image, GTK_ALIGN_CENTER);
+ gtk_widget_set_valign (priv->image, GTK_ALIGN_START);
+ parent = gtk_widget_get_parent (priv->message_area);
+ gtk_container_add (GTK_CONTAINER (parent), priv->image);
+ gtk_box_reorder_child (GTK_BOX (parent), priv->image, 0);
}
priv->message_type = GTK_MESSAGE_OTHER;
- parent = gtk_widget_get_parent (priv->image);
- gtk_container_add (GTK_CONTAINER (parent), image);
- gtk_container_remove (GTK_CONTAINER (parent), priv->image);
- gtk_box_reorder_child (GTK_BOX (parent), image, 0);
-
- priv->image = image;
-
g_object_notify (G_OBJECT (dialog), "image");
+ g_object_notify (G_OBJECT (dialog), "message-type");
}
/**
@@ -707,6 +699,7 @@ gtk_message_dialog_set_image (GtkMessageDialog *dialog,
* Return value: (transfer none): the dialog’s image
*
* Since: 2.14
+ * Deprecated: 3.12: Use #GtkDialog for dialogs with images
**/
GtkWidget *
gtk_message_dialog_get_image (GtkMessageDialog *dialog)
@@ -854,9 +847,8 @@ gtk_message_dialog_format_secondary_markup (GtkMessageDialog *message_dialog,
*
* Returns the message area of the dialog. This is the box where the
* dialog’s primary and secondary labels are packed. You can add your
- * own extra content to that box and it will appear below those labels,
- * on the right side of the dialog’s image (or on the left for right-to-left
- * languages). See gtk_dialog_get_content_area() for the corresponding
+ * own extra content to that box and it will appear below those labels.
+ * See gtk_dialog_get_content_area() for the corresponding
* function in the parent #GtkDialog.
*
* Return value: (transfer none): A #GtkVBox corresponding to the
@@ -931,7 +923,7 @@ gtk_message_dialog_style_updated (GtkWidget *widget)
GtkWidget *parent;
gint border_width;
- parent = gtk_widget_get_parent (gtk_message_dialog_get_image (dialog));
+ parent = gtk_widget_get_parent (dialog->priv->message_area);
if (parent)
{
diff --git a/gtk/gtkmessagedialog.h b/gtk/gtkmessagedialog.h
index ef082c11f5..d06f374008 100644
--- a/gtk/gtkmessagedialog.h
+++ b/gtk/gtkmessagedialog.h
@@ -111,11 +111,11 @@ GtkWidget* gtk_message_dialog_new_with_markup (GtkWindow *parent,
const gchar *message_format,
...) G_GNUC_PRINTF (5, 6);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_3_12
void gtk_message_dialog_set_image (GtkMessageDialog *dialog,
GtkWidget *image);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_3_12
GtkWidget * gtk_message_dialog_get_image (GtkMessageDialog *dialog);
GDK_AVAILABLE_IN_ALL
diff --git a/gtk/resources/ui/gtkmessagedialog.ui b/gtk/resources/ui/gtkmessagedialog.ui
index c95ef9f89c..b84a7305c2 100644
--- a/gtk/resources/ui/gtkmessagedialog.ui
+++ b/gtk/resources/ui/gtkmessagedialog.ui
@@ -27,23 +27,6 @@
False
0
12
-
-
-
- False
- False
- 0
-
-