From 07e15bedd988c504ec0045a3eff53b847213630a Mon Sep 17 00:00:00 2001 From: Lis Pardi Date: Tue, 8 Dec 2009 18:11:59 -0500 Subject: EXT-3192 Preferences > Sounds UI issues --- .../default/xui/en/panel_preferences_sound.xml | 97 ++++++++++++---------- 1 file changed, 53 insertions(+), 44 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml index 214e39614e..854227619b 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml @@ -23,7 +23,7 @@ name="System Volume" show_text="false" slider_label.halign="right" - top_pad="5" + top="10" volume="true" width="350"> + width="350"> @@ -283,63 +285,70 @@ follows="left|top" height="13" layout="topleft" - left="170" + left="30" name="Listen from" - width="200"> + width="200" + top="205"> Listen from: + width="18" + left="80" + top="219"/> + width="18" + top="239" + left="80" + /> - - - + follows="left|top" + layout="topleft" + left="100" + width="221" + height="38" + name="ear_location" + top="218"> + + + -- cgit v1.2.3 From 0bfee2e4e064d25f902934a7fed48eb06aa236ba Mon Sep 17 00:00:00 2001 From: James Cook Date: Tue, 8 Dec 2009 15:20:41 -0800 Subject: EXT-2980 Made location history menu items XML-configurable Reviewed with Leyla --- indra/newview/llnavigationbar.cpp | 46 ++++++++++++++++------ .../xui/en/widgets/teleport_history_menu_item.xml | 12 ++++++ 2 files changed, 45 insertions(+), 13 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index e65b7d8a0c..9797c01371 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -82,9 +82,24 @@ public: struct Params : public LLInitParam::Block { - Mandatory item_type; - - Params() {} + Mandatory item_type; + Optional back_item_font, + current_item_font, + forward_item_font; + Optional back_item_image, + forward_item_image; + Optional image_hpad, + image_vpad; + Params() + : item_type(), + back_item_font("back_item_font"), + current_item_font("current_item_font"), + forward_item_font("forward_item_font"), + back_item_image("back_item_image"), + forward_item_image("forward_item_image"), + image_hpad("image_hpad"), + image_vpad("image_vpad") + {} }; /*virtual*/ void draw(); @@ -97,33 +112,38 @@ private: static const S32 ICON_WIDTH = 16; static const S32 ICON_HEIGHT = 16; - static const std::string ICON_IMG_BACKWARD; - static const std::string ICON_IMG_FORWARD; LLIconCtrl* mArrowIcon; }; -const std::string LLTeleportHistoryMenuItem::ICON_IMG_BACKWARD("teleport_history_backward.tga"); -const std::string LLTeleportHistoryMenuItem::ICON_IMG_FORWARD("teleport_history_forward.tga"); +static LLDefaultChildRegistry::Register r("teleport_history_menu_item"); + LLTeleportHistoryMenuItem::LLTeleportHistoryMenuItem(const Params& p) : LLMenuItemCallGL(p), mArrowIcon(NULL) { // Set appearance depending on the item type. - if (p.item_type == TYPE_CURRENT) + if (p.item_type == TYPE_BACKWARD) + { + setFont( p.back_item_font ); + setLabel(std::string(" ") + std::string(p.label)); + } + else if (p.item_type == TYPE_CURRENT) { - setFont(LLFontGL::getFontSansSerifBold()); + setFont( p.current_item_font ); } else { - setFont(LLFontGL::getFontSansSerif()); + setFont( p.forward_item_font ); setLabel(std::string(" ") + std::string(p.label)); } LLIconCtrl::Params icon_params; icon_params.name("icon"); - icon_params.rect(LLRect(0, ICON_HEIGHT, ICON_WIDTH, 0)); + LLRect rect(0, ICON_HEIGHT, ICON_WIDTH, 0); + rect.translate( p.image_hpad, p.image_vpad ); + icon_params.rect( rect ); icon_params.mouse_opaque(false); icon_params.follows.flags(FOLLOWS_LEFT | FOLLOWS_TOP); icon_params.visible(false); @@ -132,9 +152,9 @@ LLTeleportHistoryMenuItem::LLTeleportHistoryMenuItem(const Params& p) // no image for the current item if (p.item_type == TYPE_BACKWARD) - mArrowIcon->setValue(ICON_IMG_BACKWARD); + mArrowIcon->setValue( p.back_item_image() ); else if (p.item_type == TYPE_FORWARD) - mArrowIcon->setValue(ICON_IMG_FORWARD); + mArrowIcon->setValue( p.forward_item_image() ); addChild(mArrowIcon); } diff --git a/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml new file mode 100644 index 0000000000..eaa68f5690 --- /dev/null +++ b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml @@ -0,0 +1,12 @@ + + + -- cgit v1.2.3 From ae493ad72ffb6b5272cfb636a76a516a784e67f1 Mon Sep 17 00:00:00 2001 From: James Cook Date: Tue, 8 Dec 2009 16:13:48 -0800 Subject: EXT-3118 disabled Alerts appear to be enabled in Preferences Wasn't rebuilding the list of alerts on Preferences open Cleaned up some formatting in llfloaterpreference.cpp --- indra/newview/llfloaterpreference.cpp | 63 +++++++++++++++-------------------- indra/newview/llfloaterpreference.h | 4 +-- 2 files changed, 27 insertions(+), 40 deletions(-) diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 1c1f27a259..ab27375b87 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -251,7 +251,7 @@ bool callback_skip_dialogs(const LLSD& notification, const LLSD& response, LLFlo { floater->setAllIgnored(); LLFirstUse::disableFirstUse(); - LLFloaterPreference::buildLists(floater); + floater->buildPopupLists(); } } return false; @@ -266,7 +266,7 @@ bool callback_reset_dialogs(const LLSD& notification, const LLSD& response, LLFl { floater->resetAllIgnored(); LLFirstUse::resetFirstUse(); - LLFloaterPreference::buildLists(floater); + floater->buildPopupLists(); } } return false; @@ -391,6 +391,7 @@ LLFloaterPreference::~LLFloaterPreference() ctrl_window_size->setCurrentByIndex(i); } } + void LLFloaterPreference::draw() { BOOL has_first_selected = (getChildRef("disabled_popups").getFirstSelected()!=NULL); @@ -548,17 +549,17 @@ void LLFloaterPreference::cancel() void LLFloaterPreference::onOpen(const LLSD& key) { gAgent.sendAgentUserInfoRequest(); + /////////////////////////// From LLPanelGeneral ////////////////////////// // if we have no agent, we can't let them choose anything // if we have an agent, then we only let them choose if they have a choice - bool canChoose = gAgent.getID().notNull() && - (gAgent.isMature() || gAgent.isGodlike()); + bool can_choose_maturity = + gAgent.getID().notNull() && (gAgent.isMature() || gAgent.isGodlike()); LLComboBox* maturity_combo = getChild("maturity_desired_combobox"); - if (canChoose) - { - + if (can_choose_maturity) + { // if they're not adult or a god, they shouldn't see the adult selection, so delete it if (!gAgent.isAdult() && !gAgent.isGodlike()) { @@ -568,8 +569,7 @@ void LLFloaterPreference::onOpen(const LLSD& key) maturity_combo->remove(0); } childSetVisible("maturity_desired_combobox", true); - childSetVisible("maturity_desired_textbox", false); - + childSetVisible("maturity_desired_textbox", false); } else { @@ -577,6 +577,10 @@ void LLFloaterPreference::onOpen(const LLSD& key) childSetVisible("maturity_desired_combobox", false); } + // Enabled/disabled popups, might have been changed by user actions + // while preferences floater was closed. + buildPopupLists(); + LLPanelLogin::setAlwaysRefresh(true); refresh(); @@ -717,14 +721,6 @@ void LLFloaterPreference::updateMeterText(LLUICtrl* ctrl) m1->setVisible(two_digits); m2->setVisible(!two_digits); } -/* -void LLFloaterPreference::onClickClearCache() -{ - // flag client cache for clearing next time the client runs - gSavedSettings.setBOOL("PurgeCacheOnNextStartup", TRUE); - LLNotificationsUtil::add("CacheWillClear"); -} -*/ void LLFloaterPreference::onClickBrowserClearCache() { @@ -794,12 +790,13 @@ void LLFloaterPreference::refreshSkin(void* data) self->getChild("skin_selection", true)->setValue(sSkin); } -// static -void LLFloaterPreference::buildLists(void* data) + +void LLFloaterPreference::buildPopupLists() { - LLPanel*self = (LLPanel*)data; - LLScrollListCtrl& disabled_popups = self->getChildRef("disabled_popups"); - LLScrollListCtrl& enabled_popups = self->getChildRef("enabled_popups"); + LLScrollListCtrl& disabled_popups = + getChildRef("disabled_popups"); + LLScrollListCtrl& enabled_popups = + getChildRef("enabled_popups"); disabled_popups.deleteAllItems(); enabled_popups.deleteAllItems(); @@ -861,8 +858,7 @@ void LLFloaterPreference::buildLists(void* data) } void LLFloaterPreference::refreshEnabledState() -{ - +{ LLCheckBoxCtrl* ctrl_reflections = getChild("Reflections"); LLRadioGroup* radio_reflection_detail = getChild("ReflectionDetailRadio"); @@ -1111,7 +1107,7 @@ void LLFloaterPreference::onClickEnablePopup() LLUI::sSettingGroups["ignores"]->setBOOL(notification_name, TRUE); } - buildLists(this); + buildPopupLists(); } void LLFloaterPreference::onClickDisablePopup() @@ -1128,8 +1124,9 @@ void LLFloaterPreference::onClickDisablePopup() LLUI::sSettingGroups["ignores"]->setBOOL(notification_name, FALSE); } - buildLists(this); + buildPopupLists(); } + void LLFloaterPreference::resetAllIgnored() { for (LLNotifications::TemplateMap::const_iterator iter = LLNotifications::instance().templatesBegin(); @@ -1428,17 +1425,11 @@ BOOL LLPanelPreference::postBuild() } } - ////////////////////////Panel Popups///////////////// - if(hasChild("disabled_popups") && hasChild("enabled_popups")) - { - LLFloaterPreference::buildLists(this); - } - ////// + if(hasChild("online_visibility") && hasChild("send_im_to_email")) { childSetText("email_address",getString("log_in_to_change") ); -// childSetText("busy_response", getString("log_in_to_change")); - +// childSetText("busy_response", getString("log_in_to_change")); } @@ -1573,8 +1564,7 @@ void LLPanelPreference::saveSettings() { view_stack.push_back(*iter); } - } - + } } void LLPanelPreference::cancel() @@ -1607,4 +1597,3 @@ void LLPanelPreference::setControlFalse(const LLSD& user_data) if (control) control->set(LLSD(FALSE)); } - diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h index a30422564a..d292f3bb7b 100644 --- a/indra/newview/llfloaterpreference.h +++ b/indra/newview/llfloaterpreference.h @@ -85,7 +85,6 @@ protected: void onBtnCancel(); void onBtnApply(); -// void onClickClearCache(); void onClickBrowserClearCache(); // if the custom settings box is clicked @@ -141,7 +140,7 @@ public: static void initWindowSizeControls(LLPanel* panelp); - static void buildLists(void* data); + void buildPopupLists(); static void refreshSkin(void* data); static void cleanupBadSetting(); static F32 sAspectRatio; @@ -153,7 +152,6 @@ private: bool mOriginalHideOnlineStatus; std::string mDirectoryVisibility; - }; class LLPanelPreference : public LLPanel -- cgit v1.2.3 From a65473957f16f9cfba8ed10b87218d65d64519ef Mon Sep 17 00:00:00 2001 From: James Cook Date: Tue, 8 Dec 2009 16:28:34 -0800 Subject: Back out EXT-2827 Unable to delete object when select face of object May cause right-click delete to fail - testing that Backed out changeset: 1f8e1e73f9f4 --- indra/newview/llselectmgr.cpp | 13 +------------ indra/newview/llviewermenu.cpp | 20 -------------------- .../default/xui/en/floater_animation_preview.xml | 4 ++-- 3 files changed, 3 insertions(+), 34 deletions(-) diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index c8b86118be..1605838b94 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -5753,19 +5753,8 @@ void LLSelectMgr::redo() //----------------------------------------------------------------------------- BOOL LLSelectMgr::canDoDelete() const { - bool can_delete = false; - LLViewerObject* obj = const_cast(this)->mSelectedObjects->getFirstDeleteableObject() ; // HACK: casting away constness - MG // Note: Can only delete root objects (see getFirstDeleteableObject() for more info) - if (obj!= NULL) - { - // all the faces needs to be selected - if(const_cast(this)->mSelectedObjects->contains(obj,SELECT_ALL_TES )) - { - can_delete = true; - } - } - - return can_delete; + return const_cast(this)->mSelectedObjects->getFirstDeleteableObject() != NULL; // HACK: casting away constness - MG } //----------------------------------------------------------------------------- diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 066395aedf..0b40492391 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2422,12 +2422,6 @@ class LLObjectEnableReportAbuse : public view_listener_t bool handleEvent(const LLSD& userdata) { bool new_value = LLSelectMgr::getInstance()->getSelection()->getObjectCount() != 0; -/* // all the faces needs to be selected - if(LLSelectMgr::getInstance()->getSelection()->contains(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(),SELECT_ALL_TES )) - { - new_value = true; - } - */ return new_value; } }; @@ -2816,7 +2810,6 @@ BOOL enable_has_attachments(void*) bool enable_object_mute() { LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); - bool new_value = (object != NULL); if (new_value) { @@ -2829,19 +2822,6 @@ bool enable_object_mute() BOOL is_self = avatar->isSelf(); new_value = !is_linden && !is_self; } - else - { - if( LLSelectMgr::getInstance()->getSelection()->contains(object,SELECT_ALL_TES )) - { - new_value = true; - } - else - { - new_value = false; - } - - } - } return new_value; } diff --git a/indra/newview/skins/default/xui/en/floater_animation_preview.xml b/indra/newview/skins/default/xui/en/floater_animation_preview.xml index 26ace7b617..4f4288b654 100644 --- a/indra/newview/skins/default/xui/en/floater_animation_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_animation_preview.xml @@ -525,7 +525,7 @@ Maximum animation length is [MAX_LENGTH] seconds. We recommend BVH files exported from Poser 4.