diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 3f4647b2eb..914de68d82 100755 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -491,7 +491,8 @@ icon="move_lock" label_ref="Command_Move_Lock_Label" tooltip_ref="Command_Move_Lock_Tooltip" - execute_function="Self.togglePhantom" - is_running_function="Self.getPhantom" + execute_function="Self.ToggleMoveLock" + is_running_function="Self.GetMoveLock" + is_enabled_function="Self.EnableMoveLock" /> diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index a758f933cc..37f35b63a7 100755 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -4117,8 +4117,8 @@ class FSSelfCheckForceSit : public view_listener_t } }; -// Phantom mode -KC -class FSSelfTogglePhantom : public view_listener_t +// Phantom mode -KC & +class FSSelfToggleMoveLock : public view_listener_t { bool handleEvent(const LLSD& userdata) { @@ -4138,7 +4138,7 @@ class FSSelfTogglePhantom : public view_listener_t }; -class FSSelfCheckPhantom : public view_listener_t +class FSSelfCheckMoveLock : public view_listener_t { bool handleEvent(const LLSD& userdata) { @@ -4157,6 +4157,17 @@ class FSSelfCheckPhantom : public view_listener_t } }; +bool enable_move_lock() +{ +#ifdef OPENSIM + // Phantom mode always works on opensim, at least right now. + if (LLGridManager::getInstance()->isInOpenSim()) + return true; +#endif // OPENSIM + return (gSavedSettings.getBOOL("UseLSLBridge") && FSLSLBridge::instance().isBridgeValid()); +} +// + // [SJ - Adding IgnorePrejump in Menu ] class FSSelfToggleIgnorePreJump : public view_listener_t { @@ -10424,8 +10435,9 @@ void initialize_menus() view_listener_t::addMenu(new FSSelfForceSit(), "Self.ForceSit"); //KC enable.add("Self.EnableForceSit", boost::bind(&enable_forcesit_self)); //KC view_listener_t::addMenu(new FSSelfCheckForceSit(), "Self.getForceSit"); //KC - view_listener_t::addMenu(new FSSelfTogglePhantom(), "Self.togglePhantom"); //KC - view_listener_t::addMenu(new FSSelfCheckPhantom(), "Self.getPhantom"); //KC + view_listener_t::addMenu(new FSSelfToggleMoveLock(), "Self.ToggleMoveLock"); //KC + view_listener_t::addMenu(new FSSelfCheckMoveLock(), "Self.GetMoveLock"); //KC + enable.add("Self.EnableMoveLock", boost::bind(&enable_move_lock)); // view_listener_t::addMenu(new FSSelfToggleIgnorePreJump(), "Self.toggleIgnorePreJump"); //SJ view_listener_t::addMenu(new FSSelfCheckIgnorePreJump(), "Self.getIgnorePreJump"); //SJ view_listener_t::addMenu(new LLSelfRemoveAllAttachments(), "Self.RemoveAllAttachments"); diff --git a/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml index f3ec40b24d..5d2b609276 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml @@ -27,7 +27,6 @@ - diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 298dda223d..8ed2b10c50 100755 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -178,9 +178,11 @@ shortcut="control|alt|P" name="Move Lock"> + function="Self.GetMoveLock" /> + function="Self.ToggleMoveLock" /> + - diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml index 4e25612d2b..777128fb47 100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml @@ -22,7 +22,6 @@ -