summaryrefslogtreecommitdiff
path: root/shutdown
diff options
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2013-09-19 22:55:11 +0200
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2013-09-19 22:55:11 +0200
commit7a34559b48d4b4fda83b74224f9b2336392a0170 (patch)
tree0da4a04a3f82f02a7f79293327c61ae84916dfc1 /shutdown
parent5b38b5f6cc3a96ca62cb345e14aaff05a39e8171 (diff)
parente27940b0e2fdaf8f9bc0358baa36a2ea56fa1160 (diff)
Merging with trunk
(bzr r3506.5.34)
Diffstat (limited to 'shutdown')
-rw-r--r--shutdown/SessionController.cpp32
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()