aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview')
-rw-r--r--linden/indra/newview/English.lproj/InfoPlist.strings4
-rw-r--r--linden/indra/newview/Info-Imprudence.plist2
-rw-r--r--linden/indra/newview/llagent.cpp41
-rw-r--r--linden/indra/newview/llagent.h12
-rw-r--r--linden/indra/newview/llchatbar.cpp5
-rw-r--r--linden/indra/newview/llfloatersnapshot.cpp2
-rw-r--r--linden/indra/newview/llfloaterworldmap.cpp3
-rw-r--r--linden/indra/newview/llinventorybridge.cpp21
-rw-r--r--linden/indra/newview/llinventorybridge.h4
-rw-r--r--linden/indra/newview/llmutelist.cpp38
-rw-r--r--linden/indra/newview/llmutelist.h5
-rw-r--r--linden/indra/newview/llpanelavatar.cpp4
-rw-r--r--linden/indra/newview/llpanellogin.cpp2
-rw-r--r--linden/indra/newview/lltoolpie.cpp10
-rw-r--r--linden/indra/newview/llviewermenu.cpp18
-rw-r--r--linden/indra/newview/llviewernetwork.cpp9
-rw-r--r--linden/indra/newview/llviewerwindow.cpp21
-rw-r--r--linden/indra/newview/llviewerwindow.h2
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/alerts.xml100
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_inventory.xml10
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml63
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml66
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_pie_hud.xml41
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_pie_land.xml8
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_pie_object.xml70
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_pie_self.xml37
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml5
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_chat_bar.xml10
-rwxr-xr-xlinden/indra/newview/viewer_manifest.py11
29 files changed, 446 insertions, 178 deletions
diff --git a/linden/indra/newview/English.lproj/InfoPlist.strings b/linden/indra/newview/English.lproj/InfoPlist.strings
index 246ac98..50e6503 100644
--- a/linden/indra/newview/English.lproj/InfoPlist.strings
+++ b/linden/indra/newview/English.lproj/InfoPlist.strings
@@ -1,5 +1,5 @@
1/* Localized versions of Info.plist keys */ 1/* Localized versions of Info.plist keys */
2 2
3CFBundleName = "Imprudence"; 3CFBundleName = "Imprudence";
4CFBundleShortVersionString = "Imprudence version 1.0.0"; 4CFBundleShortVersionString = "Imprudence version 1.1.0";
5CFBundleGetInfoString = "Imprudence version 1.0.0, Copyright 2004-2008 Linden Research, Inc."; 5CFBundleGetInfoString = "Imprudence version 1.1.0";
diff --git a/linden/indra/newview/Info-Imprudence.plist b/linden/indra/newview/Info-Imprudence.plist
index 49aa2a7..7c79a11 100644
--- a/linden/indra/newview/Info-Imprudence.plist
+++ b/linden/indra/newview/Info-Imprudence.plist
@@ -32,7 +32,7 @@
32 </dict> 32 </dict>
33 </array> 33 </array>
34 <key>CFBundleVersion</key> 34 <key>CFBundleVersion</key>
35 <string>1.0.0</string> 35 <string>1.1.0</string>
36 <key>CSResourcesFileMapped</key> 36 <key>CSResourcesFileMapped</key>
37 <true/> 37 <true/>
38</dict> 38</dict>
diff --git a/linden/indra/newview/llagent.cpp b/linden/indra/newview/llagent.cpp
index 301f00b..6fe4863 100644
--- a/linden/indra/newview/llagent.cpp
+++ b/linden/indra/newview/llagent.cpp
@@ -5998,6 +5998,28 @@ void LLAgent::teleportViaLocation(const LLVector3d& pos_global)
5998 } 5998 }
5999} 5999}
6000 6000
6001
6002void LLAgent::teleportHome()
6003{
6004 teleportViaLandmark(LLUUID::null);
6005}
6006
6007void LLAgent::teleportHomeConfirm()
6008{
6009 gViewerWindow->alertXml("ConfirmTeleportHome", LLAgent::teleportHomeCallback, (void *)this);
6010}
6011
6012// static
6013void LLAgent::teleportHomeCallback(S32 option, void *userdata)
6014{
6015 if( option == 0 )
6016 {
6017 // They confirmed it. Here we go!
6018 ((LLAgent *) userdata)->teleportHome();
6019 }
6020}
6021
6022
6001void LLAgent::setTeleportState(ETeleportState state) 6023void LLAgent::setTeleportState(ETeleportState state)
6002{ 6024{
6003 mTeleportState = state; 6025 mTeleportState = state;
@@ -7482,6 +7504,25 @@ void LLAgent::userRemoveWearable( void* userdata )
7482 } 7504 }
7483} 7505}
7484 7506
7507
7508// static
7509void LLAgent::userRemoveAllClothesConfirm()
7510{
7511 gViewerWindow->alertXml("ConfirmRemoveAllClothes",
7512 LLAgent::userRemoveAllClothesCallback, NULL);
7513}
7514
7515// static
7516void LLAgent::userRemoveAllClothesCallback(S32 option, void *userdata)
7517{
7518 if( option == 0 )
7519 {
7520 // They confirmed it. Here we go!
7521 LLAgent::userRemoveAllClothes(NULL);
7522 }
7523}
7524
7525
7485void LLAgent::userRemoveAllClothes( void* userdata ) 7526void LLAgent::userRemoveAllClothes( void* userdata )
7486{ 7527{
7487 // We have to do this up front to avoid having to deal with the case of multiple wearables being dirty. 7528 // We have to do this up front to avoid having to deal with the case of multiple wearables being dirty.
diff --git a/linden/indra/newview/llagent.h b/linden/indra/newview/llagent.h
index 3d3a94b..7515781 100644
--- a/linden/indra/newview/llagent.h
+++ b/linden/indra/newview/llagent.h
@@ -462,7 +462,9 @@ public:
462 void teleportViaLandmark(const LLUUID& landmark_id); 462 void teleportViaLandmark(const LLUUID& landmark_id);
463 463
464 // go home 464 // go home
465 void teleportHome() { teleportViaLandmark(LLUUID::null); } 465 void teleportHome();
466 void teleportHomeConfirm();
467 static void teleportHomeCallback(S32 option, void *userdata);
466 468
467 // to an invited location 469 // to an invited location
468 void teleportViaLure(const LLUUID& lure_id, BOOL godlike); 470 void teleportViaLure(const LLUUID& lure_id, BOOL godlike);
@@ -666,8 +668,12 @@ public:
666 static void stopFidget(); 668 static void stopFidget();
667 static void processAgentInitialWearablesUpdate(LLMessageSystem* mesgsys, void** user_data); 669 static void processAgentInitialWearablesUpdate(LLMessageSystem* mesgsys, void** user_data);
668 static void userRemoveWearable( void* userdata ); // userdata is EWearableType 670 static void userRemoveWearable( void* userdata ); // userdata is EWearableType
669 static void userRemoveAllClothes( void* userdata ); // userdata is NULL 671
670 static void userRemoveAllClothesStep2(BOOL proceed, void* userdata ); // userdata is NULL 672 static void userRemoveAllClothesConfirm();
673 static void userRemoveAllClothesCallback(S32 option, void *userdata);
674 static void userRemoveAllClothes( void* userdata ); // userdata is NULL
675 static void userRemoveAllClothesStep2(BOOL proceed, void* userdata ); // userdata is NULL
676
671 static void userRemoveAllAttachments( void* userdata); // userdata is NULL 677 static void userRemoveAllAttachments( void* userdata); // userdata is NULL
672 static BOOL selfHasWearable( void* userdata ); // userdata is EWearableType 678 static BOOL selfHasWearable( void* userdata ); // userdata is EWearableType
673 679
diff --git a/linden/indra/newview/llchatbar.cpp b/linden/indra/newview/llchatbar.cpp
index 84ebf98..59aa572 100644
--- a/linden/indra/newview/llchatbar.cpp
+++ b/linden/indra/newview/llchatbar.cpp
@@ -48,6 +48,7 @@
48#include "llcommandhandler.h" // secondlife:///app/chat/ support 48#include "llcommandhandler.h" // secondlife:///app/chat/ support
49#include "llviewercontrol.h" 49#include "llviewercontrol.h"
50#include "llfloaterchat.h" 50#include "llfloaterchat.h"
51#include "llfloatergesture.h"
51#include "llgesturemgr.h" 52#include "llgesturemgr.h"
52#include "llkeyboard.h" 53#include "llkeyboard.h"
53#include "lllineeditor.h" 54#include "lllineeditor.h"
@@ -646,8 +647,9 @@ void LLChatBar::onCommitGesture(LLUICtrl* ctrl, void* data)
646 if (gestures) 647 if (gestures)
647 { 648 {
648 S32 index = gestures->getFirstSelectedIndex(); 649 S32 index = gestures->getFirstSelectedIndex();
649 if (index == 0) 650 if (index <= 0)
650 { 651 {
652 LLFloaterGesture::toggleVisibility();
651 return; 653 return;
652 } 654 }
653 const std::string& trigger = gestures->getSelectedValue().asString(); 655 const std::string& trigger = gestures->getSelectedValue().asString();
@@ -657,7 +659,6 @@ void LLChatBar::onCommitGesture(LLUICtrl* ctrl, void* data)
657 std::string text(trigger); 659 std::string text(trigger);
658 std::string revised_text; 660 std::string revised_text;
659 gGestureManager.triggerAndReviseString(text, &revised_text); 661 gGestureManager.triggerAndReviseString(text, &revised_text);
660
661 revised_text = utf8str_trim(revised_text); 662 revised_text = utf8str_trim(revised_text);
662 if (!revised_text.empty()) 663 if (!revised_text.empty())
663 { 664 {
diff --git a/linden/indra/newview/llfloatersnapshot.cpp b/linden/indra/newview/llfloatersnapshot.cpp
index e07f436..2cecd89 100644
--- a/linden/indra/newview/llfloatersnapshot.cpp
+++ b/linden/indra/newview/llfloatersnapshot.cpp
@@ -2142,7 +2142,6 @@ void LLFloaterSnapshot::draw()
2142 if(previewp->getSnapshotType() != LLSnapshotLivePreview::SNAPSHOT_LOCAL) 2142 if(previewp->getSnapshotType() != LLSnapshotLivePreview::SNAPSHOT_LOCAL)
2143 { 2143 {
2144 childSetEnabled("high_res_check",FALSE); 2144 childSetEnabled("high_res_check",FALSE);
2145 childSetVisible("high_res_check",FALSE);
2146 childSetEnabled("ui_check",TRUE); 2145 childSetEnabled("ui_check",TRUE);
2147 if (ui_in_snapshot) 2146 if (ui_in_snapshot)
2148 { 2147 {
@@ -2151,7 +2150,6 @@ void LLFloaterSnapshot::draw()
2151 } 2150 }
2152 else 2151 else
2153 { 2152 {
2154 childSetVisible("high_res_check",TRUE);
2155 if (high_res_snapshot) 2153 if (high_res_snapshot)
2156 { 2154 {
2157 childSetEnabled("high_res_check",TRUE); 2155 childSetEnabled("high_res_check",TRUE);
diff --git a/linden/indra/newview/llfloaterworldmap.cpp b/linden/indra/newview/llfloaterworldmap.cpp
index 3e35151..bc61d8a 100644
--- a/linden/indra/newview/llfloaterworldmap.cpp
+++ b/linden/indra/newview/llfloaterworldmap.cpp
@@ -1052,8 +1052,7 @@ void LLFloaterWorldMap::onPanBtn( void* userdata )
1052// static 1052// static
1053void LLFloaterWorldMap::onGoHome(void*) 1053void LLFloaterWorldMap::onGoHome(void*)
1054{ 1054{
1055 gAgent.teleportHome(); 1055 gAgent.teleportHomeConfirm();
1056 gFloaterWorldMap->close();
1057} 1056}
1058 1057
1059 1058
diff --git a/linden/indra/newview/llinventorybridge.cpp b/linden/indra/newview/llinventorybridge.cpp
index 7118d46..697b30b 100644
--- a/linden/indra/newview/llinventorybridge.cpp
+++ b/linden/indra/newview/llinventorybridge.cpp
@@ -758,7 +758,7 @@ void LLItemBridge::performAction(LLFolderView* folder, LLInventoryModel* model,
758 } 758 }
759 else if ("restoreToWorld" == action) 759 else if ("restoreToWorld" == action)
760 { 760 {
761 restoreToWorld(); 761 restoreToWorldConfirm();
762 } 762 }
763 else if ("restore" == action) 763 else if ("restore" == action)
764 { 764 {
@@ -816,6 +816,24 @@ void LLItemBridge::restoreItem()
816 } 816 }
817} 817}
818 818
819
820// virtual
821void LLItemBridge::restoreToWorldConfirm()
822{
823 gViewerWindow->alertXml("ConfirmRestoreToWorld", LLItemBridge::restoreToWorldCallback, (void *)this);
824}
825
826// static
827void LLItemBridge::restoreToWorldCallback(S32 option, void *userdata)
828{
829 if( option == 0 )
830 {
831 // They confirmed it. Here we go!
832 ((LLItemBridge *) userdata)->restoreToWorld();
833 }
834}
835
836// virtual
819void LLItemBridge::restoreToWorld() 837void LLItemBridge::restoreToWorld()
820{ 838{
821 LLViewerInventoryItem* itemp = (LLViewerInventoryItem*)getItem(); 839 LLViewerInventoryItem* itemp = (LLViewerInventoryItem*)getItem();
@@ -3421,6 +3439,7 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
3421 items.push_back(std::string("Object Wear")); 3439 items.push_back(std::string("Object Wear"));
3422 items.push_back(std::string("Attach To")); 3440 items.push_back(std::string("Attach To"));
3423 items.push_back(std::string("Attach To HUD")); 3441 items.push_back(std::string("Attach To HUD"));
3442 items.push_back(std::string("RestoreToWorld Separator"));
3424 items.push_back(std::string("Restore to Last Position")); 3443 items.push_back(std::string("Restore to Last Position"));
3425 3444
3426 LLMenuGL* attach_menu = menu.getChildMenuByName("Attach To", TRUE); 3445 LLMenuGL* attach_menu = menu.getChildMenuByName("Attach To", TRUE);
diff --git a/linden/indra/newview/llinventorybridge.h b/linden/indra/newview/llinventorybridge.h
index b076f77..0550d6b 100644
--- a/linden/indra/newview/llinventorybridge.h
+++ b/linden/indra/newview/llinventorybridge.h
@@ -244,7 +244,11 @@ public:
244 244
245 virtual void selectItem(); 245 virtual void selectItem();
246 virtual void restoreItem(); 246 virtual void restoreItem();
247
247 virtual void restoreToWorld(); 248 virtual void restoreToWorld();
249 virtual void restoreToWorldConfirm();
250 static void restoreToWorldCallback(S32 option, void *userdata);
251
248 252
249 virtual LLUIImagePtr getIcon() const; 253 virtual LLUIImagePtr getIcon() const;
250 virtual const std::string& getDisplayName() const; 254 virtual const std::string& getDisplayName() const;
diff --git a/linden/indra/newview/llmutelist.cpp b/linden/indra/newview/llmutelist.cpp
index a9bf4b3..ef1c42f 100644
--- a/linden/indra/newview/llmutelist.cpp
+++ b/linden/indra/newview/llmutelist.cpp
@@ -64,6 +64,7 @@
64#include "llworld.h" //for particle system banning 64#include "llworld.h" //for particle system banning
65#include "llchat.h" 65#include "llchat.h"
66#include "llfloaterchat.h" 66#include "llfloaterchat.h"
67#include "llfloatermute.h"
67#include "llimpanel.h" 68#include "llimpanel.h"
68#include "llimview.h" 69#include "llimview.h"
69#include "llnotify.h" 70#include "llnotify.h"
@@ -296,6 +297,43 @@ BOOL LLMuteList::isLinden(const std::string& name) const
296} 297}
297 298
298 299
300void LLMuteList::addMuteAgentConfirm( const LLMute &mute )
301{
302 LLMute *newmute = new LLMute(mute);
303
304 LLStringUtil::format_map_t args;
305 args["[NAME]"] = newmute->mName;
306
307 gViewerWindow->alertXml("ConfirmMuteAgent", args,
308 LLMuteList::addMuteCallback,
309 static_cast<void*>(newmute));
310}
311
312void LLMuteList::addMuteObjectConfirm( const LLMute &mute )
313{
314 LLMute *newmute = new LLMute(mute);
315
316 LLStringUtil::format_map_t args;
317 args["[NAME]"] = newmute->mName;
318
319 gViewerWindow->alertXml("ConfirmMuteObject", args,
320 LLMuteList::addMuteCallback,
321 static_cast<void*>(newmute));
322}
323
324// static
325void LLMuteList::addMuteCallback(S32 option, void *userdata)
326{
327 LLMute *mute = static_cast<LLMute*>(userdata);
328 if( option == 0 )
329 {
330 // They confirmed it. Here we go!
331 LLMuteList::getInstance()->add( *mute );
332 LLFloaterMute::showInstance();
333 }
334 delete mute;
335}
336
299BOOL LLMuteList::add(const LLMute& mute, U32 flags) 337BOOL LLMuteList::add(const LLMute& mute, U32 flags)
300{ 338{
301 // Can't mute text from Lindens 339 // Can't mute text from Lindens
diff --git a/linden/indra/newview/llmutelist.h b/linden/indra/newview/llmutelist.h
index 6b3cfcb..ba1ffeb 100644
--- a/linden/indra/newview/llmutelist.h
+++ b/linden/indra/newview/llmutelist.h
@@ -101,6 +101,11 @@ public:
101 void addObserver(LLMuteListObserver* observer); 101 void addObserver(LLMuteListObserver* observer);
102 void removeObserver(LLMuteListObserver* observer); 102 void removeObserver(LLMuteListObserver* observer);
103 103
104
105 void addMuteAgentConfirm( const LLMute &mute );
106 void addMuteObjectConfirm( const LLMute &mute );
107 static void addMuteCallback(S32 option, void *userdata);
108
104 // Add either a normal or a BY_NAME mute, for any or all properties. 109 // Add either a normal or a BY_NAME mute, for any or all properties.
105 BOOL add(const LLMute& mute, U32 flags = 0); 110 BOOL add(const LLMute& mute, U32 flags = 0);
106 111
diff --git a/linden/indra/newview/llpanelavatar.cpp b/linden/indra/newview/llpanelavatar.cpp
index e4a9c9e..d48237f 100644
--- a/linden/indra/newview/llpanelavatar.cpp
+++ b/linden/indra/newview/llpanelavatar.cpp
@@ -1590,16 +1590,16 @@ void LLPanelAvatar::onClickMute(void *userdata)
1590 if (name_edit) 1590 if (name_edit)
1591 { 1591 {
1592 std::string agent_name = name_edit->getText(); 1592 std::string agent_name = name_edit->getText();
1593 LLFloaterMute::showInstance();
1594 1593
1595 if (LLMuteList::getInstance()->isMuted(agent_id)) 1594 if (LLMuteList::getInstance()->isMuted(agent_id))
1596 { 1595 {
1597 LLFloaterMute::getInstance()->selectMute(agent_id); 1596 LLFloaterMute::getInstance()->selectMute(agent_id);
1597 LLFloaterMute::showInstance();
1598 } 1598 }
1599 else 1599 else
1600 { 1600 {
1601 LLMute mute(agent_id, agent_name, LLMute::AGENT); 1601 LLMute mute(agent_id, agent_name, LLMute::AGENT);
1602 LLMuteList::getInstance()->add(mute); 1602 LLMuteList::getInstance()->addMuteAgentConfirm(mute);
1603 } 1603 }
1604 } 1604 }
1605} 1605}
diff --git a/linden/indra/newview/llpanellogin.cpp b/linden/indra/newview/llpanellogin.cpp
index 4af0f1b..c26f70f 100644
--- a/linden/indra/newview/llpanellogin.cpp
+++ b/linden/indra/newview/llpanellogin.cpp
@@ -542,7 +542,7 @@ BOOL LLPanelLogin::handleKeyHere(KEY key, MASK mask)
542{ 542{
543 if (( KEY_RETURN == key ) && (MASK_ALT == mask)) 543 if (( KEY_RETURN == key ) && (MASK_ALT == mask))
544 { 544 {
545 gViewerWindow->toggleFullscreen(FALSE); 545 gViewerWindow->toggleFullscreenConfirm();
546 return TRUE; 546 return TRUE;
547 } 547 }
548 548
diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp
index c0d53b9..27d1c4c 100644
--- a/linden/indra/newview/lltoolpie.cpp
+++ b/linden/indra/newview/lltoolpie.cpp
@@ -314,6 +314,16 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show)
314 if (object->isAvatar() 314 if (object->isAvatar()
315 || (object->isAttachment() && !object->isHUDAttachment() && !object->permYouOwner())) 315 || (object->isAttachment() && !object->isHUDAttachment() && !object->permYouOwner()))
316 { 316 {
317 // Toggle Inspect only for attachments
318 if (object->isAttachment())
319 {
320 gMenuHolder->childSetEnabled("Avatar Inspect", TRUE);
321 }
322 else
323 {
324 gMenuHolder->childSetEnabled("Avatar Inspect", FALSE);
325 }
326
317 // Find the attachment's avatar 327 // Find the attachment's avatar
318 while( object && object->isAttachment()) 328 while( object && object->isAttachment())
319 { 329 {
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index 864c6f5..9374a36 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -2091,10 +2091,16 @@ class LLObjectMute : public view_listener_t
2091 } 2091 }
2092 else 2092 else
2093 { 2093 {
2094 LLMuteList::getInstance()->add(mute); 2094 if( LLMute::AGENT == type )
2095 LLFloaterMute::showInstance(); 2095 {
2096 LLMuteList::getInstance()->addMuteAgentConfirm(mute);
2097 }
2098 else
2099 {
2100 // must be an object.
2101 LLMuteList::getInstance()->addMuteObjectConfirm(mute);
2102 }
2096 } 2103 }
2097
2098 return true; 2104 return true;
2099 } 2105 }
2100}; 2106};
@@ -3240,7 +3246,7 @@ class LLViewFullscreen : public view_listener_t
3240{ 3246{
3241 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) 3247 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
3242 { 3248 {
3243 gViewerWindow->toggleFullscreen(TRUE); 3249 gViewerWindow->toggleFullscreenConfirm();
3244 return true; 3250 return true;
3245 } 3251 }
3246}; 3252};
@@ -4664,7 +4670,7 @@ class LLWorldTeleportHome : public view_listener_t
4664{ 4670{
4665 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) 4671 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
4666 { 4672 {
4667 gAgent.teleportHome(); 4673 gAgent.teleportHomeConfirm();
4668 return true; 4674 return true;
4669 } 4675 }
4670}; 4676};
@@ -7182,7 +7188,7 @@ class LLEditTakeOff : public view_listener_t
7182 } 7188 }
7183 else if (clothing == "all") 7189 else if (clothing == "all")
7184 { 7190 {
7185 LLAgent::userRemoveAllClothes(NULL); 7191 LLAgent::userRemoveAllClothesConfirm();
7186 } 7192 }
7187 return true; 7193 return true;
7188 } 7194 }
diff --git a/linden/indra/newview/llviewernetwork.cpp b/linden/indra/newview/llviewernetwork.cpp
index 8f7cf7c..f4e3bb7 100644
--- a/linden/indra/newview/llviewernetwork.cpp
+++ b/linden/indra/newview/llviewernetwork.cpp
@@ -253,10 +253,13 @@ bool LLViewerLogin::isInProductionGrid()
253 std::vector<std::string> uris; 253 std::vector<std::string> uris;
254 getLoginURIs(uris); 254 getLoginURIs(uris);
255 LLStringUtil::toLower(uris[0]); 255 LLStringUtil::toLower(uris[0]);
256 if((uris[0].find("agni") != std::string::npos)) 256
257 // Returns true for every grid but Aditi now,
258 // because opensim grids have feelings too! -- McCabe
259 if((uris[0].find("aditi") != std::string::npos))
257 { 260 {
258 return true; 261 return false;
259 } 262 }
260 263
261 return false; 264 return true;
262} 265}
diff --git a/linden/indra/newview/llviewerwindow.cpp b/linden/indra/newview/llviewerwindow.cpp
index 017c225..443bbd5 100644
--- a/linden/indra/newview/llviewerwindow.cpp
+++ b/linden/indra/newview/llviewerwindow.cpp
@@ -4668,6 +4668,27 @@ void LLViewerWindow::initFonts(F32 zoom_factor)
4668 gDirUtilp->getAppRODataDir() 4668 gDirUtilp->getAppRODataDir()
4669 ); 4669 );
4670} 4670}
4671
4672
4673void LLViewerWindow::toggleFullscreenConfirm()
4674{
4675 gViewerWindow->alertXml("ConfirmToggleFullscreen",
4676 LLViewerWindow::toggleFullscreenCallback,
4677 (void *)this);
4678}
4679
4680
4681// static
4682void LLViewerWindow::toggleFullscreenCallback(S32 option, void *userdata)
4683{
4684 if( option == 0 )
4685 {
4686 // User confirmed it. Here we go!
4687 ((LLViewerWindow *)userdata)->toggleFullscreen( TRUE );
4688 }
4689}
4690
4691
4671void LLViewerWindow::toggleFullscreen(BOOL show_progress) 4692void LLViewerWindow::toggleFullscreen(BOOL show_progress)
4672{ 4693{
4673 if (mWindow) 4694 if (mWindow)
diff --git a/linden/indra/newview/llviewerwindow.h b/linden/indra/newview/llviewerwindow.h
index c83c57b..ab2dd4e 100644
--- a/linden/indra/newview/llviewerwindow.h
+++ b/linden/indra/newview/llviewerwindow.h
@@ -342,6 +342,8 @@ public:
342 342
343 // Request display setting changes 343 // Request display setting changes
344 void toggleFullscreen(BOOL show_progress); 344 void toggleFullscreen(BOOL show_progress);
345 void toggleFullscreenConfirm();
346 static void toggleFullscreenCallback(S32 option, void *userdata);
345 347
346 // handle shutting down GL and bringing it back up 348 // handle shutting down GL and bringing it back up
347 void requestResolutionUpdate(bool fullscreen_checked); 349 void requestResolutionUpdate(bool fullscreen_checked);
diff --git a/linden/indra/newview/skins/default/xui/en-us/alerts.xml b/linden/indra/newview/skins/default/xui/en-us/alerts.xml
index 23c8e1c..42d9782 100644
--- a/linden/indra/newview/skins/default/xui/en-us/alerts.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/alerts.xml
@@ -5075,5 +5075,105 @@ Would you like to visit the Second Life website to set this up?
5075 The string [STRING_NAME] is missing from strings.xml 5075 The string [STRING_NAME] is missing from strings.xml
5076 </message> 5076 </message>
5077 </alert> 5077 </alert>
5078
5079 <alert modal="true" name="ConfirmTeleportHome">
5080 <message name="message">
5081 Are you sure you want to teleport home?
5082 </message>
5083 <ignore name="ignore">
5084 When teleporting home
5085 </ignore>
5086 <option name="Teleport">
5087 Teleport
5088 </option>
5089 <option name="Cancel">
5090 Cancel
5091 </option>
5092 </alert>
5093
5094 <alert modal="true" name="ConfirmToggleFullscreen">
5095 <message name="message">
5096 Are you sure you want to toggle fullscreen mode?
5097 </message>
5098 <ignore name="ignore">
5099 When toggling fullscreen mode
5100 </ignore>
5101 <option name="Toggle">
5102 Toggle
5103 </option>
5104 <option name="Cancel">
5105 Cancel
5106 </option>
5107 </alert>
5108
5109 <alert modal="true" name="ConfirmRestoreToWorld">
5110 <message name="message">
5111 Are you sure you want to restore the object to its last position?
5112
5113WARNING: Don't restore if you aren't sure where the object will go!
5114 </message>
5115 <ignore name="ignore">
5116 When restoring objects to their last positions
5117 </ignore>
5118 <option name="Restore">
5119 Restore
5120 </option>
5121 <option name="MoreInfo">
5122 More Info
5123 </option>
5124 <option name="Cancel">
5125 Cancel
5126 </option>
5127 <url option="1">
5128 http://imprudenceviewer.org/wiki/Restore_to_Last_Position
5129 </url>
5130
5131 </alert>
5132
5133 <alert modal="true" name="ConfirmRemoveAllClothes">
5134 <message name="message">
5135 Are you sure you want to take off all clothes?
5136 </message>
5137 <ignore name="ignore">
5138 When taking off all clothes
5139 </ignore>
5140 <option name="Take Off">
5141 Take Off
5142 </option>
5143 <option name="Cancel">
5144 Cancel
5145 </option>
5146 </alert>
5147
5148 <alert modal="true" name="ConfirmMuteAgent">
5149 <message name="message">
5150 Are you sure you want to mute [NAME] (resident)?
5151 </message>
5152 <ignore name="ignore">
5153 When muting a Resident
5154 </ignore>
5155 <option name="Mute">
5156 Mute
5157 </option>
5158 <option name="Cancel">
5159 Cancel
5160 </option>
5161 </alert>
5162
5163 <alert modal="true" name="ConfirmMuteObject">
5164 <message name="message">
5165 Are you sure you want to mute [NAME] (object)?
5166 </message>
5167 <ignore name="ignore">
5168 When muting an object
5169 </ignore>
5170 <option name="Mute">
5171 Mute
5172 </option>
5173 <option name="Cancel">
5174 Cancel
5175 </option>
5176 </alert>
5177
5078</alerts> 5178</alerts>
5079 5179
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_inventory.xml b/linden/indra/newview/skins/default/xui/en-us/menu_inventory.xml
index aa61e77..ff3b8ce 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_inventory.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_inventory.xml
@@ -218,15 +218,17 @@
218 name="Deactivate" width="128"> 218 name="Deactivate" width="128">
219 <on_click filter="" function="Inventory.DoToSelected" userdata="deactivate" /> 219 <on_click filter="" function="Inventory.DoToSelected" userdata="deactivate" />
220 </menu_item_call> 220 </menu_item_call>
221 <menu_item_separator name="RestoreToWorld Separator" />
222 <menu_item_call name="Restore to Last Position"
223 label="Restore to Last Position">
224 <on_click filter="" function="Inventory.DoToSelected"
225 userdata="restoreToWorld" />
226 </menu_item_call>
221 <menu_item_separator name="Attach Separator" /> 227 <menu_item_separator name="Attach Separator" />
222 <menu_item_call bottom_delta="-18" height="18" label="Detach From Yourself" left="0" 228 <menu_item_call bottom_delta="-18" height="18" label="Detach From Yourself" left="0"
223 mouse_opaque="true" name="Detach From Yourself" width="128"> 229 mouse_opaque="true" name="Detach From Yourself" width="128">
224 <on_click filter="" function="Inventory.DoToSelected" userdata="detach" /> 230 <on_click filter="" function="Inventory.DoToSelected" userdata="detach" />
225 </menu_item_call> 231 </menu_item_call>
226 <menu_item_call bottom_delta="-18" height="18" label="Restore to Last Position" left="0" mouse_opaque="true"
227 name="Restore to Last Position" width="128">
228 <on_click filter="" function="Inventory.DoToSelected" userdata="restoreToWorld" />
229 </menu_item_call>
230 <menu_item_call bottom_delta="-18" height="18" label="Wear" left="0" mouse_opaque="true" 232 <menu_item_call bottom_delta="-18" height="18" label="Wear" left="0" mouse_opaque="true"
231 name="Object Wear" width="128"> 233 name="Object Wear" width="128">
232 <on_click filter="" function="Inventory.DoToSelected" userdata="attach" /> 234 <on_click filter="" function="Inventory.DoToSelected" userdata="attach" />
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml b/linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml
index a3e2bba..55730f6 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml
@@ -6,41 +6,42 @@
6 <menu_item_call enabled="true" label="Groups..." name="Groups..."> 6 <menu_item_call enabled="true" label="Groups..." name="Groups...">
7 <on_click function="ShowAgentGroups" userdata="agent" /> 7 <on_click function="ShowAgentGroups" userdata="agent" />
8 </menu_item_call> 8 </menu_item_call>
9 <menu_item_call enabled="false" label="Touch" mouse_opaque="true" name="Attachment Touch"> 9 <menu_item_call enabled="false" label="Touch" mouse_opaque="true" name="Attachment Touch">
10 <on_click function="Object.Touch" /> 10 <on_click function="Object.Touch" />
11 <on_enable function="Attachment.EnableTouch" userdata="Touch" /> 11 <on_enable function="Attachment.EnableTouch" userdata="Touch" />
12 </menu_item_call> 12 </menu_item_call>
13 <menu_item_call enabled="true" label="Stand Up" name="Stand Up"> 13 <menu_item_call enabled="true" label="Stand Up" name="Stand Up">
14 <on_click function="Self.StandUp" userdata="" /> 14 <on_click function="Self.StandUp" userdata="" />
15 <on_enable function="Self.EnableStandUp" /> 15 <on_enable function="Self.EnableStandUp" />
16 </menu_item_call> 16 </menu_item_call>
17 <menu_item_call enabled="true" label="Friends..." name="Friends..."> 17 <menu_item_call enabled="true" label="Friends..." name="Friends...">
18 <on_click function="ShowFloater" userdata="friends" /> 18 <on_click function="ShowFloater" userdata="friends" />
19 </menu_item_call> 19 </menu_item_call>
20 <menu_item_call enabled="true" label="Gestures..." name="Gestures..."> 20 <menu_item_call enabled="true" label="Appearance..." name="Appearance...">
21 <on_click function="ShowFloater" userdata="gestures" /> 21 <on_click function="ShowFloater" userdata="appearance" />
22 </menu_item_call> 22 <on_enable function="Edit.EnableCustomizeAvatar" />
23 <pie_menu label="More &gt;" name="More &gt;"> 23 </menu_item_call>
24 <menu_item_call enabled="false" label="Detach" mouse_opaque="true" name="Detach"> 24 <pie_menu label="More &gt;" name="More &gt;">
25 <on_click function="Attachment.Detach" /> 25 <menu_item_call enabled="false" label="Drop" mouse_opaque="true" name="Drop">
26 <on_enable function="Attachment.EnableDetach" /> 26 <on_click function="Attachment.Drop" />
27 </menu_item_call> 27 <on_enable function="Attachment.EnableDrop" />
28 </menu_item_call>
28 <menu_item_separator /> 29 <menu_item_separator />
30 <menu_item_call enabled="false" label="Detach" mouse_opaque="true" name="Detach">
31 <on_click function="Attachment.Detach" />
32 <on_enable function="Attachment.EnableDetach" />
33 </menu_item_call>
29 <menu_item_separator /> 34 <menu_item_separator />
35 <menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Object Inspect">
36 <on_click function="Object.Inspect" />
37 <on_enable function="Object.EnableInspect" />
38 </menu_item_call>
30 <menu_item_separator /> 39 <menu_item_separator />
31 <menu_item_separator /> 40 <menu_item_separator />
32 <menu_item_separator /> 41 <menu_item_separator />
33 <menu_item_call enabled="false" label="Edit..." mouse_opaque="true" name="Edit..."> 42 </pie_menu>
34 <on_click function="Object.Edit" /> 43 <menu_item_call enabled="false" label="Edit..." mouse_opaque="true" name="Edit...">
35 <on_enable function="EnableEdit" /> 44 <on_click function="Object.Edit" />
36 </menu_item_call> 45 <on_enable function="EnableEdit" />
37 <menu_item_call enabled="false" label="Drop" mouse_opaque="true" name="Drop">
38 <on_click function="Attachment.Drop" />
39 <on_enable function="Attachment.EnableDrop" />
40 </menu_item_call>
41 </pie_menu>
42 <menu_item_call enabled="true" label="Appearance..." name="Appearance...">
43 <on_click function="ShowFloater" userdata="appearance" />
44 <on_enable function="Edit.EnableCustomizeAvatar" />
45 </menu_item_call> 46 </menu_item_call>
46</pie_menu> 47</pie_menu>
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml b/linden/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml
index 2d44dab..3b79bdd 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml
@@ -10,44 +10,44 @@
10 <menu_item_call enabled="false" label="Go To" mouse_opaque="true" name="Go To"> 10 <menu_item_call enabled="false" label="Go To" mouse_opaque="true" name="Go To">
11 <on_click function="GoToObject" /> 11 <on_click function="GoToObject" />
12 </menu_item_call> 12 </menu_item_call>
13 <menu_item_call enabled="false" label="Abuse..." mouse_opaque="true" name="abuse"> 13 <menu_item_call enabled="true" label="Group Invite..." mouse_opaque="true" name="Invite...">
14 <on_click function="Avatar.ReportAbuse" /> 14 <on_click function="Avatar.InviteToGroup" />
15 </menu_item_call> 15 </menu_item_call>
16 <menu_item_call enabled="false" label="Add Friend..." mouse_opaque="true" name="Add Friend"> 16 <menu_item_call enabled="false" label="Add Friend..." mouse_opaque="true" name="Add Friend">
17 <on_click function="Avatar.AddFriend" /> 17 <on_click function="Avatar.AddFriend" />
18 <on_enable function="Avatar.EnableAddFriend" /> 18 <on_enable function="Avatar.EnableAddFriend" />
19 </menu_item_call> 19 </menu_item_call>
20 <menu_item_call enabled="false" label="Pay..." mouse_opaque="true" name="Pay..."> 20 <menu_item_call enabled="false" label="Pay..." mouse_opaque="true" name="Pay...">
21 <on_click function="PayObject" /> 21 <on_click function="PayObject" />
22 <on_enable function="EnablePayObject" /> 22 <on_enable function="EnablePayObject" />
23 </menu_item_call> 23 </menu_item_call>
24 <pie_menu label="More &gt;" name="More &gt;"> 24 <pie_menu label="More &gt;" name="More &gt;">
25 <menu_item_call enabled="false" label="Freeze..." mouse_opaque="true" name="Freeze..."> 25 <menu_item_call enabled="false" label="Freeze..." mouse_opaque="true" name="Freeze...">
26 <on_click function="Avatar.Freeze" /> 26 <on_click function="Avatar.Freeze" />
27 <on_enable function="Avatar.EnableFreezeEject" /> 27 <on_enable function="Avatar.EnableFreezeEject" />
28 </menu_item_call> 28 </menu_item_call>
29 <menu_item_call enabled="false" label="Give Card" mouse_opaque="true" name="Give Card"> 29 <menu_item_call enabled="false" label="Give Card" mouse_opaque="true" name="Give Card">
30 <on_click function="Avatar.GiveCard" /> 30 <on_click function="Avatar.GiveCard" />
31 </menu_item_call> 31 </menu_item_call>
32 <menu_item_call enabled="true" label="Group Invite..." mouse_opaque="true" name="Invite..."> 32 <menu_item_call enabled="true" label="Report..." mouse_opaque="true" name="abuse">
33 <on_click function="Avatar.InviteToGroup" /> 33 <on_click function="Avatar.ReportAbuse" />
34 </menu_item_call> 34 </menu_item_call>
35 <menu_item_separator /> 35 <menu_item_call enabled="false" label="Eject..." mouse_opaque="true" name="Eject...">
36 <menu_item_call enabled="false" label="Eject..." mouse_opaque="true" name="Eject..."> 36 <on_click function="Avatar.Eject" />
37 <on_click function="Avatar.Eject" /> 37 <on_enable function="Avatar.EnableFreezeEject" />
38 <on_enable function="Avatar.EnableFreezeEject" /> 38 </menu_item_call>
39 </menu_item_call> 39 <menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Avatar Inspect">
40 <on_click function="Object.Inspect" />
41 <on_enable function="Object.EnableInspect" />
42 </menu_item_call>
43 <menu_item_separator />
40 <menu_item_call enabled="false" label="Debug..." mouse_opaque="true" name="Debug..."> 44 <menu_item_call enabled="false" label="Debug..." mouse_opaque="true" name="Debug...">
41 <on_click function="Avatar.Debug" /> 45 <on_click function="Avatar.Debug" />
42 <on_visible function="Avatar.VisibleDebug" /> 46 <on_visible function="Avatar.VisibleDebug" />
43 <on_enable function="Avatar.EnableDebug" /> 47 <on_enable function="Avatar.EnableDebug" />
44 </menu_item_call> 48 </menu_item_call>
45 <menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Object Inspect"> 49 </pie_menu>
46 <on_click function="Object.Inspect" /> 50 <menu_item_call enabled="false" label="Send IM..." mouse_opaque="true" name="Send IM...">
47 <on_enable function="Object.EnableInspect" /> 51 <on_click function="Avatar.SendIM" />
48 </menu_item_call>
49 </pie_menu>
50 <menu_item_call enabled="false" label="Send IM..." mouse_opaque="true" name="Send IM...">
51 <on_click function="Avatar.SendIM" />
52 </menu_item_call> 52 </menu_item_call>
53</pie_menu> 53</pie_menu>
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_pie_hud.xml b/linden/indra/newview/skins/default/xui/en-us/menu_pie_hud.xml
index ba6db28..64bb779 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_pie_hud.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_pie_hud.xml
@@ -1,23 +1,26 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<pie_menu name="Hud Pie"> 2<pie_menu name="HUD Pie">
3 <menu_item_call enabled="false" label="Detach" mouse_opaque="true" name="Detach"> 3 <menu_item_call enabled="false" label="Drop" mouse_opaque="true" name="Drop">
4 <on_click function="Attachment.Detach" /> 4 <on_click function="Attachment.Drop" />
5 <on_enable function="Attachment.EnableDetach" /> 5 <on_enable function="Attachment.EnableDrop" />
6 </menu_item_call> 6 </menu_item_call>
7 <menu_item_separator /> 7 <menu_item_separator />
8 <menu_item_call enabled="false" label="Touch" mouse_opaque="true" name="Attachment Touch"> 8 <menu_item_call enabled="false" label="Touch" mouse_opaque="true" name="Attachment Touch">
9 <on_click function="Object.Touch" /> 9 <on_click function="Object.Touch" />
10 <on_enable function="Attachment.EnableTouch" userdata="Touch" /> 10 <on_enable function="Attachment.EnableTouch" userdata="Touch" />
11 </menu_item_call>
12 <menu_item_separator />
13 <menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Object Inspect">
14 <on_click function="Object.Inspect" />
15 <on_enable function="Object.EnableInspect" />
16 </menu_item_call>
17 <menu_item_separator />
18 <menu_item_call enabled="false" label="Detach" mouse_opaque="true" name="Detach">
19 <on_click function="Attachment.Detach" />
20 <on_enable function="Attachment.EnableDetach" />
21 </menu_item_call>
22 <menu_item_call enabled="false" label="Edit..." mouse_opaque="true" name="Edit...">
23 <on_click function="Object.Edit" />
24 <on_enable function="EnableEdit" />
11 </menu_item_call> 25 </menu_item_call>
12 <menu_item_separator />
13 <menu_item_separator />
14 <menu_item_separator />
15 <menu_item_call enabled="false" label="Edit..." mouse_opaque="true" name="Edit...">
16 <on_click function="Object.Edit" />
17 <on_enable function="EnableEdit" />
18 </menu_item_call>
19 <menu_item_call enabled="false" label="Drop" mouse_opaque="true" name="Drop">
20 <on_click function="Attachment.Drop" />
21 <on_enable function="Attachment.EnableDrop" />
22 </menu_item_call>
23</pie_menu> 26</pie_menu>
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_pie_land.xml b/linden/indra/newview/skins/default/xui/en-us/menu_pie_land.xml
index 81ae04f..5f9c770 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_pie_land.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_pie_land.xml
@@ -20,12 +20,12 @@
20 <on_click function="Land.BuyPass" /> 20 <on_click function="Land.BuyPass" />
21 <on_enable function="Land.EnableBuyPass" /> 21 <on_enable function="Land.EnableBuyPass" />
22 </menu_item_call> 22 </menu_item_call>
23 <menu_item_call enabled="false" label="Buy Land..." mouse_opaque="true" name="Land Buy">
24 <on_click function="ShowFloater" userdata="buy land" />
25 <on_enable function="World.EnableBuyLand" />
26 </menu_item_call>
23 <menu_item_call enabled="false" label="Edit Terrain" mouse_opaque="true" name="Edit Terrain"> 27 <menu_item_call enabled="false" label="Edit Terrain" mouse_opaque="true" name="Edit Terrain">
24 <on_click function="Land.Edit" /> 28 <on_click function="Land.Edit" />
25 <on_enable function="EnableEdit" /> 29 <on_enable function="EnableEdit" />
26 </menu_item_call> 30 </menu_item_call>
27 <menu_item_call enabled="false" label="Buy Land..." mouse_opaque="true" name="Land Buy">
28 <on_click function="ShowFloater" userdata="buy land" />
29 <on_enable function="World.EnableBuyLand" />
30 </menu_item_call>
31</pie_menu> 31</pie_menu>
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_pie_object.xml b/linden/indra/newview/skins/default/xui/en-us/menu_pie_object.xml
index b63e007..7ef84c4 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_pie_object.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_pie_object.xml
@@ -4,9 +4,9 @@
4 <on_click function="Object.Open" /> 4 <on_click function="Object.Open" />
5 <on_enable function="Object.EnableOpen" /> 5 <on_enable function="Object.EnableOpen" />
6 </menu_item_call> 6 </menu_item_call>
7 <menu_item_call enabled="false" label="Buy..." mouse_opaque="true" name="Buy..."> 7 <menu_item_call enabled="false" label="Create" mouse_opaque="true" name="Create">
8 <on_click function="Object.Buy" /> 8 <on_click function="Object.Build" />
9 <on_enable function="Object.EnableBuy" /> 9 <on_enable function="EnableEdit" />
10 </menu_item_call> 10 </menu_item_call>
11 <menu_item_call enabled="false" label="Touch" mouse_opaque="true" name="Object Touch"> 11 <menu_item_call enabled="false" label="Touch" mouse_opaque="true" name="Object Touch">
12 <on_click function="Object.Touch" /> 12 <on_click function="Object.Touch" />
@@ -25,48 +25,48 @@
25 <on_enable function="EnablePayObject" /> 25 <on_enable function="EnablePayObject" />
26 </menu_item_call> 26 </menu_item_call>
27 <pie_menu label="More &gt;" name="More &gt;"> 27 <pie_menu label="More &gt;" name="More &gt;">
28 <menu_item_call enabled="false" label="Build" mouse_opaque="true" name="Create"> 28 <menu_item_call enabled="false" label="Delete" mouse_opaque="true" name="Delete">
29 <on_click function="Object.Build" /> 29 <on_click function="Object.Delete" />
30 <on_enable function="EnableEdit" /> 30 <on_enable function="Object.EnableDelete" />
31 </menu_item_call> 31 </menu_item_call>
32 <menu_item_call enabled="false" label="Wear" mouse_opaque="true" name="Wear"> 32 <menu_item_call enabled="false" label="Wear" mouse_opaque="true" name="Wear">
33 <on_click function="Object.AttachToAvatar" /> 33 <on_click function="Object.AttachToAvatar" />
34 <on_enable function="Object.EnableWear" /> 34 <on_enable function="Object.EnableWear" />
35 </menu_item_call> 35 </menu_item_call>
36 <menu_item_call enabled="false" label="Take Copy" mouse_opaque="true" name="Take Copy"> 36 <menu_item_call enabled="false" label="Take Copy" mouse_opaque="true" name="Take Copy">
37 <on_click function="Tools.TakeCopy" /> 37 <on_click function="Tools.TakeCopy" />
38 <on_enable function="Tools.EnableTakeCopy" /> 38 <on_enable function="Tools.EnableTakeCopy" />
39 </menu_item_call> 39 </menu_item_call>
40 <pie_menu label="Attach HUD &gt;" name="Object Attach HUD" /> 40 <pie_menu label="Attach HUD &gt;" name="Object Attach HUD" />
41 <pie_menu label="Attach &gt;" name="Object Attach" /> 41 <pie_menu label="Attach &gt;" name="Object Attach" />
42 <menu_item_call enabled="false" label="Return..." mouse_opaque="true" name="Return..."> 42 <menu_item_call enabled="false" label="Return..." mouse_opaque="true" name="Return...">
43 <on_click function="Object.Return" /> 43 <on_click function="Object.Return" />
44 <on_enable function="Object.EnableReturn" /> 44 <on_enable function="Object.EnableReturn" />
45 </menu_item_call> 45 </menu_item_call>
46 <pie_menu label="More &gt;" name="Rate Menu"> 46 <pie_menu label="More &gt;" name="Rate Menu">
47 <menu_item_separator />
48 <menu_item_separator />
49 <menu_item_call enabled="false" label="Abuse..." mouse_opaque="true"
50 name="Report Abuse...">
51 <on_click function="Object.ReportAbuse" />
52 <on_enable function="Object.EnableReportAbuse" />
53 </menu_item_call>
54 <menu_item_separator />
55 <menu_item_separator /> 47 <menu_item_separator />
56 <menu_item_call enabled="false" label="Mute" mouse_opaque="true" name="Object Mute"> 48 <menu_item_call enabled="false" label="Mute" mouse_opaque="true" name="Object Mute">
57 <on_click function="Object.Mute" /> 49 <on_click function="Object.Mute" />
58 <on_enable function="Object.EnableMute" /> 50 <on_enable function="Object.EnableMute" />
59 </menu_item_call> 51 </menu_item_call>
52 <menu_item_call enabled="false" label="Report..." mouse_opaque="true"
53 name="Report Abuse...">
54 <on_click function="Object.ReportAbuse" />
55 <on_enable function="Object.EnableReportAbuse" />
56 </menu_item_call>
60 <menu_item_separator /> 57 <menu_item_separator />
61 <menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Object Inspect"> 58 <menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Object Inspect">
62 <on_click function="Object.Inspect" /> 59 <on_click function="Object.Inspect" />
63 <on_enable function="Object.EnableInspect" /> 60 <on_enable function="Object.EnableInspect" />
64 </menu_item_call> 61 </menu_item_call>
65 </pie_menu> 62 <menu_item_separator />
66 <menu_item_call enabled="false" label="Delete" mouse_opaque="true" name="Delete"> 63 <menu_item_separator />
67 <on_click function="Object.Delete" /> 64 <menu_item_separator />
68 <on_enable function="Object.EnableDelete" /> 65 </pie_menu>
69 </menu_item_call> 66 <menu_item_call enabled="false" label="Buy..." mouse_opaque="true" name="Buy...">
67 <on_click function="Object.Buy" />
68 <on_enable function="Object.EnableBuy" />
69 </menu_item_call>
70 </pie_menu> 70 </pie_menu>
71 <menu_item_call enabled="false" label="Edit..." mouse_opaque="true" name="Edit..."> 71 <menu_item_call enabled="false" label="Edit..." mouse_opaque="true" name="Edit...">
72 <on_click function="Object.Edit" /> 72 <on_click function="Object.Edit" />
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_pie_self.xml b/linden/indra/newview/skins/default/xui/en-us/menu_pie_self.xml
index 4fb7262..082eb53 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_pie_self.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_pie_self.xml
@@ -6,18 +6,17 @@
6 <menu_item_call enabled="true" label="Groups..." name="Groups..."> 6 <menu_item_call enabled="true" label="Groups..." name="Groups...">
7 <on_click function="ShowAgentGroups" userdata="agent" /> 7 <on_click function="ShowAgentGroups" userdata="agent" />
8 </menu_item_call> 8 </menu_item_call>
9 <menu_item_call enabled="true" label="Inventory" name="Inventory"> 9 <menu_item_separator />
10 <on_click function="ShowFloater" userdata="inventory" /> 10 <menu_item_call enabled="true" label="Stand Up" name="Stand Up">
11 </menu_item_call> 11 <on_click function="Self.StandUp" userdata="" />
12 <menu_item_call enabled="true" label="Stand Up" name="Stand Up"> 12 <on_enable function="Self.EnableStandUp" />
13 <on_click function="Self.StandUp" userdata="" /> 13 </menu_item_call>
14 <on_enable function="Self.EnableStandUp" /> 14 <menu_item_call enabled="true" label="Friends..." name="Friends...">
15 </menu_item_call> 15 <on_click function="ShowFloater" userdata="friends" />
16 <menu_item_call enabled="true" label="Friends..." name="Friends..."> 16 </menu_item_call>
17 <on_click function="ShowFloater" userdata="friends" /> 17 <menu_item_call enabled="true" label="Appearance..." name="Appearance...">
18 </menu_item_call> 18 <on_click function="ShowFloater" userdata="appearance" />
19 <menu_item_call enabled="true" label="Gestures..." name="Gestures..."> 19 <on_enable function="Edit.EnableCustomizeAvatar" />
20 <on_click function="ShowFloater" userdata="gestures" />
21 </menu_item_call> 20 </menu_item_call>
22 <pie_menu enabled="true" label="Take Off &gt;" name="Take Off &gt;"> 21 <pie_menu enabled="true" label="Take Off &gt;" name="Take Off &gt;">
23 <pie_menu enabled="true" label="Clothes &gt;" name="Clothes &gt;"> 22 <pie_menu enabled="true" label="Clothes &gt;" name="Clothes &gt;">
@@ -76,17 +75,15 @@
76 </menu_item_call> 75 </menu_item_call>
77 </pie_menu> 76 </pie_menu>
78 <menu_item_separator /> 77 <menu_item_separator />
79 <pie_menu enabled="true" label="HUD &gt;" name="Object Detach HUD" />
80 <menu_item_separator />
81 <pie_menu enabled="true" label="Detach &gt;" name="Object Detach" />
82 <menu_item_separator />
83 <menu_item_call enabled="true" label="Detach All" name="Detach All"> 78 <menu_item_call enabled="true" label="Detach All" name="Detach All">
84 <on_click function="Self.RemoveAllAttachments" userdata="" /> 79 <on_click function="Self.RemoveAllAttachments" userdata="" />
85 <on_enable function="Self.EnableRemoveAllAttachments" /> 80 <on_enable function="Self.EnableRemoveAllAttachments" />
86 </menu_item_call> 81 </menu_item_call>
82 <menu_item_separator />
83 <pie_menu enabled="true" label="Detach &gt;" name="Object Detach" />
84 <menu_item_separator />
85 <pie_menu enabled="true" label="HUD &gt;" name="Object Detach HUD" />
86 <menu_item_separator />
87 </pie_menu> 87 </pie_menu>
88 <menu_item_call enabled="true" label="Appearance..." name="Appearance..."> 88 <menu_item_separator />
89 <on_click function="ShowFloater" userdata="appearance" />
90 <on_enable function="Edit.EnableCustomizeAvatar" />
91 </menu_item_call>
92</pie_menu> 89</pie_menu>
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
index f3f4c28..6c88b83 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
@@ -127,7 +127,7 @@
127 </menu_item_call> 127 </menu_item_call>
128 <menu_item_separator /> 128 <menu_item_separator />
129 <menu_item_call name="Duplicate" enabled="false" 129 <menu_item_call name="Duplicate" enabled="false"
130 label="Duplicate"> 130 label="Duplicate" shortcut="control|D">
131 <on_click function="Edit.Duplicate" userdata="" /> 131 <on_click function="Edit.Duplicate" userdata="" />
132 <on_enable function="Edit.EnableDuplicate" /> 132 <on_enable function="Edit.EnableDuplicate" />
133 </menu_item_call> 133 </menu_item_call>
@@ -424,8 +424,7 @@
424 <on_check control="FlyBtnState" /> 424 <on_check control="FlyBtnState" />
425 </menu_item_check> 425 </menu_item_check>
426 <menu_item_separator /> 426 <menu_item_separator />
427 <menu_item_call name="Create Landmark Here" shortcut="control|D" 427 <menu_item_call name="Create Landmark Here" label="Create Landmark Here">
428 label="Create Landmark Here">
429 <on_click function="World.CreateLandmark" userdata="" /> 428 <on_click function="World.CreateLandmark" userdata="" />
430 <on_enable function="World.EnableCreateLandmark" userdata="" /> 429 <on_enable function="World.EnableCreateLandmark" userdata="" />
431 </menu_item_call> 430 </menu_item_call>
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_chat_bar.xml b/linden/indra/newview/skins/default/xui/en-us/panel_chat_bar.xml
index 67bfd0c..464ecac 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_chat_bar.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_chat_bar.xml
@@ -14,7 +14,7 @@
14 left="107" max_length="254" name="Chat Editor" 14 left="107" max_length="254" name="Chat Editor"
15 select_all_on_focus_received="false" select_on_focus="false" tab_group="1" 15 select_all_on_focus_received="false" select_on_focus="false" tab_group="1"
16 tool_tip="Press Enter to say, Ctrl-Enter to shout." width="105" /> 16 tool_tip="Press Enter to say, Ctrl-Enter to shout." width="105" />
17 <flyout_button bottom="-23" follows="right|bottom" height="20" label="Say" left_delta="110" 17 <flyout_button bottom="-23" follows="right|bottom" height="20" label="Say" left_delta="109"
18 list_position="above" mouse_opaque="true" name="Say" tool_tip="(Enter)" 18 list_position="above" mouse_opaque="true" name="Say" tool_tip="(Enter)"
19 width="80"> 19 width="80">
20 <flyout_button_item value="shout" name="shout_item"> 20 <flyout_button_item value="shout" name="shout_item">
@@ -27,8 +27,10 @@
27 Whisper 27 Whisper
28 </flyout_button_item> 28 </flyout_button_item>
29 </flyout_button> 29 </flyout_button>
30 <combo_box allow_text_entry="false" bottom="-23" follows="right|bottom" height="20" 30 <flyout_button bottom="-23" follows="right|bottom" height="20" label="Gestures" left_delta="83"
31 label="Gestures" left_delta="85" max_chars="20" name="Gesture" width="90"> 31 list_position="above" mouse_opaque="true" name="Gesture" tool_tip="(tooltip)"
32 </combo_box> 32 width="95">
33 </flyout_button>
34
33 <string name="gesture_label">Gestures</string> 35 <string name="gesture_label">Gestures</string>
34</panel> 36</panel>
diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py
index 5ab311a..0abdc60 100755
--- a/linden/indra/newview/viewer_manifest.py
+++ b/linden/indra/newview/viewer_manifest.py
@@ -528,6 +528,7 @@ class DarwinManifest(ViewerManifest):
528 self.path("libgstffmpeg.so") 528 self.path("libgstffmpeg.so")
529 self.path("libgstffmpegcolorspace.so") 529 self.path("libgstffmpegcolorspace.so")
530 self.path("libgstffmpegscale.so") 530 self.path("libgstffmpegscale.so")
531 self.path("libgstfilter.so")
531 self.path("libgstflac.so") 532 self.path("libgstflac.so")
532 self.path("libgstflv.so") 533 self.path("libgstflv.so")
533 self.path("libgstgdp.so") 534 self.path("libgstgdp.so")
@@ -541,6 +542,7 @@ class DarwinManifest(ViewerManifest):
541 self.path("libgstmpeg4videoparse.so") 542 self.path("libgstmpeg4videoparse.so")
542 self.path("libgstmpegdemux.so") 543 self.path("libgstmpegdemux.so")
543 self.path("libgstmpegvideoparse.so") 544 self.path("libgstmpegvideoparse.so")
545 self.path("libgstmultifile.so")
544 self.path("libgstmultipart.so") 546 self.path("libgstmultipart.so")
545 self.path("libgstneonhttpsrc.so") 547 self.path("libgstneonhttpsrc.so")
546 self.path("libgstogg.so") 548 self.path("libgstogg.so")
@@ -550,6 +552,7 @@ class DarwinManifest(ViewerManifest):
550 self.path("libgstpng.so") 552 self.path("libgstpng.so")
551 self.path("libgstpostproc.so") 553 self.path("libgstpostproc.so")
552 self.path("libgstqtdemux.so") 554 self.path("libgstqtdemux.so")
555 #self.path("libgstqtwrapper.so")
553 self.path("libgstqueue2.so") 556 self.path("libgstqueue2.so")
554 self.path("libgstreal.so") 557 self.path("libgstreal.so")
555 self.path("libgstrtp.so") 558 self.path("libgstrtp.so")
@@ -557,11 +560,19 @@ class DarwinManifest(ViewerManifest):
557 self.path("libgstrtsp.so") 560 self.path("libgstrtsp.so")
558 self.path("libgstsdpelem.so") 561 self.path("libgstsdpelem.so")
559 self.path("libgstselector.so") 562 self.path("libgstselector.so")
563 self.path("libgststereo.so")
560 self.path("libgsttcp.so") 564 self.path("libgsttcp.so")
561 self.path("libgsttheora.so") 565 self.path("libgsttheora.so")
562 self.path("libgsttypefindfunctions.so") 566 self.path("libgsttypefindfunctions.so")
563 self.path("libgstudp.so") 567 self.path("libgstudp.so")
568 self.path("libgstvideobalance.so")
569 self.path("libgstvideobox.so")
570 self.path("libgstvideocrop.so")
571 self.path("libgstvideoflip.so")
572 self.path("libgstvideomixer.so")
573 self.path("libgstvideorate.so")
564 self.path("libgstvideoscale.so") 574 self.path("libgstvideoscale.so")
575 self.path("libgstvideosignal.so")
565 self.path("libgstvolume.so") 576 self.path("libgstvolume.so")
566 self.path("libgstvorbis.so") 577 self.path("libgstvorbis.so")
567 self.path("libgstwavparse.so") 578 self.path("libgstwavparse.so")