aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview')
-rw-r--r--linden/indra/newview/Info-Imprudence.plist78
-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.xml43
-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.xml74
-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
27 files changed, 474 insertions, 217 deletions
diff --git a/linden/indra/newview/Info-Imprudence.plist b/linden/indra/newview/Info-Imprudence.plist
index 357d171..49aa2a7 100644
--- a/linden/indra/newview/Info-Imprudence.plist
+++ b/linden/indra/newview/Info-Imprudence.plist
@@ -1,39 +1,39 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 2<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3<plist version="1.0"> 3<plist version="1.0">
4<dict> 4<dict>
5 <key>CFBundleDevelopmentRegion</key> 5 <key>CFBundleDevelopmentRegion</key>
6 <string>English</string> 6 <string>English</string>
7 <key>CFBundleExecutable</key> 7 <key>CFBundleExecutable</key>
8 <string>Imprudence</string> 8 <string>Imprudence</string>
9 <key>CFBundleIconFile</key> 9 <key>CFBundleIconFile</key>
10 <string>viewer.icns</string> 10 <string>viewer.icns</string>
11 <key>CFBundleIdentifier</key> 11 <key>CFBundleIdentifier</key>
12 <string>com.secondlife.indra.viewer</string> 12 <string>com.secondlife.indra.viewer</string>
13 <key>CFBundleInfoDictionaryVersion</key> 13 <key>CFBundleInfoDictionaryVersion</key>
14 <string>6.0</string> 14 <string>6.0</string>
15 <key>CFBundleName</key> 15 <key>CFBundleName</key>
16 <string>Imprudence</string> 16 <string>Imprudence</string>
17 <key>CFBundlePackageType</key> 17 <key>CFBundlePackageType</key>
18 <string>APPL</string> 18 <string>APPL</string>
19 <key>CFBundleSignature</key> 19 <key>CFBundleSignature</key>
20 <string>????</string> 20 <string>????</string>
21 <key>CFBundleURLTypes</key> 21 <key>CFBundleURLTypes</key>
22 <array> 22 <array>
23 <dict> 23 <dict>
24 <key>CFBundleURLName</key> 24 <key>CFBundleURLName</key>
25 <string>Second Life URL</string> 25 <string>Second Life URL</string>
26 <key>CFBundleURLSchemes</key> 26 <key>CFBundleURLSchemes</key>
27 <array> 27 <array>
28 <string>secondlife</string> 28 <string>secondlife</string>
29 </array> 29 </array>
30 <key>LSIsAppleDefaultForScheme</key> 30 <key>LSIsAppleDefaultForScheme</key>
31 <true/> 31 <true/>
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.0.0</string>
36 <key>CSResourcesFileMapped</key> 36 <key>CSResourcesFileMapped</key>
37 <true/> 37 <true/>
38</dict> 38</dict>
39</plist> 39</plist>
diff --git a/linden/indra/newview/llagent.cpp b/linden/indra/newview/llagent.cpp
index d268397..8c4e8b3 100644
--- a/linden/indra/newview/llagent.cpp
+++ b/linden/indra/newview/llagent.cpp
@@ -5926,6 +5926,28 @@ void LLAgent::teleportViaLocation(const LLVector3d& pos_global)
5926 } 5926 }
5927} 5927}
5928 5928
5929
5930void LLAgent::teleportHome()
5931{
5932 teleportViaLandmark(LLUUID::null);
5933}
5934
5935void LLAgent::teleportHomeConfirm()
5936{
5937 gViewerWindow->alertXml("ConfirmTeleportHome", LLAgent::teleportHomeCallback, (void *)this);
5938}
5939
5940// static
5941void LLAgent::teleportHomeCallback(S32 option, void *userdata)
5942{
5943 if( option == 0 )
5944 {
5945 // They confirmed it. Here we go!
5946 ((LLAgent *) userdata)->teleportHome();
5947 }
5948}
5949
5950
5929void LLAgent::setTeleportState(ETeleportState state) 5951void LLAgent::setTeleportState(ETeleportState state)
5930{ 5952{
5931 mTeleportState = state; 5953 mTeleportState = state;
@@ -7410,6 +7432,25 @@ void LLAgent::userRemoveWearable( void* userdata )
7410 } 7432 }
7411} 7433}
7412 7434
7435
7436// static
7437void LLAgent::userRemoveAllClothesConfirm()
7438{
7439 gViewerWindow->alertXml("ConfirmRemoveAllClothes",
7440 LLAgent::userRemoveAllClothesCallback, NULL);
7441}
7442
7443// static
7444void LLAgent::userRemoveAllClothesCallback(S32 option, void *userdata)
7445{
7446 if( option == 0 )
7447 {
7448 // They confirmed it. Here we go!
7449 LLAgent::userRemoveAllClothes(NULL);
7450 }
7451}
7452
7453
7413void LLAgent::userRemoveAllClothes( void* userdata ) 7454void LLAgent::userRemoveAllClothes( void* userdata )
7414{ 7455{
7415 // We have to do this up front to avoid having to deal with the case of multiple wearables being dirty. 7456 // 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 97f9aed..4d24aee 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 31fa653..971ffcd 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"
@@ -644,8 +645,9 @@ void LLChatBar::onCommitGesture(LLUICtrl* ctrl, void* data)
644 if (gestures) 645 if (gestures)
645 { 646 {
646 S32 index = gestures->getFirstSelectedIndex(); 647 S32 index = gestures->getFirstSelectedIndex();
647 if (index == 0) 648 if (index <= 0)
648 { 649 {
650 LLFloaterGesture::toggleVisibility();
649 return; 651 return;
650 } 652 }
651 const std::string& trigger = gestures->getSelectedValue().asString(); 653 const std::string& trigger = gestures->getSelectedValue().asString();
@@ -655,7 +657,6 @@ void LLChatBar::onCommitGesture(LLUICtrl* ctrl, void* data)
655 std::string text(trigger); 657 std::string text(trigger);
656 std::string revised_text; 658 std::string revised_text;
657 gGestureManager.triggerAndReviseString(text, &revised_text); 659 gGestureManager.triggerAndReviseString(text, &revised_text);
658
659 revised_text = utf8str_trim(revised_text); 660 revised_text = utf8str_trim(revised_text);
660 if (!revised_text.empty()) 661 if (!revised_text.empty())
661 { 662 {
diff --git a/linden/indra/newview/llfloatersnapshot.cpp b/linden/indra/newview/llfloatersnapshot.cpp
index accbcb4..0ffcae3 100644
--- a/linden/indra/newview/llfloatersnapshot.cpp
+++ b/linden/indra/newview/llfloatersnapshot.cpp
@@ -2066,7 +2066,6 @@ void LLFloaterSnapshot::draw()
2066 if(previewp->getSnapshotType() != LLSnapshotLivePreview::SNAPSHOT_LOCAL) 2066 if(previewp->getSnapshotType() != LLSnapshotLivePreview::SNAPSHOT_LOCAL)
2067 { 2067 {
2068 childSetEnabled("high_res_check",FALSE); 2068 childSetEnabled("high_res_check",FALSE);
2069 childSetVisible("high_res_check",FALSE);
2070 childSetEnabled("ui_check",TRUE); 2069 childSetEnabled("ui_check",TRUE);
2071 if (ui_in_snapshot) 2070 if (ui_in_snapshot)
2072 { 2071 {
@@ -2075,7 +2074,6 @@ void LLFloaterSnapshot::draw()
2075 } 2074 }
2076 else 2075 else
2077 { 2076 {
2078 childSetVisible("high_res_check",TRUE);
2079 if (high_res_snapshot) 2077 if (high_res_snapshot)
2080 { 2078 {
2081 childSetEnabled("high_res_check",TRUE); 2079 childSetEnabled("high_res_check",TRUE);
diff --git a/linden/indra/newview/llfloaterworldmap.cpp b/linden/indra/newview/llfloaterworldmap.cpp
index 8396454..66b2813 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 34277f7..7af8c89 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 eb17432..a4f59fe 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 0cdfe83..00ef9c3 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"
@@ -245,6 +246,43 @@ BOOL LLMuteList::isLinden(const std::string& name) const
245} 246}
246 247
247 248
249void LLMuteList::addMuteAgentConfirm( const LLMute &mute )
250{
251 LLMute *newmute = new LLMute(mute);
252
253 LLStringUtil::format_map_t args;
254 args["[NAME]"] = newmute->mName;
255
256 gViewerWindow->alertXml("ConfirmMuteAgent", args,
257 LLMuteList::addMuteCallback,
258 static_cast<void*>(newmute));
259}
260
261void LLMuteList::addMuteObjectConfirm( const LLMute &mute )
262{
263 LLMute *newmute = new LLMute(mute);
264
265 LLStringUtil::format_map_t args;
266 args["[NAME]"] = newmute->mName;
267
268 gViewerWindow->alertXml("ConfirmMuteObject", args,
269 LLMuteList::addMuteCallback,
270 static_cast<void*>(newmute));
271}
272
273// static
274void LLMuteList::addMuteCallback(S32 option, void *userdata)
275{
276 LLMute *mute = static_cast<LLMute*>(userdata);
277 if( option == 0 )
278 {
279 // They confirmed it. Here we go!
280 LLMuteList::getInstance()->add( *mute );
281 LLFloaterMute::showInstance();
282 }
283 delete mute;
284}
285
248BOOL LLMuteList::add(const LLMute& mute, U32 flags) 286BOOL LLMuteList::add(const LLMute& mute, U32 flags)
249{ 287{
250 // Can't mute text from Lindens 288 // Can't mute text from Lindens
diff --git a/linden/indra/newview/llmutelist.h b/linden/indra/newview/llmutelist.h
index 400f13e..d66dd17 100644
--- a/linden/indra/newview/llmutelist.h
+++ b/linden/indra/newview/llmutelist.h
@@ -102,6 +102,11 @@ public:
102 void addObserver(LLMuteListObserver* observer); 102 void addObserver(LLMuteListObserver* observer);
103 void removeObserver(LLMuteListObserver* observer); 103 void removeObserver(LLMuteListObserver* observer);
104 104
105
106 void addMuteAgentConfirm( const LLMute &mute );
107 void addMuteObjectConfirm( const LLMute &mute );
108 static void addMuteCallback(S32 option, void *userdata);
109
105 // Add either a normal or a BY_NAME mute, for any or all properties. 110 // Add either a normal or a BY_NAME mute, for any or all properties.
106 BOOL add(const LLMute& mute, U32 flags = 0); 111 BOOL add(const LLMute& mute, U32 flags = 0);
107 112
diff --git a/linden/indra/newview/llpanelavatar.cpp b/linden/indra/newview/llpanelavatar.cpp
index 76dbd1f..82d9054 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 aeb3b2d..7f654bb 100644
--- a/linden/indra/newview/llpanellogin.cpp
+++ b/linden/indra/newview/llpanellogin.cpp
@@ -538,7 +538,7 @@ BOOL LLPanelLogin::handleKeyHere(KEY key, MASK mask)
538{ 538{
539 if (( KEY_RETURN == key ) && (MASK_ALT == mask)) 539 if (( KEY_RETURN == key ) && (MASK_ALT == mask))
540 { 540 {
541 gViewerWindow->toggleFullscreen(FALSE); 541 gViewerWindow->toggleFullscreenConfirm();
542 return TRUE; 542 return TRUE;
543 } 543 }
544 544
diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp
index 63b6e34..73e39cb 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 486e4f1..4081e97 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -2087,10 +2087,16 @@ class LLObjectMute : public view_listener_t
2087 } 2087 }
2088 else 2088 else
2089 { 2089 {
2090 LLMuteList::getInstance()->add(mute); 2090 if( LLMute::AGENT == type )
2091 LLFloaterMute::showInstance(); 2091 {
2092 LLMuteList::getInstance()->addMuteAgentConfirm(mute);
2093 }
2094 else
2095 {
2096 // must be an object.
2097 LLMuteList::getInstance()->addMuteObjectConfirm(mute);
2098 }
2092 } 2099 }
2093
2094 return true; 2100 return true;
2095 } 2101 }
2096}; 2102};
@@ -3262,7 +3268,7 @@ class LLViewFullscreen : public view_listener_t
3262{ 3268{
3263 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) 3269 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
3264 { 3270 {
3265 gViewerWindow->toggleFullscreen(TRUE); 3271 gViewerWindow->toggleFullscreenConfirm();
3266 return true; 3272 return true;
3267 } 3273 }
3268}; 3274};
@@ -4686,7 +4692,7 @@ class LLWorldTeleportHome : public view_listener_t
4686{ 4692{
4687 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) 4693 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
4688 { 4694 {
4689 gAgent.teleportHome(); 4695 gAgent.teleportHomeConfirm();
4690 return true; 4696 return true;
4691 } 4697 }
4692}; 4698};
@@ -7352,7 +7358,7 @@ class LLEditTakeOff : public view_listener_t
7352 } 7358 }
7353 else if (clothing == "all") 7359 else if (clothing == "all")
7354 { 7360 {
7355 LLAgent::userRemoveAllClothes(NULL); 7361 LLAgent::userRemoveAllClothesConfirm();
7356 } 7362 }
7357 return true; 7363 return true;
7358 } 7364 }
diff --git a/linden/indra/newview/llviewernetwork.cpp b/linden/indra/newview/llviewernetwork.cpp
index 9019b88..8c4be1f 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 854d757..0c43b59 100644
--- a/linden/indra/newview/llviewerwindow.cpp
+++ b/linden/indra/newview/llviewerwindow.cpp
@@ -4612,6 +4612,27 @@ void LLViewerWindow::initFonts(F32 zoom_factor)
4612 gDirUtilp->getAppRODataDir() 4612 gDirUtilp->getAppRODataDir()
4613 ); 4613 );
4614} 4614}
4615
4616
4617void LLViewerWindow::toggleFullscreenConfirm()
4618{
4619 gViewerWindow->alertXml("ConfirmToggleFullscreen",
4620 LLViewerWindow::toggleFullscreenCallback,
4621 (void *)this);
4622}
4623
4624
4625// static
4626void LLViewerWindow::toggleFullscreenCallback(S32 option, void *userdata)
4627{
4628 if( option == 0 )
4629 {
4630 // User confirmed it. Here we go!
4631 ((LLViewerWindow *)userdata)->toggleFullscreen( TRUE );
4632 }
4633}
4634
4635
4615void LLViewerWindow::toggleFullscreen(BOOL show_progress) 4636void LLViewerWindow::toggleFullscreen(BOOL show_progress)
4616{ 4637{
4617 if (mWindow) 4638 if (mWindow)
diff --git a/linden/indra/newview/llviewerwindow.h b/linden/indra/newview/llviewerwindow.h
index 21df0d5..d562d0f 100644
--- a/linden/indra/newview/llviewerwindow.h
+++ b/linden/indra/newview/llviewerwindow.h
@@ -338,6 +338,8 @@ public:
338 338
339 // Request display setting changes 339 // Request display setting changes
340 void toggleFullscreen(BOOL show_progress); 340 void toggleFullscreen(BOOL show_progress);
341 void toggleFullscreenConfirm();
342 static void toggleFullscreenCallback(S32 option, void *userdata);
341 343
342 // handle shutting down GL and bringing it back up 344 // handle shutting down GL and bringing it back up
343 BOOL checkSettings(); 345 BOOL checkSettings();
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 92e2014..25d3a84 100644
--- a/linden/indra/newview/skins/default/xui/en-us/alerts.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/alerts.xml
@@ -5060,5 +5060,105 @@ Would you like to visit the Second Life website to set this up?
5060 The string [STRING_NAME] is missing from strings.xml 5060 The string [STRING_NAME] is missing from strings.xml
5061 </message> 5061 </message>
5062 </alert> 5062 </alert>
5063
5064 <alert modal="true" name="ConfirmTeleportHome">
5065 <message name="message">
5066 Are you sure you want to teleport home?
5067 </message>
5068 <ignore name="ignore">
5069 When teleporting home
5070 </ignore>
5071 <option name="Teleport">
5072 Teleport
5073 </option>
5074 <option name="Cancel">
5075 Cancel
5076 </option>
5077 </alert>
5078
5079 <alert modal="true" name="ConfirmToggleFullscreen">
5080 <message name="message">
5081 Are you sure you want to toggle fullscreen mode?
5082 </message>
5083 <ignore name="ignore">
5084 When toggling fullscreen mode
5085 </ignore>
5086 <option name="Toggle">
5087 Toggle
5088 </option>
5089 <option name="Cancel">
5090 Cancel
5091 </option>
5092 </alert>
5093
5094 <alert modal="true" name="ConfirmRestoreToWorld">
5095 <message name="message">
5096 Are you sure you want to restore the object to its last position?
5097
5098WARNING: Don't restore if you aren't sure where the object will go!
5099 </message>
5100 <ignore name="ignore">
5101 When restoring objects to their last positions
5102 </ignore>
5103 <option name="Restore">
5104 Restore
5105 </option>
5106 <option name="MoreInfo">
5107 More Info
5108 </option>
5109 <option name="Cancel">
5110 Cancel
5111 </option>
5112 <url option="1">
5113 http://imprudenceviewer.org/wiki/Restore_to_Last_Position
5114 </url>
5115
5116 </alert>
5117
5118 <alert modal="true" name="ConfirmRemoveAllClothes">
5119 <message name="message">
5120 Are you sure you want to take off all clothes?
5121 </message>
5122 <ignore name="ignore">
5123 When taking off all clothes
5124 </ignore>
5125 <option name="Take Off">
5126 Take Off
5127 </option>
5128 <option name="Cancel">
5129 Cancel
5130 </option>
5131 </alert>
5132
5133 <alert modal="true" name="ConfirmMuteAgent">
5134 <message name="message">
5135 Are you sure you want to mute [NAME] (resident)?
5136 </message>
5137 <ignore name="ignore">
5138 When muting a Resident
5139 </ignore>
5140 <option name="Mute">
5141 Mute
5142 </option>
5143 <option name="Cancel">
5144 Cancel
5145 </option>
5146 </alert>
5147
5148 <alert modal="true" name="ConfirmMuteObject">
5149 <message name="message">
5150 Are you sure you want to mute [NAME] (object)?
5151 </message>
5152 <ignore name="ignore">
5153 When muting an object
5154 </ignore>
5155 <option name="Mute">
5156 Mute
5157 </option>
5158 <option name="Cancel">
5159 Cancel
5160 </option>
5161 </alert>
5162
5063</alerts> 5163</alerts>
5064 5164
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..9a352a6 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="Object 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="Object.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..7fac0bc 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="Object 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="Object.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..6796944 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" />
@@ -17,56 +17,56 @@
17 <on_enable function="Object.EnableSitOrStand" userdata="Sit Here,Stand Up" /> 17 <on_enable function="Object.EnableSitOrStand" userdata="Sit Here,Stand Up" />
18 </menu_item_call> 18 </menu_item_call>
19 <menu_item_call enabled="false" label="Take" mouse_opaque="true" name="Pie Object Take"> 19 <menu_item_call enabled="false" label="Take" mouse_opaque="true" name="Pie Object Take">
20 <on_click function="Tools.Take" /> 20 <on_click function="Tools.BuyOrTake" />
21 <on_enable function="Tools.EnableTake" /> 21 <on_enable function="Tools.EnableBuyOrTake" userdata="Buy,Take" />
22 </menu_item_call> 22 </menu_item_call>
23 <menu_item_call enabled="false" label="Pay..." mouse_opaque="true" name="Pay..."> 23 <menu_item_call enabled="false" label="Pay..." mouse_opaque="true" name="Pay...">
24 <on_click function="PayObject" /> 24 <on_click function="PayObject" />
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 4758116..086f059 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>
@@ -487,8 +487,7 @@
487 <on_check control="FlyBtnState" /> 487 <on_check control="FlyBtnState" />
488 </menu_item_check> 488 </menu_item_check>
489 <menu_item_separator /> 489 <menu_item_separator />
490 <menu_item_call name="Create Landmark Here" shortcut="control|D" 490 <menu_item_call name="Create Landmark Here" label="Create Landmark Here">
491 label="Create Landmark Here">
492 <on_click function="World.CreateLandmark" userdata="" /> 491 <on_click function="World.CreateLandmark" userdata="" />
493 <on_enable function="World.EnableCreateLandmark" userdata="" /> 492 <on_enable function="World.EnableCreateLandmark" userdata="" />
494 </menu_item_call> 493 </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 95604ff..1d77909 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="say" name="say_item"> 20 <flyout_button_item value="say" name="say_item">
@@ -24,8 +24,10 @@
24 Shout 24 Shout
25 </flyout_button_item> 25 </flyout_button_item>
26 </flyout_button> 26 </flyout_button>
27 <combo_box allow_text_entry="false" bottom="-23" follows="right|bottom" height="20" 27 <flyout_button bottom="-23" follows="right|bottom" height="20" label="Gestures" left_delta="83"
28 label="Gestures" left_delta="85" max_chars="20" name="Gesture" width="90"> 28 list_position="above" mouse_opaque="true" name="Gesture" tool_tip="(tooltip)"
29 </combo_box> 29 width="95">
30 </flyout_button>
31
30 <string name="gesture_label">Gestures</string> 32 <string name="gesture_label">Gestures</string>
31</panel> 33</panel>