From fd4b20efbb734f5a82c636ded2ec65dcb46c5129 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 12 May 2014 14:06:37 +0100
Subject: [PATCH] Resolves: rhbz#1096295 hard to distinguish selected from
mouseover
Change-Id: Id6c11afd161bea15266a54a595bf7ee305e954f0
---
.../ui/slidesorter/inc/view/SlsPageObjectPainter.hxx | 1 +
sd/source/ui/slidesorter/inc/view/SlsTheme.hxx | 1 +
sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx | 15 ++++++++-------
sd/source/ui/slidesorter/view/SlsTheme.cxx | 9 +++++----
4 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/sd/source/ui/slidesorter/inc/view/SlsPageObjectPainter.hxx b/sd/source/ui/slidesorter/inc/view/SlsPageObjectPainter.hxx
index ec698d0..7d417da 100644
--- a/sd/source/ui/slidesorter/inc/view/SlsPageObjectPainter.hxx
+++ b/sd/source/ui/slidesorter/inc/view/SlsPageObjectPainter.hxx
@@ -85,6 +85,7 @@ private:
Bitmap maFocusedBackground;
Bitmap maMouseOverBackground;
Bitmap maMouseOverFocusedBackground;
+ Bitmap maMouseOverSelectedBackground;
Bitmap maMouseOverSelectedAndFocusedBackground;
Size maSize;
diff --git a/sd/source/ui/slidesorter/inc/view/SlsTheme.hxx b/sd/source/ui/slidesorter/inc/view/SlsTheme.hxx
index 5a69142..55188af 100644
--- a/sd/source/ui/slidesorter/inc/view/SlsTheme.hxx
+++ b/sd/source/ui/slidesorter/inc/view/SlsTheme.hxx
@@ -82,6 +82,7 @@ public:
Gradient_SelectedPage,
Gradient_SelectedAndFocusedPage,
Gradient_MouseOverPage,
+ Gradient_MouseOverSelected,
Gradient_MouseOverSelectedAndFocusedPage,
Gradient_FocusedPage,
_GradientColorType_Size_
diff --git a/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx b/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx
index 60c51fa..736c6dc 100644
--- a/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx
+++ b/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx
@@ -53,13 +53,7 @@ PageObjectPainter::PageObjectPainter (
mpTheme(rSlideSorter.GetTheme()),
mpPageNumberFont(Theme::GetFont(Theme::Font_PageNumber, *rSlideSorter.GetContentWindow())),
mpShadowPainter(new FramePainter(mpTheme->GetIcon(Theme::Icon_RawShadow))),
- mpFocusBorderPainter(new FramePainter(mpTheme->GetIcon(Theme::Icon_FocusBorder))),
- maNormalBackground(),
- maSelectionBackground(),
- maFocusedSelectionBackground(),
- maMouseOverBackground(),
- maMouseOverFocusedBackground(),
- maSize()
+ mpFocusBorderPainter(new FramePainter(mpTheme->GetIcon(Theme::Icon_FocusBorder)))
{
// Replace the color (not the alpha values) in the focus border with a
// color derived from the current selection color.
@@ -148,6 +142,7 @@ void PageObjectPainter::InvalidateBitmaps (void)
maFocusedSelectionBackground.SetEmpty();
maFocusedBackground.SetEmpty();
maMouseOverBackground.SetEmpty();
+ maMouseOverSelectedBackground.SetEmpty();
maMouseOverFocusedBackground.SetEmpty();
maMouseOverSelectedAndFocusedBackground.SetEmpty();
}
@@ -399,6 +394,12 @@ Bitmap& PageObjectPainter::GetBackgroundForState (
true);
case MouseOver | Selected:
+ return GetBackground(
+ maMouseOverSelectedBackground,
+ Theme::Gradient_MouseOverSelected,
+ rReferenceDevice,
+ false);
+
case MouseOver:
return GetBackground(
maMouseOverBackground,
diff --git a/sd/source/ui/slidesorter/view/SlsTheme.cxx b/sd/source/ui/slidesorter/view/SlsTheme.cxx
index c38951c..3ac38cc 100644
--- a/sd/source/ui/slidesorter/view/SlsTheme.cxx
+++ b/sd/source/ui/slidesorter/view/SlsTheme.cxx
@@ -110,11 +110,12 @@ void Theme::Update (const ::boost::shared_ptr<controller::Properties>& rpPropert
maColor[Color_PageCountFontColor] = White;
// Set up gradients.
- SetGradient(Gradient_SelectedPage, aSelectionColor, 50, 50, +100,+100, +50,+25);
- SetGradient(Gradient_MouseOverPage, aSelectionColor, 75, 75, +100,+100, +50,+25);
- SetGradient(Gradient_SelectedAndFocusedPage, aSelectionColor, 50, 50, +100,+100, -50,-75);
- SetGradient(Gradient_MouseOverSelectedAndFocusedPage, aSelectionColor, 75, 75, +100,+100, -50,-75);
+ SetGradient(Gradient_MouseOverPage, aSelectionColor, 0, 60, +80,+100, +50,+25);
+ SetGradient(Gradient_SelectedPage, aSelectionColor, 50, 50, +80,+100, +50,+25);
SetGradient(Gradient_FocusedPage, aSelectionColor, -1,-1, 0,0, -50,-75);
+ SetGradient(Gradient_MouseOverSelected, aSelectionColor, 55, 60, +80,+100, +50,+25);
+ SetGradient(Gradient_SelectedAndFocusedPage, aSelectionColor, 50, 50, +80,+100, -50,-75);
+ SetGradient(Gradient_MouseOverSelectedAndFocusedPage, aSelectionColor, 55, 60, +80,+100, -50,-75);
SetGradient(Gradient_NormalPage, maBackgroundColor, -1,-1, 0,0, 0,0);
--
1.9.0