include/vcl/weld.hxx | 3 +++ vcl/source/app/salvtables.cxx | 17 +++++++++++++++++ vcl/unx/gtk3/gtk3gtkinst.cxx | 15 +++++++++++++++ 3 files changed, 35 insertions(+)
New commits: commit ec8961c08dda313a22acf85638b0db3071e22db7 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Tue Apr 7 17:17:45 2020 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Tue Apr 7 21:30:44 2020 +0200 allow setting combobox font so it can be made italic for the font name combobox Change-Id: I35e819b1401d2ebbaa1e9ce8e2ce9e031662c999 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91840 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx index 3f3689fccc61..7dbe6643491e 100644 --- a/include/vcl/weld.hxx +++ b/include/vcl/weld.hxx @@ -677,6 +677,9 @@ public: virtual void set_entry_completion(bool bEnable, bool bCaseSensitive = false) = 0; virtual void set_entry_placeholder_text(const OUString& rText) = 0; + // font size is in points, not pixels, e.g. see Window::[G]etPointFont + virtual void set_entry_font(const vcl::Font& rFont) = 0; + virtual bool get_popup_shown() const = 0; void connect_entry_insert_text(const Link<OUString&, bool>& rLink) diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 706a874229e6..febffea547fc 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -5946,6 +5946,8 @@ public: virtual void set_entry_placeholder_text(const OUString&) override { assert(false); } + virtual void set_entry_font(const vcl::Font&) override { assert(false); } + virtual ~SalInstanceComboBoxWithoutEdit() override { m_xComboBox->SetSelectHdl(Link<ListBox&, void>()); @@ -6061,6 +6063,14 @@ public: return rSelection.Len(); } + virtual void set_entry_font(const vcl::Font& rFont) override + { + Edit* pEdit = m_xComboBox->GetSubEdit(); + assert(pEdit); + pEdit->SetPointFont(*pEdit, rFont); + pEdit->Invalidate(); + } + virtual ~SalInstanceComboBoxWithEdit() override { m_xComboBox->SetTextFilter(nullptr); @@ -6132,6 +6142,13 @@ public: rEntry.SetAutocompleteHdl(Link<Edit&, void>()); } + virtual void set_entry_font(const vcl::Font& rFont) override + { + Edit& rEntry = m_pEntry->getEntry(); + rEntry.SetPointFont(rEntry, rFont); + rEntry.Invalidate(); + } + virtual void set_entry_placeholder_text(const OUString& rText) override { Edit& rEntry = m_pEntry->getEntry(); diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 8b644d22d1c5..29d1ad3b0b9f 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -13403,6 +13403,16 @@ public: gtk_entry_set_placeholder_text(pEntry, rText.toUtf8().getStr()); } + virtual void set_entry_font(const vcl::Font& rFont) override + { + PangoAttrList* pAttrList = create_attr_list(rFont); + GtkWidget* pChild = gtk_bin_get_child(GTK_BIN(m_pComboBox)); + assert(pChild && GTK_IS_ENTRY(pChild)); + GtkEntry* pEntry = GTK_ENTRY(pChild); + gtk_entry_set_attributes(pEntry, pAttrList); + pango_attr_list_unref(pAttrList); + } + virtual void disable_notify_events() override { if (GtkEntry* pEntry = get_entry()) @@ -13701,6 +13711,11 @@ public: m_xEntry->set_placeholder_text(rText); } + virtual void set_entry_font(const vcl::Font& rFont) override + { + m_xEntry->set_font(rFont); + } + virtual void grab_focus() override { m_xEntry->grab_focus(); } virtual void connect_focus_in(const Link<Widget&, void>& rLink) override _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits