From a6c2d256c6c3f26d4c0e2549f8cbf958cce58a32 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Fri, 18 Jan 2013 15:14:33 -0500 Subject: [PATCH 1/6] Hooked up RLVaTopLevelMenu setting so it actually works. Changes to llviewermenu.cpp are better viewed without space changes ^Put together both RLVa Embedded and RLVa Main menus while building Advanced menu, labeling them RLVa; once the advanced menu is built and added to MenuBar, rlvMenuToggleVisible() is called. Added onChangedMenuLevel() to rlvcommon.cpp Added rlvMenuToggleVisible(), tweaked to only perform necessary operations for now, other parts left commented out for future use. Removed menu visibility handling from RlvHandler::setEnabled() NOTE: RLVa has only been updated in pertinent areas, from what I can tell we are a bit behind in other places, too. --- indra/newview/llviewermenu.cpp | 20 +++++++++-------- indra/newview/rlvcommon.cpp | 40 ++++++++++++++++++++++++++++++++++ indra/newview/rlvcommon.h | 2 +- indra/newview/rlvhandler.cpp | 8 ------- 4 files changed, 52 insertions(+), 18 deletions(-) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index a58e8ecf2..ac0ece092 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -860,6 +860,7 @@ void init_menus() menu->setCanTearOff(TRUE); init_client_menu(menu); gMenuBarView->addChild( menu ); + rlvMenuToggleVisible(); menu = new LLMenuGL(SERVER_MENU_NAME); menu->setCanTearOff(TRUE); @@ -1064,15 +1065,13 @@ void init_client_menu(LLMenuGL* menu) // [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) | Modified: RLVa-0.2.1b | OK #ifdef RLV_ADVANCED_MENU - if (rlv_handler_t::isEnabled()) - { - sub_menu = new LLMenuGL("RLVa"); - sub_menu->setCanTearOff(TRUE); - init_debug_rlva_menu(sub_menu); - menu->addChild(sub_menu); - sub_menu->setVisible(rlv_handler_t::isEnabled()); - sub_menu->setEnabled(rlv_handler_t::isEnabled()); - } + sub_menu = new LLMenuGL("RLVa Embedded"); + init_debug_rlva_menu(sub_menu); + menu->addChild(sub_menu); + // Top Level Menu as well + sub_menu = new LLMenuGL("RLVa Main"); + init_debug_rlva_menu(sub_menu); + gMenuBarView->addChild(sub_menu); #endif // RLV_ADVANCED_MENU // [/RLVa:KB] @@ -1697,6 +1696,9 @@ void init_debug_avatar_menu(LLMenuGL* menu) // [RLVa:KB] - Checked: 2009-11-17 (RLVa-1.1.0d) | Modified: RLVa-1.1.0d | OK void init_debug_rlva_menu(LLMenuGL* menu) { + menu->setLabel(std::string("RLVa")); // Same menu, same label + menu->setCanTearOff(true); + // Debug options { LLMenuGL* pDbgMenu = new LLMenuGL("Debug"); diff --git a/indra/newview/rlvcommon.cpp b/indra/newview/rlvcommon.cpp index 4a4e1ff81..2f01d4a84 100644 --- a/indra/newview/rlvcommon.cpp +++ b/indra/newview/rlvcommon.cpp @@ -129,6 +129,8 @@ void RlvSettings::initClass() if (gSavedSettings.controlExists(RLV_SETTING_AVATAROFFSET_Z)) gSavedSettings.getControl(RLV_SETTING_AVATAROFFSET_Z)->getSignal()->connect(boost::bind(&onChangedAvatarOffset, _2)); + if (gSavedSettings.controlExists(RLV_SETTING_TOPLEVELMENU)) + gSavedSettings.getControl(RLV_SETTING_TOPLEVELMENU)->getSignal()->connect(boost::bind(&onChangedMenuLevel)); fInitialized = true; } } @@ -155,6 +157,14 @@ bool RlvSettings::onChangedAvatarOffset(const LLSD& sdValue) gAgent.sendAgentSetAppearance(); return true; } +// Checked: 2011-08-16 (RLVa-1.4.0b) | Added: RLVa-1.4.0b +bool RlvSettings::onChangedMenuLevel() +{ + rlvMenuToggleVisible(); + return true; +} + +// Checked: 2010-02-27 (RLVa-1.2.0a) | Added: RLVa-1.1.0i bool RlvSettings::onChangedSettingBOOL(const LLSD& sdValue, bool* pfSetting) { if (pfSetting) @@ -526,6 +536,36 @@ void rlvMenuToggleEnabled(void*) return; } +// Checked: 2011-08-16 (RLVa-1.4.0b) | Added: RLVa-1.4.0b +void rlvMenuToggleVisible() +{ + bool fTopLevel = rlvGetSetting(RLV_SETTING_TOPLEVELMENU, true); + bool fRlvEnabled = rlv_handler_t::isEnabled(); + + //LLMenuGL* pRLVaMenuMain = gMenuBarView->getChildMenuByName("RLVa Main", FALSE); + // RELEASE-RLVa: LL defines CLIENT_MENU_NAME but we can't get to it from here so we need to keep those two in sync manually + LLMenuGL* pAdvancedMenu = gMenuBarView->getChildMenuByName("Advanced", FALSE); + //LLMenuGL* pRLVaMenuEmbed = pAdvancedMenu->getChildMenuByName("RLVa Embedded", FALSE); + + gMenuBarView->setItemVisible("RLVa Main", (fRlvEnabled) && (fTopLevel)); + if (!pAdvancedMenu) return; + pAdvancedMenu->setItemVisible("RLVa Embedded", (fRlvEnabled) && (!fTopLevel)); + + /* Singu Note: In the future when we have advanced menu in xml, we will want to use this to move the menu. + if ( (rlv_handler_t::isEnabled()) && (pRLVaMenuMain) && (pRLVaMenuEmbed) && + ( ((fTopLevel) && (1 == pRLVaMenuMain->getItemCount())) || ((!fTopLevel) && (1 == pRLVaMenuEmbed->getItemCount())) ) ) + { + LLMenuGL* pMenuFrom = (fTopLevel) ? pRLVaMenuEmbed : pRLVaMenuMain; + LLMenuGL* pMenuTo = (fTopLevel) ? pRLVaMenuMain : pRLVaMenuEmbed; + while (LLMenuItemGL* pItem = pMenuFrom->getItem(1)) + { + pMenuFrom->removeChild(pItem); + pMenuTo->addChild(pItem); + pItem->updateBranchParent(pMenuTo); + } + }*/ +} + bool RlvEnableIfNot::handleEvent(LLPointer, const LLSD& userdata) { bool fEnable = true; diff --git a/indra/newview/rlvcommon.h b/indra/newview/rlvcommon.h index e44c06f57..463b6f17d 100644 --- a/indra/newview/rlvcommon.h +++ b/indra/newview/rlvcommon.h @@ -198,7 +198,7 @@ typedef bool (RlvCommandHandler::*rlvCommandHandler)(const RlvCommand& rlvCmd, E BOOL rlvMenuCheckEnabled(void*); void rlvMenuToggleEnabled(void*); -//void rlvMenuToggleVisible(void*); +void rlvMenuToggleVisible(); //bool rlvMenuEnableIfNot(const LLSD& sdParam); class RlvEnableIfNot : public LLMemberListener { diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 853af1d82..99c1b6748 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -1054,14 +1054,6 @@ BOOL RlvHandler::setEnabled(BOOL fEnable) RlvUIEnabler::getInstance(); } - // RELEASE-RLVa: LL defines CLIENT_MENU_NAME but we can't get to it from here so we need to keep those two in sync manually - LLMenuGL* pClientMenu = NULL; - if ( (gMenuBarView) && ((pClientMenu = gMenuBarView->getChildMenuByName("Advanced", FALSE)) != NULL) ) - { - pClientMenu->setItemVisible("RLVa", m_fEnabled); - pClientMenu->setItemEnabled("RLVa", m_fEnabled); - } - return m_fEnabled; // Return enabled/disabled state } From c2ce72ed94f6b7c68ce50a312e3b3c98edf2f22e Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Sun, 20 Jan 2013 10:15:23 -0500 Subject: [PATCH 2/6] Issue 604: Reset Button for inventory Attempted Spanish translation. Nomade Zhao provided French. --- .../default/xui/en-us/floater_inventory.xml | 6 ++++-- .../skins/default/xui/es/floater_inventory.xml | 5 +++-- .../skins/default/xui/fr/floater_inventory.xml | 18 +++++------------- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/indra/newview/skins/default/xui/en-us/floater_inventory.xml b/indra/newview/skins/default/xui/en-us/floater_inventory.xml index 28da7d9a7..d06bc23ba 100644 --- a/indra/newview/skins/default/xui/en-us/floater_inventory.xml +++ b/indra/newview/skins/default/xui/en-us/floater_inventory.xml @@ -11,8 +11,10 @@