include/vcl/weld.hxx | 4 ++-- vcl/source/app/salvtables.cxx | 16 ++++++++++++---- vcl/unx/gtk3/gtk3gtkinst.cxx | 21 +++++++++++++-------- 3 files changed, 27 insertions(+), 14 deletions(-)
New commits: commit f4873d0e7972ec3ee646aa0d847c626ebe7d857f Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Feb 27 21:28:04 2020 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Feb 28 10:00:47 2020 +0100 use COL_AUTO to let set_font_color reset to automatic text color Change-Id: I5761081fde66da3dc8071709e53b2014f10b5916 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89651 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx index a6d9978850c5..fa6594089de9 100644 --- a/include/vcl/weld.hxx +++ b/include/vcl/weld.hxx @@ -848,7 +848,7 @@ public: virtual bool get_text_emphasis(int row, int col) const = 0; virtual void swap(int pos1, int pos2) = 0; virtual std::vector<int> get_selected_rows() const = 0; - virtual void set_font_color(int pos, const Color& rColor) const = 0; + virtual void set_font_color(int pos, const Color& rColor) = 0; virtual void scroll_to_row(int pos) = 0; virtual bool is_selected(int pos) const = 0; virtual int get_cursor_index() const = 0; @@ -932,7 +932,7 @@ public: virtual void set_image(const TreeIter& rIter, const css::uno::Reference<css::graphic::XGraphic>& rImage, int col = -1) = 0; - virtual void set_font_color(const TreeIter& rIter, const Color& rColor) const = 0; + virtual void set_font_color(const TreeIter& rIter, const Color& rColor) = 0; virtual void scroll_to_row(const TreeIter& rIter) = 0; virtual bool is_selected(const TreeIter& rIter) const = 0; diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 943f6f1e0be4..cd076d517150 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -3276,6 +3276,14 @@ private: return nullptr; } + static void set_font_color(SvTreeListEntry* pEntry, const Color& rColor) + { + if (rColor == COL_AUTO) + pEntry->SetTextColor(std::optional<Color>()); + else + pEntry->SetTextColor(rColor); + } + public: SalInstanceTreeView(SvTabListBox* pTreeView, SalInstanceBuilder* pBuilder, bool bTakeOwnership) : SalInstanceContainer(pTreeView, pBuilder, bTakeOwnership) @@ -3523,16 +3531,16 @@ public: thaw(); } - virtual void set_font_color(int pos, const Color& rColor) const override + virtual void set_font_color(int pos, const Color& rColor) override { SvTreeListEntry* pEntry = m_xTreeView->GetEntry(nullptr, pos); - pEntry->SetTextColor(rColor); + set_font_color(pEntry, rColor); } - virtual void set_font_color(const weld::TreeIter& rIter, const Color& rColor) const override + virtual void set_font_color(const weld::TreeIter& rIter, const Color& rColor) override { const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter); - rVclIter.iter->SetTextColor(rColor); + set_font_color(rVclIter.iter, rColor); } virtual void remove(int pos) override diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index f1d28a270e15..a1f5c28c0964 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -9078,6 +9078,17 @@ private: return lastpath; } + void set_font_color(const GtkTreeIter& iter, const Color& rColor) + { + if (rColor == COL_AUTO) + gtk_tree_store_set(m_pTreeStore, const_cast<GtkTreeIter*>(&iter), m_nIdCol + 1, nullptr, -1); + else + { + GdkRGBA aColor{rColor.GetRed()/255.0, rColor.GetGreen()/255.0, rColor.GetBlue()/255.0, 0}; + gtk_tree_store_set(m_pTreeStore, const_cast<GtkTreeIter*>(&iter), m_nIdCol + 1, &aColor, -1); + } + } + public: GtkInstanceTreeView(GtkTreeView* pTreeView, GtkInstanceBuilder* pBuilder, bool bTakeOwnership) : GtkInstanceContainer(GTK_CONTAINER(pTreeView), pBuilder, bTakeOwnership) @@ -9260,20 +9271,14 @@ public: enable_notify_events(); } - void set_font_color(const GtkTreeIter& iter, const Color& rColor) const - { - GdkRGBA aColor{rColor.GetRed()/255.0, rColor.GetGreen()/255.0, rColor.GetBlue()/255.0, 0}; - gtk_tree_store_set(m_pTreeStore, const_cast<GtkTreeIter*>(&iter), m_nIdCol + 1, &aColor, -1); - } - - virtual void set_font_color(int pos, const Color& rColor) const override + virtual void set_font_color(int pos, const Color& rColor) override { GtkTreeIter iter; gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(m_pTreeStore), &iter, nullptr, pos); set_font_color(iter, rColor); } - virtual void set_font_color(const weld::TreeIter& rIter, const Color& rColor) const override + virtual void set_font_color(const weld::TreeIter& rIter, const Color& rColor) override { const GtkInstanceTreeIter& rGtkIter = static_cast<const GtkInstanceTreeIter&>(rIter); set_font_color(rGtkIter.iter, rColor); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits