summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2020-11-12 14:28:47 +0100
committerSzymon Kłos <szymon.klos@collabora.com>2020-12-01 11:03:24 +0100
commita4b7f16cb2cf433eec58a06404b495ab9077d1fa (patch)
treeeaea9cc621b4610568b023e0ad207a67191848ce
parent7120385d05a1f820c661ede1650af8bfb4f4ceff (diff)
jsdialog: signal when treeview element is toggled
Change-Id: If69eac02db386fd94420aff5a8b082281e913c15 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106907 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
-rw-r--r--include/vcl/salvtables.hxx17
-rw-r--r--vcl/jsdialog/jsdialogbuilder.cxx5
-rw-r--r--vcl/source/app/salvtables.cxx17
3 files changed, 22 insertions, 17 deletions
diff --git a/include/vcl/salvtables.hxx b/include/vcl/salvtables.hxx
index ee55bb9fa081..23db65df8525 100644
--- a/include/vcl/salvtables.hxx
+++ b/include/vcl/salvtables.hxx
@@ -1101,6 +1101,23 @@ public:
virtual ~SalInstanceTextView() override;
};
+struct SalInstanceTreeIter : public weld::TreeIter
+{
+ SalInstanceTreeIter(const SalInstanceTreeIter* pOrig)
+ : iter(pOrig ? pOrig->iter : nullptr)
+ {
+ }
+ SalInstanceTreeIter(SvTreeListEntry* pIter)
+ : iter(pIter)
+ {
+ }
+ virtual bool equal(const TreeIter& rOther) const override
+ {
+ return iter == static_cast<const SalInstanceTreeIter&>(rOther).iter;
+ }
+ SvTreeListEntry* iter;
+};
+
class SalInstanceTreeView : public SalInstanceContainer, public virtual weld::TreeView
{
protected:
diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx
index 877ebaf6e8db..5ae77f856e2f 100644
--- a/vcl/jsdialog/jsdialogbuilder.cxx
+++ b/vcl/jsdialog/jsdialogbuilder.cxx
@@ -761,7 +761,12 @@ void JSTreeView::set_toggle(int pos, TriState eState, int col)
pEntry = m_xTreeView->Next(pEntry);
if (pEntry)
+ {
SalInstanceTreeView::set_toggle(pEntry, eState, col);
+ signal_toggled(iter_col(SalInstanceTreeIter(pEntry), col));
+
+ notifyDialogState();
+ }
}
void JSTreeView::select(int pos)
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 5b4a76a1c8ec..39f19171db0e 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -3199,23 +3199,6 @@ IMPL_LINK_NOARG(SalInstanceEntry, ActivateHdl, Edit&, bool)
return m_aActivateHdl.Call(*this);
}
-struct SalInstanceTreeIter : public weld::TreeIter
-{
- SalInstanceTreeIter(const SalInstanceTreeIter* pOrig)
- : iter(pOrig ? pOrig->iter : nullptr)
- {
- }
- SalInstanceTreeIter(SvTreeListEntry* pIter)
- : iter(pIter)
- {
- }
- virtual bool equal(const TreeIter& rOther) const override
- {
- return iter == static_cast<const SalInstanceTreeIter&>(rOther).iter;
- }
- SvTreeListEntry* iter;
-};
-
static SalInstanceTreeView* g_DragSource;
// Each row has a cell for the expander image, (and an optional cell for a