summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2009-12-04 19:02:03 +0100
committerKurt Zenker <kz@openoffice.org>2009-12-04 19:02:03 +0100
commitf06dd4493d6bdc97371138ae1e28ac5d37bc188e (patch)
tree4cc6552fca4da0dbdd8fe28ddb8f2a5fe8f6aa73
parent4f667eb747d0357214e63fe02f6e47ba953e50b8 (diff)
parenteaa648fe8e82fca7806f93d45dbf751205a9ffa3 (diff)
CWS-TOOLING: integrate CWS ooo32gsl07_DEV300
Notes
split repo tag: impress_ooo/DEV300_m67
-rw-r--r--sd/source/ui/slidesorter/controller/SlideSorterController.cxx2
-rw-r--r--sd/source/ui/slidesorter/controller/SlsFocusManager.cxx29
-rw-r--r--sd/source/ui/slidesorter/inc/controller/SlsFocusManager.hxx12
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