summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rwxr-xr-xindra/newview/app_settings/settings.xml22
-rwxr-xr-xindra/newview/llassetuploadresponders.cpp5
-rwxr-xr-xindra/newview/llavatarlist.cpp14
-rwxr-xr-xindra/newview/llavatarlist.h2
-rw-r--r--indra/newview/llconversationview.cpp81
-rw-r--r--indra/newview/llconversationview.h5
-rw-r--r--indra/newview/llexperienceassociationresponder.cpp18
-rwxr-xr-xindra/newview/llfloaterimcontainer.cpp9
-rwxr-xr-xindra/newview/llinventorybridge.cpp6
-rwxr-xr-xindra/newview/llpanelface.cpp70
-rwxr-xr-xindra/newview/llpanelobjectinventory.cpp5
-rwxr-xr-xindra/newview/llpanelpeople.cpp24
-rwxr-xr-xindra/newview/llpreviewnotecard.cpp16
-rwxr-xr-xindra/newview/skins/default/xui/en/menu_participant_view.xml13
-rwxr-xr-xindra/newview/skins/default/xui/en/menu_people_friends_view.xml4
-rwxr-xr-xindra/newview/skins/default/xui/en/menu_people_nearby_view.xml4
-rwxr-xr-xindra/newview/skins/default/xui/en/menu_people_recent_view.xml4
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_preferences_setup.xml26
-rw-r--r--indra/newview/skins/default/xui/en/panel_tools_texture.xml55
19 files changed, 287 insertions, 96 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 0371a819dd..96fbc8323b 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -1697,6 +1697,17 @@
<key>Value</key>
<integer>1</integer>
</map>
+ <key>ChatShowIcons</key>
+ <map>
+ <key>Comment</key>
+ <string>Show/hide people icons in chat</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>1</integer>
+ </map>
<key>CheesyBeacon</key>
<map>
<key>Comment</key>
@@ -10996,6 +11007,17 @@
<key>Value</key>
<integer>1</integer>
</map>
+ <key>GlobalShowIconsOverride</key>
+ <map>
+ <key>Comment</key>
+ <string>Show/hide people icons in any list. This option should be set back to 0 when icons are enabled locally for the lists</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
<key>FriendsSortOrder</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llassetuploadresponders.cpp b/indra/newview/llassetuploadresponders.cpp
index d2b1dcbf35..121ce647a6 100755
--- a/indra/newview/llassetuploadresponders.cpp
+++ b/indra/newview/llassetuploadresponders.cpp
@@ -618,7 +618,10 @@ void LLUpdateTaskInventoryResponder::uploadComplete(const LLSD& content)
case LLAssetType::AT_NOTECARD:
{
// Update the UI with the new asset.
- LLPreviewNotecard* nc = LLFloaterReg::findTypedInstance<LLPreviewNotecard>("preview_notecard", LLSD(item_id));
+ LLSD floater_key;
+ floater_key["taskid"] = task_id;
+ floater_key["itemid"] = item_id;
+ LLPreviewNotecard* nc = LLFloaterReg::findTypedInstance<LLPreviewNotecard>("preview_notecard", floater_key);
if(nc)
{
// *HACK: we have to delete the asset in the VFS so
diff --git a/indra/newview/llavatarlist.cpp b/indra/newview/llavatarlist.cpp
index 8846d1317d..c7fa375ada 100755
--- a/indra/newview/llavatarlist.cpp
+++ b/indra/newview/llavatarlist.cpp
@@ -63,16 +63,18 @@ bool LLAvatarList::contains(const LLUUID& id)
return std::find(ids.begin(), ids.end(), id) != ids.end();
}
-void LLAvatarList::toggleIcons()
+void LLAvatarList::setIconsVisible(bool visible)
{
+ if (visible == mShowIcons) // nothing to be done here.
+ return;
+
// Save the new value for new items to use.
- mShowIcons = !mShowIcons;
- gSavedSettings.setBOOL(mIconParamName, mShowIcons);
-
+ mShowIcons = visible;
+
// Show/hide icons for all existing items.
std::vector<LLPanel*> items;
getItems(items);
- for( std::vector<LLPanel*>::const_iterator it = items.begin(); it != items.end(); it++)
+ for (std::vector<LLPanel*>::const_iterator it = items.begin(); it != items.end(); it++)
{
static_cast<LLAvatarListItem*>(*it)->setAvatarIconVisible(mShowIcons);
}
@@ -187,6 +189,8 @@ void LLAvatarList::draw()
updateAvatarNames();
}
+ setIconsVisible(gSavedSettings.getBOOL(mIconParamName) && !gSavedSettings.getBOOL("GlobalShowIconsOverride"));
+
if (mDirty)
refresh();
diff --git a/indra/newview/llavatarlist.h b/indra/newview/llavatarlist.h
index 3542577ae3..159ff991e6 100755
--- a/indra/newview/llavatarlist.h
+++ b/indra/newview/llavatarlist.h
@@ -76,7 +76,7 @@ public:
void setSessionID(const LLUUID& session_id) { mSessionID = session_id; }
const LLUUID& getSessionID() { return mSessionID; }
- void toggleIcons();
+ void setIconsVisible(bool visible);
void setSpeakingIndicatorsVisible(bool visible);
void showPermissions(bool visible);
void sortByName();
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index b18e543f0a..3a6e4c4dfe 100644
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -85,7 +85,8 @@ LLConversationViewSession::LLConversationViewSession(const LLConversationViewSes
mHasArrow(true),
mIsInActiveVoiceChannel(false),
mFlashStateOn(false),
- mFlashStarted(false)
+ mFlashStarted(false),
+ mShowIcons(true)
{
mFlashTimer = new LLFlashTimer();
}
@@ -173,7 +174,7 @@ BOOL LLConversationViewSession::postBuild()
if (session)
{
LLAvatarIconCtrl* icon = mItemPanel->getChild<LLAvatarIconCtrl>("avatar_icon");
- icon->setVisible(true);
+ icon->setVisible(mShowIcons);
icon->setValue(session->mOtherParticipantID);
mSpeakingIndicator->setSpeakerId(gAgentID, session->mSessionID, true);
mHasArrow = false;
@@ -426,6 +427,49 @@ void LLConversationViewSession::showVoiceIndicator(bool visible)
requestArrange();
}
+void LLConversationViewSession::setIconsVisible(bool visible)
+{
+ if (visible == mShowIcons) // nothing to be done here.
+ return;
+
+ // Save the new value for new items to use.
+ mShowIcons = visible;
+
+ // Show/hide icons for the 1-n-1 chat.
+ LLConversationItem* vmi = dynamic_cast<LLConversationItem*>(getViewModelItem());
+ if (vmi)
+ {
+ switch (vmi->getType())
+ {
+ case LLConversationItem::CONV_PARTICIPANT:
+ case LLConversationItem::CONV_SESSION_1_ON_1:
+ {
+ LLIconCtrl* icon = mItemPanel->getChild<LLIconCtrl>("avatar_icon");
+ icon->setVisible(mShowIcons);
+ break;
+ }
+ /*
+ case LLConversationItem::CONV_SESSION_AD_HOC:
+ case LLConversationItem::CONV_SESSION_GROUP:
+ {
+ LLIconCtrl* icon = mItemPanel->getChild<LLIconCtrl>("group_icon");
+ icon->setVisible(mShowIcons);
+ break;
+ }
+ */
+ default:
+ break;
+ }
+ }
+
+ // Show/hide icons for all existing items.
+ items_t::const_iterator iter;
+ for (iter = getItemsBegin(); iter != getItemsEnd(); iter++)
+ {
+ dynamic_cast<LLConversationViewParticipant*>(*iter)->setAvatarIconVisible(mShowIcons);
+ }
+}
+
void LLConversationViewSession::refresh()
{
// Refresh the session view from its model data
@@ -458,6 +502,9 @@ void LLConversationViewSession::refresh()
}
}
}
+
+ setIconsVisible(gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride"));
+
requestArrange();
// Do the regular upstream refresh
LLFolderViewFolder::refresh();
@@ -509,7 +556,7 @@ void LLConversationViewParticipant::initFromParams(const LLConversationViewParti
LLAvatarIconCtrl::Params avatar_icon_params(params.avatar_icon());
applyXUILayout(avatar_icon_params, this);
LLAvatarIconCtrl * avatarIcon = LLUICtrlFactory::create<LLAvatarIconCtrl>(avatar_icon_params);
- addChild(avatarIcon);
+ addChild(avatarIcon);
LLButton::Params info_button_params(params.info_button());
applyXUILayout(info_button_params, this);
@@ -525,6 +572,7 @@ void LLConversationViewParticipant::initFromParams(const LLConversationViewParti
BOOL LLConversationViewParticipant::postBuild()
{
mAvatarIcon = getChild<LLAvatarIconCtrl>("avatar_icon");
+ mAvatarIcon->setVisible(gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride"));
mInfoBtn = getChild<LLButton>("info_btn");
mInfoBtn->setClickedCallback(boost::bind(&LLConversationViewParticipant::onInfoBtnClick, this));
@@ -588,12 +636,12 @@ S32 LLConversationViewParticipant::arrange(S32* width, S32* height)
S32 arranged = LLFolderViewItem::arrange(width, height);
//Adjusts the avatar icon based upon the indentation
- LLRect avatarRect(getIndentation(),
- mAvatarIcon->getRect().mTop,
- getIndentation() + mAvatarIcon->getRect().getWidth(),
- mAvatarIcon->getRect().mBottom);
- mAvatarIcon->setShape(avatarRect);
-
+ LLRect avatarRect(getIndentation(),
+ mAvatarIcon->getRect().mTop,
+ getIndentation() + mAvatarIcon->getRect().getWidth(),
+ mAvatarIcon->getRect().mBottom);
+ mAvatarIcon->setShape(avatarRect);
+
//Since dimensions changed, adjust the children (info button, speaker indicator)
updateChildren();
@@ -665,7 +713,7 @@ void LLConversationViewParticipant::onMouseLeave(S32 x, S32 y, MASK mask)
S32 LLConversationViewParticipant::getLabelXPos()
{
- return getIndentation() + mAvatarIcon->getRect().getWidth() + mIconPad;
+ return getIndentation() + (mAvatarIcon->getVisible() ? mAvatarIcon->getRect().getWidth() : 0) + mIconPad;
}
// static
@@ -744,5 +792,18 @@ void LLConversationViewParticipant::hideSpeakingIndicator()
mSpeakingIndicator->setVisible(false);
}
+void LLConversationViewParticipant::setAvatarIconVisible(bool visible)
+{
+ // Already done? Then do nothing.
+ if (mAvatarIcon->getVisible() == (BOOL)visible)
+ {
+ return;
+ }
+
+ // Show/hide avatar icon.
+ mAvatarIcon->setVisible(visible);
+ updateChildren();
+}
+
// EOF
diff --git a/indra/newview/llconversationview.h b/indra/newview/llconversationview.h
index 5a74974302..6aaba9b59c 100644
--- a/indra/newview/llconversationview.h
+++ b/indra/newview/llconversationview.h
@@ -83,7 +83,7 @@ public:
LLConversationViewParticipant* findParticipant(const LLUUID& participant_id);
void showVoiceIndicator(bool visible);
-
+ void setIconsVisible(bool visible);
virtual void refresh();
/*virtual*/ void setFlashState(bool flash_state);
@@ -110,6 +110,8 @@ private:
bool mIsInActiveVoiceChannel;
+ bool mShowIcons;
+
LLVoiceClientStatusObserver* mVoiceClientObserver;
boost::signals2::connection mActiveVoiceChannelConnection;
@@ -145,6 +147,7 @@ public:
/*virtual*/ S32 getLabelXPos();
/*virtual*/ BOOL handleMouseDown( S32 x, S32 y, MASK mask );
void hideSpeakingIndicator();
+ void setAvatarIconVisible(bool visible);
protected:
friend class LLUICtrlFactory;
diff --git a/indra/newview/llexperienceassociationresponder.cpp b/indra/newview/llexperienceassociationresponder.cpp
index 7f2363aadc..f62ca7d75f 100644
--- a/indra/newview/llexperienceassociationresponder.cpp
+++ b/indra/newview/llexperienceassociationresponder.cpp
@@ -51,10 +51,18 @@ void ExperienceAssociationResponder::fetchAssociatedExperience(LLSD& request, ca
LLViewerObject* object = gObjectList.findObject(request["object-id"]);
if (!object)
{
- LL_WARNS() << "Failed to find object with ID " << request["object-id"] << " in fetchAssociatedExperience" << LL_ENDL;
- return;
+ LL_DEBUGS() << "Object with ID " << request["object-id"] << " not found via gObjectList.findObject() in fetchAssociatedExperience" << LL_ENDL;
+ LL_DEBUGS() << "Using gAgent.getRegion() instead of object->getRegion()" << LL_ENDL;
+ }
+ LLViewerRegion* region = NULL;
+ if (object)
+ {
+ region = object->getRegion();
+ }
+ else
+ {
+ region = gAgent.getRegion();
}
- LLViewerRegion* region = object->getRegion();
if (region)
{
std::string lookup_url=region->getCapability("GetMetadata");
@@ -66,6 +74,10 @@ void ExperienceAssociationResponder::fetchAssociatedExperience(LLSD& request, ca
LLHTTPClient::post(lookup_url, request, new ExperienceAssociationResponder(callback));
}
}
+ else
+ {
+ LL_WARNS() << "Failed to lookup region in fetchAssociatedExperience. Fetch request not sent." << LL_ENDL;
+ }
}
void ExperienceAssociationResponder::httpFailure()
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index f1a6ef78a6..0a5a6e8e13 100755
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -924,6 +924,11 @@ void LLFloaterIMContainer::onCustomAction(const LLSD& userdata)
{
setSortOrderParticipants(LLConversationFilter::SO_DISTANCE);
}
+ if ("view_icons" == command)
+ {
+ gSavedSettings.setBOOL("ChatShowIcons", !(gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride")));
+ gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL("ChatShowIcons") && gSavedSettings.getBOOL("GlobalShowIconsOverride")));
+ }
if ("chat_preferences" == command)
{
LLFloaterPreference * floater_prefp = LLFloaterReg::showTypedInstance<LLFloaterPreference>("preferences");
@@ -974,6 +979,10 @@ BOOL LLFloaterIMContainer::isActionChecked(const LLSD& userdata)
{
return (order.getSortOrderParticipants() == LLConversationFilter::SO_DISTANCE);
}
+ if ("view_icons" == command)
+ {
+ return gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride");
+ }
if ("Translating.Enabled" == command)
{
return gSavedPerAccountSettings.getBOOL("TranslatingEnabled");
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 36a3204391..a20540306b 100755
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -295,7 +295,11 @@ BOOL LLInvFVBridge::callback_cutToClipboard(const LLSD& notification, const LLSD
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (option == 0) // YES
{
- return perform_cutToClipboard();
+ const LLInventoryObject* obj = gInventory.getObject(mUUID);
+ LLUUID parent_uuid = obj->getParentUUID();
+ BOOL result = perform_cutToClipboard();
+ gInventory.addChangedMask(LLInventoryObserver::STRUCTURE, parent_uuid);
+ return result;
}
return FALSE;
}
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index afc1a789c4..21d8b4248c 100755
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -49,6 +49,7 @@
#include "llmaterialmgr.h"
#include "llmediaentry.h"
#include "llnotificationsutil.h"
+#include "llradiogroup.h"
#include "llresmgr.h"
#include "llselectmgr.h"
#include "llspinctrl.h"
@@ -90,10 +91,10 @@ std::string USE_TEXTURE;
LLRender::eTexIndex LLPanelFace::getTextureChannelToEdit()
{
LLComboBox* combobox_matmedia = getChild<LLComboBox>("combobox matmedia");
- LLComboBox* combobox_mattype = getChild<LLComboBox>("combobox mattype");
+ LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type");
LLRender::eTexIndex channel_to_edit = (combobox_matmedia && combobox_matmedia->getCurrentIndex() == MATMEDIA_MATERIAL) ?
- (combobox_mattype ? (LLRender::eTexIndex)combobox_mattype->getCurrentIndex() : LLRender::DIFFUSE_MAP) : LLRender::DIFFUSE_MAP;
+ (radio_mat_type ? (LLRender::eTexIndex)radio_mat_type->getSelectedIndex() : LLRender::DIFFUSE_MAP) : LLRender::DIFFUSE_MAP;
channel_to_edit = (channel_to_edit == LLRender::NORMAL_MAP) ? (getCurrentNormalMap().isNull() ? LLRender::DIFFUSE_MAP : channel_to_edit) : channel_to_edit;
channel_to_edit = (channel_to_edit == LLRender::SPECULAR_MAP) ? (getCurrentSpecularMap().isNull() ? LLRender::DIFFUSE_MAP : channel_to_edit) : channel_to_edit;
@@ -162,7 +163,6 @@ BOOL LLPanelFace::postBuild()
LLComboBox* mComboTexGen;
LLComboBox* mComboMatMedia;
- LLComboBox* mComboMatType;
LLCheckBoxCtrl *mCheckFullbright;
@@ -283,12 +283,12 @@ BOOL LLPanelFace::postBuild()
mComboMatMedia->selectNthItem(MATMEDIA_MATERIAL);
}
- mComboMatType = getChild<LLComboBox>("combobox mattype");
- if(mComboMatType)
- {
- mComboMatType->setCommitCallback(LLPanelFace::onCommitMaterialType, this);
- mComboMatType->selectNthItem(MATTYPE_DIFFUSE);
- }
+ LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type");
+ if(radio_mat_type)
+ {
+ radio_mat_type->setCommitCallback(LLPanelFace::onCommitMaterialType, this);
+ radio_mat_type->selectNthItem(MATTYPE_DIFFUSE);
+ }
mCtrlGlow = getChild<LLSpinCtrl>("glow");
if(mCtrlGlow)
@@ -676,20 +676,21 @@ void LLPanelFace::updateUI()
}
getChildView("combobox matmedia")->setEnabled(editable);
- LLComboBox* combobox_mattype = getChild<LLComboBox>("combobox mattype");
- if (combobox_mattype)
+ LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type");
+ if(radio_mat_type)
{
- if (combobox_mattype->getCurrentIndex() < MATTYPE_DIFFUSE)
- {
- combobox_mattype->selectNthItem(MATTYPE_DIFFUSE);
- }
+ if (radio_mat_type->getSelectedIndex() < MATTYPE_DIFFUSE)
+ {
+ radio_mat_type->selectNthItem(MATTYPE_DIFFUSE);
+ }
+
}
else
{
- LL_WARNS("Materials") << "failed getChild for 'combobox mattype'" << LL_ENDL;
+ LL_WARNS("Materials") << "failed getChild for 'radio_material_type'" << LL_ENDL;
}
- getChildView("combobox mattype")->setEnabled(editable);
+ getChildView("radio_material_type")->setEnabled(editable);
updateVisibility();
bool identical = true; // true because it is anded below
@@ -1200,8 +1201,7 @@ void LLPanelFace::updateUI()
BOOL identical_repeats = true;
F32 repeats = 1.0f;
- U32 material_type = (combobox_matmedia->getCurrentIndex() == MATMEDIA_MATERIAL) ? combobox_mattype->getCurrentIndex() : MATTYPE_DIFFUSE;
-
+ U32 material_type = (combobox_matmedia->getCurrentIndex() == MATMEDIA_MATERIAL) ? radio_mat_type->getSelectedIndex() : MATTYPE_DIFFUSE;
LLSelectMgr::getInstance()->setTextureChannel(LLRender::eTexIndex(material_type));
switch (material_type)
@@ -1466,22 +1466,21 @@ void LLPanelFace::onCommitMaterialsMedia(LLUICtrl* ctrl, void* userdata)
void LLPanelFace::updateVisibility()
{
LLComboBox* combo_matmedia = getChild<LLComboBox>("combobox matmedia");
- LLComboBox* combo_mattype = getChild<LLComboBox>("combobox mattype");
+ LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type");
LLComboBox* combo_shininess = getChild<LLComboBox>("combobox shininess");
LLComboBox* combo_bumpiness = getChild<LLComboBox>("combobox bumpiness");
- if (!combo_mattype || !combo_matmedia || !combo_shininess || !combo_bumpiness)
+ if (!radio_mat_type || !combo_matmedia || !combo_shininess || !combo_bumpiness)
{
LL_WARNS("Materials") << "Combo box not found...exiting." << LL_ENDL;
return;
}
U32 materials_media = combo_matmedia->getCurrentIndex();
- U32 material_type = combo_mattype->getCurrentIndex();
+ U32 material_type = radio_mat_type->getSelectedIndex();
bool show_media = (materials_media == MATMEDIA_MEDIA) && combo_matmedia->getEnabled();
bool show_texture = (show_media || ((material_type == MATTYPE_DIFFUSE) && combo_matmedia->getEnabled()));
bool show_bumpiness = (!show_media) && (material_type == MATTYPE_NORMAL) && combo_matmedia->getEnabled();
bool show_shininess = (!show_media) && (material_type == MATTYPE_SPECULAR) && combo_matmedia->getEnabled();
- getChildView("combobox mattype")->setVisible(!show_media);
- getChildView("rptctrl")->setVisible(true);
+ getChildView("radio_material_type")->setVisible(!show_media);
// Media controls
getChildView("media_info")->setVisible(show_media);
@@ -1608,9 +1607,9 @@ void LLPanelFace::updateShinyControls(bool is_setting_texture, bool mess_with_sh
}
LLComboBox* combo_matmedia = getChild<LLComboBox>("combobox matmedia");
- LLComboBox* combo_mattype = getChild<LLComboBox>("combobox mattype");
+ LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type");
U32 materials_media = combo_matmedia->getCurrentIndex();
- U32 material_type = combo_mattype->getCurrentIndex();
+ U32 material_type = radio_mat_type->getSelectedIndex();
bool show_media = (materials_media == MATMEDIA_MEDIA) && combo_matmedia->getEnabled();
bool show_shininess = (!show_media) && (material_type == MATTYPE_SPECULAR) && combo_matmedia->getEnabled();
U32 shiny_value = comboShiny->getCurrentIndex();
@@ -1693,11 +1692,11 @@ void LLPanelFace::updateAlphaControls()
mat_media = combobox_matmedia->getCurrentIndex();
}
- LLComboBox* combobox_mattype = getChild<LLComboBox>("combobox mattype");
U32 mat_type = MATTYPE_DIFFUSE;
- if (combobox_mattype)
+ LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type");
+ if(radio_mat_type)
{
- mat_type = combobox_mattype->getCurrentIndex();
+ mat_type = radio_mat_type->getSelectedIndex();
}
show_alphactrls = show_alphactrls && (mat_media == MATMEDIA_MATERIAL);
@@ -1985,12 +1984,11 @@ void LLPanelFace::onCommitRepeatsPerMeter(LLUICtrl* ctrl, void* userdata)
LLUICtrl* repeats_ctrl = self->getChild<LLUICtrl>("rptctrl");
LLComboBox* combo_matmedia = self->getChild<LLComboBox>("combobox matmedia");
- LLComboBox* combo_mattype = self->getChild<LLComboBox>("combobox mattype");
+ LLRadioGroup* radio_mat_type = self->getChild<LLRadioGroup>("radio_material_type");
U32 materials_media = combo_matmedia->getCurrentIndex();
-
- U32 material_type = (materials_media == MATMEDIA_MATERIAL) ? combo_mattype->getCurrentIndex() : 0;
+ U32 material_type = (materials_media == MATMEDIA_MATERIAL) ? radio_mat_type->getSelectedIndex() : 0;
F32 repeats_per_meter = repeats_ctrl->getValue().asReal();
F32 obj_scale_s = 1.0f;
@@ -2114,12 +2112,12 @@ void LLPanelFace::onCommitPlanarAlign(LLUICtrl* ctrl, void* userdata)
void LLPanelFace::onTextureSelectionChanged(LLInventoryItem* itemp)
{
LL_DEBUGS("Materials") << "item asset " << itemp->getAssetUUID() << LL_ENDL;
- LLComboBox* combo_mattype = getChild<LLComboBox>("combobox mattype");
- if (!combo_mattype)
+ LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type");
+ if(radio_mat_type)
{
- return;
+ return;
}
- U32 mattype = combo_mattype->getCurrentIndex();
+ U32 mattype = radio_mat_type->getSelectedIndex();
std::string which_control="texture control";
switch (mattype)
{
diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp
index c8af5b6718..7e65ccad98 100755
--- a/indra/newview/llpanelobjectinventory.cpp
+++ b/indra/newview/llpanelobjectinventory.cpp
@@ -1171,7 +1171,10 @@ void LLTaskNotecardBridge::openItem()
|| object->permModify()
|| gAgent.isGodlike())
{
- LLPreviewNotecard* preview = LLFloaterReg::showTypedInstance<LLPreviewNotecard>("preview_notecard", LLSD(mUUID), TAKE_FOCUS_YES);
+ LLSD floater_key;
+ floater_key["taskid"] = mPanel->getTaskUUID();
+ floater_key["itemid"] = mUUID;
+ LLPreviewNotecard* preview = LLFloaterReg::showTypedInstance<LLPreviewNotecard>("preview_notecard", floater_key, TAKE_FOCUS_YES);
if (preview)
{
preview->setObjectID(mPanel->getTaskUUID());
diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp
index de4efc8612..6b86459d8f 100755
--- a/indra/newview/llpanelpeople.cpp
+++ b/indra/newview/llpanelpeople.cpp
@@ -1326,8 +1326,12 @@ void LLPanelPeople::onFriendsViewSortMenuItemClicked(const LLSD& userdata)
}
else if (chosen_item == "view_icons")
{
- mAllFriendList->toggleIcons();
- mOnlineFriendList->toggleIcons();
+ std::string param = mAllFriendList->getIconParamName();
+ gSavedSettings.setBOOL(param, !(gSavedSettings.getBOOL(param) && !gSavedSettings.getBOOL("GlobalShowIconsOverride")));
+ gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL(param) && gSavedSettings.getBOOL("GlobalShowIconsOverride")));
+ gSavedSettings.setBOOL(mOnlineFriendList->getIconParamName(), gSavedSettings.getBOOL(param));
+ mAllFriendList->setIconsVisible(gSavedSettings.getBOOL(param));
+ mOnlineFriendList->setIconsVisible(gSavedSettings.getBOOL(param));
}
else if (chosen_item == "view_permissions")
{
@@ -1363,7 +1367,10 @@ void LLPanelPeople::onNearbyViewSortMenuItemClicked(const LLSD& userdata)
}
else if (chosen_item == "view_icons")
{
- mNearbyList->toggleIcons();
+ std::string param = mNearbyList->getIconParamName();
+ gSavedSettings.setBOOL(param, !(gSavedSettings.getBOOL(param) && !gSavedSettings.getBOOL("GlobalShowIconsOverride")));
+ gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL(param) && gSavedSettings.getBOOL("GlobalShowIconsOverride")));
+ mNearbyList->setIconsVisible(gSavedSettings.getBOOL(param));
}
else if (chosen_item == "sort_distance")
{
@@ -1382,6 +1389,8 @@ bool LLPanelPeople::onNearbyViewSortMenuItemCheck(const LLSD& userdata)
return sort_order == E_SORT_BY_NAME;
if (item == "sort_distance")
return sort_order == E_SORT_BY_DISTANCE;
+ if (item == "view_icons")
+ return gSavedSettings.getBOOL(mNearbyList->getIconParamName()) && !gSavedSettings.getBOOL("GlobalShowIconsOverride");
return false;
}
@@ -1400,7 +1409,10 @@ void LLPanelPeople::onRecentViewSortMenuItemClicked(const LLSD& userdata)
}
else if (chosen_item == "view_icons")
{
- mRecentList->toggleIcons();
+ std::string param = mRecentList->getIconParamName();
+ gSavedSettings.setBOOL(param, !(gSavedSettings.getBOOL(param) && !gSavedSettings.getBOOL("GlobalShowIconsOverride")));
+ gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL(param) && gSavedSettings.getBOOL("GlobalShowIconsOverride")));
+ mRecentList->setIconsVisible(gSavedSettings.getBOOL(param));
}
}
@@ -1413,6 +1425,8 @@ bool LLPanelPeople::onFriendsViewSortMenuItemCheck(const LLSD& userdata)
return sort_order == E_SORT_BY_NAME;
if (item == "sort_status")
return sort_order == E_SORT_BY_STATUS;
+ if (item == "view_icons")
+ return gSavedSettings.getBOOL(mAllFriendList->getIconParamName()) && !gSavedSettings.getBOOL("GlobalShowIconsOverride");
return false;
}
@@ -1426,6 +1440,8 @@ bool LLPanelPeople::onRecentViewSortMenuItemCheck(const LLSD& userdata)
return sort_order == E_SORT_BY_MOST_RECENT;
if (item == "sort_name")
return sort_order == E_SORT_BY_NAME;
+ if (item == "view_icons")
+ return gSavedSettings.getBOOL(mRecentList->getIconParamName()) && !gSavedSettings.getBOOL("GlobalShowIconsOverride");
return false;
}
diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp
index 9f88b0db5f..f100c996b3 100755
--- a/indra/newview/llpreviewnotecard.cpp
+++ b/indra/newview/llpreviewnotecard.cpp
@@ -233,6 +233,7 @@ void LLPreviewNotecard::loadAsset()
else
{
LLHost source_sim = LLHost::invalid;
+ LLSD* user_data = new LLSD();
if (mObjectUUID.notNull())
{
LLViewerObject *objectp = gObjectList.findObject(mObjectUUID);
@@ -251,7 +252,13 @@ void LLPreviewNotecard::loadAsset()
mAssetStatus = PREVIEW_ASSET_LOADED;
return;
}
+ user_data->with("taskid", mObjectUUID).with("itemid", mItemUUID);
}
+ else
+ {
+ user_data = new LLSD(mItemUUID);
+ }
+
gAssetStorage->getInvItemAsset(source_sim,
gAgent.getID(),
gAgent.getSessionID(),
@@ -261,7 +268,7 @@ void LLPreviewNotecard::loadAsset()
item->getAssetUUID(),
item->getType(),
&onLoadComplete,
- (void*)new LLUUID(mItemUUID),
+ (void*)user_data,
TRUE);
mAssetStatus = PREVIEW_ASSET_LOADING;
}
@@ -304,9 +311,8 @@ void LLPreviewNotecard::onLoadComplete(LLVFS *vfs,
void* user_data, S32 status, LLExtStat ext_status)
{
LL_INFOS() << "LLPreviewNotecard::onLoadComplete()" << LL_ENDL;
- LLUUID* item_id = (LLUUID*)user_data;
-
- LLPreviewNotecard* preview = LLFloaterReg::findTypedInstance<LLPreviewNotecard>("preview_notecard", LLSD(*item_id));
+ LLSD* floater_key = (LLSD*)user_data;
+ LLPreviewNotecard* preview = LLFloaterReg::findTypedInstance<LLPreviewNotecard>("preview_notecard", *floater_key);
if( preview )
{
if(0 == status)
@@ -362,7 +368,7 @@ void LLPreviewNotecard::onLoadComplete(LLVFS *vfs,
preview->mAssetStatus = PREVIEW_ASSET_ERROR;
}
}
- delete item_id;
+ delete floater_key;
}
// static
diff --git a/indra/newview/skins/default/xui/en/menu_participant_view.xml b/indra/newview/skins/default/xui/en/menu_participant_view.xml
index 7ea87ee05c..658238bf41 100755
--- a/indra/newview/skins/default/xui/en/menu_participant_view.xml
+++ b/indra/newview/skins/default/xui/en/menu_participant_view.xml
@@ -59,6 +59,19 @@
function="IMFloaterContainer.Check"
parameter="sort_participants_by_recent" />
</menu_item_check>
+ <menu_item_separator
+ layout="topleft" />
+ <menu_item_check
+ label="View people icons"
+ layout="topleft"
+ name="view_icons">
+ <on_click
+ function="IMFloaterContainer.Action"
+ parameter="view_icons" />
+ <on_check
+ function="IMFloaterContainer.Check"
+ parameter="view_icons" />
+ </menu_item_check>
<menu_item_separator
layout="topleft" />
<menu_item_call
diff --git a/indra/newview/skins/default/xui/en/menu_people_friends_view.xml b/indra/newview/skins/default/xui/en/menu_people_friends_view.xml
index 8790fde7c5..02c6cfc006 100755
--- a/indra/newview/skins/default/xui/en/menu_people_friends_view.xml
+++ b/indra/newview/skins/default/xui/en/menu_people_friends_view.xml
@@ -29,8 +29,8 @@
function="People.Friends.ViewSort.Action"
parameter="view_icons" />
<menu_item_check.on_check
- function="CheckControl"
- parameter="FriendsListShowIcons" />
+ function="People.Friends.ViewSort.CheckItem"
+ parameter="view_icons" />
</menu_item_check>
<menu_item_check name="view_permissions" label="View Permissions Granted">
<menu_item_check.on_click
diff --git a/indra/newview/skins/default/xui/en/menu_people_nearby_view.xml b/indra/newview/skins/default/xui/en/menu_people_nearby_view.xml
index da88ca9f4d..44b3d14e10 100755
--- a/indra/newview/skins/default/xui/en/menu_people_nearby_view.xml
+++ b/indra/newview/skins/default/xui/en/menu_people_nearby_view.xml
@@ -39,8 +39,8 @@
function="People.Nearby.ViewSort.Action"
parameter="view_icons" />
<menu_item_check.on_check
- function="CheckControl"
- parameter="NearbyListShowIcons" />
+ function="People.Nearby.ViewSort.CheckItem"
+ parameter="view_icons"/>
</menu_item_check>
<menu_item_check name ="view_map" label="View Map">
<menu_item_check.on_check
diff --git a/indra/newview/skins/default/xui/en/menu_people_recent_view.xml b/indra/newview/skins/default/xui/en/menu_people_recent_view.xml
index 1dbc90dd2b..cd2260d0c4 100755
--- a/indra/newview/skins/default/xui/en/menu_people_recent_view.xml
+++ b/indra/newview/skins/default/xui/en/menu_people_recent_view.xml
@@ -29,7 +29,7 @@
function="People.Recent.ViewSort.Action"
parameter="view_icons" />
<menu_item_check.on_check
- function="CheckControl"
- parameter="RecentListShowIcons" />
+ function="People.Recent.ViewSort.CheckItem"
+ parameter="view_icons" />
</menu_item_check>
</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml
index b201e071ef..a8be517f3c 100755
--- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml
@@ -313,4 +313,30 @@
<button.commit_callback
function="Pref.Proxy" />
</button>
+ <text
+ type="string"
+ length="1"
+ follows="left|top"
+ height="10"
+ layout="topleft"
+ left="30"
+ name="People Icons:"
+ mouse_opaque="false"
+ top_pad="5"
+ width="300">
+ People Icons:
+ </text>
+ <check_box
+ top_delta="4"
+ enabled="true"
+ follows="left|top"
+ height="14"
+ initial_value="false"
+ control_name="GlobalShowIconsOverride"
+ label="Hide people icons (global override)"
+ left_delta="50"
+ mouse_opaque="true"
+ name="global_show_icons_override"
+ width="400"
+ top_pad="10"/>
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_tools_texture.xml b/indra/newview/skins/default/xui/en/panel_tools_texture.xml
index cb6b2fafd8..a90bb18d48 100644
--- a/indra/newview/skins/default/xui/en/panel_tools_texture.xml
+++ b/indra/newview/skins/default/xui/en/panel_tools_texture.xml
@@ -117,26 +117,37 @@
name="Media"
value="Media" />
</combo_box>
- <combo_box
- height="23"
- layout="topleft"
- left_pad="10"
- name="combobox mattype"
- top_delta="0"
- width="155">
- <combo_box.item
- label="Texture (diffuse)"
- name="Texture (diffuse)"
- value="Texture (diffuse)" />
- <combo_box.item
- label="Bumpiness (normal)"
- name="Bumpiness (normal)"
- value="Bumpiness (normal)" />
- <combo_box.item
- label="Shininess (specular)"
- name="Shininess (specular)"
- value="Shininess (specular)" />
- </combo_box>
+ <radio_group
+ control_name="ComboMaterialType"
+ height="50"
+ layout="topleft"
+ left_pad="20"
+ top_delta="-10"
+ width="150"
+ visible = "false"
+ name="radio_material_type">
+ <radio_item
+ label="Texture (diffuse)"
+ name="Texture (diffuse)"
+ top="0"
+ layout="topleft"
+ height="16"
+ value="0"/>
+ <radio_item
+ label="Bumpiness (normal)"
+ layout="topleft"
+ top_pad="1"
+ height="16"
+ name="Bumpiness (normal)"
+ value="1"/>
+ <radio_item
+ label="Shininess (specular)"
+ name="Shininess (specular)"
+ height="16"
+ layout="topleft"
+ top_pad="1"
+ value="2"/>
+ </radio_group>
<texture_picker
can_apply_immediately="true"
default_image_name="Default"
@@ -148,7 +159,7 @@
left="10"
name="texture control"
tool_tip="Click to choose a picture"
- top_pad="8"
+ top_pad="7"
width="64" />
<text
type="string"
@@ -520,7 +531,7 @@
left="10"
name="tex gen"
text_readonly_color="LabelDisabledColor"
- top_pad="60"
+ top_pad="40"
width="140">
Mapping
</text>