aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.txt57
-rw-r--r--linden/indra/newview/app_settings/settings.xml13
-rw-r--r--linden/indra/newview/llfolderview.cpp45
-rw-r--r--linden/indra/newview/llfolderview.h5
-rw-r--r--linden/indra/newview/llinventoryactions.cpp45
-rw-r--r--linden/indra/newview/llinventorybridge.cpp172
-rw-r--r--linden/indra/newview/llinventoryview.cpp9
-rw-r--r--linden/indra/newview/lltoolpie.cpp7
-rw-r--r--linden/indra/newview/llviewermessage.cpp4
-rw-r--r--linden/indra/newview/llviewerthrottle.cpp2
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_inventory.xml18
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml2
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_snapshot.xml2
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_avatar.xml6
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml4
15 files changed, 323 insertions, 68 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index b117876..14ed9be 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,4 +1,55 @@
1 2009-09-10 McCabe Maxsted <hakushakukun@gmail.com> 12009-09-11 McCabe Maxsted <hakushakukun@gmail.com>
2
3 * Applied inventory Search menu from Emerald viewer (still ugly).
4
5 modified: newview/app_settings/settings.xml
6 modified: newview/llfolderview.cpp
7 modified: newview/llfolderview.h
8 modified: newview/llinventoryactions.cpp
9 modified: newview/llinventoryview.cpp
10 modified: newview/skins/default/xui/en-us/floater_inventory.xml
11
12
13 * Applied patch for long distance opensim hypergrid tps (SVC-2491)
14 (Feature currently disabled in OpenSim)
15
16 modified: linden/indra/newview/llviewermessage.cpp
17
18
19 * Fixed browser window showing wrong title.
20
21 modified: linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml
22
23
24 * Fixed double click tp from working on HUDs.
25
26 modified: linden/indra/newview/lltoolpie.cpp
27
28
29 * Added minimize to snapshot window.
30
31 modified: linden/indra/newview/skins/default/xui/en-us/floater_snapshot.xml
32
33
34 * Upped the max bandwidth setting to 5000kbps (default 1000kbps).
35
36 modified: linden/indra/newview/llviewerthrottle.cpp
37 modified: linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml
38 modified: linden/indra/newview/app_settings/settings.xml
39
40
41 * Applied patch to wear multiple attachments at once (VWR-5063).
42
43 modified: linden/indra/newview/llinventoryactions.cpp
44 modified: linden/indra/newview/llinventorybridge.cpp
45
46
47 * Fixed profile account info spacing.
48
49 modified: indra/newview/skins/default/xui/en-us/panel_avatar.xml
50
51
522009-09-10 McCabe Maxsted <hakushakukun@gmail.com>
2 53
3 * Created new toolbar control for windlight presets and options. 54 * Created new toolbar control for windlight presets and options.
4 55
@@ -24,6 +75,8 @@
24 75
25 modified: linden/indra/newview/skins/default/xui/en-us/panel_windlight_remote_expanded.xml 76 modified: linden/indra/newview/skins/default/xui/en-us/panel_windlight_remote_expanded.xml
26 77
78
792009-09-09 McCabe Maxsted <hakushakukun@gmail.com>
27 80
28 * Backported clickable object names from 1.23. 81 * Backported clickable object names from 1.23.
29 82
@@ -55,8 +108,6 @@
55 modified: newview/skins/default/colors_base.xml 108 modified: newview/skins/default/colors_base.xml
56 modified: newview/skins/silver/colors_base.xml 109 modified: newview/skins/silver/colors_base.xml
57 110
58
59 2009-09-09 McCabe Maxsted <hakushakukun@gmail.com>
60 111
61 * Applied ReinstateShowTextureUUID Cool Viewer patch (reverts the "fix" for VWR-1919). 112 * Applied ReinstateShowTextureUUID Cool Viewer patch (reverts the "fix" for VWR-1919).
62 Patch by Henri Beauchamp, modified by McCabe Maxsted. 113 Patch by Henri Beauchamp, modified by McCabe Maxsted.
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index f8a5d71..23602be 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -4049,6 +4049,17 @@
4049 <key>Value</key> 4049 <key>Value</key>
4050 <real>1.0</real> 4050 <real>1.0</real>
4051 </map> 4051 </map>
4052 <key>InventorySearchType</key>
4053 <map>
4054 <key>Comment</key>
4055 <string>Controls what type of inventory search we perform.</string>
4056 <key>Persist</key>
4057 <integer>0</integer>
4058 <key>Type</key>
4059 <string>U32</string>
4060 <key>Value</key>
4061 <integer>0</integer>
4062 </map>
4052 <key>InventorySortOrder</key> 4063 <key>InventorySortOrder</key>
4053 <map> 4064 <map>
4054 <key>Comment</key> 4065 <key>Comment</key>
@@ -7968,7 +7979,7 @@
7968 <key>Type</key> 7979 <key>Type</key>
7969 <string>F32</string> 7980 <string>F32</string>
7970 <key>Value</key> 7981 <key>Value</key>
7971 <real>500.0</real> 7982 <real>1000.0</real>
7972 </map> 7983 </map>
7973 <key>ToolHelpRect</key> 7984 <key>ToolHelpRect</key>
7974 <map> 7985 <map>
diff --git a/linden/indra/newview/llfolderview.cpp b/linden/indra/newview/llfolderview.cpp
index 70c4ead..5407f06 100644
--- a/linden/indra/newview/llfolderview.cpp
+++ b/linden/indra/newview/llfolderview.cpp
@@ -281,7 +281,28 @@ void LLFolderViewItem::refreshFromListener()
281{ 281{
282 if(mListener) 282 if(mListener)
283 { 283 {
284 //Super crazy hack to build the creator search label - RK
285 LLInventoryItem* item = gInventory.getItem(mListener->getUUID());
286 std::string creator_name;
287 if(item)
288 {
289 if(item->getCreatorUUID().notNull())
290 {
291 gCacheName->getFullName(item->getCreatorUUID(), creator_name);
292 }
293 }
294 mLabelCreator = creator_name;
295 /*if(creator_name == "(Loading...)")
296 mLabelCreator = "";
297 else
298 mLabelCreator = creator_name;*/
299
300 //Label for name search
284 mLabel = mListener->getDisplayName(); 301 mLabel = mListener->getDisplayName();
302
303 //Build label for combined search - RK
304 mLabelAll = mLabel + " " + mLabelCreator;
305
285 setIcon(mListener->getIcon()); 306 setIcon(mListener->getIcon());
286 time_t creation_date = mListener->getCreationDate(); 307 time_t creation_date = mListener->getCreationDate();
287 if (mCreationDate != creation_date) 308 if (mCreationDate != creation_date)
@@ -299,12 +320,26 @@ void LLFolderViewItem::refresh()
299 refreshFromListener(); 320 refreshFromListener();
300 321
301 std::string searchable_label(mLabel); 322 std::string searchable_label(mLabel);
323 std::string searchable_label_creator(mLabelCreator);
324 std::string searchable_label_all(mLabelAll);
325
326 //add the (no modify), (no transfer) etc stuff to each label.
302 searchable_label.append(mLabelSuffix); 327 searchable_label.append(mLabelSuffix);
328 searchable_label_creator.append(mLabelSuffix);
329 searchable_label_all.append(mLabelSuffix);
330
331 //all labels need to be uppercase.
303 LLStringUtil::toUpper(searchable_label); 332 LLStringUtil::toUpper(searchable_label);
333 LLStringUtil::toUpper(searchable_label_creator);
334 LLStringUtil::toUpper(searchable_label_all);
304 335
305 if (mSearchableLabel.compare(searchable_label)) 336 if (mSearchableLabel.compare(searchable_label) ||
337 mSearchableLabelCreator.compare(searchable_label_creator))
306 { 338 {
307 mSearchableLabel.assign(searchable_label); 339 mSearchableLabel.assign(searchable_label);
340 mSearchableLabelCreator.assign(searchable_label_creator);
341 mSearchableLabelAll.assign(searchable_label_all);
342
308 dirtyFilter(); 343 dirtyFilter();
309 // some part of label has changed, so overall width has potentially changed 344 // some part of label has changed, so overall width has potentially changed
310 if (mParentFolder) 345 if (mParentFolder)
@@ -588,7 +623,13 @@ void LLFolderViewItem::rename(const std::string& new_name)
588 623
589const std::string& LLFolderViewItem::getSearchableLabel() const 624const std::string& LLFolderViewItem::getSearchableLabel() const
590{ 625{
591 return mSearchableLabel; 626 U32 search_type = gSavedSettings.getU32("InventorySearchType");
627 if(search_type == 4)
628 return mSearchableLabelAll;
629 else if(search_type == 1)
630 return mSearchableLabelCreator;
631 else
632 return mSearchableLabel;
592} 633}
593 634
594const std::string& LLFolderViewItem::getName( void ) const 635const std::string& LLFolderViewItem::getName( void ) const
diff --git a/linden/indra/newview/llfolderview.h b/linden/indra/newview/llfolderview.h
index 3c350d4..25b4362 100644
--- a/linden/indra/newview/llfolderview.h
+++ b/linden/indra/newview/llfolderview.h
@@ -338,6 +338,11 @@ protected:
338 338
339 std::string mLabel; 339 std::string mLabel;
340 std::string mSearchableLabel; 340 std::string mSearchableLabel;
341 std::string mLabelAll;
342 std::string mSearchableLabelAll;
343 std::string mLabelCreator;
344 std::string mSearchableLabelCreator;
345
341 std::string mType; 346 std::string mType;
342 S32 mLabelWidth; 347 S32 mLabelWidth;
343 U32 mCreationDate; 348 U32 mCreationDate;
diff --git a/linden/indra/newview/llinventoryactions.cpp b/linden/indra/newview/llinventoryactions.cpp
index 0bf3ab2..b598c83 100644
--- a/linden/indra/newview/llinventoryactions.cpp
+++ b/linden/indra/newview/llinventoryactions.cpp
@@ -85,6 +85,9 @@
85#include "lluictrlfactory.h" 85#include "lluictrlfactory.h"
86#include "llselectmgr.h" 86#include "llselectmgr.h"
87 87
88// Defined in llinventorybridge.cpp
89void wear_attachments_on_avatar(const std::set<LLUUID>& item_ids, BOOL remove);
90
88const std::string NEW_LSL_NAME = "New Script"; // *TODO:Translate? (probably not) 91const std::string NEW_LSL_NAME = "New Script"; // *TODO:Translate? (probably not)
89const std::string NEW_NOTECARD_NAME = "New Note"; // *TODO:Translate? (probably not) 92const std::string NEW_NOTECARD_NAME = "New Note"; // *TODO:Translate? (probably not)
90const std::string NEW_GESTURE_NAME = "New Gesture"; // *TODO:Translate? (probably not) 93const std::string NEW_GESTURE_NAME = "New Gesture"; // *TODO:Translate? (probably not)
@@ -115,6 +118,12 @@ bool doToSelected(LLFolderView* folder, std::string action)
115 std::set<LLUUID> selected_items; 118 std::set<LLUUID> selected_items;
116 folder->getSelectionList(selected_items); 119 folder->getSelectionList(selected_items);
117 120
121 if ( ("attach" == action) && (selected_items.size() > 1) )
122 {
123 wear_attachments_on_avatar(selected_items, FALSE);
124 return true;
125 }
126
118 LLMultiPreview* multi_previewp = NULL; 127 LLMultiPreview* multi_previewp = NULL;
119 LLMultiProperties* multi_propertiesp = NULL; 128 LLMultiProperties* multi_propertiesp = NULL;
120 129
@@ -464,6 +473,40 @@ class LLDoCreateFloater : public inventory_listener_t
464 } 473 }
465}; 474};
466 475
476//Handles the search type buttons
477class SetSearchType : public inventory_listener_t
478{
479 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
480 {
481 std::string search_type = userdata.asString();
482 if(search_type == "name")
483 {
484 gSavedSettings.setU32("InventorySearchType", 0);
485
486 mPtr->getControl("Inventory.SearchByName")->setValue(TRUE);
487 mPtr->getControl("Inventory.SearchByCreator")->setValue(FALSE);
488 mPtr->getControl("Inventory.SearchByAll")->setValue(FALSE);
489 }
490 else if(search_type == "creator")
491 {
492 gSavedSettings.setU32("InventorySearchType", 1);
493
494 mPtr->getControl("Inventory.SearchByName")->setValue(FALSE);
495 mPtr->getControl("Inventory.SearchByCreator")->setValue(TRUE);
496 mPtr->getControl("Inventory.SearchByAll")->setValue(FALSE);
497 }
498 else if(search_type == "all")
499 {
500 gSavedSettings.setU32("InventorySearchType", 4);
501
502 mPtr->getControl("Inventory.SearchByName")->setValue(FALSE);
503 mPtr->getControl("Inventory.SearchByCreator")->setValue(FALSE);
504 mPtr->getControl("Inventory.SearchByAll")->setValue(TRUE);
505 }
506 return true;
507 }
508};
509
467class LLSetSortBy : public inventory_listener_t 510class LLSetSortBy : public inventory_listener_t
468{ 511{
469 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) 512 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
@@ -711,6 +754,8 @@ void init_inventory_actions(LLInventoryView *floater)
711 (new LLShowFilters())->registerListener(floater, "Inventory.ShowFilters"); 754 (new LLShowFilters())->registerListener(floater, "Inventory.ShowFilters");
712 (new LLResetFilter())->registerListener(floater, "Inventory.ResetFilter"); 755 (new LLResetFilter())->registerListener(floater, "Inventory.ResetFilter");
713 (new LLSetSortBy())->registerListener(floater, "Inventory.SetSortBy"); 756 (new LLSetSortBy())->registerListener(floater, "Inventory.SetSortBy");
757
758 (new SetSearchType())->registerListener(floater, "Inventory.SetSearchBy");
714} 759}
715 760
716void init_inventory_panel_actions(LLInventoryPanel *panel) 761void init_inventory_panel_actions(LLInventoryPanel *panel)
diff --git a/linden/indra/newview/llinventorybridge.cpp b/linden/indra/newview/llinventorybridge.cpp
index 52b15cb..3505bd3 100644
--- a/linden/indra/newview/llinventorybridge.cpp
+++ b/linden/indra/newview/llinventorybridge.cpp
@@ -111,6 +111,8 @@ void remove_inventory_category_from_avatar(LLInventoryCategory* category);
111void remove_inventory_category_from_avatar_step2( BOOL proceed, void* userdata); 111void remove_inventory_category_from_avatar_step2( BOOL proceed, void* userdata);
112void move_task_inventory_callback(S32 option, void* user_data); 112void move_task_inventory_callback(S32 option, void* user_data);
113void confirm_replace_attachment_rez(S32 option, void* user_data); 113void confirm_replace_attachment_rez(S32 option, void* user_data);
114void wear_attachments_on_avatar(const std::set<LLUUID>& item_ids, BOOL remove);
115void wear_attachments_on_avatar(const LLInventoryModel::item_array_t& items, BOOL remove);
114 116
115std::string ICON_NAME[ICON_NAME_COUNT] = 117std::string ICON_NAME[ICON_NAME_COUNT] =
116{ 118{
@@ -3671,6 +3673,31 @@ private:
3671 bool mAppend; 3673 bool mAppend;
3672}; 3674};
3673 3675
3676class LLWearAttachmentsCallback : public LLInventoryCallback
3677{
3678public:
3679 LLWearAttachmentsCallback(bool append) : mAppend(append) {}
3680 void fire(const LLUUID& item_id)
3681 {
3682 mItemIDs.insert(item_id);
3683 }
3684protected:
3685 ~LLWearAttachmentsCallback()
3686 {
3687 if( LLInventoryCallbackManager::is_instantiated() )
3688 {
3689 wear_attachments_on_avatar(mItemIDs, mAppend);
3690 }
3691 else
3692 {
3693 llwarns << "Dropping unhandled LLWearAttachments" << llendl;
3694 }
3695 }
3696private:
3697 std::set<LLUUID> mItemIDs;
3698 bool mAppend;
3699};
3700
3674void LLOutfitObserver::done() 3701void LLOutfitObserver::done()
3675{ 3702{
3676 // We now have an outfit ready to be copied to agent inventory. Do 3703 // We now have an outfit ready to be copied to agent inventory. Do
@@ -4026,57 +4053,7 @@ void wear_inventory_category_on_avatar_step2( BOOL proceed, void* userdata )
4026 if( obj_count > 0 ) 4053 if( obj_count > 0 )
4027 { 4054 {
4028 // We've found some attachements. Add these. 4055 // We've found some attachements. Add these.
4029 4056 wear_attachments_on_avatar(obj_item_array, !wear_info->mAppend);
4030 LLVOAvatar* avatar = gAgent.getAvatarObject();
4031 if( avatar )
4032 {
4033 // Build a compound message to send all the objects that need to be rezzed.
4034
4035 // Limit number of packets to send
4036 const S32 MAX_PACKETS_TO_SEND = 10;
4037 const S32 OBJECTS_PER_PACKET = 4;
4038 const S32 MAX_OBJECTS_TO_SEND = MAX_PACKETS_TO_SEND * OBJECTS_PER_PACKET;
4039 if( obj_count > MAX_OBJECTS_TO_SEND )
4040 {
4041 obj_count = MAX_OBJECTS_TO_SEND;
4042 }
4043
4044 // Create an id to keep the parts of the compound message together
4045 LLUUID compound_msg_id;
4046 compound_msg_id.generate();
4047 LLMessageSystem* msg = gMessageSystem;
4048
4049 for(i = 0; i < obj_count; ++i)
4050 {
4051 if( 0 == (i % OBJECTS_PER_PACKET) )
4052 {
4053 // Start a new message chunk
4054 msg->newMessageFast(_PREHASH_RezMultipleAttachmentsFromInv);
4055 msg->nextBlockFast(_PREHASH_AgentData);
4056 msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
4057 msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
4058 msg->nextBlockFast(_PREHASH_HeaderData);
4059 msg->addUUIDFast(_PREHASH_CompoundMsgID, compound_msg_id );
4060 msg->addU8Fast(_PREHASH_TotalObjects, obj_count );
4061 msg->addBOOLFast(_PREHASH_FirstDetachAll, !wear_info->mAppend );
4062 }
4063
4064 LLInventoryItem* item = obj_item_array.get(i);
4065 msg->nextBlockFast(_PREHASH_ObjectData );
4066 msg->addUUIDFast(_PREHASH_ItemID, item->getUUID() );
4067 msg->addUUIDFast(_PREHASH_OwnerID, item->getPermissions().getOwner());
4068 msg->addU8Fast(_PREHASH_AttachmentPt, 0 ); // Wear at the previous or default attachment point
4069 pack_permissions_slam(msg, item->getFlags(), item->getPermissions());
4070 msg->addStringFast(_PREHASH_Name, item->getName());
4071 msg->addStringFast(_PREHASH_Description, item->getDescription());
4072
4073 if( (i+1 == obj_count) || ((OBJECTS_PER_PACKET-1) == (i % OBJECTS_PER_PACKET)) )
4074 {
4075 // End of message chunk
4076 msg->sendReliable( gAgent.getRegion()->getHost() );
4077 }
4078 }
4079 }
4080 } 4057 }
4081 } 4058 }
4082 delete wear_info; 4059 delete wear_info;
@@ -4160,6 +4137,99 @@ void wear_inventory_category_on_avatar_step3(LLWearableHoldingPattern* holder, B
4160 dec_busy_count(); 4137 dec_busy_count();
4161} 4138}
4162 4139
4140void wear_attachments_on_avatar(const std::set<LLUUID>& item_ids, BOOL remove)
4141{
4142 // NOTE: the inventory items can reside in the user's inventory, the library, or any combination of the two
4143
4144 LLInventoryModel::item_array_t items;
4145 LLPointer<LLInventoryCallback> cb;
4146
4147 for (std::set<LLUUID>::const_iterator it = item_ids.begin(); it != item_ids.end(); ++it)
4148 {
4149 LLViewerInventoryItem* item = gInventory.getItem(*it);
4150 if ( (item) && (LLAssetType::AT_OBJECT == item->getType()) )
4151 {
4152 if ( (gInventory.isObjectDescendentOf(*it, gAgent.getInventoryRootID())) )
4153 {
4154 items.put(item);
4155 }
4156 else if ( (item->isComplete()) )
4157 {
4158 if (cb.isNull())
4159 cb = new LLWearAttachmentsCallback(remove);
4160 copy_inventory_item(gAgent.getID(), item->getPermissions().getOwner(), item->getUUID(), LLUUID::null, std::string(), cb);
4161 }
4162 }
4163 }
4164
4165 wear_attachments_on_avatar(items, remove);
4166}
4167
4168void wear_attachments_on_avatar(const LLInventoryModel::item_array_t& items, BOOL remove)
4169{
4170 // NOTE: all inventory items must reside in the user's inventory
4171
4172 LLVOAvatar* avatarp = gAgent.getAvatarObject();
4173 if(!avatarp)
4174 {
4175 llwarns << "No avatar found." << llendl;
4176 return;
4177 }
4178
4179 // Build a compound message to send all the objects that need to be rezzed.
4180
4181 // Limit number of packets to send
4182 const S32 MAX_PACKETS_TO_SEND = 10;
4183 const S32 OBJECTS_PER_PACKET = 4;
4184 const S32 MAX_OBJECTS_TO_SEND = MAX_PACKETS_TO_SEND * OBJECTS_PER_PACKET;
4185
4186 S32 count = items.count();
4187 if ( !count )
4188 {
4189 return;
4190 }
4191 else if ( count > MAX_OBJECTS_TO_SEND )
4192 {
4193 count = MAX_OBJECTS_TO_SEND;
4194 }
4195
4196 // Create an id to keep the parts of the compound message together
4197 LLUUID compound_msg_id;
4198 compound_msg_id.generate();
4199 LLMessageSystem* msg = gMessageSystem;
4200
4201 for(S32 i = 0; i < count; ++i)
4202 {
4203 if( 0 == (i % OBJECTS_PER_PACKET) )
4204 {
4205 // Start a new message chunk
4206 msg->newMessageFast(_PREHASH_RezMultipleAttachmentsFromInv);
4207 msg->nextBlockFast(_PREHASH_AgentData);
4208 msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
4209 msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
4210 msg->nextBlockFast(_PREHASH_HeaderData);
4211 msg->addUUIDFast(_PREHASH_CompoundMsgID, compound_msg_id );
4212 msg->addU8Fast(_PREHASH_TotalObjects, count );
4213 msg->addBOOLFast(_PREHASH_FirstDetachAll, remove );
4214 }
4215
4216 LLInventoryItem* item = items.get(i);
4217 msg->nextBlockFast(_PREHASH_ObjectData );
4218 msg->addUUIDFast(_PREHASH_ItemID, item->getUUID() );
4219 msg->addUUIDFast(_PREHASH_OwnerID, item->getPermissions().getOwner());
4220 msg->addU8Fast(_PREHASH_AttachmentPt, 0 ); // Wear at the previous or default attachment point
4221 pack_permissions_slam(msg, item->getFlags(), item->getPermissions());
4222 msg->addStringFast(_PREHASH_Name, item->getName());
4223 msg->addStringFast(_PREHASH_Description, item->getDescription());
4224
4225 if( (i+1 == count) || ((OBJECTS_PER_PACKET-1) == (i % OBJECTS_PER_PACKET)) )
4226 {
4227 // End of message chunk
4228 msg->sendReliable( gAgent.getRegion()->getHost() );
4229 }
4230 }
4231}
4232
4163void remove_inventory_category_from_avatar( LLInventoryCategory* category ) 4233void remove_inventory_category_from_avatar( LLInventoryCategory* category )
4164{ 4234{
4165 if(!category) return; 4235 if(!category) return;
diff --git a/linden/indra/newview/llinventoryview.cpp b/linden/indra/newview/llinventoryview.cpp
index 0f1eb2b..cc89ee1 100644
--- a/linden/indra/newview/llinventoryview.cpp
+++ b/linden/indra/newview/llinventoryview.cpp
@@ -521,6 +521,15 @@ void LLInventoryView::init(LLInventoryModel* inventory)
521 addBoolControl("Inventory.FoldersAlwaysByName", sort_folders_by_name ); 521 addBoolControl("Inventory.FoldersAlwaysByName", sort_folders_by_name );
522 addBoolControl("Inventory.SystemFoldersToTop", sort_system_folders_to_top ); 522 addBoolControl("Inventory.SystemFoldersToTop", sort_system_folders_to_top );
523 523
524 //Search Controls
525 U32 search_type = gSavedSettings.getU32("InventorySearchType");
526 BOOL search_by_name = (search_type == 0);
527
528 addBoolControl("Inventory.SearchByName", search_by_name);
529 addBoolControl("Inventory.SearchByCreator", !search_by_name);
530
531 addBoolControl("Inventory.SearchByAll", !search_by_name);
532
524 mSavedFolderState = new LLSaveFolderState(); 533 mSavedFolderState = new LLSaveFolderState();
525 mSavedFolderState->setApply(FALSE); 534 mSavedFolderState->setApply(FALSE);
526 535
diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp
index 7f3bd82..921931b 100644
--- a/linden/indra/newview/lltoolpie.cpp
+++ b/linden/indra/newview/lltoolpie.cpp
@@ -646,9 +646,10 @@ BOOL LLToolPie::handleDoubleClick(S32 x, S32 y, MASK mask)
646 else if (mPick.mObjectID.notNull() 646 else if (mPick.mObjectID.notNull()
647 && !mPick.mPosGlobal.isExactlyZero()) 647 && !mPick.mPosGlobal.isExactlyZero())
648 { 648 {
649 // Hit an object 649 //Zwagoth: No more teleport to HUD attachments. >:o
650 // HACK: Call the last hit position the point we hit on the object 650 if(mPick.getObject().notNull() && mPick.getObject()->isHUDAttachment())
651 //gLastHitPosGlobal += gLastHitObjectOffset; 651 return FALSE;
652
652 handle_go_to(); 653 handle_go_to();
653 return TRUE; 654 return TRUE;
654 } 655 }
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp
index 26dd86c..815dc49 100644
--- a/linden/indra/newview/llviewermessage.cpp
+++ b/linden/indra/newview/llviewermessage.cpp
@@ -2754,6 +2754,10 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)
2754 // appropriate. 2754 // appropriate.
2755 LLVector3 shift_vector = regionp->getPosRegionFromGlobal( 2755 LLVector3 shift_vector = regionp->getPosRegionFromGlobal(
2756 gAgent.getRegion()->getOriginGlobal()); 2756 gAgent.getRegion()->getOriginGlobal());
2757 // don't shift objects, if teleporting more than about 1000 sims, as
2758 // for long teleports shifting objects garbles the view at the target region
2759 if (shift_vector.lengthSquared() > 6.5e10f)
2760 shift_vector = LLVector3::zero;
2757 gAgent.setRegion(regionp); 2761 gAgent.setRegion(regionp);
2758 gObjectList.shiftObjects(shift_vector); 2762 gObjectList.shiftObjects(shift_vector);
2759 gAssetStorage->setUpstream(msg->getSender()); 2763 gAssetStorage->setUpstream(msg->getSender());
diff --git a/linden/indra/newview/llviewerthrottle.cpp b/linden/indra/newview/llviewerthrottle.cpp
index 72a8a80..95c6ae2 100644
--- a/linden/indra/newview/llviewerthrottle.cpp
+++ b/linden/indra/newview/llviewerthrottle.cpp
@@ -49,7 +49,7 @@ const F32 MAX_FRACTIONAL = 1.5f;
49const F32 MIN_FRACTIONAL = 0.2f; 49const F32 MIN_FRACTIONAL = 0.2f;
50 50
51const F32 MIN_BANDWIDTH = 50.f; 51const F32 MIN_BANDWIDTH = 50.f;
52const F32 MAX_BANDWIDTH = 1500.f; 52const F32 MAX_BANDWIDTH = 5000.f;
53const F32 STEP_FRACTIONAL = 0.1f; 53const F32 STEP_FRACTIONAL = 0.1f;
54const F32 TIGHTEN_THROTTLE_THRESHOLD = 3.0f; // packet loss % per s 54const F32 TIGHTEN_THROTTLE_THRESHOLD = 3.0f; // packet loss % per s
55const F32 EASE_THROTTLE_THRESHOLD = 0.5f; // packet loss % per s 55const F32 EASE_THROTTLE_THRESHOLD = 0.5f; // packet loss % per s
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_inventory.xml b/linden/indra/newview/skins/default/xui/en-us/floater_inventory.xml
index 3d1c569..f0c97f2 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_inventory.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_inventory.xml
@@ -205,5 +205,23 @@
205 <on_click filter="" function="Inventory.SetSortBy" userdata="systemfolderstotop" /> 205 <on_click filter="" function="Inventory.SetSortBy" userdata="systemfolderstotop" />
206 </menu_item_check> 206 </menu_item_check>
207 </menu> 207 </menu>
208 <menu bottom_delta="64" drop_shadow="true" height="49"
209 label="Search" left="0" mouse_opaque="false" name="Sort" opaque="true"
210 tear_off="true" width="118">
211 <menu_item_check bottom_delta="-18" control_name="Inventory.SearchByName" height="18"
212 label="By Name" left="0" mouse_opaque="true" name="By Name" width="118">
213 <on_click filter="" function="Inventory.SetSearchBy" userdata="name" />
214 </menu_item_check>
215 <menu_item_check bottom_delta="-18" control_name="Inventory.SearchByCreator" height="18"
216 label="By Creator" left="0" mouse_opaque="true" name="By Creator" width="118">
217 <on_click filter="" function="Inventory.SetSearchBy" userdata="creator" />
218 </menu_item_check>
219 <menu_item_separator bottom_delta="-8" height="8" left="0" mouse_opaque="true" name="separator"
220 width="118" />
221 <menu_item_check bottom_delta="-18" control_name="Inventory.SearchByAll" height="18"
222 label="By All" left="0" mouse_opaque="true" name="By All" width="118">
223 <on_click filter="" function="Inventory.SetSearchBy" userdata="all" />
224 </menu_item_check>
225 </menu>
208 </menu_bar> 226 </menu_bar>
209</floater> 227</floater>
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml b/linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml
index 318f46a..7beb7e4 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true" 2<floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true"
3 height="440" min_height="140" min_width="467" name="floater_about" 3 height="440" min_height="140" min_width="467" name="floater_about"
4 rect_control="FloaterMediaRect" title="Media Browser" width="560"> 4 rect_control="FloaterMediaRect" title="Web Browser" width="560">
5 <layout_stack name="stack1" bottom="0" follows="left|right|top|bottom" left="10" top="-20" width="540"> 5 <layout_stack name="stack1" bottom="0" follows="left|right|top|bottom" left="10" top="-20" width="540">
6 <layout_panel auto_resize="false" bottom="0" height="20" left="0" name="nav_controls" user_resize="false" 6 <layout_panel auto_resize="false" bottom="0" height="20" left="0" name="nav_controls" user_resize="false"
7 width="540"> 7 width="540">
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_snapshot.xml b/linden/indra/newview/skins/default/xui/en-us/floater_snapshot.xml
index a9ac7fa..9333153 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_snapshot.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_snapshot.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater bottom="-300" can_close="true" can_drag_on_left="false" can_minimize="false" 2<floater bottom="-300" can_close="true" can_drag_on_left="false" can_minimize="true"
3 can_resize="false" follows="left|top" height="526" name="Snapshot" 3 can_resize="false" follows="left|top" height="526" name="Snapshot"
4 rect_control="FloaterSnapshotRect" title="Snapshot Preview" width="215"> 4 rect_control="FloaterSnapshotRect" title="Snapshot Preview" width="215">
5 <text bottom_delta="-40" follows="top|left" height="15" left="10" name="type_label" 5 <text bottom_delta="-40" follows="top|left" height="15" left="10" name="type_label"
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_avatar.xml b/linden/indra/newview/skins/default/xui/en-us/panel_avatar.xml
index a7a26ab..7a8a396 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_avatar.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_avatar.xml
@@ -5,9 +5,9 @@
5 <panel border="true" bottom="-507" follows="left|top|right|bottom" height="491" 5 <panel border="true" bottom="-507" follows="left|top|right|bottom" height="491"
6 label="2nd Life" left="1" mouse_opaque="true" name="2nd Life" width="418"> 6 label="2nd Life" left="1" mouse_opaque="true" name="2nd Life" width="418">
7 <string name="CaptionTextAcctInfo"> 7 <string name="CaptionTextAcctInfo">
8 [ACCTTYPE] 8[ACCTTYPE]
9 [PAYMENTINFO] 9[PAYMENTINFO]
10 [AGEVERIFICATION] 10[AGEVERIFICATION]
11 </string> 11 </string>
12 <string name="AcctTypeResident"> 12 <string name="AcctTypeResident">
13 Resident 13 Resident
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml
index 48da432..d4ec307 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_network.xml
@@ -10,8 +10,8 @@
10 </text> 10 </text>
11 <slider bottom_delta="-25" can_edit_text="true" 11 <slider bottom_delta="-25" can_edit_text="true"
12 decimal_digits="0" enabled="true" follows="left|top" height="15" 12 decimal_digits="0" enabled="true" follows="left|top" height="15"
13 increment="10" initial_val="50" left_delta="0" max_val="1500" min_val="50" 13 increment="10" initial_val="1000" left_delta="0" max_val="5000" min_val="50"
14 mouse_opaque="true" name="max_bandwidth" show_text="true" value="500" 14 mouse_opaque="true" name="max_bandwidth" show_text="true" value="1000"
15 width="180" /> 15 width="180" />
16 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 16 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
17 bottom_delta="4" drop_shadow_visible="true" enabled="true" 17 bottom_delta="4" drop_shadow_visible="true" enabled="true"