diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-10-05 18:36:38 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-10-06 22:14:17 +0200 |
commit | 48595c805dd5b917e9bd01ad1c2deb4a047c5f7b (patch) | |
tree | f1dd7b638b78694cd5ac635e0de6be3ca1d13042 /vcl | |
parent | 4b28b77eddfe48e709180f1ab81ac0d996796471 (diff) |
Related: tdf#127935 set default activate handler to toggle row expansion
Change-Id: I2bbfb1445b8d2e748f642cdf4723d41b7f072e2b
Reviewed-on: https://gerrit.libreoffice.org/80305
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/app/salvtables.cxx | 3 | ||||
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 13 |
2 files changed, 13 insertions, 3 deletions
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 2d9193dddbfb..baabc1e6327c 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -4402,8 +4402,7 @@ IMPL_LINK_NOARG(SalInstanceTreeView, DoubleClickHdl, SvTreeListBox*, bool) { if (notify_events_disabled()) return false; - signal_row_activated(); - return false; + return !signal_row_activated(); } IMPL_LINK(SalInstanceTreeView, EndDragHdl, HeaderBar*, pHeaderBar, void) diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index fd8db4675ff3..848d3671ed3b 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -7373,11 +7373,22 @@ private: pThis->launch_signal_changed(); } + void handle_row_activated() + { + if (signal_row_activated()) + return; + GtkInstanceTreeIter aIter(nullptr); + if (!get_cursor(&aIter)) + return; + if (iter_has_child(aIter)) + get_row_expanded(aIter) ? collapse_row(aIter) : expand_row(aIter); + } + static void signalRowActivated(GtkTreeView*, GtkTreePath*, GtkTreeViewColumn*, gpointer widget) { GtkInstanceTreeView* pThis = static_cast<GtkInstanceTreeView*>(widget); SolarMutexGuard aGuard; - pThis->signal_row_activated(); + pThis->handle_row_activated(); } virtual bool signal_popup_menu(const CommandEvent& rCEvt) override |