summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-02-15 20:16:44 +0000
committerAdolfo Jayme Barrientos <fitojb@ubuntu.com>2021-02-17 10:59:40 +0100
commit97a1d170b5f45c6cf9fc2c56dc4526d0e3f8423a (patch)
treea288c3c26e70e13863bc6d241a22ae4002cb3454 /sd
parent640951c1ac64ff0f7ab2c033c9a2f00ccf0363dc (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.cxx1
-rw-r--r--sd/source/ui/dlg/navigatr.cxx2
-rw-r--r--sd/source/ui/sidebar/LayoutMenu.cxx1
-rw-r--r--sd/source/ui/sidebar/MasterPagesSelector.cxx2
-rw-r--r--sd/source/ui/table/TableDesignPane.hxx7
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
{