summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sfx2/source/dialog/backingwindow.cxx20
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");