diff options
Diffstat (limited to 'linden/indra/newview')
-rw-r--r-- | linden/indra/newview/llfolderview.cpp | 45 | ||||
-rw-r--r-- | linden/indra/newview/llfolderview.h | 4 | ||||
-rw-r--r-- | linden/indra/newview/llinventorybridge.cpp | 1 | ||||
-rw-r--r-- | linden/indra/newview/llinventorybridge.h | 11 | ||||
-rw-r--r-- | linden/indra/newview/llinventoryview.cpp | 520 | ||||
-rw-r--r-- | linden/indra/newview/llinventoryview.h | 7 | ||||
-rw-r--r-- | linden/indra/newview/llpanelinventory.cpp | 1 | ||||
-rw-r--r-- | linden/indra/newview/llselectmgr.cpp | 4 | ||||
-rw-r--r-- | linden/indra/newview/llwearable.h | 20 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/floater_inventory.xml | 56 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/floater_inventory_view_finder.xml | 227 |
11 files changed, 642 insertions, 254 deletions
diff --git a/linden/indra/newview/llfolderview.cpp b/linden/indra/newview/llfolderview.cpp index 8cefd5b..58d0c42 100644 --- a/linden/indra/newview/llfolderview.cpp +++ b/linden/indra/newview/llfolderview.cpp | |||
@@ -4522,7 +4522,7 @@ BOOL LLInventoryFilter::check(LLFolderViewItem* item) | |||
4522 | } | 4522 | } |
4523 | LLFolderViewEventListener* listener = item->getListener(); | 4523 | LLFolderViewEventListener* listener = item->getListener(); |
4524 | mSubStringMatchOffset = mFilterSubString.size() ? item->getSearchableLabel().find(mFilterSubString) : std::string::npos; | 4524 | mSubStringMatchOffset = mFilterSubString.size() ? item->getSearchableLabel().find(mFilterSubString) : std::string::npos; |
4525 | BOOL passed = (0x1 << listener->getInventoryType() & mFilterOps.mFilterTypes || listener->getInventoryType() == LLInventoryType::IT_NONE) | 4525 | BOOL passed = (listener->getNInventoryType() & mFilterOps.mFilterTypes || listener->getNInventoryType() == LLInventoryType::NIT_NONE) |
4526 | && (mFilterSubString.size() == 0 || mSubStringMatchOffset != std::string::npos) | 4526 | && (mFilterSubString.size() == 0 || mSubStringMatchOffset != std::string::npos) |
4527 | && ((listener->getPermissionMask() & mFilterOps.mPermissions) == mFilterOps.mPermissions) | 4527 | && ((listener->getPermissionMask() & mFilterOps.mPermissions) == mFilterOps.mPermissions) |
4528 | && (listener->getCreationDate() >= earliest && listener->getCreationDate() <= mFilterOps.mMaxDate); | 4528 | && (listener->getCreationDate() >= earliest && listener->getCreationDate() <= mFilterOps.mMaxDate); |
@@ -4800,9 +4800,9 @@ void LLInventoryFilter::setModified(EFilterBehavior behavior) | |||
4800 | } | 4800 | } |
4801 | } | 4801 | } |
4802 | 4802 | ||
4803 | BOOL LLInventoryFilter::isFilterWith(LLInventoryType::EType t) | 4803 | BOOL LLInventoryFilter::isFilterWith(LLInventoryType::NType t) |
4804 | { | 4804 | { |
4805 | return mFilterOps.mFilterTypes & (0x01 << t); | 4805 | return mFilterOps.mFilterTypes & t; |
4806 | } | 4806 | } |
4807 | 4807 | ||
4808 | std::string LLInventoryFilter::getFilterText() | 4808 | std::string LLInventoryFilter::getFilterText() |
@@ -4812,6 +4812,11 @@ std::string LLInventoryFilter::getFilterText() | |||
4812 | return mFilterText; | 4812 | return mFilterText; |
4813 | } | 4813 | } |
4814 | 4814 | ||
4815 | return rebuildFilterText(); | ||
4816 | } | ||
4817 | |||
4818 | std::string LLInventoryFilter::rebuildFilterText() | ||
4819 | { | ||
4815 | mNeedTextRebuild = FALSE; | 4820 | mNeedTextRebuild = FALSE; |
4816 | std::string filtered_types; | 4821 | std::string filtered_types; |
4817 | std::string not_filtered_types; | 4822 | std::string not_filtered_types; |
@@ -4820,7 +4825,7 @@ std::string LLInventoryFilter::getFilterText() | |||
4820 | S32 num_filter_types = 0; | 4825 | S32 num_filter_types = 0; |
4821 | mFilterText.clear(); | 4826 | mFilterText.clear(); |
4822 | 4827 | ||
4823 | if (isFilterWith(LLInventoryType::IT_ANIMATION)) | 4828 | if (isFilterWith(LLInventoryType::NIT_ANIMATION)) |
4824 | { | 4829 | { |
4825 | filtered_types += " Animations,"; | 4830 | filtered_types += " Animations,"; |
4826 | filtered_by_type = TRUE; | 4831 | filtered_by_type = TRUE; |
@@ -4832,7 +4837,19 @@ std::string LLInventoryFilter::getFilterText() | |||
4832 | filtered_by_all_types = FALSE; | 4837 | filtered_by_all_types = FALSE; |
4833 | } | 4838 | } |
4834 | 4839 | ||
4835 | if (isFilterWith(LLInventoryType::IT_CALLINGCARD)) | 4840 | if (isFilterWith(LLInventoryType::NIT_BODYPART)) |
4841 | { | ||
4842 | filtered_types += " Body Parts,"; | ||
4843 | filtered_by_type = TRUE; | ||
4844 | num_filter_types++; | ||
4845 | } | ||
4846 | else | ||
4847 | { | ||
4848 | not_filtered_types += " Body Parts,"; | ||
4849 | filtered_by_all_types = FALSE; | ||
4850 | } | ||
4851 | |||
4852 | if (isFilterWith(LLInventoryType::NIT_CALLCARD)) | ||
4836 | { | 4853 | { |
4837 | filtered_types += " Calling Cards,"; | 4854 | filtered_types += " Calling Cards,"; |
4838 | filtered_by_type = TRUE; | 4855 | filtered_by_type = TRUE; |
@@ -4844,7 +4861,7 @@ std::string LLInventoryFilter::getFilterText() | |||
4844 | filtered_by_all_types = FALSE; | 4861 | filtered_by_all_types = FALSE; |
4845 | } | 4862 | } |
4846 | 4863 | ||
4847 | if (isFilterWith(LLInventoryType::IT_WEARABLE)) | 4864 | if (isFilterWith(LLInventoryType::NIT_CLOTHING)) |
4848 | { | 4865 | { |
4849 | filtered_types += " Clothing,"; | 4866 | filtered_types += " Clothing,"; |
4850 | filtered_by_type = TRUE; | 4867 | filtered_by_type = TRUE; |
@@ -4856,7 +4873,7 @@ std::string LLInventoryFilter::getFilterText() | |||
4856 | filtered_by_all_types = FALSE; | 4873 | filtered_by_all_types = FALSE; |
4857 | } | 4874 | } |
4858 | 4875 | ||
4859 | if (isFilterWith(LLInventoryType::IT_GESTURE)) | 4876 | if (isFilterWith(LLInventoryType::NIT_GESTURE)) |
4860 | { | 4877 | { |
4861 | filtered_types += " Gestures,"; | 4878 | filtered_types += " Gestures,"; |
4862 | filtered_by_type = TRUE; | 4879 | filtered_by_type = TRUE; |
@@ -4868,7 +4885,7 @@ std::string LLInventoryFilter::getFilterText() | |||
4868 | filtered_by_all_types = FALSE; | 4885 | filtered_by_all_types = FALSE; |
4869 | } | 4886 | } |
4870 | 4887 | ||
4871 | if (isFilterWith(LLInventoryType::IT_LANDMARK)) | 4888 | if (isFilterWith(LLInventoryType::NIT_LANDMARK)) |
4872 | { | 4889 | { |
4873 | filtered_types += " Landmarks,"; | 4890 | filtered_types += " Landmarks,"; |
4874 | filtered_by_type = TRUE; | 4891 | filtered_by_type = TRUE; |
@@ -4880,7 +4897,7 @@ std::string LLInventoryFilter::getFilterText() | |||
4880 | filtered_by_all_types = FALSE; | 4897 | filtered_by_all_types = FALSE; |
4881 | } | 4898 | } |
4882 | 4899 | ||
4883 | if (isFilterWith(LLInventoryType::IT_NOTECARD)) | 4900 | if (isFilterWith(LLInventoryType::NIT_NOTECARD)) |
4884 | { | 4901 | { |
4885 | filtered_types += " Notecards,"; | 4902 | filtered_types += " Notecards,"; |
4886 | filtered_by_type = TRUE; | 4903 | filtered_by_type = TRUE; |
@@ -4892,7 +4909,7 @@ std::string LLInventoryFilter::getFilterText() | |||
4892 | filtered_by_all_types = FALSE; | 4909 | filtered_by_all_types = FALSE; |
4893 | } | 4910 | } |
4894 | 4911 | ||
4895 | if (isFilterWith(LLInventoryType::IT_OBJECT) && isFilterWith(LLInventoryType::IT_ATTACHMENT)) | 4912 | if (isFilterWith(LLInventoryType::NIT_OBJECT)) |
4896 | { | 4913 | { |
4897 | filtered_types += " Objects,"; | 4914 | filtered_types += " Objects,"; |
4898 | filtered_by_type = TRUE; | 4915 | filtered_by_type = TRUE; |
@@ -4904,7 +4921,7 @@ std::string LLInventoryFilter::getFilterText() | |||
4904 | filtered_by_all_types = FALSE; | 4921 | filtered_by_all_types = FALSE; |
4905 | } | 4922 | } |
4906 | 4923 | ||
4907 | if (isFilterWith(LLInventoryType::IT_LSL)) | 4924 | if (isFilterWith(LLInventoryType::NIT_SCRIPT_LSL2)) |
4908 | { | 4925 | { |
4909 | filtered_types += " Scripts,"; | 4926 | filtered_types += " Scripts,"; |
4910 | filtered_by_type = TRUE; | 4927 | filtered_by_type = TRUE; |
@@ -4916,7 +4933,7 @@ std::string LLInventoryFilter::getFilterText() | |||
4916 | filtered_by_all_types = FALSE; | 4933 | filtered_by_all_types = FALSE; |
4917 | } | 4934 | } |
4918 | 4935 | ||
4919 | if (isFilterWith(LLInventoryType::IT_SOUND)) | 4936 | if (isFilterWith(LLInventoryType::NIT_SOUND)) |
4920 | { | 4937 | { |
4921 | filtered_types += " Sounds,"; | 4938 | filtered_types += " Sounds,"; |
4922 | filtered_by_type = TRUE; | 4939 | filtered_by_type = TRUE; |
@@ -4928,7 +4945,7 @@ std::string LLInventoryFilter::getFilterText() | |||
4928 | filtered_by_all_types = FALSE; | 4945 | filtered_by_all_types = FALSE; |
4929 | } | 4946 | } |
4930 | 4947 | ||
4931 | if (isFilterWith(LLInventoryType::IT_TEXTURE)) | 4948 | if (isFilterWith(LLInventoryType::NIT_TEXTURE)) |
4932 | { | 4949 | { |
4933 | filtered_types += " Textures,"; | 4950 | filtered_types += " Textures,"; |
4934 | filtered_by_type = TRUE; | 4951 | filtered_by_type = TRUE; |
@@ -4940,7 +4957,7 @@ std::string LLInventoryFilter::getFilterText() | |||
4940 | filtered_by_all_types = FALSE; | 4957 | filtered_by_all_types = FALSE; |
4941 | } | 4958 | } |
4942 | 4959 | ||
4943 | if (isFilterWith(LLInventoryType::IT_SNAPSHOT)) | 4960 | if (isFilterWith(LLInventoryType::NIT_SNAPSHOT)) |
4944 | { | 4961 | { |
4945 | filtered_types += " Snapshots,"; | 4962 | filtered_types += " Snapshots,"; |
4946 | filtered_by_type = TRUE; | 4963 | filtered_by_type = TRUE; |
diff --git a/linden/indra/newview/llfolderview.h b/linden/indra/newview/llfolderview.h index 7978386..af3248d 100644 --- a/linden/indra/newview/llfolderview.h +++ b/linden/indra/newview/llfolderview.h | |||
@@ -103,6 +103,7 @@ public: | |||
103 | virtual BOOL isUpToDate() const = 0; | 103 | virtual BOOL isUpToDate() const = 0; |
104 | virtual BOOL hasChildren() const = 0; | 104 | virtual BOOL hasChildren() const = 0; |
105 | virtual LLInventoryType::EType getInventoryType() const = 0; | 105 | virtual LLInventoryType::EType getInventoryType() const = 0; |
106 | virtual LLInventoryType::NType getNInventoryType() const = 0; | ||
106 | virtual void performAction(LLFolderView* folder, LLInventoryModel* model, std::string action) {} | 107 | virtual void performAction(LLFolderView* folder, LLInventoryModel* model, std::string action) {} |
107 | 108 | ||
108 | // This method should be called when a drag begins. returns TRUE | 109 | // This method should be called when a drag begins. returns TRUE |
@@ -221,6 +222,7 @@ public: | |||
221 | void clearModified() { mModified = FALSE; mFilterBehavior = FILTER_NONE; } | 222 | void clearModified() { mModified = FALSE; mFilterBehavior = FILTER_NONE; } |
222 | const std::string getName() const { return mName; } | 223 | const std::string getName() const { return mName; } |
223 | std::string getFilterText(); | 224 | std::string getFilterText(); |
225 | std::string rebuildFilterText(); | ||
224 | 226 | ||
225 | void setFilterCount(S32 count) { mFilterCount = count; } | 227 | void setFilterCount(S32 count) { mFilterCount = count; } |
226 | S32 getFilterCount() { return mFilterCount; } | 228 | S32 getFilterCount() { return mFilterCount; } |
@@ -229,7 +231,7 @@ public: | |||
229 | void markDefault(); | 231 | void markDefault(); |
230 | void resetDefault(); | 232 | void resetDefault(); |
231 | 233 | ||
232 | BOOL isFilterWith(LLInventoryType::EType t); | 234 | BOOL isFilterWith(LLInventoryType::NType t); |
233 | 235 | ||
234 | S32 getCurrentGeneration() const { return mFilterGeneration; } | 236 | S32 getCurrentGeneration() const { return mFilterGeneration; } |
235 | S32 getMinRequiredGeneration() const { return mMinRequiredGeneration; } | 237 | S32 getMinRequiredGeneration() const { return mMinRequiredGeneration; } |
diff --git a/linden/indra/newview/llinventorybridge.cpp b/linden/indra/newview/llinventorybridge.cpp index 12670e2..bde36cc 100644 --- a/linden/indra/newview/llinventorybridge.cpp +++ b/linden/indra/newview/llinventorybridge.cpp | |||
@@ -722,6 +722,7 @@ LLInvFVBridge* LLInvFVBridge::createBridge(LLAssetType::EType asset_type, | |||
722 | if (new_listener) | 722 | if (new_listener) |
723 | { | 723 | { |
724 | new_listener->mInvType = inv_type; | 724 | new_listener->mInvType = inv_type; |
725 | new_listener->mNInvType = calc_ntype(inv_type, asset_type, flags); | ||
725 | } | 726 | } |
726 | 727 | ||
727 | return new_listener; | 728 | return new_listener; |
diff --git a/linden/indra/newview/llinventorybridge.h b/linden/indra/newview/llinventorybridge.h index fc04b28..329e57f 100644 --- a/linden/indra/newview/llinventorybridge.h +++ b/linden/indra/newview/llinventorybridge.h | |||
@@ -192,7 +192,15 @@ public: | |||
192 | virtual BOOL dragOrDrop(MASK mask, BOOL drop, | 192 | virtual BOOL dragOrDrop(MASK mask, BOOL drop, |
193 | EDragAndDropType cargo_type, | 193 | EDragAndDropType cargo_type, |
194 | void* cargo_data) { return FALSE; } | 194 | void* cargo_data) { return FALSE; } |
195 | virtual LLInventoryType::EType getInventoryType() const { return mInvType; } | 195 | |
196 | virtual LLInventoryType::EType getInventoryType() const | ||
197 | { | ||
198 | return mInvType; | ||
199 | } | ||
200 | virtual LLInventoryType::NType getNInventoryType() const | ||
201 | { | ||
202 | return mNInvType; | ||
203 | } | ||
196 | 204 | ||
197 | // LLInvFVBridge functionality | 205 | // LLInvFVBridge functionality |
198 | virtual void clearDisplayName() {} | 206 | virtual void clearDisplayName() {} |
@@ -221,6 +229,7 @@ protected: | |||
221 | LLInventoryPanel* mInventoryPanel; | 229 | LLInventoryPanel* mInventoryPanel; |
222 | LLUUID mUUID; // item id | 230 | LLUUID mUUID; // item id |
223 | LLInventoryType::EType mInvType; | 231 | LLInventoryType::EType mInvType; |
232 | LLInventoryType::NType mNInvType; | ||
224 | }; | 233 | }; |
225 | 234 | ||
226 | 235 | ||
diff --git a/linden/indra/newview/llinventoryview.cpp b/linden/indra/newview/llinventoryview.cpp index f9dd70d..52c3b7e 100644 --- a/linden/indra/newview/llinventoryview.cpp +++ b/linden/indra/newview/llinventoryview.cpp | |||
@@ -44,6 +44,7 @@ | |||
44 | #include "llradiogroup.h" | 44 | #include "llradiogroup.h" |
45 | #include "llspinctrl.h" | 45 | #include "llspinctrl.h" |
46 | #include "lltextbox.h" | 46 | #include "lltextbox.h" |
47 | #include "llcombobox.h" | ||
47 | #include "llui.h" | 48 | #include "llui.h" |
48 | 49 | ||
49 | #include "llfirstuse.h" | 50 | #include "llfirstuse.h" |
@@ -181,18 +182,19 @@ void LLInventoryViewFinder::updateElementsFromFilter() | |||
181 | 182 | ||
182 | // update the ui elements | 183 | // update the ui elements |
183 | LLFloater::setTitle(mFilter->getName()); | 184 | LLFloater::setTitle(mFilter->getName()); |
184 | childSetValue("check_animation", (S32) (filter_types & 0x1 << LLInventoryType::IT_ANIMATION)); | 185 | |
185 | 186 | childSetValue("check_animation", (S32) (filter_types & LLInventoryType::NIT_ANIMATION)); | |
186 | childSetValue("check_calling_card", (S32) (filter_types & 0x1 << LLInventoryType::IT_CALLINGCARD)); | 187 | childSetValue("check_bodypart", (S32) (filter_types & LLInventoryType::NIT_BODYPART)); |
187 | childSetValue("check_clothing", (S32) (filter_types & 0x1 << LLInventoryType::IT_WEARABLE)); | 188 | childSetValue("check_calling_card", (S32) (filter_types & LLInventoryType::NIT_CALLCARD)); |
188 | childSetValue("check_gesture", (S32) (filter_types & 0x1 << LLInventoryType::IT_GESTURE)); | 189 | childSetValue("check_clothing", (S32) (filter_types & LLInventoryType::NIT_CLOTHING)); |
189 | childSetValue("check_landmark", (S32) (filter_types & 0x1 << LLInventoryType::IT_LANDMARK)); | 190 | childSetValue("check_gesture", (S32) (filter_types & LLInventoryType::NIT_GESTURE)); |
190 | childSetValue("check_notecard", (S32) (filter_types & 0x1 << LLInventoryType::IT_NOTECARD)); | 191 | childSetValue("check_landmark", (S32) (filter_types & LLInventoryType::NIT_LANDMARK)); |
191 | childSetValue("check_object", (S32) (filter_types & 0x1 << LLInventoryType::IT_OBJECT)); | 192 | childSetValue("check_notecard", (S32) (filter_types & LLInventoryType::NIT_NOTECARD)); |
192 | childSetValue("check_script", (S32) (filter_types & 0x1 << LLInventoryType::IT_LSL)); | 193 | childSetValue("check_object", (S32) (filter_types & LLInventoryType::NIT_OBJECT)); |
193 | childSetValue("check_sound", (S32) (filter_types & 0x1 << LLInventoryType::IT_SOUND)); | 194 | childSetValue("check_script", (S32) (filter_types & LLInventoryType::NIT_SCRIPT_LSL2)); |
194 | childSetValue("check_texture", (S32) (filter_types & 0x1 << LLInventoryType::IT_TEXTURE)); | 195 | childSetValue("check_sound", (S32) (filter_types & LLInventoryType::NIT_SOUND)); |
195 | childSetValue("check_snapshot", (S32) (filter_types & 0x1 << LLInventoryType::IT_SNAPSHOT)); | 196 | childSetValue("check_texture", (S32) (filter_types & LLInventoryType::NIT_TEXTURE)); |
197 | childSetValue("check_snapshot", (S32) (filter_types & LLInventoryType::NIT_SNAPSHOT)); | ||
196 | childSetValue("check_show_empty", show_folders == LLInventoryFilter::SHOW_ALL_FOLDERS); | 198 | childSetValue("check_show_empty", show_folders == LLInventoryFilter::SHOW_ALL_FOLDERS); |
197 | childSetValue("check_since_logoff", mFilter->isSinceLogoff()); | 199 | childSetValue("check_since_logoff", mFilter->isSinceLogoff()); |
198 | mSpinSinceHours->set((F32)(hours % 24)); | 200 | mSpinSinceHours->set((F32)(hours % 24)); |
@@ -206,26 +208,31 @@ void LLInventoryViewFinder::draw() | |||
206 | 208 | ||
207 | if (!childGetValue("check_animation")) | 209 | if (!childGetValue("check_animation")) |
208 | { | 210 | { |
209 | filter &= ~(0x1 << LLInventoryType::IT_ANIMATION); | 211 | filter &= ~(LLInventoryType::NIT_ANIMATION); |
210 | filtered_by_all_types = FALSE; | 212 | filtered_by_all_types = FALSE; |
211 | } | 213 | } |
212 | 214 | ||
215 | if (!childGetValue("check_bodypart")) | ||
216 | { | ||
217 | filter &= ~(LLInventoryType::NIT_BODYPART); | ||
218 | filtered_by_all_types = FALSE; | ||
219 | } | ||
213 | 220 | ||
214 | if (!childGetValue("check_calling_card")) | 221 | if (!childGetValue("check_calling_card")) |
215 | { | 222 | { |
216 | filter &= ~(0x1 << LLInventoryType::IT_CALLINGCARD); | 223 | filter &= ~(LLInventoryType::NIT_CALLCARD); |
217 | filtered_by_all_types = FALSE; | 224 | filtered_by_all_types = FALSE; |
218 | } | 225 | } |
219 | 226 | ||
220 | if (!childGetValue("check_clothing")) | 227 | if (!childGetValue("check_clothing")) |
221 | { | 228 | { |
222 | filter &= ~(0x1 << LLInventoryType::IT_WEARABLE); | 229 | filter &= ~(LLInventoryType::NIT_CLOTHING); |
223 | filtered_by_all_types = FALSE; | 230 | filtered_by_all_types = FALSE; |
224 | } | 231 | } |
225 | 232 | ||
226 | if (!childGetValue("check_gesture")) | 233 | if (!childGetValue("check_gesture")) |
227 | { | 234 | { |
228 | filter &= ~(0x1 << LLInventoryType::IT_GESTURE); | 235 | filter &= ~(LLInventoryType::NIT_GESTURE); |
229 | filtered_by_all_types = FALSE; | 236 | filtered_by_all_types = FALSE; |
230 | } | 237 | } |
231 | 238 | ||
@@ -233,52 +240,53 @@ void LLInventoryViewFinder::draw() | |||
233 | 240 | ||
234 | 241 | ||
235 | { | 242 | { |
236 | filter &= ~(0x1 << LLInventoryType::IT_LANDMARK); | 243 | filter &= ~(LLInventoryType::NIT_LANDMARK); |
237 | filtered_by_all_types = FALSE; | 244 | filtered_by_all_types = FALSE; |
238 | } | 245 | } |
239 | 246 | ||
240 | if (!childGetValue("check_notecard")) | 247 | if (!childGetValue("check_notecard")) |
241 | { | 248 | { |
242 | filter &= ~(0x1 << LLInventoryType::IT_NOTECARD); | 249 | filter &= ~(LLInventoryType::NIT_NOTECARD); |
243 | filtered_by_all_types = FALSE; | 250 | filtered_by_all_types = FALSE; |
244 | } | 251 | } |
245 | 252 | ||
246 | if (!childGetValue("check_object")) | 253 | if (!childGetValue("check_object")) |
247 | { | 254 | { |
248 | filter &= ~(0x1 << LLInventoryType::IT_OBJECT); | 255 | filter &= ~(LLInventoryType::NIT_OBJECT); |
249 | filter &= ~(0x1 << LLInventoryType::IT_ATTACHMENT); | ||
250 | filtered_by_all_types = FALSE; | 256 | filtered_by_all_types = FALSE; |
251 | } | 257 | } |
252 | 258 | ||
253 | if (!childGetValue("check_script")) | 259 | if (!childGetValue("check_script")) |
254 | { | 260 | { |
255 | filter &= ~(0x1 << LLInventoryType::IT_LSL); | 261 | filter &= ~(LLInventoryType::NIT_SCRIPT_LSL2); |
256 | filtered_by_all_types = FALSE; | 262 | filtered_by_all_types = FALSE; |
257 | } | 263 | } |
258 | 264 | ||
259 | if (!childGetValue("check_sound")) | 265 | if (!childGetValue("check_sound")) |
260 | { | 266 | { |
261 | filter &= ~(0x1 << LLInventoryType::IT_SOUND); | 267 | filter &= ~(LLInventoryType::NIT_SOUND); |
262 | filtered_by_all_types = FALSE; | 268 | filtered_by_all_types = FALSE; |
263 | } | 269 | } |
264 | 270 | ||
265 | if (!childGetValue("check_texture")) | 271 | if (!childGetValue("check_texture")) |
266 | { | 272 | { |
267 | filter &= ~(0x1 << LLInventoryType::IT_TEXTURE); | 273 | filter &= ~(LLInventoryType::NIT_TEXTURE); |
268 | filtered_by_all_types = FALSE; | 274 | filtered_by_all_types = FALSE; |
269 | } | 275 | } |
270 | 276 | ||
271 | if (!childGetValue("check_snapshot")) | 277 | if (!childGetValue("check_snapshot")) |
272 | { | 278 | { |
273 | filter &= ~(0x1 << LLInventoryType::IT_SNAPSHOT); | 279 | filter &= ~(LLInventoryType::NIT_SNAPSHOT); |
274 | filtered_by_all_types = FALSE; | 280 | filtered_by_all_types = FALSE; |
275 | } | 281 | } |
276 | 282 | ||
283 | /* | ||
277 | if (!filtered_by_all_types) | 284 | if (!filtered_by_all_types) |
278 | { | 285 | { |
279 | // don't include folders in filter, unless I've selected everything | 286 | // don't include folders in filter, unless I've selected everything |
280 | filter &= ~(0x1 << LLInventoryType::IT_CATEGORY); | 287 | filter &= ~(LLInventoryType::NIT_CATEGORY); |
281 | } | 288 | } |
289 | */ | ||
282 | 290 | ||
283 | // update the panel, panel will update the filter | 291 | // update the panel, panel will update the filter |
284 | mInventoryView->mActivePanel->setShowFolderState(getCheckShowEmpty() ? | 292 | mInventoryView->mActivePanel->setShowFolderState(getCheckShowEmpty() ? |
@@ -344,6 +352,7 @@ void LLInventoryViewFinder::selectAllTypes(void* user_data) | |||
344 | if(!self) return; | 352 | if(!self) return; |
345 | 353 | ||
346 | self->childSetValue("check_animation", TRUE); | 354 | self->childSetValue("check_animation", TRUE); |
355 | self->childSetValue("check_bodypart", TRUE); | ||
347 | self->childSetValue("check_calling_card", TRUE); | 356 | self->childSetValue("check_calling_card", TRUE); |
348 | self->childSetValue("check_clothing", TRUE); | 357 | self->childSetValue("check_clothing", TRUE); |
349 | self->childSetValue("check_gesture", TRUE); | 358 | self->childSetValue("check_gesture", TRUE); |
@@ -389,6 +398,7 @@ void LLInventoryViewFinder::selectNoTypes(void* user_data) | |||
389 | 398 | ||
390 | 399 | ||
391 | self->childSetValue("check_animation", FALSE); | 400 | self->childSetValue("check_animation", FALSE); |
401 | self->childSetValue("check_bodypart", FALSE); | ||
392 | self->childSetValue("check_calling_card", FALSE); | 402 | self->childSetValue("check_calling_card", FALSE); |
393 | self->childSetValue("check_clothing", FALSE); | 403 | self->childSetValue("check_clothing", FALSE); |
394 | self->childSetValue("check_gesture", FALSE); | 404 | self->childSetValue("check_gesture", FALSE); |
@@ -549,6 +559,12 @@ void LLInventoryView::init(LLInventoryModel* inventory) | |||
549 | mSearchEditor->setSearchCallback(onSearchEdit, this); | 559 | mSearchEditor->setSearchCallback(onSearchEdit, this); |
550 | } | 560 | } |
551 | 561 | ||
562 | mQuickFilterCombo = getChild<LLComboBox>("Quick Filter"); | ||
563 | if (mQuickFilterCombo) | ||
564 | { | ||
565 | mQuickFilterCombo->setCommitCallback(onQuickFilterCommit); | ||
566 | } | ||
567 | |||
552 | sActiveViews.put(this); | 568 | sActiveViews.put(this); |
553 | 569 | ||
554 | gInventory.addObserver(this); | 570 | gInventory.addObserver(this); |
@@ -617,6 +633,11 @@ void LLInventoryView::draw() | |||
617 | { | 633 | { |
618 | mSearchEditor->setText(mActivePanel->getFilterSubString()); | 634 | mSearchEditor->setText(mActivePanel->getFilterSubString()); |
619 | } | 635 | } |
636 | if (mActivePanel && mQuickFilterCombo) | ||
637 | { | ||
638 | refreshQuickFilter( mQuickFilterCombo ); | ||
639 | } | ||
640 | |||
620 | LLFloater::draw(); | 641 | LLFloater::draw(); |
621 | } | 642 | } |
622 | 643 | ||
@@ -922,16 +943,9 @@ void LLInventoryView::onClearSearch(void* user_data) | |||
922 | LLInventoryView* self = (LLInventoryView*)user_data; | 943 | LLInventoryView* self = (LLInventoryView*)user_data; |
923 | if(!self) return; | 944 | if(!self) return; |
924 | 945 | ||
925 | LLFloater *finder = self->getFinder(); | ||
926 | if (self->mActivePanel) | 946 | if (self->mActivePanel) |
927 | { | 947 | { |
928 | self->mActivePanel->setFilterSubString(LLStringUtil::null); | 948 | self->mActivePanel->setFilterSubString(LLStringUtil::null); |
929 | self->mActivePanel->setFilterTypes(0xffffffff); | ||
930 | } | ||
931 | |||
932 | if (finder) | ||
933 | { | ||
934 | LLInventoryViewFinder::selectAllTypes(finder); | ||
935 | } | 949 | } |
936 | 950 | ||
937 | // re-open folders that were initially open | 951 | // re-open folders that were initially open |
@@ -981,6 +995,241 @@ void LLInventoryView::onSearchEdit(const std::string& search_string, void* user_ | |||
981 | } | 995 | } |
982 | 996 | ||
983 | 997 | ||
998 | //static | ||
999 | void LLInventoryView::onQuickFilterCommit(LLUICtrl* ctrl, void* user_data) | ||
1000 | { | ||
1001 | |||
1002 | LLComboBox* quickfilter = (LLComboBox*)ctrl; | ||
1003 | |||
1004 | |||
1005 | LLInventoryView* view = (LLInventoryView*)(quickfilter->getParent()); | ||
1006 | if (!view->mActivePanel) | ||
1007 | { | ||
1008 | return; | ||
1009 | } | ||
1010 | |||
1011 | |||
1012 | std::string item_type = quickfilter->getSimple(); | ||
1013 | U32 filter_type; | ||
1014 | |||
1015 | if (view->getString("filter_type_animation") == item_type) | ||
1016 | { | ||
1017 | filter_type = LLInventoryType::NIT_ANIMATION; | ||
1018 | } | ||
1019 | |||
1020 | else if (view->getString("filter_type_bodypart") == item_type) | ||
1021 | { | ||
1022 | filter_type = LLInventoryType::NIT_BODYPART; | ||
1023 | } | ||
1024 | |||
1025 | else if (view->getString("filter_type_callingcard") == item_type) | ||
1026 | { | ||
1027 | filter_type = LLInventoryType::NIT_CALLCARD; | ||
1028 | } | ||
1029 | |||
1030 | else if (view->getString("filter_type_clothing") == item_type) | ||
1031 | { | ||
1032 | filter_type = LLInventoryType::NIT_CLOTHING; | ||
1033 | } | ||
1034 | |||
1035 | else if (view->getString("filter_type_gesture") == item_type) | ||
1036 | { | ||
1037 | filter_type = LLInventoryType::NIT_GESTURE; | ||
1038 | } | ||
1039 | |||
1040 | else if (view->getString("filter_type_landmark") == item_type) | ||
1041 | { | ||
1042 | filter_type = LLInventoryType::NIT_LANDMARK; | ||
1043 | } | ||
1044 | |||
1045 | else if (view->getString("filter_type_notecard") == item_type) | ||
1046 | { | ||
1047 | filter_type = LLInventoryType::NIT_NOTECARD; | ||
1048 | } | ||
1049 | |||
1050 | else if (view->getString("filter_type_object") == item_type) | ||
1051 | { | ||
1052 | filter_type = LLInventoryType::NIT_OBJECT; | ||
1053 | } | ||
1054 | |||
1055 | else if (view->getString("filter_type_script") == item_type) | ||
1056 | { | ||
1057 | filter_type = LLInventoryType::NIT_SCRIPT_LSL2; | ||
1058 | } | ||
1059 | |||
1060 | else if (view->getString("filter_type_sound") == item_type) | ||
1061 | { | ||
1062 | filter_type = LLInventoryType::NIT_SOUND; | ||
1063 | } | ||
1064 | |||
1065 | else if (view->getString("filter_type_texture") == item_type) | ||
1066 | { | ||
1067 | filter_type = LLInventoryType::NIT_TEXTURE; | ||
1068 | } | ||
1069 | |||
1070 | else if (view->getString("filter_type_snapshot") == item_type) | ||
1071 | { | ||
1072 | filter_type = LLInventoryType::NIT_SNAPSHOT; | ||
1073 | } | ||
1074 | |||
1075 | else if (view->getString("filter_type_custom") == item_type) | ||
1076 | { | ||
1077 | // When they select custom, show the floater then return | ||
1078 | if( !(view->filtersVisible(view)) ) | ||
1079 | { | ||
1080 | view->toggleFindOptions(); | ||
1081 | } | ||
1082 | return; | ||
1083 | } | ||
1084 | |||
1085 | else if (view->getString("filter_type_all") == item_type) | ||
1086 | { | ||
1087 | // Show all types | ||
1088 | filter_type = 0xffffffff; | ||
1089 | } | ||
1090 | |||
1091 | else | ||
1092 | { | ||
1093 | llwarns << "Ignoring unknown filter: " << item_type << llendl; | ||
1094 | return; | ||
1095 | } | ||
1096 | |||
1097 | view->mActivePanel->setFilterTypes( filter_type ); | ||
1098 | |||
1099 | // Start fetching inventory in the background, so we have | ||
1100 | // some items to show the user. | ||
1101 | gInventory.startBackgroundFetch(); | ||
1102 | |||
1103 | // Update the Inventory window text | ||
1104 | view->setFilterTextFromFilter(); | ||
1105 | |||
1106 | // Force the filters window to update itself, if it's open. | ||
1107 | LLInventoryViewFinder* finder = view->getFinder(); | ||
1108 | if( finder ) | ||
1109 | { | ||
1110 | finder->updateElementsFromFilter(); | ||
1111 | } | ||
1112 | |||
1113 | // llinfos << "Quick Filter: " << item_type << llendl; | ||
1114 | |||
1115 | } | ||
1116 | |||
1117 | |||
1118 | |||
1119 | //static | ||
1120 | void LLInventoryView::refreshQuickFilter(LLUICtrl* ctrl) | ||
1121 | { | ||
1122 | |||
1123 | LLInventoryView* view = (LLInventoryView*)(ctrl->getParent()); | ||
1124 | if (!view->mActivePanel) | ||
1125 | { | ||
1126 | return; | ||
1127 | } | ||
1128 | |||
1129 | LLComboBox* quickfilter = view->getChild<LLComboBox>("Quick Filter"); | ||
1130 | if (!quickfilter) | ||
1131 | { | ||
1132 | return; | ||
1133 | } | ||
1134 | |||
1135 | |||
1136 | U32 filter_type = view->mActivePanel->getFilterTypes(); | ||
1137 | filter_type &= LLInventoryType::NIT_ALL; | ||
1138 | |||
1139 | |||
1140 | //llinfos << "filter_type: " << filter_type << llendl; | ||
1141 | |||
1142 | std::string selection; | ||
1143 | |||
1144 | |||
1145 | if (filter_type == LLInventoryType::NIT_ALL) | ||
1146 | { | ||
1147 | selection = view->getString("filter_type_all"); | ||
1148 | } | ||
1149 | |||
1150 | else if (filter_type == LLInventoryType::NIT_NONE) | ||
1151 | { | ||
1152 | selection = view->getString("filter_type_custom"); | ||
1153 | } | ||
1154 | |||
1155 | else if (filter_type == (filter_type & LLInventoryType::NIT_ANIMATION)) | ||
1156 | { | ||
1157 | selection = view->getString("filter_type_animation"); | ||
1158 | } | ||
1159 | |||
1160 | else if (filter_type == (filter_type & LLInventoryType::NIT_BODYPART)) | ||
1161 | { | ||
1162 | selection = view->getString("filter_type_bodypart"); | ||
1163 | } | ||
1164 | |||
1165 | else if (filter_type == (filter_type & LLInventoryType::NIT_CALLCARD)) | ||
1166 | { | ||
1167 | selection = view->getString("filter_type_callingcard"); | ||
1168 | } | ||
1169 | |||
1170 | else if (filter_type == (filter_type & LLInventoryType::NIT_CLOTHING)) | ||
1171 | { | ||
1172 | selection = view->getString("filter_type_clothing"); | ||
1173 | } | ||
1174 | |||
1175 | else if (filter_type == (filter_type & LLInventoryType::NIT_GESTURE)) | ||
1176 | { | ||
1177 | selection = view->getString("filter_type_gesture"); | ||
1178 | } | ||
1179 | |||
1180 | else if (filter_type == (filter_type & LLInventoryType::NIT_LANDMARK)) | ||
1181 | { | ||
1182 | selection = view->getString("filter_type_landmark"); | ||
1183 | } | ||
1184 | |||
1185 | else if (filter_type == (filter_type & LLInventoryType::NIT_NOTECARD)) | ||
1186 | { | ||
1187 | selection = view->getString("filter_type_notecard"); | ||
1188 | } | ||
1189 | |||
1190 | else if (filter_type == (filter_type & LLInventoryType::NIT_OBJECT)) | ||
1191 | { | ||
1192 | selection = view->getString("filter_type_object"); | ||
1193 | } | ||
1194 | |||
1195 | else if (filter_type == (filter_type & LLInventoryType::NIT_SCRIPT_LSL2)) | ||
1196 | { | ||
1197 | selection = view->getString("filter_type_script"); | ||
1198 | } | ||
1199 | |||
1200 | else if (filter_type == (filter_type & LLInventoryType::NIT_SOUND)) | ||
1201 | { | ||
1202 | selection = view->getString("filter_type_sound"); | ||
1203 | } | ||
1204 | |||
1205 | else if (filter_type == (filter_type & LLInventoryType::NIT_TEXTURE)) | ||
1206 | { | ||
1207 | selection = view->getString("filter_type_texture"); | ||
1208 | } | ||
1209 | |||
1210 | else if (filter_type == (filter_type & LLInventoryType::NIT_SNAPSHOT)) | ||
1211 | { | ||
1212 | selection = view->getString("filter_type_snapshot"); | ||
1213 | } | ||
1214 | |||
1215 | else | ||
1216 | { | ||
1217 | selection = view->getString("filter_type_custom"); | ||
1218 | } | ||
1219 | |||
1220 | |||
1221 | // Select the chosen item by label text | ||
1222 | BOOL result = quickfilter->setSimple( (selection) ); | ||
1223 | |||
1224 | if( !result ) | ||
1225 | { | ||
1226 | llinfos << "The item didn't exist: " << selection << llendl; | ||
1227 | } | ||
1228 | |||
1229 | } | ||
1230 | |||
1231 | |||
1232 | |||
984 | // static | 1233 | // static |
985 | // BOOL LLInventoryView::incrementalFind(LLFolderViewItem* first_item, const char *find_text, BOOL backward) | 1234 | // BOOL LLInventoryView::incrementalFind(LLFolderViewItem* first_item, const char *find_text, BOOL backward) |
986 | // { | 1235 | // { |
@@ -1079,124 +1328,163 @@ BOOL LLInventoryView::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, | |||
1079 | 1328 | ||
1080 | return handled; | 1329 | return handled; |
1081 | } | 1330 | } |
1331 | |||
1082 | std::string get_item_icon_name(LLAssetType::EType asset_type, | 1332 | std::string get_item_icon_name(LLAssetType::EType asset_type, |
1083 | LLInventoryType::EType inventory_type, | 1333 | LLInventoryType::EType inv_type, |
1084 | U32 attachment_point, | 1334 | U32 flags, |
1085 | BOOL item_is_multi ) | 1335 | BOOL item_is_multi ) |
1336 | { | ||
1337 | return get_item_icon_name( calc_ntype(inv_type, asset_type, flags), | ||
1338 | item_is_multi ); | ||
1339 | } | ||
1340 | |||
1341 | std::string get_item_icon_name(LLInventoryType::NType inv_ntype, | ||
1342 | BOOL item_is_multi ) | ||
1086 | { | 1343 | { |
1087 | EInventoryIcon idx = OBJECT_ICON_NAME; | 1344 | EInventoryIcon idx = OBJECT_ICON_NAME; |
1088 | if ( item_is_multi ) | 1345 | |
1089 | { | 1346 | switch( inv_ntype ) |
1090 | idx = OBJECT_MULTI_ICON_NAME; | ||
1091 | } | ||
1092 | |||
1093 | switch(asset_type) | ||
1094 | { | 1347 | { |
1095 | case LLAssetType::AT_TEXTURE: | 1348 | // BODY PARTS |
1096 | if(LLInventoryType::IT_SNAPSHOT == inventory_type) | ||
1097 | { | ||
1098 | idx = SNAPSHOT_ICON_NAME; | ||
1099 | } | ||
1100 | else | ||
1101 | { | ||
1102 | idx = TEXTURE_ICON_NAME; | ||
1103 | } | ||
1104 | break; | ||
1105 | 1349 | ||
1106 | case LLAssetType::AT_SOUND: | 1350 | case LLInventoryType::NIT_SHAPE: |
1107 | idx = SOUND_ICON_NAME; | ||
1108 | break; | ||
1109 | case LLAssetType::AT_CALLINGCARD: | ||
1110 | if(attachment_point!= 0) | ||
1111 | { | ||
1112 | idx = CALLINGCARD_ONLINE_ICON_NAME; | ||
1113 | } | ||
1114 | else | ||
1115 | { | ||
1116 | idx = CALLINGCARD_OFFLINE_ICON_NAME; | ||
1117 | } | ||
1118 | break; | ||
1119 | case LLAssetType::AT_LANDMARK: | ||
1120 | if(attachment_point!= 0) | ||
1121 | { | ||
1122 | idx = LANDMARK_VISITED_ICON_NAME; | ||
1123 | } | ||
1124 | else | ||
1125 | { | ||
1126 | idx = LANDMARK_ICON_NAME; | ||
1127 | } | ||
1128 | break; | ||
1129 | case LLAssetType::AT_SCRIPT: | ||
1130 | case LLAssetType::AT_LSL_TEXT: | ||
1131 | case LLAssetType::AT_LSL_BYTECODE: | ||
1132 | idx = SCRIPT_ICON_NAME; | ||
1133 | break; | ||
1134 | case LLAssetType::AT_CLOTHING: | ||
1135 | idx = CLOTHING_ICON_NAME; | ||
1136 | case LLAssetType::AT_BODYPART : | ||
1137 | if(LLAssetType::AT_BODYPART == asset_type) | ||
1138 | { | ||
1139 | idx = BODYPART_ICON_NAME; | ||
1140 | } | ||
1141 | switch(attachment_point) | ||
1142 | { | ||
1143 | case WT_SHAPE: | ||
1144 | idx = BODYPART_SHAPE_ICON_NAME; | 1351 | idx = BODYPART_SHAPE_ICON_NAME; |
1145 | break; | 1352 | break; |
1146 | case WT_SKIN: | 1353 | case LLInventoryType::NIT_SKIN: |
1147 | idx = BODYPART_SKIN_ICON_NAME; | 1354 | idx = BODYPART_SKIN_ICON_NAME; |
1148 | break; | 1355 | break; |
1149 | case WT_HAIR: | 1356 | case LLInventoryType::NIT_HAIR: |
1150 | idx = BODYPART_HAIR_ICON_NAME; | 1357 | idx = BODYPART_HAIR_ICON_NAME; |
1151 | break; | 1358 | break; |
1152 | case WT_EYES: | 1359 | case LLInventoryType::NIT_EYES: |
1153 | idx = BODYPART_EYES_ICON_NAME; | 1360 | idx = BODYPART_EYES_ICON_NAME; |
1154 | break; | 1361 | break; |
1155 | case WT_SHIRT: | 1362 | |
1363 | case LLInventoryType::NIT_BODYPART: | ||
1364 | idx = BODYPART_ICON_NAME; | ||
1365 | break; | ||
1366 | |||
1367 | |||
1368 | // CLOTHING | ||
1369 | |||
1370 | case LLInventoryType::NIT_SHIRT: | ||
1156 | idx = CLOTHING_SHIRT_ICON_NAME; | 1371 | idx = CLOTHING_SHIRT_ICON_NAME; |
1157 | break; | 1372 | break; |
1158 | case WT_PANTS: | 1373 | case LLInventoryType::NIT_PANTS: |
1159 | idx = CLOTHING_PANTS_ICON_NAME; | 1374 | idx = CLOTHING_PANTS_ICON_NAME; |
1160 | break; | 1375 | break; |
1161 | case WT_SHOES: | 1376 | case LLInventoryType::NIT_SHOES: |
1162 | idx = CLOTHING_SHOES_ICON_NAME; | 1377 | idx = CLOTHING_SHOES_ICON_NAME; |
1163 | break; | 1378 | break; |
1164 | case WT_SOCKS: | 1379 | case LLInventoryType::NIT_SOCKS: |
1165 | idx = CLOTHING_SOCKS_ICON_NAME; | 1380 | idx = CLOTHING_SOCKS_ICON_NAME; |
1166 | break; | 1381 | break; |
1167 | case WT_JACKET: | 1382 | case LLInventoryType::NIT_JACKET: |
1168 | idx = CLOTHING_JACKET_ICON_NAME; | 1383 | idx = CLOTHING_JACKET_ICON_NAME; |
1169 | break; | 1384 | break; |
1170 | case WT_GLOVES: | 1385 | case LLInventoryType::NIT_GLOVES: |
1171 | idx = CLOTHING_GLOVES_ICON_NAME; | 1386 | idx = CLOTHING_GLOVES_ICON_NAME; |
1172 | break; | 1387 | break; |
1173 | case WT_UNDERSHIRT: | 1388 | case LLInventoryType::NIT_UNDERSHIRT: |
1174 | idx = CLOTHING_UNDERSHIRT_ICON_NAME; | 1389 | idx = CLOTHING_UNDERSHIRT_ICON_NAME; |
1175 | break; | 1390 | break; |
1176 | case WT_UNDERPANTS: | 1391 | case LLInventoryType::NIT_UNDERPANTS: |
1177 | idx = CLOTHING_UNDERPANTS_ICON_NAME; | 1392 | idx = CLOTHING_UNDERPANTS_ICON_NAME; |
1178 | break; | 1393 | break; |
1179 | case WT_SKIRT: | 1394 | case LLInventoryType::NIT_SKIRT: |
1180 | idx = CLOTHING_SKIRT_ICON_NAME; | 1395 | idx = CLOTHING_SKIRT_ICON_NAME; |
1181 | break; | 1396 | break; |
1397 | |||
1398 | case LLInventoryType::NIT_CLOTHING: | ||
1399 | idx = CLOTHING_ICON_NAME; | ||
1400 | break; | ||
1401 | |||
1402 | |||
1403 | // TEXTURES / SNAPSHOTS | ||
1404 | |||
1405 | case LLInventoryType::NIT_SNAPSHOT: | ||
1406 | idx = SNAPSHOT_ICON_NAME; | ||
1407 | break; | ||
1408 | case LLInventoryType::NIT_TEXTURE: | ||
1409 | case LLInventoryType::NIT_IMAGE: | ||
1410 | idx = TEXTURE_ICON_NAME; | ||
1411 | break; | ||
1412 | |||
1413 | |||
1414 | // CALLING CARDS | ||
1415 | |||
1416 | case LLInventoryType::NIT_CALLCARD_ON: | ||
1417 | idx = CALLINGCARD_ONLINE_ICON_NAME; | ||
1418 | break; | ||
1419 | case LLInventoryType::NIT_CALLCARD_OFF: | ||
1420 | case LLInventoryType::NIT_CALLCARD: | ||
1421 | idx = CALLINGCARD_OFFLINE_ICON_NAME; | ||
1422 | break; | ||
1423 | |||
1424 | |||
1425 | // LANDMARKS | ||
1426 | |||
1427 | case LLInventoryType::NIT_LANDMARK_USED: | ||
1428 | idx = LANDMARK_VISITED_ICON_NAME; | ||
1429 | break; | ||
1430 | case LLInventoryType::NIT_LANDMARK_UNUSED: | ||
1431 | case LLInventoryType::NIT_LANDMARK: | ||
1432 | idx = LANDMARK_ICON_NAME; | ||
1433 | break; | ||
1434 | |||
1435 | |||
1436 | // SOUNDS | ||
1437 | |||
1438 | case LLInventoryType::NIT_SOUND: | ||
1439 | idx = SOUND_ICON_NAME; | ||
1440 | break; | ||
1441 | |||
1442 | |||
1443 | // ANIMATIONS | ||
1444 | |||
1445 | case LLInventoryType::NIT_ANIMATION: | ||
1446 | idx = ANIMATION_ICON_NAME; | ||
1447 | break; | ||
1448 | |||
1449 | |||
1450 | // GESTURES | ||
1451 | |||
1452 | case LLInventoryType::NIT_GESTURE: | ||
1453 | idx = GESTURE_ICON_NAME; | ||
1454 | break; | ||
1455 | |||
1456 | |||
1457 | // NOTECARD | ||
1458 | |||
1459 | case LLInventoryType::NIT_NOTECARD: | ||
1460 | idx = NOTECARD_ICON_NAME; | ||
1461 | break; | ||
1462 | |||
1463 | |||
1464 | // SCRIPTS | ||
1465 | |||
1466 | case LLInventoryType::NIT_SCRIPT_LSL2: | ||
1467 | idx = SCRIPT_ICON_NAME; | ||
1468 | break; | ||
1469 | |||
1470 | |||
1471 | // OBJECTS | ||
1472 | |||
1473 | case LLInventoryType::NIT_OBJECT: | ||
1474 | if( item_is_multi ) | ||
1475 | { | ||
1476 | idx = OBJECT_MULTI_ICON_NAME; | ||
1477 | } | ||
1478 | else | ||
1479 | { | ||
1480 | idx = OBJECT_ICON_NAME; | ||
1481 | } | ||
1482 | break; | ||
1483 | |||
1182 | default: | 1484 | default: |
1183 | // no-op, go with choice above | ||
1184 | break; | 1485 | break; |
1185 | } | ||
1186 | break; | ||
1187 | case LLAssetType::AT_NOTECARD: | ||
1188 | idx = NOTECARD_ICON_NAME; | ||
1189 | break; | ||
1190 | case LLAssetType::AT_ANIMATION: | ||
1191 | idx = ANIMATION_ICON_NAME; | ||
1192 | break; | ||
1193 | case LLAssetType::AT_GESTURE: | ||
1194 | idx = GESTURE_ICON_NAME; | ||
1195 | break; | ||
1196 | default: | ||
1197 | break; | ||
1198 | } | 1486 | } |
1199 | 1487 | ||
1200 | return ICON_NAME[idx]; | 1488 | return ICON_NAME[idx]; |
1201 | } | 1489 | } |
1202 | 1490 | ||
diff --git a/linden/indra/newview/llinventoryview.h b/linden/indra/newview/llinventoryview.h index a37d370..80e5768 100644 --- a/linden/indra/newview/llinventoryview.h +++ b/linden/indra/newview/llinventoryview.h | |||
@@ -58,6 +58,7 @@ class LLCheckBoxCtrl; | |||
58 | class LLSpinCtrl; | 58 | class LLSpinCtrl; |
59 | class LLScrollableContainerView; | 59 | class LLScrollableContainerView; |
60 | class LLTextBox; | 60 | class LLTextBox; |
61 | class LLComboBox; | ||
61 | class LLIconCtrl; | 62 | class LLIconCtrl; |
62 | class LLSaveFolderState; | 63 | class LLSaveFolderState; |
63 | class LLSearchEditor; | 64 | class LLSearchEditor; |
@@ -239,6 +240,8 @@ public: | |||
239 | static void onFoldersByName(void *user_data); | 240 | static void onFoldersByName(void *user_data); |
240 | static BOOL checkFoldersByName(void *user_data); | 241 | static BOOL checkFoldersByName(void *user_data); |
241 | static void onSearchEdit(const std::string& search_string, void* user_data ); | 242 | static void onSearchEdit(const std::string& search_string, void* user_data ); |
243 | static void onQuickFilterCommit(LLUICtrl* ctrl, void* user_data); | ||
244 | static void refreshQuickFilter(LLUICtrl* ctrl); | ||
242 | static void onFilterSelected(void* userdata, bool from_click); | 245 | static void onFilterSelected(void* userdata, bool from_click); |
243 | static void onSelectionChange(const std::deque<LLFolderViewItem*> &items, BOOL user_action, void* data); | 246 | static void onSelectionChange(const std::deque<LLFolderViewItem*> &items, BOOL user_action, void* data); |
244 | 247 | ||
@@ -259,6 +262,7 @@ protected: | |||
259 | 262 | ||
260 | protected: | 263 | protected: |
261 | LLSearchEditor* mSearchEditor; | 264 | LLSearchEditor* mSearchEditor; |
265 | LLComboBox* mQuickFilterCombo; | ||
262 | LLTabContainer* mFilterTabs; | 266 | LLTabContainer* mFilterTabs; |
263 | LLHandle<LLFloater> mFinderHandle; | 267 | LLHandle<LLFloater> mFinderHandle; |
264 | LLInventoryPanel* mActivePanel; | 268 | LLInventoryPanel* mActivePanel; |
@@ -344,6 +348,9 @@ std::string get_item_icon_name(LLAssetType::EType asset_type, | |||
344 | U32 attachment_point, | 348 | U32 attachment_point, |
345 | BOOL item_is_multi ); | 349 | BOOL item_is_multi ); |
346 | 350 | ||
351 | std::string get_item_icon_name(LLInventoryType::NType inv_ntype, | ||
352 | BOOL item_is_multi ); | ||
353 | |||
347 | LLUIImagePtr get_item_icon(LLAssetType::EType asset_type, | 354 | LLUIImagePtr get_item_icon(LLAssetType::EType asset_type, |
348 | LLInventoryType::EType inventory_type, | 355 | LLInventoryType::EType inventory_type, |
349 | U32 attachment_point, | 356 | U32 attachment_point, |
diff --git a/linden/indra/newview/llpanelinventory.cpp b/linden/indra/newview/llpanelinventory.cpp index 3c0e6d7..e41ecdc 100644 --- a/linden/indra/newview/llpanelinventory.cpp +++ b/linden/indra/newview/llpanelinventory.cpp | |||
@@ -146,6 +146,7 @@ public: | |||
146 | virtual BOOL isUpToDate() const { return TRUE; } | 146 | virtual BOOL isUpToDate() const { return TRUE; } |
147 | virtual BOOL hasChildren() const { return FALSE; } | 147 | virtual BOOL hasChildren() const { return FALSE; } |
148 | virtual LLInventoryType::EType getInventoryType() const { return LLInventoryType::IT_NONE; } | 148 | virtual LLInventoryType::EType getInventoryType() const { return LLInventoryType::IT_NONE; } |
149 | virtual LLInventoryType::NType getNInventoryType() const { return LLInventoryType::NIT_NONE; } | ||
149 | // LLDragAndDropBridge functionality | 150 | // LLDragAndDropBridge functionality |
150 | virtual BOOL startDrag(EDragAndDropType* type, LLUUID* id) const; | 151 | virtual BOOL startDrag(EDragAndDropType* type, LLUUID* id) const; |
151 | virtual BOOL dragOrDrop(MASK mask, BOOL drop, | 152 | virtual BOOL dragOrDrop(MASK mask, BOOL drop, |
diff --git a/linden/indra/newview/llselectmgr.cpp b/linden/indra/newview/llselectmgr.cpp index 90b1bd3..7547dd2 100644 --- a/linden/indra/newview/llselectmgr.cpp +++ b/linden/indra/newview/llselectmgr.cpp | |||
@@ -5499,6 +5499,10 @@ void LLSelectMgr::updateSelectionCenter() | |||
5499 | 5499 | ||
5500 | std::vector < LLViewerObject *> jointed_objects; | 5500 | std::vector < LLViewerObject *> jointed_objects; |
5501 | 5501 | ||
5502 | // Initialize the bounding box to the root prim, so the BBox orientation | ||
5503 | // matches the root prim's (affecting the orientation of the manipulators). | ||
5504 | bbox.addBBoxAgent( (mSelectedObjects->getFirstRootObject(TRUE))->getBoundingBoxAgent() ); | ||
5505 | |||
5502 | for (LLObjectSelection::iterator iter = mSelectedObjects->begin(); | 5506 | for (LLObjectSelection::iterator iter = mSelectedObjects->begin(); |
5503 | iter != mSelectedObjects->end(); iter++) | 5507 | iter != mSelectedObjects->end(); iter++) |
5504 | { | 5508 | { |
diff --git a/linden/indra/newview/llwearable.h b/linden/indra/newview/llwearable.h index c5f9d06..00a53d3 100644 --- a/linden/indra/newview/llwearable.h +++ b/linden/indra/newview/llwearable.h | |||
@@ -37,28 +37,10 @@ | |||
37 | #include "llpermissions.h" | 37 | #include "llpermissions.h" |
38 | #include "llsaleinfo.h" | 38 | #include "llsaleinfo.h" |
39 | #include "llassetstorage.h" | 39 | #include "llassetstorage.h" |
40 | #include "llwearabletype.h" | ||
40 | 41 | ||
41 | class LLViewerInventoryItem; | 42 | class LLViewerInventoryItem; |
42 | 43 | ||
43 | enum EWearableType // If you change this, update LLWearable::getTypeName(), getTypeLabel(), and LLVOAvatar::getTEWearableType() | ||
44 | { | ||
45 | WT_SHAPE = 0, | ||
46 | WT_SKIN = 1, | ||
47 | WT_HAIR = 2, | ||
48 | WT_EYES = 3, | ||
49 | WT_SHIRT = 4, | ||
50 | WT_PANTS = 5, | ||
51 | WT_SHOES = 6, | ||
52 | WT_SOCKS = 7, | ||
53 | WT_JACKET = 8, | ||
54 | WT_GLOVES = 9, | ||
55 | WT_UNDERSHIRT = 10, | ||
56 | WT_UNDERPANTS = 11, | ||
57 | WT_SKIRT = 12, | ||
58 | WT_COUNT = 13, | ||
59 | WT_INVALID = 255 | ||
60 | }; | ||
61 | |||
62 | class LLWearable | 44 | class LLWearable |
63 | { | 45 | { |
64 | friend class LLWearableList; | 46 | friend class LLWearableList; |
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 1cb1da0..590555f 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 | |||
@@ -5,18 +5,64 @@ | |||
5 | title="Inventory" width="467"> | 5 | title="Inventory" width="467"> |
6 | <search_editor bottom="-50" follows="left|top|right" height="16" label="Type here to search" | 6 | <search_editor bottom="-50" follows="left|top|right" height="16" label="Type here to search" |
7 | left="6" mouse_opaque="true" name="inventory search editor" width="455" /> | 7 | left="6" mouse_opaque="true" name="inventory search editor" width="455" /> |
8 | <tab_container bottom_delta="-512" follows="left|top|right|bottom" height="508" left="2" | 8 | |
9 | mouse_opaque="false" name="inventory filter tabs" tab_position="top" | 9 | <text name="group_titles_textbox" font="SansSerifSmall" follows="left|top" |
10 | width="463"> | 10 | height="16" left="10" bottom_delta="-24" width="120"> |
11 | Quick Filter: | ||
12 | </text> | ||
13 | |||
14 | <!-- Inventory Type Filter Labels --> | ||
15 | <string name="filter_type_all">All Types</string> | ||
16 | <string name="filter_type_animation">Animations</string> | ||
17 | <string name="filter_type_bodypart">Body Parts</string> | ||
18 | <string name="filter_type_callingcard">Calling Cards</string> | ||
19 | <string name="filter_type_clothing">Clothing</string> | ||
20 | <string name="filter_type_gesture">Gestures</string> | ||
21 | <string name="filter_type_landmark">Landmarks</string> | ||
22 | <string name="filter_type_notecard">Notecards</string> | ||
23 | <string name="filter_type_object">Objects</string> | ||
24 | <string name="filter_type_script">Scripts</string> | ||
25 | <string name="filter_type_sound">Sounds</string> | ||
26 | <string name="filter_type_texture">Textures</string> | ||
27 | <string name="filter_type_snapshot">Snapshots</string> | ||
28 | <string name="filter_type_custom">Custom...</string> | ||
29 | |||
30 | <combo_box name="Quick Filter" label="Quick Filter" follows="left|top" | ||
31 | height="20" left="80" width="150" bottom_delta="0"> | ||
32 | |||
33 | <combo_item name="filter_type_all">All Types</combo_item> | ||
34 | <separator /> | ||
35 | <combo_item name="filter_type_animation">Animations</combo_item> | ||
36 | <combo_item name="filter_type_bodypart">Body Parts</combo_item> | ||
37 | <combo_item name="filter_type_callingcard">Calling Cards</combo_item> | ||
38 | <combo_item name="filter_type_clothing">Clothing</combo_item> | ||
39 | <combo_item name="filter_type_gesture">Gestures</combo_item> | ||
40 | <combo_item name="filter_type_landmark">Landmarks</combo_item> | ||
41 | <combo_item name="filter_type_notecard">Notecards</combo_item> | ||
42 | <combo_item name="filter_type_object">Objects</combo_item> | ||
43 | <combo_item name="filter_type_script">Scripts</combo_item> | ||
44 | <combo_item name="filter_type_sound">Sounds</combo_item> | ||
45 | <combo_item name="filter_type_texture">Textures</combo_item> | ||
46 | <combo_item name="filter_type_snapshot">Snapshots</combo_item> | ||
47 | <separator /> | ||
48 | <combo_item name="filter_type_custom">Custom...</combo_item> | ||
49 | |||
50 | </combo_box> | ||
51 | |||
52 | <tab_container name="inventory filter tabs" follows="left|top|right|bottom" | ||
53 | bottom_delta="-487" height="480" left="2" width="463" | ||
54 | mouse_opaque="false" tab_position="top"> | ||
55 | |||
11 | <inventory_panel allow_multi_select="true" border="true" bottom="-507" | 56 | <inventory_panel allow_multi_select="true" border="true" bottom="-507" |
12 | follows="left|top|right|bottom" height="491" label="All Items" left="1" | 57 | follows="left|top|right|bottom" height="431" label="All Items" left="1" |
13 | mouse_opaque="true" name="All Items" sort_order="InventorySortOrder" | 58 | mouse_opaque="true" name="All Items" sort_order="InventorySortOrder" |
14 | width="461" /> | 59 | width="461" /> |
15 | <inventory_panel allow_multi_select="true" border="true" bottom_delta="0" | 60 | <inventory_panel allow_multi_select="true" border="true" bottom_delta="0" |
16 | follows="left|top|right|bottom" height="491" label="Recent Items" | 61 | follows="left|top|right|bottom" height="431" label="Recent Items" |
17 | left_delta="0" mouse_opaque="true" name="Recent Items" | 62 | left_delta="0" mouse_opaque="true" name="Recent Items" |
18 | sort_order="RecentItemsSortOrder" width="461" /> | 63 | sort_order="RecentItemsSortOrder" width="461" /> |
19 | </tab_container> | 64 | </tab_container> |
65 | |||
20 | <menu_bar bottom="-34" drop_shadow="false" follows="left|top|right" height="18" left="2" | 66 | <menu_bar bottom="-34" drop_shadow="false" follows="left|top|right" height="18" left="2" |
21 | mouse_opaque="false" name="Inventory Menu" opaque="false" width="461"> | 67 | mouse_opaque="false" name="Inventory Menu" opaque="false" width="461"> |
22 | <menu bottom_delta="16" drop_shadow="true" height="101" | 68 | <menu bottom_delta="16" drop_shadow="true" height="101" |
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_inventory_view_finder.xml b/linden/indra/newview/skins/default/xui/en-us/floater_inventory_view_finder.xml index 9a9b8db..9a5756b 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_inventory_view_finder.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_inventory_view_finder.xml | |||
@@ -1,102 +1,133 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> | 1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> |
2 | <floater bottom="-495" can_close="true" can_drag_on_left="false" can_minimize="false" | 2 | |
3 | can_resize="false" can_tear_off="true" enabled="true" height="408" | 3 | <floater name="Inventory Finder" title="inventory_recent_items" |
4 | left="457" min_height="408" min_width="160" mouse_opaque="true" | 4 | bottom="-495" left="457" height="428" width="170" |
5 | name="Inventory Finder" title="inventory_recent_items" width="160"> | 5 | can_close="true" can_drag_on_left="false" can_minimize="false" |
6 | <icon bottom="-36" color="1 1 1 1" enabled="true" follows="left|top" height="16" | 6 | can_resize="false" can_tear_off="true"> |
7 | image_name="inv_item_animation.tga" left="8" mouse_opaque="true" | 7 | |
8 | name="icon_animation" width="16" /> | 8 | |
9 | <check_box bottom="-36" enabled="true" follows="left|top" font="SansSerifSmall" | 9 | <icon name="icon_animation" image_name="inv_item_animation.tga" |
10 | height="16" initial_value="false" label="Animation" left="26" | 10 | bottom="-36" left="8" height="16" width="16" follows="left|top" /> |
11 | mouse_opaque="true" name="check_animation" radio_style="false" width="126" /> | 11 | <check_box label="Animation" name="check_animation" |
12 | <icon bottom="-56" color="1 1 1 1" enabled="true" follows="left|top" height="16" | 12 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
13 | image_name="inv_item_callingcard_online.tga" left="8" mouse_opaque="true" | 13 | font="SansSerifSmall" initial_value="false" /> |
14 | name="icon_calling_card" width="16" /> | 14 | |
15 | <check_box bottom="-56" enabled="true" follows="left|top" font="SansSerifSmall" | 15 | |
16 | height="16" initial_value="false" label="Calling Cards" left="26" | 16 | <icon name="icon_bodypart" image_name="inv_item_skin.tga" |
17 | mouse_opaque="true" name="check_calling_card" radio_style="false" | 17 | bottom_delta="-20" left="8" height="16" width="16" follows="left|top" /> |
18 | width="126" /> | 18 | <check_box label="Body Parts" name="check_bodypart" |
19 | <icon bottom="-76" color="1 1 1 1" enabled="true" follows="left|top" height="16" | 19 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
20 | image_name="inv_item_shirt.tga" left="8" mouse_opaque="true" | 20 | font="SansSerifSmall" initial_value="false" /> |
21 | name="icon_clothing" width="16" /> | 21 | |
22 | <check_box bottom="-76" enabled="true" follows="left|top" font="SansSerifSmall" | 22 | |
23 | height="16" initial_value="false" label="Clothing" left="26" | 23 | <icon name="icon_calling_card" image_name="inv_item_callingcard_online.tga" |
24 | mouse_opaque="true" name="check_clothing" radio_style="false" width="126" /> | 24 | bottom_delta="-20" left="8" height="16" width="16" follows="left|top" /> |
25 | <icon bottom="-96" color="1 1 1 1" enabled="true" follows="left|top" height="16" | 25 | <check_box label="Calling Cards" name="check_calling_card" |
26 | image_name="inv_item_gesture.tga" left="8" mouse_opaque="true" | 26 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
27 | name="icon_gesture" width="16" /> | 27 | font="SansSerifSmall" initial_value="false" /> |
28 | <check_box bottom="-96" enabled="true" follows="left|top" font="SansSerifSmall" | 28 | |
29 | height="16" initial_value="false" label="Gestures" left="26" | 29 | |
30 | mouse_opaque="true" name="check_gesture" radio_style="false" width="126" /> | 30 | <icon name="icon_clothing" image_name="inv_item_shirt.tga" |
31 | <icon bottom="-116" color="1 1 1 1" enabled="true" follows="left|top" height="16" | 31 | bottom_delta="-20" left="8" height="16" width="16" follows="left|top" /> |
32 | image_name="inv_item_landmark_visited.tga" left="8" mouse_opaque="true" | 32 | <check_box label="Clothing" name="check_clothing" |
33 | name="icon_landmark" width="16" /> | 33 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
34 | <check_box bottom="-116" enabled="true" follows="left|top" font="SansSerifSmall" | 34 | font="SansSerifSmall" initial_value="false" /> |
35 | height="16" initial_value="false" label="Landmarks" left="26" | 35 | |
36 | mouse_opaque="true" name="check_landmark" radio_style="false" width="126" /> | 36 | |
37 | <icon bottom="-136" color="1 1 1 1" enabled="true" follows="left|top" height="16" | 37 | <icon name="icon_gesture" image_name="inv_item_gesture.tga" |
38 | image_name="inv_item_notecard.tga" left="8" mouse_opaque="true" | 38 | bottom_delta="-20" left="8" height="16" width="16" follows="left|top" /> |
39 | name="icon_notecard" width="16" /> | 39 | <check_box label="Gestures" name="check_gesture" |
40 | <check_box bottom="-136" enabled="true" follows="left|top" font="SansSerifSmall" | 40 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
41 | height="16" initial_value="false" label="Notecards" left="26" | 41 | font="SansSerifSmall" initial_value="false" /> |
42 | mouse_opaque="true" name="check_notecard" radio_style="false" width="126" /> | 42 | |
43 | <icon bottom="-156" color="1 1 1 1" enabled="true" follows="left|top" height="16" | 43 | |
44 | image_name="inv_item_object.tga" left="8" mouse_opaque="true" | 44 | <icon name="icon_landmark" image_name="inv_item_landmark_visited.tga" |
45 | name="icon_object" width="16" /> | 45 | bottom_delta="-20" left="8" height="16" width="16" follows="left|top" /> |
46 | <check_box bottom="-156" enabled="true" follows="left|top" font="SansSerifSmall" | 46 | <check_box label="Landmarks" name="check_landmark" |
47 | height="16" initial_value="false" label="Objects" left="26" | 47 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
48 | mouse_opaque="true" name="check_object" radio_style="false" width="126" /> | 48 | font="SansSerifSmall" initial_value="false" /> |
49 | <icon bottom="-176" color="1 1 1 1" enabled="true" follows="left|top" height="16" | 49 | |
50 | image_name="inv_item_script.tga" left="8" mouse_opaque="true" | 50 | |
51 | name="icon_script" width="16" /> | 51 | <icon name="icon_notecard" image_name="inv_item_notecard.tga" |
52 | <check_box bottom="-176" enabled="true" follows="left|top" font="SansSerifSmall" | 52 | bottom_delta="-20" left="8" height="16" width="16" follows="left|top" /> |
53 | height="16" initial_value="false" label="Scripts" left="26" | 53 | <check_box label="Notecards" name="check_notecard" |
54 | mouse_opaque="true" name="check_script" radio_style="false" width="126" /> | 54 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
55 | <icon bottom="-196" color="1 1 1 1" enabled="true" follows="left|top" height="16" | 55 | font="SansSerifSmall" initial_value="false" /> |
56 | image_name="inv_item_sound.tga" left="8" mouse_opaque="true" | 56 | |
57 | name="icon_sound" width="16" /> | 57 | |
58 | <check_box bottom="-196" enabled="true" follows="left|top" font="SansSerifSmall" | 58 | <icon name="icon_object" image_name="inv_item_object.tga" |
59 | height="16" initial_value="false" label="Sounds" left="26" | 59 | bottom_delta="-20" left="8" height="16" width="16" follows="left|top" /> |
60 | mouse_opaque="true" name="check_sound" radio_style="false" width="126" /> | 60 | <check_box label="Objects" name="check_object" |
61 | <icon bottom="-216" color="1 1 1 1" enabled="true" follows="left|top" height="16" | 61 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
62 | image_name="inv_item_texture.tga" left="8" mouse_opaque="true" | 62 | font="SansSerifSmall" initial_value="false" /> |
63 | name="icon_texture" width="16" /> | 63 | |
64 | <check_box bottom="-216" enabled="true" follows="left|top" font="SansSerifSmall" | 64 | |
65 | height="16" initial_value="false" label="Textures" left="26" | 65 | <icon name="icon_script" image_name="inv_item_script.tga" |
66 | mouse_opaque="true" name="check_texture" radio_style="false" width="126" /> | 66 | bottom_delta="-20" left="8" height="16" width="16" follows="left|top" /> |
67 | <icon bottom="-236" color="1 1 1 1" enabled="true" follows="left|top" height="16" | 67 | <check_box label="Scripts" name="check_script" |
68 | image_name="inv_item_snapshot.tga" left="8" mouse_opaque="true" | 68 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
69 | name="icon_snapshot" width="16" /> | 69 | font="SansSerifSmall" initial_value="false" /> |
70 | <check_box bottom="-236" enabled="true" follows="left|top" font="SansSerifSmall" | 70 | |
71 | height="16" initial_value="false" label="Snapshots" left="26" | 71 | |
72 | mouse_opaque="true" name="check_snapshot" radio_style="false" width="126" /> | 72 | <icon name="icon_sound" image_name="inv_item_sound.tga" |
73 | <button bottom="-260" enabled="true" follows="left|top" font="SansSerif" | 73 | bottom_delta="-20" left="8" height="16" width="16" follows="left|top" /> |
74 | halign="center" height="20" label="All" label_selected="All" left="8" | 74 | <check_box label="Sounds" name="check_sound" |
75 | mouse_opaque="true" name="All" scale_image="true" width="100" /> | 75 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
76 | <button bottom="-284" enabled="true" follows="left|top" font="SansSerif" | 76 | font="SansSerifSmall" initial_value="false" /> |
77 | halign="center" height="20" label="None" label_selected="None" left="8" | 77 | |
78 | mouse_opaque="true" name="None" scale_image="true" width="100" /> | 78 | |
79 | <check_box bottom="-304" enabled="true" follows="left|top" font="SansSerifSmall" | 79 | <icon name="icon_texture" image_name="inv_item_texture.tga" |
80 | height="16" initial_value="false" label="Always show folders" left="8" | 80 | bottom_delta="-20" left="8" height="16" width="16" follows="left|top" /> |
81 | mouse_opaque="true" name="check_show_empty" radio_style="false" width="144" /> | 81 | <check_box label="Textures" name="check_texture" |
82 | <check_box bottom="-324" enabled="true" follows="left|top" font="SansSerifSmall" | 82 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
83 | height="16" initial_value="false" label="Since Logoff" left="8" | 83 | font="SansSerifSmall" initial_value="false" /> |
84 | mouse_opaque="true" name="check_since_logoff" radio_style="false" | 84 | |
85 | width="144" /> | 85 | |
86 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | 86 | <icon name="icon_snapshot" image_name="inv_item_snapshot.tga" |
87 | bottom="-336" drop_shadow_visible="true" enabled="true" follows="left|top" | 87 | bottom_delta="-20" left="8" height="16" width="16" follows="left|top" /> |
88 | font="SansSerifSmall" h_pad="0" halign="center" height="12" left="8" | 88 | <check_box label="Snapshots" name="check_snapshot" |
89 | mouse_opaque="true" name="- OR -" v_pad="0" width="144"> | 89 | bottom_delta="0" left="26" height="16" width="126" follows="left|top" |
90 | font="SansSerifSmall" initial_value="false" /> | ||
91 | |||
92 | |||
93 | <button label="All" label_selected="All" name="All" | ||
94 | bottom_delta="-24" left="8" height="20" width="100" follows="left|top" | ||
95 | font="SansSerif" halign="center" scale_image="true" /> | ||
96 | |||
97 | <button label="None" label_selected="None" name="None" | ||
98 | bottom_delta="-24" left="8" height="20" width="100" follows="left|top" | ||
99 | font="SansSerif" halign="center" scale_image="true" /> | ||
100 | |||
101 | |||
102 | <check_box label="Always show folders" name="check_show_empty" | ||
103 | bottom_delta="-20" left="8" height="16" width="144" follows="left|top" | ||
104 | font="SansSerifSmall" initial_value="false" /> | ||
105 | |||
106 | |||
107 | <check_box label="Since Logoff" name="check_since_logoff" | ||
108 | bottom_delta="-20" left="8" height="16" width="144" follows="left|top" | ||
109 | font="SansSerifSmall" initial_value="false" /> | ||
110 | |||
111 | |||
112 | <text name="- OR -" type="string" length="1" | ||
113 | bottom_delta="-12" left="8" height="12" width="144" follows="left|top" | ||
114 | halign="center" h_pad="0" v_pad="0" | ||
115 | bg_visible="false" border_drop_shadow_visible="false" | ||
116 | border_visible="false" drop_shadow_visible="true" | ||
117 | font="SansSerifSmall"> | ||
90 | - OR - | 118 | - OR - |
91 | </text> | 119 | </text> |
92 | <spinner bottom="-356" enabled="true" follows="left|top" height="16" increment="1" | 120 | |
93 | initial_val="0" label="Hours Ago" label_width="64" left="8" | 121 | |
94 | max_val="240000" min_val="0" mouse_opaque="true" name="spin_hours_ago" | 122 | <spinner label="Hours Ago" label_width="64" name="spin_hours_ago" |
95 | width="144" /> | 123 | bottom_delta="-20" left="8" height="16" width="144" follows="left|top" |
96 | <spinner bottom="-376" enabled="true" follows="left|top" height="16" increment="1" | 124 | increment="1" initial_val="0" max_val="240000" min_val="0" /> |
97 | initial_val="0" label="Days Ago" label_width="64" left="8" max_val="10000" | 125 | <spinner label="Days Ago" label_width="64" name="spin_days_ago" |
98 | min_val="0" mouse_opaque="true" name="spin_days_ago" width="144" /> | 126 | bottom_delta="-20" left="8" width="144" height="16" follows="left|top" |
99 | <button bottom="-400" enabled="true" follows="top|right" font="SansSerif" | 127 | increment="1" initial_val="0" max_val="10000" min_val="0" /> |
100 | halign="center" height="20" label="Close" label_selected="Close" | 128 | |
101 | mouse_opaque="true" name="Close" right="-6" scale_image="true" width="76" /> | 129 | |
130 | <button label="Close" label_selected="Close" name="Close" | ||
131 | bottom="-420" right="-6" height="20" width="76" follows="top|right" | ||
132 | font="SansSerif" halign="center" scale_image="true" /> | ||
102 | </floater> | 133 | </floater> |