summaryrefslogtreecommitdiff
diff options
-rw-r--r--launcher/AbstractLauncherIcon.h1
-rw-r--r--launcher/CairoBaseWindow.cpp6
-rw-r--r--launcher/CairoBaseWindow.h1
-rw-r--r--launcher/Launcher.h3
-rw-r--r--launcher/LauncherIcon.cpp8
-rw-r--r--launcher/LauncherIcon.h1
-rw-r--r--launcher/MockLauncherIcon.h1
-rw-r--r--launcher/SoftwareCenterLauncherIcon.cpp1
-rw-r--r--launcher/TooltipManager.cpp8
-rw-r--r--tests/test_launcher.cpp1
10 files changed, 28 insertions, 3 deletions
diff --git a/launcher/AbstractLauncherIcon.h b/launcher/AbstractLauncherIcon.h
index ed40c8f71..a10d46e1b 100644
--- a/launcher/AbstractLauncherIcon.h
+++ b/launcher/AbstractLauncherIcon.h
@@ -144,6 +144,7 @@ public:
virtual void ShowTooltip() = 0;
virtual void HideTooltip() = 0;
+ virtual void PromptHideTooltip() = 0;
virtual void SetShortcut(guint64 shortcut) = 0;
diff --git a/launcher/CairoBaseWindow.cpp b/launcher/CairoBaseWindow.cpp
index 3ca455a2e..9e818dcc9 100644
--- a/launcher/CairoBaseWindow.cpp
+++ b/launcher/CairoBaseWindow.cpp
@@ -73,6 +73,12 @@ void CairoBaseWindow::Hide()
animation::StartOrReverse(fade_animator_, animation::Direction::BACKWARD);
}
+void CairoBaseWindow::PromptHide()
+{
+ Hide();
+ fade_animator_.Stop();
+}
+
void CairoBaseWindow::RedrawBlur()
{
compute_blur_bkg_ = true;
diff --git a/launcher/CairoBaseWindow.h b/launcher/CairoBaseWindow.h
index ad677afe8..e35dea6d2 100644
--- a/launcher/CairoBaseWindow.h
+++ b/launcher/CairoBaseWindow.h
@@ -35,6 +35,7 @@ public:
virtual void Show();
virtual void Hide();
+ void PromptHide();
void RedrawBlur();
bool HasBlurredBackground() const;
diff --git a/launcher/Launcher.h b/launcher/Launcher.h
index 1cd434e07..aad20fe1b 100644
--- a/launcher/Launcher.h
+++ b/launcher/Launcher.h
@@ -43,7 +43,6 @@
#include "LauncherHoverMachine.h"
#include "unity-shared/MockableBaseWindow.h"
#include "unity-shared/UBusWrapper.h"
-#include "unity-shared/UnitySettings.h"
#include "SoftwareCenterLauncherIcon.h"
#include "TooltipManager.h"
@@ -54,6 +53,8 @@
namespace unity
{
+enum class LauncherPosition;
+
namespace launcher
{
extern const char* window_title;
diff --git a/launcher/LauncherIcon.cpp b/launcher/LauncherIcon.cpp
index d121f56a5..0c177d8ad 100644
--- a/launcher/LauncherIcon.cpp
+++ b/launcher/LauncherIcon.cpp
@@ -689,6 +689,14 @@ void LauncherIcon::HideTooltip()
tooltip_visible.emit(nux::ObjectPtr<nux::View>());
}
+void LauncherIcon::PromptHideTooltip()
+{
+ if (_tooltip)
+ _tooltip->PromptHide();
+
+ tooltip_visible.emit(nux::ObjectPtr<nux::View>());
+}
+
void LauncherIcon::SetCenter(nux::Point3 const& new_center, int monitor)
{
nux::Point3& center = _center[monitor];
diff --git a/launcher/LauncherIcon.h b/launcher/LauncherIcon.h
index 142f3d003..624065deb 100644
--- a/launcher/LauncherIcon.h
+++ b/launcher/LauncherIcon.h
@@ -70,6 +70,7 @@ public:
void RecvMouseClick(int button, int monitor, unsigned long key_flags = 0);
void HideTooltip();
+ void PromptHideTooltip();
void ShowTooltip();
diff --git a/launcher/MockLauncherIcon.h b/launcher/MockLauncherIcon.h
index 1dae29cd8..550047d76 100644
--- a/launcher/MockLauncherIcon.h
+++ b/launcher/MockLauncherIcon.h
@@ -87,6 +87,7 @@ public:
void ShowTooltip() { is_tooltip_visible_ = true; }
void HideTooltip() { is_tooltip_visible_ = false; }
+ void PromptHideTooltip() { is_tooltip_visible_ = false; }
bool IsTooltipVisible() { return is_tooltip_visible_; }
void SetShortcut(guint64 shortcut) {}
diff --git a/launcher/SoftwareCenterLauncherIcon.cpp b/launcher/SoftwareCenterLauncherIcon.cpp
index 8c25549d2..ef345a670 100644
--- a/launcher/SoftwareCenterLauncherIcon.cpp
+++ b/launcher/SoftwareCenterLauncherIcon.cpp
@@ -31,7 +31,6 @@
#include "LauncherDragWindow.h"
#include "LauncherModel.h"
#include "DesktopUtilities.h"
-#include "unity-shared/UnitySettings.h"
namespace unity
{
diff --git a/launcher/TooltipManager.cpp b/launcher/TooltipManager.cpp
index 3fab52457..fab58265b 100644
--- a/launcher/TooltipManager.cpp
+++ b/launcher/TooltipManager.cpp
@@ -19,6 +19,7 @@
*/
#include "TooltipManager.h"
+#include "unity-shared/UnitySettings.h"
namespace unity
{
@@ -40,7 +41,12 @@ void TooltipManager::MouseMoved(AbstractLauncherIcon::Ptr const& icon_under_mous
StopTimer();
if (icon_)
- icon_->HideTooltip();
+ {
+ if (Settings::Instance().launcher_position() == LauncherPosition::LEFT)
+ icon_->HideTooltip();
+ else
+ icon_->PromptHideTooltip();
+ }
icon_ = icon_under_mouse;
diff --git a/tests/test_launcher.cpp b/tests/test_launcher.cpp
index 0a2b8a9a5..d49f886e1 100644
--- a/tests/test_launcher.cpp
+++ b/tests/test_launcher.cpp
@@ -62,6 +62,7 @@ public:
MOCK_METHOD1(Stick, void(bool));
MOCK_METHOD2(PerformScroll, void(ScrollDirection, Time));
MOCK_METHOD0(HideTooltip, void());
+ MOCK_METHOD0(PromptHideTooltip, void());
MOCK_METHOD3(SetQuirk, void(ApplicationLauncherIcon::Quirk, bool, int));
MOCK_METHOD2(SetQuirk, void(ApplicationLauncherIcon::Quirk, bool));
MOCK_METHOD2(SkipQuirkAnimation, void(ApplicationLauncherIcon::Quirk, int));