diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-07-02 15:54:18 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-07-02 20:21:46 +0200 |
commit | 4582ac7de8291a81c867492aad770206fbaca224 (patch) | |
tree | 5a16332ceb1e99e9aa317c970b3db80bc826b75e /vcl/unx | |
parent | 54c866828a9b85c23830e4a8be2c27b59ffd3cd5 (diff) |
add ability to set Entry font color
reluctantly, but the SvNumberformat color feature exists and it's expected to
be possible to use that color in the currency fields
Change-Id: I31834e5667fcad42021532957dee4f79621f58a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97774
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/unx')
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 1aa1af96882a..0959bb53421e 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -8638,6 +8638,11 @@ namespace gtk_entry_set_icon_from_icon_name(pEntry, GTK_ENTRY_ICON_SECONDARY, nullptr); } + gboolean filter_pango_attrs(PangoAttribute *attr, gpointer /*data*/) + { + return attr->klass->type == PANGO_ATTR_FOREGROUND; + } + class GtkInstanceEntry : public GtkInstanceWidget, public virtual weld::Entry { private: @@ -8835,6 +8840,21 @@ public: return GtkInstanceWidget::get_font(); } + void set_font_color(const Color& rColor) override + { + PangoAttrList* pOrigList = gtk_entry_get_attributes(m_pEntry); + if (rColor == COL_AUTO && !pOrigList) // nothing to do + return; + + PangoAttrList* pAttrList = pOrigList ? pango_attr_list_filter(pOrigList, filter_pango_attrs, nullptr) : pango_attr_list_new(); + + if (rColor != COL_AUTO) + pango_attr_list_insert(pAttrList, pango_attr_foreground_new(rColor.GetRed()/255.0, rColor.GetGreen()/255.0, rColor.GetBlue()/255.0)); + + gtk_entry_set_attributes(m_pEntry, pAttrList); + pango_attr_list_unref(pAttrList); + } + void fire_signal_changed() { signal_changed(); |