[Libreoffice-commits] .: Branch 'libreoffice-3-6' - sc/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Nov 7 03:50:43 PST 2012
sc/source/ui/cctrl/checklistmenu.cxx | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
New commits:
commit 9d90fc7593445d0cd2333a827840e1c993e7a9b5
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date: Fri Nov 2 14:51:35 2012 -0400
Minor enhancements on the autofilter popup window.
1) Launch pop-up right-aligned in case the cell is wider than the popup.
Launching it always left-aligned will look weird especially when the column
is very wide.
2) Allow type-ahead search when launching the autofilter via keyboard. This
is achieved by making two small changes to the popup; first, the focus is set
on the check list box upon launching, and second, the type-ahead search is
enabled on the check list box control.
Change-Id: I8a33a52afc6005b4a7428d5f7046eff986da80d2
Reviewed-on: https://gerrit.libreoffice.org/997
Reviewed-by: Radek DoulÃk <rodo at novell.com>
Tested-by: Radek DoulÃk <rodo at novell.com>
diff --git a/sc/source/ui/cctrl/checklistmenu.cxx b/sc/source/ui/cctrl/checklistmenu.cxx
index ca85f70..f3b07b2 100644
--- a/sc/source/ui/cctrl/checklistmenu.cxx
+++ b/sc/source/ui/cctrl/checklistmenu.cxx
@@ -915,6 +915,9 @@ ScCheckListMenuWindow::ScCheckListMenuWindow(Window* pParent, ScDocument* pDoc)
maTabStopCtrls.push_back(&maBtnUnselectSingle);
maTabStopCtrls.push_back(&maBtnOk);
maTabStopCtrls.push_back(&maBtnCancel);
+
+ // Enable type-ahead search in the check list box.
+ maChecks.SetStyle(maChecks.GetStyle() | WB_QUICK_SEARCH);
}
ScCheckListMenuWindow::~ScCheckListMenuWindow()
@@ -1355,7 +1358,18 @@ void ScCheckListMenuWindow::launch(const Rectangle& rRect)
// We need to have at least one member selected.
maBtnOk.Enable(maChecks.GetCheckedEntryCount() != 0);
- StartPopupMode(rRect, (FLOATWIN_POPUPMODE_DOWN | FLOATWIN_POPUPMODE_GRABFOCUS));
+ Rectangle aRect(rRect);
+ if (maWndSize.Width() < aRect.GetWidth())
+ {
+ // Target rectangle (i.e. cell width) is wider than the window.
+ // Simulate right-aligned launch by modifying the target rectangle
+ // size.
+ long nDiff = aRect.GetWidth() - maWndSize.Width();
+ aRect.Left() += nDiff;
+ }
+
+ StartPopupMode(aRect, (FLOATWIN_POPUPMODE_DOWN | FLOATWIN_POPUPMODE_GRABFOCUS));
+ cycleFocus(); // Set initial focus to the check list box.
}
void ScCheckListMenuWindow::close(bool bOK)
More information about the Libreoffice-commits
mailing list