summaryrefslogtreecommitdiff
path: root/plugins
diff options
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2014-05-02 17:05:37 +0200
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2014-05-02 17:05:37 +0200
commitc33b1237c3ff89d5eac6d91bd5156121359d7c80 (patch)
tree616f915978b2009f1ea3e2c3c126bfe6925a74e0 /plugins
parentda84236acc41d0ec61109d29aca5f5d80b07dbe3 (diff)
parent06671de6ad076a8978d990f3436cca4539388909 (diff)
Mergin with trunk
(bzr r3788.3.7)
Diffstat (limited to 'plugins')
-rw-r--r--plugins/unityshell/src/unityshell.cpp28
1 files changed, 22 insertions, 6 deletions
diff --git a/plugins/unityshell/src/unityshell.cpp b/plugins/unityshell/src/unityshell.cpp
index 12590e813..10e09651e 100644
--- a/plugins/unityshell/src/unityshell.cpp
+++ b/plugins/unityshell/src/unityshell.cpp
@@ -3762,21 +3762,30 @@ void UnityScreen::OnDashRealized()
void UnityScreen::OnLockScreenRequested()
{
if (switcher_controller_->Visible())
- {
switcher_controller_->Hide(false);
- }
- else if (launcher_controller_->IsOverlayOpen())
- {
+
+ if (dash_controller_->IsVisible())
dash_controller_->HideDash();
+
+ if (hud_controller_->IsVisible())
hud_controller_->HideHud();
- }
launcher_controller_->ClearTooltips();
+ if (launcher_controller_->KeyNavIsActive())
+ launcher_controller_->KeyNavTerminate(false);
+
+ if (QuicklistManager::Default()->Current())
+ QuicklistManager::Default()->Current()->Hide();
+
auto& wm = WindowManager::Default();
+
if (wm.IsScaleActive())
wm.TerminateScale();
+ if (wm.IsExpoActive())
+ wm.TerminateExpo();
+
RaiseOSK();
}
@@ -3795,8 +3804,12 @@ void UnityScreen::OnScreenLocked()
}
}
- // We notify that super has been released, to avoid to leave unity in inconsistent state
+ for (auto& action : getActions())
+ screen->removeAction(&action);
+
+ // We notify that super/alt have been released, to avoid to leave unity in inconsistent state
showLauncherKeyTerminate(&optionGetShowLauncher(), CompAction::StateTermKey, getOptions());
+ showMenuBarTerminate(&optionGetShowMenuBar(), CompAction::StateTermKey, getOptions());
}
void UnityScreen::OnScreenUnlocked()
@@ -3808,6 +3821,9 @@ void UnityScreen::OnScreenUnlocked()
if (option.isAction())
screen->addAction(&option.value().action());
}
+
+ for (auto& action : getActions())
+ screen->addAction(&action);
}
void UnityScreen::SaveLockStamp(bool save)