diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2013-09-19 22:55:11 +0200 |
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2013-09-19 22:55:11 +0200 |
| commit | 7a34559b48d4b4fda83b74224f9b2336392a0170 (patch) | |
| tree | 0da4a04a3f82f02a7f79293327c61ae84916dfc1 /shutdown | |
| parent | 5b38b5f6cc3a96ca62cb345e14aaff05a39e8171 (diff) | |
| parent | e27940b0e2fdaf8f9bc0358baa36a2ea56fa1160 (diff) | |
Merging with trunk
(bzr r3506.5.34)
Diffstat (limited to 'shutdown')
| -rw-r--r-- | shutdown/SessionController.cpp | 32 |
1 files changed, 6 insertions, 26 deletions
diff --git a/shutdown/SessionController.cpp b/shutdown/SessionController.cpp index d4f7f0bf6..2f255dc75 100644 --- a/shutdown/SessionController.cpp +++ b/shutdown/SessionController.cpp @@ -19,6 +19,7 @@ #include "SessionController.h" +#include "unity-shared/AnimationUtils.h" #include "unity-shared/UBusMessages.h" #include "unity-shared/UScreen.h" #include "unity-shared/WindowManager.h" @@ -58,13 +59,9 @@ Controller::Controller(session::Manager::Ptr const& manager) ubus_manager_.SendMessage(UBUS_BACKGROUND_REQUEST_COLOUR_EMIT); - fade_animator_.updated.connect([this] (double opacity) { - if (!view_window_) - return; - - view_window_->SetOpacity(opacity); - - if (opacity == 0.0f && fade_animator_.GetFinishValue() == 0.0f) + fade_animator_.updated.connect([this] (double opacity) { view_window_->SetOpacity(opacity); }); + fade_animator_.finished.connect([this] { + if (animation::GetDirection(fade_animator_) == animation::Direction::BACKWARD) CloseWindow(); }); } @@ -109,16 +106,7 @@ void Controller::Show(View::Mode mode, bool inhibitors) view_window_->PushToFront(); view_window_->SetInputFocus(); nux::GetWindowCompositor().SetKeyFocusArea(view_->key_focus_area()); - - if (fade_animator_.CurrentState() == na::Animation::State::Running) - { - if (fade_animator_.GetFinishValue() == 0.0f) - fade_animator_.Reverse(); - } - else - { - fade_animator_.SetStartValue(0.0f).SetFinishValue(1.0f).Start(); - } + animation::StartOrReverse(fade_animator_, animation::Direction::FORWARD); } nux::Point Controller::GetOffsetPerMonitor(int monitor) @@ -189,15 +177,7 @@ void Controller::CancelAndHide() void Controller::Hide() { - if (fade_animator_.CurrentState() == na::Animation::State::Running) - { - if (fade_animator_.GetFinishValue() == 1.0f) - fade_animator_.Reverse(); - } - else - { - fade_animator_.SetStartValue(1.0f).SetFinishValue(0.0f).Start(); - } + animation::StartOrReverse(fade_animator_, animation::Direction::BACKWARD); } void Controller::CloseWindow() |
