summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llviewercontrol.cpp3
-rw-r--r--indra/newview/llviewermenu.cpp9
-rw-r--r--indra/newview/llviewermenu.h1
-rw-r--r--indra/newview/llviewerwindow.cpp3
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml14
5 files changed, 23 insertions, 7 deletions
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp
index 30c97cdfa3..4640745e8c 100644
--- a/indra/newview/llviewercontrol.cpp
+++ b/indra/newview/llviewercontrol.cpp
@@ -49,6 +49,7 @@
#include "llsky.h"
#include "llvieweraudio.h"
+#include "llviewermenu.h"
#include "llviewertexturelist.h"
#include "llviewerthrottle.h"
#include "llviewerwindow.h"
@@ -599,6 +600,8 @@ void settings_setup_listeners()
gSavedSettings.getControl("AudioLevelMic")->getSignal()->connect(boost::bind(&handleVoiceClientPrefsChanged, _2));
gSavedSettings.getControl("LipSyncEnabled")->getSignal()->connect(boost::bind(&handleVoiceClientPrefsChanged, _2));
gSavedSettings.getControl("VelocityInterpolate")->getSignal()->connect(boost::bind(&handleVelocityInterpolate, _2));
+ gSavedSettings.getControl("QAMode")->getSignal()->connect(boost::bind(&show_debug_menus));
+ gSavedSettings.getControl("UseDebugMenus")->getSignal()->connect(boost::bind(&show_debug_menus));
}
#if TEST_CACHED_CONTROL
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index fe599a3370..66b1869aef 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -5110,15 +5110,16 @@ void show_debug_menus()
if ( gMenuBarView )
{
BOOL debug = gSavedSettings.getBOOL("UseDebugMenus");
+ BOOL qamode = gSavedSettings.getBOOL("QAMode");
gMenuBarView->setItemVisible("Advanced", debug);
// gMenuBarView->setItemEnabled("Advanced", debug); // Don't disable Advanced keyboard shortcuts when hidden
- gMenuBarView->setItemVisible("Debug", debug);
- gMenuBarView->setItemEnabled("Debug", debug);
+ gMenuBarView->setItemVisible("Debug", qamode);
+ gMenuBarView->setItemEnabled("Debug", qamode);
- gMenuBarView->setItemVisible("Develop", debug);
- gMenuBarView->setItemEnabled("Develop", debug);
+ gMenuBarView->setItemVisible("Develop", qamode);
+ gMenuBarView->setItemEnabled("Develop", qamode);
// Server ('Admin') menu hidden when not in godmode.
const bool show_server_menu = debug && (gAgent.getGodLevel() > GOD_NOT);
diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h
index e8d350b0b6..cf482266d6 100644
--- a/indra/newview/llviewermenu.h
+++ b/indra/newview/llviewermenu.h
@@ -49,6 +49,7 @@ void init_menus();
void cleanup_menus();
void show_debug_menus(); // checks for if menus should be shown first.
+void toggle_debug_menus(void*);
void show_context_menu( S32 x, S32 y, MASK mask );
void show_build_mode_context_menu(S32 x, S32 y, MASK mask);
BOOL enable_save_into_inventory(void*);
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 4d51fe2ab8..d6be326a76 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -41,6 +41,7 @@
#include "llfloaterreg.h"
#include "llpanellogin.h"
#include "llviewerkeyboard.h"
+#include "llviewermenu.h"
#include "llviewerwindow.h"
#include "llviewquery.h"
@@ -251,8 +252,6 @@ std::string LLViewerWindow::sSnapshotDir;
std::string LLViewerWindow::sMovieBaseName;
-extern void toggle_debug_menus(void*);
-
class RecordToChatConsole : public LLError::Recorder, public LLSingleton<RecordToChatConsole>
{
public:
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 44565333e5..2bb3c887f5 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -930,7 +930,7 @@
</menu>
</menu>
<menu
- label="Geek"
+ label="Advanced"
layout="topleft"
name="Advanced"
tear_off="true"
@@ -1824,6 +1824,18 @@
function="Advanced.ShowDebugSettings"
parameter="all" />
</menu_item_call>
+ <menu_item_check
+ label="Debug (QA) Mode"
+ layout="topleft"
+ name="Debug Mode"
+ shortcut="control|alt|Q">
+ <menu_item_check.on_check
+ function="CheckControl"
+ parameter="QAMode" />
+ <menu_item_check.on_click
+ function="ToggleControl"
+ parameter="QAMode" />
+ </menu_item_check>
</menu>
<menu
create_jump_keys="true"