diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llui/llmenugl.cpp | 2 | ||||
-rw-r--r-- | indra/newview/CMakeLists.txt | 2 | ||||
-rw-r--r-- | indra/newview/llagentwearables.cpp | 16 | ||||
-rw-r--r-- | indra/newview/llappearancemgr.cpp | 16 | ||||
-rw-r--r-- | indra/newview/llappearancemgr.h | 1 | ||||
-rw-r--r-- | indra/newview/llfloaterpreference.cpp | 35 | ||||
-rw-r--r-- | indra/newview/llfloaterpreference.h | 1 | ||||
-rw-r--r-- | indra/newview/llpaneloutfitsinventory.cpp | 92 | ||||
-rw-r--r-- | indra/newview/llpaneloutfitsinventory.h | 4 | ||||
-rw-r--r-- | indra/newview/llpanelprimmediacontrols.cpp | 16 | ||||
-rw-r--r-- | indra/newview/llpanelprimmediacontrols.h | 2 | ||||
-rw-r--r-- | indra/newview/llsidepanelappearance.cpp | 14 | ||||
-rw-r--r-- | indra/newview/llsidepanelappearance.h | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_outfit_save_as.xml | 59 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_preferences_privacy.xml | 17 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_prim_media_controls.xml | 29 | ||||
-rw-r--r-- | indra/newview/tests/llviewerhelputil_test.cpp | 3 |
17 files changed, 243 insertions, 68 deletions
diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 21f3f15739..c172a2b714 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -99,7 +99,7 @@ const S32 TEAROFF_SEPARATOR_HEIGHT_PIXELS = 10; const S32 MENU_ITEM_PADDING = 4; const std::string BOOLEAN_TRUE_PREFIX( "\xE2\x9C\x94" ); // U+2714 HEAVY CHECK MARK -const std::string BRANCH_SUFFIX( ">" ); +const std::string BRANCH_SUFFIX( "\xE2\x96\xB6" ); // U+25B6 BLACK RIGHT-POINTING TRIANGLE const std::string ARROW_UP ("^^^^^^^"); const std::string ARROW_DOWN("vvvvvvv"); diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 8d1eeb7ee3..958b9521fa 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1769,8 +1769,8 @@ if (LL_TESTS) lldateutil.cpp llmediadataclient.cpp lllogininstance.cpp + llviewerhelputil.cpp ) -# DISABLED TEST: llviewerhelputil.cpp /* hard to mock LLAgent dependency */ ################################################## # DISABLING PRECOMPILED HEADERS USAGE FOR TESTS diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 10a2dd132a..c21cdf9508 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1364,15 +1364,15 @@ void LLAgentWearables::makeNewOutfit(const std::string& new_folder_name, } } -class LLAutoRenameFolder: public LLInventoryCallback +class LLShowCreatedOutfit: public LLInventoryCallback { public: - LLAutoRenameFolder(LLUUID& folder_id): + LLShowCreatedOutfit(LLUUID& folder_id): mFolderID(folder_id) { } - virtual ~LLAutoRenameFolder() + virtual ~LLShowCreatedOutfit() { LLSD key; LLSideTray::getInstance()->showPanel("panel_outfits_inventory", key); @@ -1382,13 +1382,15 @@ public: { outfit_panel->getRootFolder()->clearSelection(); outfit_panel->getRootFolder()->setSelectionByID(mFolderID, TRUE); - outfit_panel->getRootFolder()->setNeedsAutoRename(TRUE); } LLAccordionCtrlTab* tab_outfits = outfit_panel ? outfit_panel->findChild<LLAccordionCtrlTab>("tab_outfits") : 0; if (tab_outfits && !tab_outfits->getDisplayChildren()) { tab_outfits->changeOpenClose(tab_outfits->getDisplayChildren()); } + + LLAppearanceManager::instance().updateIsDirty(); + LLAppearanceManager::instance().updatePanelOutfitName(""); } virtual void fire(const LLUUID&) @@ -1413,10 +1415,10 @@ LLUUID LLAgentWearables::makeNewOutfitLinks(const std::string& new_folder_name) LLFolderType::FT_OUTFIT, new_folder_name); - LLPointer<LLInventoryCallback> cb = new LLAutoRenameFolder(folder_id); + LLPointer<LLInventoryCallback> cb = new LLShowCreatedOutfit(folder_id); LLAppearanceManager::instance().shallowCopyCategory(LLAppearanceManager::instance().getCOF(),folder_id, cb); - LLAppearanceManager::instance().createBaseOutfitLink(folder_id, NULL); - + LLAppearanceManager::instance().createBaseOutfitLink(folder_id, cb); + return folder_id; } diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 4d4a89bcd4..748d8bdfbf 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -392,6 +392,21 @@ const LLViewerInventoryItem* LLAppearanceManager::getBaseOutfitLink() return NULL; } +bool LLAppearanceManager::getBaseOutfitName(std::string& name) +{ + const LLViewerInventoryItem* outfit_link = getBaseOutfitLink(); + if(outfit_link) + { + const LLViewerInventoryCategory *cat = outfit_link->getLinkedCategory(); + if (cat) + { + name = cat->getName(); + return true; + } + } + return false; +} + // Update appearance from outfit folder. void LLAppearanceManager::changeOutfit(bool proceed, const LLUUID& category, bool append) { @@ -630,6 +645,7 @@ void LLAppearanceManager::createBaseOutfitLink(const LLUUID& category, LLPointer LLAssetType::AT_LINK_FOLDER, link_waiter); new_outfit_name = catp->getName(); } + updatePanelOutfitName(new_outfit_name); } diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index b954968998..20745b70e4 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -63,6 +63,7 @@ public: // Finds the folder link to the currently worn outfit const LLViewerInventoryItem *getBaseOutfitLink(); + bool getBaseOutfitName(std::string &name); // Update the displayed outfit name in UI. void updatePanelOutfitName(const std::string& name); diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 87ee7b8498..fc036cb354 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -326,6 +326,7 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key) mCommitCallbackRegistrar.add("Pref.UpdateSliderText", boost::bind(&LLFloaterPreference::onUpdateSliderText,this, _1,_2)); mCommitCallbackRegistrar.add("Pref.AutoDetectAspect", boost::bind(&LLFloaterPreference::onCommitAutoDetectAspect, this)); mCommitCallbackRegistrar.add("Pref.ParcelMediaAutoPlayEnable", boost::bind(&LLFloaterPreference::onCommitParcelMediaAutoPlayEnable, this)); + mCommitCallbackRegistrar.add("Pref.MediaEnabled", boost::bind(&LLFloaterPreference::onCommitMediaEnabled, this)); mCommitCallbackRegistrar.add("Pref.onSelectAspectRatio", boost::bind(&LLFloaterPreference::onKeystrokeAspectRatio, this)); mCommitCallbackRegistrar.add("Pref.QualityPerformance", boost::bind(&LLFloaterPreference::onChangeQuality, this, _2)); mCommitCallbackRegistrar.add("Pref.applyUIColor", boost::bind(&LLFloaterPreference::applyUIColor, this ,_1, _2)); @@ -994,16 +995,18 @@ void LLFloaterPreference::onCommitParcelMediaAutoPlayEnable() gSavedSettings.setBOOL(LLViewerMedia::AUTO_PLAY_MEDIA_SETTING, autoplay); lldebugs << "autoplay now = " << int(autoplay) << llendl; +} - if (autoplay) - { - // autoplay toggle has gone from FALSE to TRUE; ensure that - // the media system is thus actually turned on too. - gSavedSettings.setBOOL("AudioStreamingVideo", TRUE); - gSavedSettings.setBOOL("AudioStreamingMusic", TRUE); - gSavedSettings.setBOOL("AudioStreamingMedia", TRUE); - llinfos << "autoplay turned on, turned all media subsystems on" << llendl; - } +void LLFloaterPreference::onCommitMediaEnabled() +{ + LLCheckBoxCtrl *media_enabled_ctrl = getChild<LLCheckBoxCtrl>("media_enabled"); + bool enabled = media_enabled_ctrl->get(); + gSavedSettings.setBOOL("AudioStreamingVideo", enabled); + gSavedSettings.setBOOL("AudioStreamingMusic", enabled); + gSavedSettings.setBOOL("AudioStreamingMedia", enabled); + media_enabled_ctrl->setTentative(false); + // Update enabled state of the "autoplay" checkbox + getChild<LLCheckBoxCtrl>("autoplay_enabled")->setEnabled(enabled); } void LLFloaterPreference::refresh() @@ -1420,6 +1423,20 @@ BOOL LLPanelPreference::postBuild() refresh(); } + //////////////////////PanelPrivacy /////////////////// + if(hasChild("media_enabled")) + { + bool video_enabled = gSavedSettings.getBOOL("AudioStreamingVideo"); + bool music_enabled = gSavedSettings.getBOOL("AudioStreamingMusic"); + bool media_enabled = gSavedSettings.getBOOL("AudioStreamingMedia"); + bool enabled = video_enabled || music_enabled || media_enabled; + + LLCheckBoxCtrl *media_enabled_ctrl = getChild<LLCheckBoxCtrl>("media_enabled"); + media_enabled_ctrl->set(enabled); + media_enabled_ctrl->setTentative(!(video_enabled == music_enabled == media_enabled)); + getChild<LLCheckBoxCtrl>("autoplay_enabled")->setEnabled(enabled); + } + apply(); return true; } diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h index b7ddc1fe64..6f382620ee 100644 --- a/indra/newview/llfloaterpreference.h +++ b/indra/newview/llfloaterpreference.h @@ -133,6 +133,7 @@ public: void onCommitAutoDetectAspect(); void onCommitParcelMediaAutoPlayEnable(); + void onCommitMediaEnabled(); void applyResolution(); void applyUIColor(LLUICtrl* ctrl, const LLSD& param); void getUIColor(LLUICtrl* ctrl, const LLSD& param); diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp index e058b3b326..df73c27f54 100644 --- a/indra/newview/llpaneloutfitsinventory.cpp +++ b/indra/newview/llpaneloutfitsinventory.cpp @@ -35,6 +35,7 @@ #include "llagent.h" #include "llagentwearables.h" +#include "llappearancemgr.h" #include "llbutton.h" #include "llfloaterreg.h" @@ -44,6 +45,8 @@ #include "llinventoryfunctions.h" #include "llinventorypanel.h" #include "lllandmark.h" +#include "lllineeditor.h" +#include "llmodaldialog.h" #include "llsidepanelappearance.h" #include "llsidetray.h" #include "lltabcontainer.h" @@ -61,12 +64,75 @@ static LLRegisterPanelClassWrapper<LLPanelOutfitsInventory> t_inventory("panel_outfits_inventory"); bool LLPanelOutfitsInventory::sShowDebugEditor = false; +class LLOutfitSaveAsDialog : public LLModalDialog +{ +private: + std::string mItemName; + std::string mTempItemName; + + boost::signals2::signal<void (const std::string&)> mSaveAsSignal; + +public: + LLOutfitSaveAsDialog( const LLSD& key ) + : LLModalDialog( key ), + mTempItemName(key.asString()) + { + } + + BOOL postBuild() + { + getChild<LLUICtrl>("Save")->setCommitCallback(boost::bind(&LLOutfitSaveAsDialog::onSave, this )); + getChild<LLUICtrl>("Cancel")->setCommitCallback(boost::bind(&LLOutfitSaveAsDialog::onCancel, this )); + + childSetTextArg("name ed", "[DESC]", mTempItemName); + return TRUE; + } + + void setSaveAsCommit( const boost::signals2::signal<void (const std::string&)>::slot_type& cb ) + { + mSaveAsSignal.connect(cb); + } + + virtual void onOpen(const LLSD& key) + { + LLLineEditor* edit = getChild<LLLineEditor>("name ed"); + if (edit) + { + edit->setFocus(TRUE); + edit->selectAll(); + } + } + + void onSave() + { + mItemName = childGetValue("name ed").asString(); + LLStringUtil::trim(mItemName); + if( !mItemName.empty() ) + { + mSaveAsSignal(mItemName); + closeFloater(); // destroys this object + } + } + + void onCancel() + { + closeFloater(); // destroys this object + } +}; + LLPanelOutfitsInventory::LLPanelOutfitsInventory() : mActivePanel(NULL), mParent(NULL) { mSavedFolderState = new LLSaveFolderState(); mSavedFolderState->setApply(FALSE); + + static bool registered_dialog = false; + if (!registered_dialog) + { + LLFloaterReg::add("outfit_save_as", "floater_outfit_save_as.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLOutfitSaveAsDialog>); + registered_dialog = true; + } } LLPanelOutfitsInventory::~LLPanelOutfitsInventory() @@ -177,10 +243,28 @@ void LLPanelOutfitsInventory::onEdit() { } -void LLPanelOutfitsInventory::onNew() +void LLPanelOutfitsInventory::onSave() +{ + std::string outfit_name; + + if (!LLAppearanceManager::getInstance()->getBaseOutfitName(outfit_name)) + { + outfit_name = LLViewerFolderType::lookupNewCategoryName(LLFolderType::FT_OUTFIT); + } + + LLOutfitSaveAsDialog* save_as_dialog = LLFloaterReg::showTypedInstance<LLOutfitSaveAsDialog>("outfit_save_as", LLSD(outfit_name), TRUE); + if (save_as_dialog) + { + save_as_dialog->setSaveAsCommit(boost::bind(&LLPanelOutfitsInventory::onSaveCommit, this, _1 )); + } +} + +void LLPanelOutfitsInventory::onSaveCommit(const std::string& outfit_name) { - const std::string& outfit_name = LLViewerFolderType::lookupNewCategoryName(LLFolderType::FT_OUTFIT); LLUUID outfit_folder = gAgentWearables.makeNewOutfitLinks(outfit_name); + LLSD key; + LLSideTray::getInstance()->showPanel("panel_outfits_inventory", key); + if (mAppearanceTabs) { mAppearanceTabs->selectTabByName("outfitslist_tab"); @@ -291,7 +375,7 @@ void LLPanelOutfitsInventory::onGearButtonClick() void LLPanelOutfitsInventory::onAddButtonClick() { - onNew(); + onSave(); } void LLPanelOutfitsInventory::showActionMenu(LLMenuGL* menu, std::string spawning_view_name) @@ -330,7 +414,7 @@ void LLPanelOutfitsInventory::onCustomAction(const LLSD& userdata) const std::string command_name = userdata.asString(); if (command_name == "new") { - onNew(); + onSave(); } if (command_name == "edit") { diff --git a/indra/newview/llpaneloutfitsinventory.h b/indra/newview/llpaneloutfitsinventory.h index b117311775..76110e2a3f 100644 --- a/indra/newview/llpaneloutfitsinventory.h +++ b/indra/newview/llpaneloutfitsinventory.h @@ -59,7 +59,9 @@ public: void onAdd(); void onRemove(); void onEdit(); - void onNew(); + void onSave(); + + void onSaveCommit(const std::string& item_name); void onSelectionChange(const std::deque<LLFolderViewItem*> &items, BOOL user_action); void onSelectorButtonClicked(); diff --git a/indra/newview/llpanelprimmediacontrols.cpp b/indra/newview/llpanelprimmediacontrols.cpp index 4f539f404d..2dc3a62637 100644 --- a/indra/newview/llpanelprimmediacontrols.cpp +++ b/indra/newview/llpanelprimmediacontrols.cpp @@ -160,8 +160,6 @@ BOOL LLPanelPrimMediaControls::postBuild() mSkipBackCtrl = getChild<LLUICtrl>("skip_back"); mVolumeCtrl = getChild<LLUICtrl>("media_volume"); mMuteBtn = getChild<LLButton>("media_mute_button"); - mVolumeUpCtrl = getChild<LLUICtrl>("volume_up"); - mVolumeDownCtrl = getChild<LLUICtrl>("volume_down"); mVolumeSliderCtrl = getChild<LLSliderCtrl>("volume_slider"); mWhitelistIcon = getChild<LLIconCtrl>("media_whitelist_flag"); mSecureLockIcon = getChild<LLIconCtrl>("media_secure_lock_flag"); @@ -339,8 +337,6 @@ void LLPanelPrimMediaControls::updateShape() mMediaAddressCtrl->setVisible(has_focus && !mini_controls); mMediaPlaySliderPanel->setVisible(has_focus && !mini_controls); mVolumeCtrl->setVisible(false); - mVolumeUpCtrl->setVisible(false); - mVolumeDownCtrl->setVisible(false); mWhitelistIcon->setVisible(!mini_controls && (media_data)?media_data->getWhiteListEnable():false); // Disable zoom if HUD @@ -373,8 +369,6 @@ void LLPanelPrimMediaControls::updateShape() mSkipBackCtrl->setEnabled(has_focus && !mini_controls); mVolumeCtrl->setVisible(has_focus); - mVolumeUpCtrl->setVisible(has_focus); - mVolumeDownCtrl->setVisible(has_focus); mVolumeCtrl->setEnabled(has_focus); mVolumeSliderCtrl->setEnabled(has_focus && shouldVolumeSliderBeVisible()); mVolumeSliderCtrl->setVisible(has_focus && shouldVolumeSliderBeVisible()); @@ -417,21 +411,15 @@ void LLPanelPrimMediaControls::updateShape() // video vloume if(volume <= 0.0) { - mVolumeUpCtrl->setEnabled(TRUE); - mVolumeDownCtrl->setEnabled(FALSE); mMuteBtn->setToggleState(true); } else if (volume >= 1.0) { - mVolumeUpCtrl->setEnabled(FALSE); - mVolumeDownCtrl->setEnabled(TRUE); mMuteBtn->setToggleState(false); } else { mMuteBtn->setToggleState(false); - mVolumeUpCtrl->setEnabled(TRUE); - mVolumeDownCtrl->setEnabled(TRUE); } switch(result) @@ -476,12 +464,8 @@ void LLPanelPrimMediaControls::updateShape() mSkipBackCtrl->setEnabled(FALSE); mVolumeCtrl->setVisible(FALSE); - mVolumeUpCtrl->setVisible(FALSE); - mVolumeDownCtrl->setVisible(FALSE); mVolumeSliderCtrl->setVisible(FALSE); mVolumeCtrl->setEnabled(FALSE); - mVolumeUpCtrl->setEnabled(FALSE); - mVolumeDownCtrl->setEnabled(FALSE); mVolumeSliderCtrl->setEnabled(FALSE); if (mMediaPanelScroll) diff --git a/indra/newview/llpanelprimmediacontrols.h b/indra/newview/llpanelprimmediacontrols.h index 419f033628..743cec70a1 100644 --- a/indra/newview/llpanelprimmediacontrols.h +++ b/indra/newview/llpanelprimmediacontrols.h @@ -156,8 +156,6 @@ private: LLUICtrl *mMediaPlaySliderCtrl; LLUICtrl *mVolumeCtrl; LLButton *mMuteBtn; - LLUICtrl *mVolumeUpCtrl; - LLUICtrl *mVolumeDownCtrl; LLSliderCtrl *mVolumeSliderCtrl; LLIconCtrl *mWhitelistIcon; LLIconCtrl *mSecureLockIcon; diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 77a370cc3f..43215f86bd 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -87,7 +87,7 @@ void LLWatchForOutfitRenameObserver::changed(U32 mask) mPanel->refreshCurrentOutfitName(); } } - + LLSidepanelAppearance::LLSidepanelAppearance() : LLPanel(), mFilterSubString(LLStringUtil::null), @@ -255,7 +255,7 @@ void LLSidepanelAppearance::onNewOutfitButtonClicked() { if (!mLookInfo->getVisible()) { - mPanelOutfitsInventory->onNew(); + mPanelOutfitsInventory->onSave(); } } @@ -321,15 +321,11 @@ void LLSidepanelAppearance::refreshCurrentOutfitName(const std::string& name) mOutfitDirtyTag->setVisible(LLAppearanceManager::getInstance()->isOutfitDirty()); if (name == "") { - const LLViewerInventoryItem *outfit_link = LLAppearanceManager::getInstance()->getBaseOutfitLink(); - if (outfit_link) + std::string outfit_name; + if (LLAppearanceManager::getInstance()->getBaseOutfitName(outfit_name)) { - const LLViewerInventoryCategory *cat = outfit_link->getLinkedCategory(); - if (cat && cat->getPreferredType() == LLFolderType::FT_OUTFIT) - { - mCurrentLookName->setText(cat->getName()); + mCurrentLookName->setText(outfit_name); return; - } } mCurrentLookName->setText(getString("No Outfit")); mOpenOutfitBtn->setEnabled(FALSE); diff --git a/indra/newview/llsidepanelappearance.h b/indra/newview/llsidepanelappearance.h index 9524b0ece9..aa2e67fd16 100644 --- a/indra/newview/llsidepanelappearance.h +++ b/indra/newview/llsidepanelappearance.h @@ -61,6 +61,7 @@ public: void fetchInventory(); void inventoryFetched(); void updateVerbs(); + void onNewOutfitButtonClicked(); private: void onFilterEdit(const std::string& search_string); @@ -68,7 +69,6 @@ private: void onOpenOutfitButtonClicked(); void onEditAppearanceButtonClicked(); void onEditButtonClicked(); - void onNewOutfitButtonClicked(); void onBackButtonClicked(); void onEditWearBackClicked(); void toggleLookInfoPanel(BOOL visible); diff --git a/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml new file mode 100644 index 0000000000..c3d84de9a7 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + legacy_header_height="18" + border="true" + can_close="false" + can_minimize="false" + height="100" + layout="topleft" + name="modal container" + width="240"> + <button + height="20" + label="Save" + label_selected="Save" + layout="topleft" + left="20" + name="Save" + top="70" + width="82" /> + <button + height="20" + label="Cancel" + label_selected="Cancel" + layout="topleft" + left_pad="36" + name="Cancel" + top_delta="0" + width="82" /> + <text + type="string" + length="1" + follows="left|top" + font="SansSerif" + height="16" + layout="topleft" + left="20" + name="Save item as:" + top="10" + width="200"> + Save outfit as: + </text> + <line_editor + type="string" + length="1" + border_style="line" + border_thickness="1" + follows="left|top" + font="SansSerif" + handle_edit_keys_directly="true" + height="20" + layout="topleft" + left_delta="0" + max_length="63" + name="name ed" + top_pad="4" + width="200"> + [DESC] + </line_editor> +</floater> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml index 1c1e17eb5a..a8e24366f2 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml @@ -77,10 +77,23 @@ name="cookies_enabled" top_pad="10" width="350" /> - <check_box + <check_box + control_name="MediaEnabled" + height="16" + label="Media Enabled" + layout="topleft" + left="30" + name="media_enabled" + top_pad="10" + width="350"> + <check_box.commit_callback + function="Pref.MediaEnabled" /> + </check_box> + <check_box + enabled_control="MediaEnabled" control_name="ParcelMediaAutoPlayEnable" height="16" - label="Allow Media Autoplay" + label="Allow Media to auto-play" layout="topleft" left="30" name="autoplay_enabled" diff --git a/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml index ab6384203f..e1d8ee241d 100644 --- a/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml +++ b/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml @@ -122,6 +122,7 @@ height="22" width="22"> <button + name="fwd_btn" follows="top" image_overlay="Arrow_Right_Off" image_disabled="PushButton_Disabled" @@ -131,7 +132,6 @@ hover_glow_amount="0.15" top="0" height="22" - min_width="22" width="22" layout="topleft" tool_tip="Navigate forward"> @@ -150,10 +150,11 @@ min_width="22" width="22"> <button + name="home_btn" follows="top" + image_overlay="Home_Off" image_disabled="PushButton_Disabled" image_disabled_selected="PushButton_Disabled" - image_overlay="Home_Off" image_selected="PushButton_Selected" image_unselected="PushButton_Off" hover_glow_amount="0.15" @@ -161,7 +162,6 @@ tool_tip="Home page" top="0" height="22" - min_width="22" width="22"> <button.commit_callback function="MediaCtrl.Home" /> @@ -178,6 +178,7 @@ min_width="22" width="22"> <button + name="media_stop_btn" follows="top" image_overlay="Stop_Off" image_disabled="PushButton_Disabled" @@ -189,7 +190,6 @@ tool_tip="Stop media" top="0" height="22" - min_width="22" width="22"> <button.commit_callback function="MediaCtrl.MediaStop" /> @@ -206,6 +206,7 @@ min_width="22" width="22"> <button + name="reload_btn" follows="top" image_overlay="Refresh_Off" image_disabled="PushButton_Disabled" @@ -217,7 +218,6 @@ tool_tip="Reload" top="0" height="22" - min_width="22" width="22"> <button.commit_callback function="MediaCtrl.Reload" /> @@ -234,6 +234,7 @@ min_width="22" width="22"> <button + name="stop_btn" follows="top" image_overlay="StopReload_Off" image_disabled="PushButton_Disabled" @@ -245,7 +246,6 @@ tool_tip = "Stop loading" top="0" height="22" - min_width="22" width="22"> <button.commit_callback function="MediaCtrl.Stop" /> @@ -262,6 +262,7 @@ min_width="22" width="24"> <button + name="play_btn" follows="top" image_overlay="Play_Off" image_disabled="PushButton_Disabled" @@ -274,7 +275,6 @@ left_delta="2" top="0" height="22" - min_width="22" width="22"> <button.commit_callback function="MediaCtrl.Play" /> @@ -290,6 +290,7 @@ min_width="22" width="24"> <button + name="pause_btn" follows="top" image_overlay="Pause_Off" image_disabled="PushButton_Disabled" @@ -354,7 +355,6 @@ image_name="Flag" layout="topleft" tool_tip="White List enabled" - min_width="16" width="16" /> </layout_panel> <layout_panel @@ -369,7 +369,6 @@ image_name="Lock2" layout="topleft" tool_tip="Secured Browsing" - min_width="16" width="16" /> </layout_panel> </layout_stack> @@ -394,7 +393,6 @@ initial_value="0.5" layout="topleft" tool_tip="Movie play progress" - min_width="100" width="200"> <slider_bar.commit_callback function="MediaCtrl.JumpProgress" /> @@ -410,6 +408,7 @@ min_width="22" width="22"> <button + name="skip_back_btn" follows="top" image_overlay="SkipBackward_Off" image_disabled="PushButton_Disabled" @@ -438,6 +437,7 @@ min_width="22" width="22"> <button + name="skip_forward_btn" follows="top" image_overlay="SkipForward_Off" image_disabled="PushButton_Disabled" @@ -449,7 +449,6 @@ layout="topleft" tool_tip="Step forward" top="0" - min_width="22" width="22"> <button.commit_callback function="MediaCtrl.SkipForward" /> @@ -470,20 +469,19 @@ <!-- two different images. --> <!-- Note also: the button and the slider must overlap! --> <button + name="media_mute_button" follows="top" image_disabled="PushButton_Disabled" image_disabled_selected="PushButton_Disabled" image_selected="AudioMute_Off" image_unselected="Audio_Off" hover_glow_amount="0.15" - name="media_mute_button" is_toggle="true" layout="topleft" scale_image="false" tool_tip="Mute This Media" top="0" height="20" - min_width="22" width="22" > <button.commit_callback function="MediaCtrl.ToggleMute" /> @@ -523,6 +521,7 @@ min_width="22" width="22"> <button + name="zoom_frame_btn" follows="top" image_overlay="Zoom_Off" image_disabled="PushButton_Disabled" @@ -534,7 +533,6 @@ height="22" layout="topleft" tool_tip="Zoom into media" - min_width="22" width="22"> <button.commit_callback function="MediaCtrl.Zoom" /> @@ -550,6 +548,7 @@ min_width="21" width="21" > <button + name="close_btn" follows="top" image_overlay="UnZoom_Off" image_disabled="PushButton_Disabled" @@ -577,6 +576,7 @@ min_width="22" width="22"> <button + name="new_window_btn" follows="top" image_overlay="ExternalBrowser_Off" image_disabled="PushButton_Disabled" @@ -588,7 +588,6 @@ layout="topleft" tool_tip = "Open URL in browser" top="0" - min_width="24" width="24" > <button.commit_callback function="MediaCtrl.Open" /> diff --git a/indra/newview/tests/llviewerhelputil_test.cpp b/indra/newview/tests/llviewerhelputil_test.cpp index d7dd199722..297d98ad8d 100644 --- a/indra/newview/tests/llviewerhelputil_test.cpp +++ b/indra/newview/tests/llviewerhelputil_test.cpp @@ -83,6 +83,9 @@ class LLAgent public: LLAgent() {} ~LLAgent() {} +#ifdef __GNUC__ + __attribute__ ((noinline)) +#endif BOOL isGodlike() const { return FALSE; } private: int dummy; |