diff options
| -rw-r--r-- | launcher/AbstractLauncherIcon.h | 1 | ||||
| -rw-r--r-- | launcher/CairoBaseWindow.cpp | 6 | ||||
| -rw-r--r-- | launcher/CairoBaseWindow.h | 1 | ||||
| -rw-r--r-- | launcher/Launcher.h | 3 | ||||
| -rw-r--r-- | launcher/LauncherIcon.cpp | 8 | ||||
| -rw-r--r-- | launcher/LauncherIcon.h | 1 | ||||
| -rw-r--r-- | launcher/MockLauncherIcon.h | 1 | ||||
| -rw-r--r-- | launcher/SoftwareCenterLauncherIcon.cpp | 1 | ||||
| -rw-r--r-- | launcher/TooltipManager.cpp | 8 | ||||
| -rw-r--r-- | tests/test_launcher.cpp | 1 |
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)); |
