diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-02-15 20:16:44 +0000 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2021-02-17 10:59:40 +0100 |
commit | 97a1d170b5f45c6cf9fc2c56dc4526d0e3f8423a (patch) | |
tree | a288c3c26e70e13863bc6d241a22ae4002cb3454 /sd | |
parent | 640951c1ac64ff0f7ab2c033c9a2f00ccf0363dc (diff) |
tdf#140387 grab focus to first panel widget on panel gaining focus
otherwise focus is getting lost in these currently mixed vcl+gtk widget
panels.
Change-Id: I6488ddfc98afdedb55bb3217f3877e96258dd65a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110956
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/ui/animations/CustomAnimationPane.cxx | 1 | ||||
-rw-r--r-- | sd/source/ui/dlg/navigatr.cxx | 2 | ||||
-rw-r--r-- | sd/source/ui/sidebar/LayoutMenu.cxx | 1 | ||||
-rw-r--r-- | sd/source/ui/sidebar/MasterPagesSelector.cxx | 2 | ||||
-rw-r--r-- | sd/source/ui/table/TableDesignPane.hxx | 7 |
5 files changed, 13 insertions, 0 deletions
diff --git a/sd/source/ui/animations/CustomAnimationPane.cxx b/sd/source/ui/animations/CustomAnimationPane.cxx index b58ca838b709..678dd2a14101 100644 --- a/sd/source/ui/animations/CustomAnimationPane.cxx +++ b/sd/source/ui/animations/CustomAnimationPane.cxx @@ -154,6 +154,7 @@ CustomAnimationPane::CustomAnimationPane( Window* pParent, ViewShellBase& rBase, , maLateInitTimer() { initialize(); + m_pInitialFocusWidget = &mxCustomAnimationList->get_widget(); } void CustomAnimationPane::initialize() diff --git a/sd/source/ui/dlg/navigatr.cxx b/sd/source/ui/dlg/navigatr.cxx index 6f431d713307..2df7c321b759 100644 --- a/sd/source/ui/dlg/navigatr.cxx +++ b/sd/source/ui/dlg/navigatr.cxx @@ -91,6 +91,8 @@ SdNavigatorWin::SdNavigatorWin(vcl::Window* pParent, SfxBindings* pInBindings) mxLbDocs->connect_changed(LINK(this, SdNavigatorWin, SelectDocumentHdl)); SetDragImage(); + + m_pInitialFocusWidget = mxToolbox.get(); } void SdNavigatorWin::SetUpdateRequestFunctor(const UpdateRequestFunctor& rUpdateRequest) diff --git a/sd/source/ui/sidebar/LayoutMenu.cxx b/sd/source/ui/sidebar/LayoutMenu.cxx index 57835e1b848f..487102fc0c55 100644 --- a/sd/source/ui/sidebar/LayoutMenu.cxx +++ b/sd/source/ui/sidebar/LayoutMenu.cxx @@ -172,6 +172,7 @@ LayoutMenu::LayoutMenu ( #ifdef DEBUG SetText(OUString("sd:LayoutMenu")); #endif + m_pInitialFocusWidget = mxLayoutValueSet->GetDrawingArea(); } void LayoutMenu::implConstruct( DrawDocShell& rDocumentShell ) diff --git a/sd/source/ui/sidebar/MasterPagesSelector.cxx b/sd/source/ui/sidebar/MasterPagesSelector.cxx index 3e176707fd06..d3dc37c48d39 100644 --- a/sd/source/ui/sidebar/MasterPagesSelector.cxx +++ b/sd/source/ui/sidebar/MasterPagesSelector.cxx @@ -86,6 +86,8 @@ MasterPagesSelector::MasterPagesSelector ( Link<MasterPageContainerChangeEvent&,void> aChangeListener (LINK(this,MasterPagesSelector,ContainerChangeListener)); mpContainer->AddChangeListener(aChangeListener); + + m_pInitialFocusWidget = mxPreviewValueSet->GetDrawingArea(); } MasterPagesSelector::~MasterPagesSelector() diff --git a/sd/source/ui/table/TableDesignPane.hxx b/sd/source/ui/table/TableDesignPane.hxx index 27f2b164d755..d03a3260303a 100644 --- a/sd/source/ui/table/TableDesignPane.hxx +++ b/sd/source/ui/table/TableDesignPane.hxx @@ -83,6 +83,12 @@ private: DECL_LINK(implValueSetHdl, ValueSet*, void); DECL_LINK(implCheckBoxHdl, weld::ToggleButton&, void); +public: + weld::Widget* GetInitialFocusWidget() + { + return m_xValueSet->GetDrawingArea(); + } + private: ViewShellBase& mrBase; @@ -105,6 +111,7 @@ public: "modules/simpress/ui/tabledesignpanel.ui", css::uno::Reference<css::frame::XFrame>()) , m_xImpl(new TableDesignWidget(*m_xBuilder, rBase)) { + m_pInitialFocusWidget = m_xImpl->GetInitialFocusWidget(); } virtual void dispose() override { |