Kaydet (Commit) e9958242 authored tarafından Ivan Timofeev's avatar Ivan Timofeev

fdo#51231 Revert "Slidesorter: Show the buttons on the opposite side..."

This reverts commit 4866b20e.
üst 2cfe2712
......@@ -225,15 +225,13 @@ public:
const bool bAnimate = true);
void SetPageUnderMouse (
const model::SharedPageDescriptor& rpDescriptor,
const bool bAnimate = true,
const Point& rMousePosition = Point());
const bool bAnimate = true);
bool SetState (
const model::SharedPageDescriptor& rpDescriptor,
const model::PageDescriptor::State eState,
const bool bStateValue,
const bool bAnimate = true,
const Point& rMousePosition = Point());
const bool bAnimate = true);
void UpdateOrientation (void);
......
......@@ -69,11 +69,6 @@ public:
const Point aMouseModelLocation,
const bool bIsMouseButtonDown);
/// Decide whether the button should be drawn at the top, or the bottom.
void UpdateButtonPosition(
const model::SharedPageDescriptor& rpDescriptor,
const Point& rMousePosition);
void ResetPage (void);
bool IsMouseOverBar (void) const;
......
......@@ -956,7 +956,7 @@ void SlideSorterView::UpdatePageUnderMouse (
const bool bAnimate)
{
// Update the page under the mouse.
SetPageUnderMouse(rpDescriptor, bAnimate, rMousePosition);
SetPageUnderMouse(rpDescriptor, bAnimate);
// Tell the button bar about the new mouse position.
SharedSdWindow pWindow (mrSlideSorter.GetContentWindow());
......@@ -984,8 +984,7 @@ void SlideSorterView::UpdatePageUnderMouse (
void SlideSorterView::SetPageUnderMouse (
const model::SharedPageDescriptor& rpDescriptor,
const bool bAnimate,
const Point& rMousePosition)
const bool bAnimate)
{
if (mpPageUnderMouse != rpDescriptor)
{
......@@ -995,7 +994,7 @@ void SlideSorterView::SetPageUnderMouse (
mpPageUnderMouse = rpDescriptor;
if (mpPageUnderMouse)
SetState(mpPageUnderMouse, PageDescriptor::ST_MouseOver, true, bAnimate, rMousePosition);
SetState(mpPageUnderMouse, PageDescriptor::ST_MouseOver, true, bAnimate);
// Change the quick help text to display the name of the page under
// the mouse.
......@@ -1010,8 +1009,7 @@ bool SlideSorterView::SetState (
const model::SharedPageDescriptor& rpDescriptor,
const PageDescriptor::State eState,
const bool bStateValue,
const bool bAnimate,
const Point& rMousePosition)
const bool bAnimate)
{
model::SharedPageDescriptor pDescriptor (rpDescriptor);
if ( ! pDescriptor)
......@@ -1039,11 +1037,7 @@ bool SlideSorterView::SetState (
if (eState == PageDescriptor::ST_MouseOver)
{
if (bStateValue)
{
if (bAnimate)
GetButtonBar().UpdateButtonPosition(rpDescriptor, rMousePosition);
GetButtonBar().RequestFadeIn(rpDescriptor, bAnimate);
}
else
GetButtonBar().RequestFadeOut(rpDescriptor, bAnimate);
}
......
......@@ -69,26 +69,20 @@ namespace sd { namespace slidesorter { namespace view {
*/
class ButtonBar::BackgroundTheme
{
public:
enum ButtonPosition { TOP, BOTTOM };
public:
BackgroundTheme(
const ::boost::shared_ptr<Theme>& rpTheme,
const ::std::vector<SharedButton>& rButtons);
~BackgroundTheme() { }
virtual ~BackgroundTheme() { }
/** Set the preview bounding box, the maximal area in which to display
buttons. A call to this method triggers a call to Layout().
*/
void SetPreviewBoundingBox (const Rectangle& rPreviewBoundingBox);
Button::IconSize GetIconSize (void) const;
BitmapEx CreateBackground () const;
Point GetBackgroundLocation (void);
Rectangle GetButtonArea (void);
void SetButtonPosition( ButtonPosition ePosition ) { mePosition = ePosition; }
/// Compute the positions & sizes.
void Layout (void);
virtual BitmapEx CreateBackground () const;
virtual Point GetBackgroundLocation (void);
virtual Rectangle GetButtonArea (void);
protected:
::boost::shared_ptr<Theme> mpTheme;
......@@ -100,8 +94,7 @@ protected:
Rectangle maButtonArea;
Point maBackgroundLocation;
/// This comes into effect only during Layout(), before it only caches the value.
ButtonPosition mePosition;
virtual void Layout (void);
private:
/// Compute the size of the are for the given button size.
......@@ -286,24 +279,6 @@ void ButtonBar::ProcessMouseMotionEvent (
}
void ButtonBar::UpdateButtonPosition(
const model::SharedPageDescriptor& rpDescriptor,
const Point& rMousePosition)
{
if (rpDescriptor && mpBackgroundTheme)
{
Rectangle aRectangle( rpDescriptor->GetBoundingBox() );
aRectangle.Bottom() -= aRectangle.GetHeight() / 2;
if (aRectangle.IsInside(rMousePosition))
mpBackgroundTheme->SetButtonPosition(ButtonBar::BackgroundTheme::BOTTOM);
else
mpBackgroundTheme->SetButtonPosition(ButtonBar::BackgroundTheme::TOP);
// Relayout, to propagate the newest location of the buttons
LayoutButtons();
}
}
void ButtonBar::ResetPage (void)
......@@ -532,7 +507,6 @@ bool ButtonBar::LayoutButtons (void)
nMaximumHeight += 2*nBorder;
// Set up the bounding box of the button bar.
mpBackgroundTheme->Layout();
maButtonBoundingBox = mpBackgroundTheme->GetButtonArea();
maBackgroundLocation = mpBackgroundTheme->GetBackgroundLocation();
if (Theme_ButtonPaintType == 1)
......@@ -737,8 +711,7 @@ ButtonBar::BackgroundTheme::BackgroundTheme (
: mpTheme(rpTheme),
meIconSize( Button::IconSize_Large ),
maButtonArea(),
maBackgroundLocation(),
mePosition( BOTTOM )
maBackgroundLocation()
{
UpdateMinimumIconSizes(rButtons);
}
......@@ -847,9 +820,9 @@ void ButtonBar::BackgroundTheme::Layout (void)
}
maBackgroundLocation = Point(
maPreviewBoundingBox.Left() + (maPreviewBoundingBox.GetWidth()-aImageSize.Width())/2,
mePosition == TOP? maPreviewBoundingBox.Top():
maPreviewBoundingBox.Bottom() - aImageSize.Height());
maPreviewBoundingBox.Left()
+ (maPreviewBoundingBox.GetWidth()-aImageSize.Width())/2,
maPreviewBoundingBox.Bottom() - aImageSize.Height());
maButtonArea = Rectangle(maBackgroundLocation, aImageSize);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment