diff options
author | Kurt Zenker <kz@openoffice.org> | 2009-12-04 19:02:03 +0100 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2009-12-04 19:02:03 +0100 |
commit | f06dd4493d6bdc97371138ae1e28ac5d37bc188e (patch) | |
tree | 4cc6552fca4da0dbdd8fe28ddb8f2a5fe8f6aa73 /sd/source/ui | |
parent | 4f667eb747d0357214e63fe02f6e47ba953e50b8 (diff) | |
parent | eaa648fe8e82fca7806f93d45dbf751205a9ffa3 (diff) |
CWS-TOOLING: integrate CWS ooo32gsl07_DEV300
Notes
Notes:
split repo tag: impress_ooo/DEV300_m67
Diffstat (limited to 'sd/source/ui')
3 files changed, 28 insertions, 15 deletions
diff --git a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx index f355ada7089f..5303b9dc6426 100644 --- a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx +++ b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx @@ -604,7 +604,7 @@ IMPL_LINK(SlideSorterController, WindowEventHandler, VclWindowEvent*, pEvent) case VCLEVENT_WINDOW_GETFOCUS: if (pActiveWindow != NULL && pWindow == pActiveWindow) - GetFocusManager().ShowFocus(); + GetFocusManager().ShowFocus(false); break; case VCLEVENT_WINDOW_LOSEFOCUS: diff --git a/sd/source/ui/slidesorter/controller/SlsFocusManager.cxx b/sd/source/ui/slidesorter/controller/SlsFocusManager.cxx index 009a24910d5a..1077184b7db7 100644 --- a/sd/source/ui/slidesorter/controller/SlsFocusManager.cxx +++ b/sd/source/ui/slidesorter/controller/SlsFocusManager.cxx @@ -133,17 +133,17 @@ void FocusManager::MoveFocus (FocusMoveDirection eDirection) } if (mbPageIsFocused) - ShowFocusIndicator(GetFocusedPageDescriptor()); + ShowFocusIndicator(GetFocusedPageDescriptor(), true); } } -void FocusManager::ShowFocus (void) +void FocusManager::ShowFocus (const bool bScrollToFocus) { mbPageIsFocused = true; - ShowFocusIndicator(GetFocusedPageDescriptor()); + ShowFocusIndicator(GetFocusedPageDescriptor(), bScrollToFocus); } @@ -254,20 +254,25 @@ void FocusManager::HideFocusIndicator (const model::SharedPageDescriptor& rpDesc -void FocusManager::ShowFocusIndicator (const model::SharedPageDescriptor& rpDescriptor) +void FocusManager::ShowFocusIndicator ( + const model::SharedPageDescriptor& rpDescriptor, + const bool bScrollToFocus) { if (rpDescriptor.get() != NULL) { rpDescriptor->SetFocus (); - // Scroll the focused page object into the visible area and repaint - // it, so that the focus indicator becomes visible. - view::SlideSorterView& rView (mrSlideSorter.GetView()); - mrSlideSorter.GetController().GetSelectionManager()->MakeRectangleVisible ( - rView.GetPageBoundingBox ( - GetFocusedPageDescriptor(), - view::SlideSorterView::CS_MODEL, - view::SlideSorterView::BBT_INFO)); + if (bScrollToFocus) + { + // Scroll the focused page object into the visible area and repaint + // it, so that the focus indicator becomes visible. + view::SlideSorterView& rView (mrSlideSorter.GetView()); + mrSlideSorter.GetController().GetSelectionManager()->MakeRectangleVisible ( + rView.GetPageBoundingBox ( + GetFocusedPageDescriptor(), + view::SlideSorterView::CS_MODEL, + view::SlideSorterView::BBT_INFO)); + } mrSlideSorter.GetView().RequestRepaint (rpDescriptor); NotifyFocusChangeListeners(); diff --git a/sd/source/ui/slidesorter/inc/controller/SlsFocusManager.hxx b/sd/source/ui/slidesorter/inc/controller/SlsFocusManager.hxx index 00678c83058d..4384e1a66d9d 100644 --- a/sd/source/ui/slidesorter/inc/controller/SlsFocusManager.hxx +++ b/sd/source/ui/slidesorter/inc/controller/SlsFocusManager.hxx @@ -87,8 +87,11 @@ public: void MoveFocus (FocusMoveDirection eDirection); /** Show the focus indicator of the current slide. + @param bScrollToFocus + When <TRUE/> (the default) then the view is scrolled so that the + focus rectangle lies inside its visible area. */ - void ShowFocus (void); + void ShowFocus (const bool bScrollToFocus = true); /** Hide the focus indicator. */ @@ -215,8 +218,13 @@ private: made visible. @param pDescriptor When NULL is given then the call is ignored. + @param bScrollToFocus + When <TRUE/> (the default) then the view is scrolled so that the + focus rectangle lies inside its visible area. */ - void ShowFocusIndicator (const model::SharedPageDescriptor& rpDescriptor); + void ShowFocusIndicator ( + const model::SharedPageDescriptor& rpDescriptor, + const bool bScrollToFocus); /** Call all currently registered listeners that a focus change has happended. The focus may be hidden or shown or moved from one page |