diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-05-26 09:33:53 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-05-26 11:39:35 +0200 |
commit | 6f39a29d93b533c5020e8bad0f3518f1b4fa928f (patch) | |
tree | 96840aa76a3d1920f5490a61731ed78b088299d7 /vcl | |
parent | 294eaac1113aa24ac65c254058007a9a489b28e6 (diff) |
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 <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/gtk3/gtkinst.cxx | 29 |
1 files changed, 29 insertions, 0 deletions
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); } |