diff options
author | Richard Nelson <richard@lindenlab.com> | 2011-10-12 15:46:45 -0700 |
---|---|---|
committer | Richard Nelson <richard@lindenlab.com> | 2011-10-12 15:46:45 -0700 |
commit | 9ca4b8219f1a18b11d457d6f18d3c695aba9aed2 (patch) | |
tree | 0bcd913e5e135ecb335edc932de7f1a5c928d6da /indra/newview/llviewermenu.cpp | |
parent | 23a2a77369b9f4b4fb5e606dc962e5838fb44503 (diff) |
EXP-1275 WIP A UI element or Keyboard shortcut to clear the viewport
added confirmation dialog before hiding UI
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
-rw-r--r-- | indra/newview/llviewermenu.cpp | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 0cbbfae002..478af6ab7d 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3766,9 +3766,37 @@ class LLViewToggleUI : public view_listener_t { bool handleEvent(const LLSD& userdata) { - gViewerWindow->setUIVisibility(!gViewerWindow->getUIVisibility()); + LLNotification::Params params("ConfirmHideUI"); + params.functor.function(boost::bind(&LLViewToggleUI::confirm, this, _1, _2)); + LLSD substitutions; +#if LL_DARWIN + substitutions["SHORTCUT"] = "Cmd+Shift+U"; +#else + substitutions["SHORTCUT"] = "Ctrl+Shift+U"; +#endif + params.substitutions = substitutions; + if (gViewerWindow->getUIVisibility()) + { + // hiding, so show notification + LLNotifications::instance().add(params); + } + else + { + LLNotifications::instance().forceResponse(params, 0); + } + return true; } + + void confirm(const LLSD& notification, const LLSD& response) + { + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + + if (option == 0) // OK + { + gViewerWindow->setUIVisibility(!gViewerWindow->getUIVisibility()); + } + } }; class LLEditDuplicate : public view_listener_t |