vcl/unx/gtk3/gtkinst.cxx | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+)
New commits: commit 6f39a29d93b533c5020e8bad0f3518f1b4fa928f Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Wed May 26 09:33:53 2021 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Wed May 26 11:39:35 2021 +0200 gtk4: GtkSpinButton has a GtkText not a GtkEntry now so can't call gtk_entry_set_icon_from_icon_name on it Change-Id: I596a37ec935240b9ed92361e428e398010911b28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116174 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index 68f0367b9102..cd1281f348e9 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -10542,6 +10542,28 @@ public: namespace { +#if GTK_CHECK_VERSION(4, 0, 0) + // speculative, "error" seems to be a thing but "warning" probably isn't + void set_widget_css_message_type(GtkWidget* pWidget, weld::EntryMessageType eType) + { + switch (eType) + { + case weld::EntryMessageType::Normal: + gtk_widget_remove_css_class(pWidget, "error"); + gtk_widget_remove_css_class(pWidget, "warning"); + break; + case weld::EntryMessageType::Warning: + gtk_widget_remove_css_class(pWidget, "error"); + gtk_widget_add_css_class(pWidget, "warning"); + break; + case weld::EntryMessageType::Error: + gtk_widget_remove_css_class(pWidget, "warning"); + gtk_widget_add_css_class(pWidget, "error"); + break; + } + } +#endif + void set_entry_message_type(GtkEntry* pEntry, weld::EntryMessageType eType) { switch (eType) @@ -10800,6 +10822,13 @@ public: virtual void set_message_type(weld::EntryMessageType eType) override { +#if GTK_CHECK_VERSION(4, 0, 0) + if (!GTK_IS_ENTRY(m_pDelegate)) + { + ::set_widget_css_message_type(m_pDelegate, eType); + return; + } +#endif ::set_entry_message_type(GTK_ENTRY(m_pDelegate), eType); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits