From d897da019d34d9ff1a8011f349b0157f2e81a777 Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Thu, 31 Dec 2009 01:46:47 -0700 Subject: Added preferences option to use legacy pie menu layout --- linden/indra/newview/CMakeLists.txt | 5 ++ linden/indra/newview/app_settings/settings.xml | 11 +++ linden/indra/newview/llpanelgeneral.cpp | 9 +++ linden/indra/newview/llviewermenu.cpp | 48 ++++++----- linden/indra/newview/llviewermenu.h | 2 + .../xui/en-us/legacy_menu_pie_attachment.xml | 23 ++++++ .../default/xui/en-us/legacy_menu_pie_avatar.xml | 53 +++++++++++++ .../default/xui/en-us/legacy_menu_pie_land.xml | 31 ++++++++ .../default/xui/en-us/legacy_menu_pie_object.xml | 87 ++++++++++++++++++++ .../default/xui/en-us/legacy_menu_pie_self.xml | 92 ++++++++++++++++++++++ .../xui/en-us/panel_preferences_general.xml | 44 +++++++---- 11 files changed, 370 insertions(+), 35 deletions(-) create mode 100644 linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_attachment.xml create mode 100644 linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_avatar.xml create mode 100644 linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_land.xml create mode 100644 linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_object.xml create mode 100644 linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_self.xml (limited to 'linden') diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt index cafe004..3b229c0 100644 --- a/linden/indra/newview/CMakeLists.txt +++ b/linden/indra/newview/CMakeLists.txt @@ -1179,6 +1179,11 @@ set(viewer_XUI_FILES skins/default/xui/en-us/floater_windlight_options.xml skins/default/xui/en-us/floater_world_map.xml skins/default/xui/en-us/fonts.xml + skins/default/xui/en-us/legacy_menu_pie_attachment.xml + skins/default/xui/en-us/legacy_menu_pie_avatar.xml + skins/default/xui/en-us/legacy_menu_pie_land.xml + skins/default/xui/en-us/legacy_menu_pie_object.xml + skins/default/xui/en-us/legacy_menu_pie_self.xml skins/default/xui/en-us/menu_inventory.xml skins/default/xui/en-us/menu_login.xml skins/default/xui/en-us/menu_mini_map.xml diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index 12d052c..f928e28 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml @@ -5580,6 +5580,17 @@ Value 0 + LegacyPieEnabled + + Comment + Use legacy pie menu + Persist + 1 + Type + Boolean + Value + 0 + LimitDragDistance Comment diff --git a/linden/indra/newview/llpanelgeneral.cpp b/linden/indra/newview/llpanelgeneral.cpp index adb4cfc..5664f03 100644 --- a/linden/indra/newview/llpanelgeneral.cpp +++ b/linden/indra/newview/llpanelgeneral.cpp @@ -44,6 +44,7 @@ #include "llagent.h" #include "llviewerregion.h" +#include "llviewermenu.h" LLPanelGeneral::LLPanelGeneral() { @@ -105,6 +106,8 @@ BOOL LLPanelGeneral::postBuild() childSetVisible("maturity_desired_combobox", can_choose); childSetVisible("maturity_desired_textbox", !can_choose); + + childSetValue("legacy_pie_menu_checkbox", gSavedSettings.getBOOL("LegacyPieEnabled")); return TRUE; } @@ -155,6 +158,12 @@ void LLPanelGeneral::apply() gAgent.sendMaturityPreferenceToServer(preferred_maturity); } } + + if (gSavedSettings.getBOOL("LegacyPieEnabled") == !((BOOL)childGetValue("legacy_pie_menu_checkbox"))) + { + gSavedSettings.setBOOL("LegacyPieEnabled", childGetValue("legacy_pie_menu_checkbox")); + build_pie_menus(); + } } void LLPanelGeneral::cancel() diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp index 34e7c77..c403700 100644 --- a/linden/indra/newview/llviewermenu.cpp +++ b/linden/indra/newview/llviewermenu.cpp @@ -618,24 +618,7 @@ void init_menus() /// /// Pie menus /// - gPieSelf = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_self.xml", gMenuHolder); - - // TomY TODO: what shall we do about these? - gDetachScreenPieMenu = gMenuHolder->getChild("Object Detach HUD", true); - gDetachPieMenu = gMenuHolder->getChild("Object Detach", true); - - gPieAvatar = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_avatar.xml", gMenuHolder); - - gPieObject = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_object.xml", gMenuHolder); - - gAttachScreenPieMenu = gMenuHolder->getChild("Object Attach HUD"); - gAttachPieMenu = gMenuHolder->getChild("Object Attach"); - - gPieAttachment = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_attachment.xml", gMenuHolder); - - gPieHUD = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_hud.xml", gMenuHolder); - - gPieLand = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_land.xml", gMenuHolder); + build_pie_menus(); /// /// set up the colors @@ -5164,6 +5147,35 @@ void toggle_debug_menus(void*) } +void build_pie_menus() +{ + // build legacy pie menus (based on SL viewer 1.22) + if (gSavedSettings.getBOOL("LegacyPieEnabled")) + { + gPieSelf = LLUICtrlFactory::getInstance()->buildPieMenu("legacy_menu_pie_self.xml", gMenuHolder); + gPieAvatar = LLUICtrlFactory::getInstance()->buildPieMenu("legacy_menu_pie_avatar.xml", gMenuHolder); + gPieAttachment = LLUICtrlFactory::getInstance()->buildPieMenu("legacy_menu_pie_attachment.xml", gMenuHolder); + gPieLand = LLUICtrlFactory::getInstance()->buildPieMenu("legacy_menu_pie_land.xml", gMenuHolder); + gPieObject = LLUICtrlFactory::getInstance()->buildPieMenu("legacy_menu_pie_object.xml", gMenuHolder); + } + else + { + gPieSelf = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_self.xml", gMenuHolder); + gPieAvatar = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_avatar.xml", gMenuHolder); + gPieAttachment = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_attachment.xml", gMenuHolder); + gPieLand = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_land.xml", gMenuHolder); + gPieObject = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_object.xml", gMenuHolder); + } + + // TomY TODO: what shall we do about these? + gDetachScreenPieMenu = gMenuHolder->getChild("Object Detach HUD", true); + gDetachPieMenu = gMenuHolder->getChild("Object Detach", true); + gAttachScreenPieMenu = gMenuHolder->getChild("Object Attach HUD"); + gAttachPieMenu = gMenuHolder->getChild("Object Attach"); + + gPieHUD = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_hud.xml", gMenuHolder); +} + // LLUUID gExporterRequestID; // std::string gExportDirectory; diff --git a/linden/indra/newview/llviewermenu.h b/linden/indra/newview/llviewermenu.h index 26c65fb..560edc8 100644 --- a/linden/indra/newview/llviewermenu.h +++ b/linden/indra/newview/llviewermenu.h @@ -49,6 +49,8 @@ void init_menus(); void cleanup_menus(); void show_debug_menus(); // checks for if menus should be shown first. +// builds either current or legacy pie menus depending upon LegacyPieEnabled +void build_pie_menus(); 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/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_attachment.xml b/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_attachment.xml new file mode 100644 index 0000000..18bedd0 --- /dev/null +++ b/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_attachment.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_avatar.xml b/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_avatar.xml new file mode 100644 index 0000000..7fba0be --- /dev/null +++ b/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_avatar.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_land.xml b/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_land.xml new file mode 100644 index 0000000..05827c5 --- /dev/null +++ b/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_land.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_object.xml b/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_object.xml new file mode 100644 index 0000000..3703dbd --- /dev/null +++ b/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_object.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_self.xml b/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_self.xml new file mode 100644 index 0000000..1e7e08a --- /dev/null +++ b/linden/indra/newview/skins/default/xui/en-us/legacy_menu_pie_self.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml index 6b17ab3..dba8007 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml @@ -29,11 +29,11 @@ Always - - @@ -50,18 +50,28 @@ font="SansSerifSmall" height="16" initial_value="false" label="Hide My Group Title" left="151" name="show_my_title_checkbox" radio_style="false" width="256" /> - + Pie Menus: + + + - - UI Size: - - + @@ -69,18 +79,18 @@ font="SansSerif" halign="center" height="22" label="Reset" label_selected="Reset" left_delta="226" mouse_opaque="true" name="reset_ui_size" scale_image="true" width="80" /> - - + bottom_delta="-25" drop_shadow_visible="true" enabled="true" follows="left|top" + font="SansSerifSmall" h_pad="0" halign="left" height="12" left="10" + mouse_opaque="true" name="UI Size:" v_pad="0" width="128"> Mini-map notify: + follows="left|top" font="SansSerifSmall" height="16" initial_value="false" + label="Entering sim" left="330" + mouse_opaque="true" name="mini_map_notify_sim" radio_style="false" + width="256" />