diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-01-10 20:08:11 +0000 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2020-01-12 05:05:14 +0100 |
commit | 52ac526a61c1a26bb9dbf995f4af02c9469b8cf6 (patch) | |
tree | 794a12340a8d0631c906a692e2cd566dc62a172e /cui | |
parent | dfb60d3b80ca8459505ab7e4599eb9406f1bfb3e (diff) |
Resolves: tdf#129904 use the current page as the page for help
in the options dialog which has a non-standard organization for its
contents vs an ordinary dialog
Change-Id: I6a50652f5ae3fe2e8b4d32933bec6dc0217cbec1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86577
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Diffstat (limited to 'cui')
-rw-r--r-- | cui/source/inc/treeopt.hxx | 1 | ||||
-rw-r--r-- | cui/source/options/treeopt.cxx | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/cui/source/inc/treeopt.hxx b/cui/source/inc/treeopt.hxx index aa6f7f5b0a02..6344c23cd96b 100644 --- a/cui/source/inc/treeopt.hxx +++ b/cui/source/inc/treeopt.hxx @@ -163,6 +163,7 @@ private: DECL_LINK(BackHdl_Impl, weld::Button&, void); DECL_LINK(ApplyHdl_Impl, weld::Button&, void); DECL_LINK(OKHdl_Impl, weld::Button&, void); + DECL_LINK(HelpHdl_Impl, weld::Widget&, bool); void SelectHdl_Impl(); virtual short run() override; diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx index f36a8ab76029..c3005688e297 100644 --- a/cui/source/options/treeopt.cxx +++ b/cui/source/options/treeopt.cxx @@ -683,6 +683,22 @@ IMPL_LINK_NOARG(OfaTreeOptionsDialog, ApplyHdl_Impl, weld::Button&, void) } } +IMPL_LINK_NOARG(OfaTreeOptionsDialog, HelpHdl_Impl, weld::Widget&, bool) +{ + Help* pHelp = Application::GetHelp(); + if (pHelp && xCurrentPageEntry && xTreeLB->get_iter_depth(*xCurrentPageEntry)) + { + OptionsPageInfo* pPageInfo = reinterpret_cast<OptionsPageInfo*>(xTreeLB->get_id(*xCurrentPageEntry).toInt64()); + if (pPageInfo->m_xPage) + { + OString sHelpId(pPageInfo->m_xPage->GetHelpId()); + pHelp->Start(OStringToOUString(sHelpId, RTL_TEXTENCODING_UTF8), m_xDialog.get()); + return false; + } + } + return true; +} + IMPL_LINK_NOARG(OfaTreeOptionsDialog, OKHdl_Impl, weld::Button&, void) { if (xCurrentPageEntry && xTreeLB->get_iter_depth(*xCurrentPageEntry)) @@ -748,6 +764,7 @@ void OfaTreeOptionsDialog::InitTreeAndHandler() xBackPB->connect_clicked( LINK( this, OfaTreeOptionsDialog, BackHdl_Impl ) ); xApplyPB->connect_clicked( LINK( this, OfaTreeOptionsDialog, ApplyHdl_Impl ) ); xOkPB->connect_clicked( LINK( this, OfaTreeOptionsDialog, OKHdl_Impl ) ); + m_xDialog->connect_help( LINK( this, OfaTreeOptionsDialog, HelpHdl_Impl ) ); } void OfaTreeOptionsDialog::ActivatePage( sal_uInt16 nResId ) |