diff options
authorCaolán McNamara <>2014-01-16 14:29:02 +0000
committerCaolán McNamara <>2014-01-16 14:30:07 +0000
commit9290998442166fae70431ee98aa9eb019bad24b3 (patch)
parent8477394f9bbe001d8648c38cd6e3c1c72dd17d8e (diff)
Related: fdo#71764 allow extensions button to group with help
even though they are in different containers Change-Id: I785166c577acab03608da10fb4a33072458a82cd
1 files changed, 20 insertions, 0 deletions
diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx
index fcfdfc2d24a8..8744b0789a8a 100644
--- a/sfx2/source/dialog/backingwindow.cxx
+++ b/sfx2/source/dialog/backingwindow.cxx
@@ -87,6 +87,26 @@ BackingWindow::BackingWindow( Window* i_pParent ) :
get(mpHelpButton, "help");
get(mpExtensionsButton, "extensions");
+ //Containers are invisible to cursor traversal
+ //So on pressing "right" when in Help the
+ //extension button is considered as a candidate
+ //
+ //But the containers are not invisible to the PushButton ctor which checks
+ //if the preceeding window of its parent is a button and if it then
+ //defaults to grouping with it and if it is not a button defaults to
+ //setting itself as the start of a new group.
+ //
+ //So here take the second button and set it as explicitly not the start
+ //of a group, i.e. allow it to be grouped with the preceeding
+ //PushButton so when seen as a candidate by cursor travelling
+ //it will be accepted as a continuation of the group.
+ WinBits nBits = mpExtensionsButton->GetStyle();
+ nBits &= ~WB_GROUP;
+ nBits |= WB_NOGROUP;
+ mpExtensionsButton->SetStyle(nBits);
+ assert(mpHelpButton->GetStyle() & WB_GROUP);
+ assert(!(mpExtensionsButton->GetStyle() & WB_GROUP));
get(mpAllButtonsBox, "all_buttons_box");
get(mpButtonsBox, "buttons_box");
get(mpSmallButtonsBox, "small_buttons_box");