diff options
author | Armin Weatherwax | 2011-04-09 16:34:41 +0200 |
---|---|---|
committer | McCabe Maxsted | 2011-04-19 17:50:31 -0700 |
commit | 435b1ab185f88ec9716e8abfca61e80b2b44fabd (patch) | |
tree | e70d0533a8efeb73fd71b02c2da648b6cedd5b38 /linden/indra | |
parent | Added missing NULL check for gAudiostream in chatbar_as_cmdline (diff) | |
download | meta-impy-435b1ab185f88ec9716e8abfca61e80b2b44fabd.zip meta-impy-435b1ab185f88ec9716e8abfca61e80b2b44fabd.tar.gz meta-impy-435b1ab185f88ec9716e8abfca61e80b2b44fabd.tar.bz2 meta-impy-435b1ab185f88ec9716e8abfca61e80b2b44fabd.tar.xz |
add some basic cloud preferences in prefs > advanced >eye candy - please review perms
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/app_settings/cloud.xml | 5 | ||||
-rw-r--r-- | linden/indra/newview/llappviewer.cpp | 5 | ||||
-rw-r--r-- | linden/indra/newview/llprefsadvanced.cpp | 97 | ||||
-rw-r--r-- | linden/indra/newview/llprefsadvanced.h | 12 | ||||
-rw-r--r-- | linden/indra/newview/llvoavatar.cpp | 40 | ||||
-rw-r--r-- | linden/indra/newview/llvoavatar.h | 7 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/panel_particle_settings.xml | 46 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml | 9 |
8 files changed, 212 insertions, 9 deletions
diff --git a/linden/indra/newview/app_settings/cloud.xml b/linden/indra/newview/app_settings/cloud.xml index e62bcf1..fdc420a 100644 --- a/linden/indra/newview/app_settings/cloud.xml +++ b/linden/indra/newview/app_settings/cloud.xml | |||
@@ -49,8 +49,9 @@ | |||
49 | <key>ParticleMaxAge</key><!-- how long a single particle can live with 0 forever --> | 49 | <key>ParticleMaxAge</key><!-- how long a single particle can live with 0 forever --> |
50 | <real>4</real> | 50 | <real>4</real> |
51 | 51 | ||
52 | <key>PartImageID</key> <!--This setting is ignored for the cloud, used instead for now is the hardcoded --> | 52 | <key>PartImageID</key> |
53 | <string>0000000000000-0000-0000-000000000000</string><!-- skins/default/textures/cloud-particle.j2c --> | 53 | <!--if this is a NULL UUID the hardcoded skins/default/textures/cloud-particle.j2c is used--> |
54 | <string>0000000000000-0000-0000-000000000000</string> | ||
54 | 55 | ||
55 | <key>StartColor</key><!-- RGBA --> | 56 | <key>StartColor</key><!-- RGBA --> |
56 | <array> | 57 | <array> |
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index 0bb5759..1d62a1a 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp | |||
@@ -4203,6 +4203,11 @@ void LLAppViewer::disconnectViewer() | |||
4203 | 4203 | ||
4204 | saveNameCache(); | 4204 | saveNameCache(); |
4205 | 4205 | ||
4206 | { | ||
4207 | std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "cloud.xml"); | ||
4208 | LLVOAvatar::saveCloud(filename, LLVOAvatar::sCloud); | ||
4209 | } | ||
4210 | |||
4206 | // close inventory interface, close all windows | 4211 | // close inventory interface, close all windows |
4207 | LLInventoryView::cleanup(); | 4212 | LLInventoryView::cleanup(); |
4208 | // Don't cleanup menus on disconnect in order to avoid crashes -- MC | 4213 | // Don't cleanup menus on disconnect in order to avoid crashes -- MC |
diff --git a/linden/indra/newview/llprefsadvanced.cpp b/linden/indra/newview/llprefsadvanced.cpp index c3a9c0b..ad60694 100644 --- a/linden/indra/newview/llprefsadvanced.cpp +++ b/linden/indra/newview/llprefsadvanced.cpp | |||
@@ -42,8 +42,9 @@ | |||
42 | #include "lggautocorrectfloater.h" | 42 | #include "lggautocorrectfloater.h" |
43 | #include "llcombobox.h" | 43 | #include "llcombobox.h" |
44 | #include "llcolorswatch.h" | 44 | #include "llcolorswatch.h" |
45 | 45 | #include "llstartup.h" | |
46 | #include "lluictrlfactory.h" | 46 | #include "lluictrlfactory.h" |
47 | #include "lltexturectrl.h" | ||
47 | 48 | ||
48 | #include "boost/algorithm/string.hpp" | 49 | #include "boost/algorithm/string.hpp" |
49 | 50 | ||
@@ -116,9 +117,12 @@ BOOL LLPrefsAdvanced::postBuild() | |||
116 | getChild<LLButton>("EmSpell_Remove")->setClickedCallback(onSpellRemove, this); | 117 | getChild<LLButton>("EmSpell_Remove")->setClickedCallback(onSpellRemove, this); |
117 | 118 | ||
118 | getChild<LLButton>("ac_button")->setClickedCallback(onAutoCorrectButton,this); | 119 | getChild<LLButton>("ac_button")->setClickedCallback(onAutoCorrectButton,this); |
119 | |||
120 | initHelpBtn("EmeraldHelp_SpellCheck", "EmeraldHelp_SpellCheck"); | 120 | initHelpBtn("EmeraldHelp_SpellCheck", "EmeraldHelp_SpellCheck"); |
121 | 121 | ||
122 | |||
123 | getChild<LLButton>("save_cloud_this_account")->setClickedCallback(onSaveThisCloudButton,this); | ||
124 | getChild<LLButton>("save_cloud_any_account")->setClickedCallback(onSaveAnyoneCloudButton,this); | ||
125 | |||
122 | refresh(); | 126 | refresh(); |
123 | 127 | ||
124 | return TRUE; | 128 | return TRUE; |
@@ -144,6 +148,8 @@ void LLPrefsAdvanced::apply() | |||
144 | gSavedSettings.setU32("LightShareAllowed", | 148 | gSavedSettings.setU32("LightShareAllowed", |
145 | (U32)childGetValue("lightshare_combo").asInteger()); | 149 | (U32)childGetValue("lightshare_combo").asInteger()); |
146 | 150 | ||
151 | |||
152 | |||
147 | // Need to force a rebake when ClothingLayerProtection toggled for it take effect -- MC | 153 | // Need to force a rebake when ClothingLayerProtection toggled for it take effect -- MC |
148 | if (gSavedSettings.getBOOL("ShowMyClientTagToOthers") != (BOOL)childGetValue("client_name_tag_broadcast_check")) | 154 | if (gSavedSettings.getBOOL("ShowMyClientTagToOthers") != (BOOL)childGetValue("client_name_tag_broadcast_check")) |
149 | { | 155 | { |
@@ -208,11 +214,17 @@ void LLPrefsAdvanced::apply() | |||
208 | 214 | ||
209 | LLComboBox* crash_behavior_combobox = getChild<LLComboBox>("crash_behavior_combobox"); | 215 | LLComboBox* crash_behavior_combobox = getChild<LLComboBox>("crash_behavior_combobox"); |
210 | gCrashSettings.setS32(CRASH_BEHAVIOR_SETTING, crash_behavior_combobox->getCurrentIndex()); | 216 | gCrashSettings.setS32(CRASH_BEHAVIOR_SETTING, crash_behavior_combobox->getCurrentIndex()); |
217 | |||
218 | onSaveThisCloudButton(NULL); | ||
211 | } | 219 | } |
212 | 220 | ||
213 | void LLPrefsAdvanced::cancel() | 221 | void LLPrefsAdvanced::cancel() |
214 | { | 222 | { |
215 | gSavedSettings.setColor4("ImprudenceTagColor", mClientTagColor); | 223 | gSavedSettings.setColor4("ImprudenceTagColor", mClientTagColor); |
224 | // llwarns << "cancel" << llendl; | ||
225 | // cool - "ok" is also cancel | ||
226 | // LLVOAvatar::sCloud.mPartData.mStartColor = mCloudStartColor; | ||
227 | // LLVOAvatar::sCloud.mPartData.mEndColor = mCloudEndColor; | ||
216 | } | 228 | } |
217 | 229 | ||
218 | void LLPrefsAdvanced::refresh() | 230 | void LLPrefsAdvanced::refresh() |
@@ -272,6 +284,74 @@ void LLPrefsAdvanced::refresh() | |||
272 | } | 284 | } |
273 | comboBox->selectByValue(selected); | 285 | comboBox->selectByValue(selected); |
274 | } | 286 | } |
287 | |||
288 | |||
289 | bool is_logged_in = LLStartUp::isLoggedIn(); | ||
290 | setParticleControls(is_logged_in); | ||
291 | |||
292 | } | ||
293 | |||
294 | void LLPrefsAdvanced::draw() | ||
295 | { | ||
296 | |||
297 | bool is_logged_in = LLStartUp::isLoggedIn(); | ||
298 | if(LLVOAvatar::sHasCloud && mWasLoggedIn != is_logged_in) | ||
299 | { | ||
300 | |||
301 | |||
302 | setParticleControls(is_logged_in); | ||
303 | |||
304 | mCloudStartColor = LLVOAvatar::sCloud.mPartData.mStartColor; | ||
305 | mCloudEndColor = LLVOAvatar::sCloud.mPartData.mEndColor; | ||
306 | |||
307 | |||
308 | getChild<LLColorSwatchCtrl>("part_start_color_swatch")->set(mCloudStartColor); | ||
309 | getChild<LLColorSwatchCtrl>("part_end_color_swatch")->set(mCloudEndColor); | ||
310 | |||
311 | |||
312 | mCloudTextureID = LLVOAvatar::sCloud.mPartImageID; | ||
313 | LLTextureCtrl* texture_ctrl = getChild<LLTextureCtrl>("part_texture_picker"); | ||
314 | if (texture_ctrl) | ||
315 | { | ||
316 | texture_ctrl->setImageAssetID(mCloudTextureID); | ||
317 | texture_ctrl->setAllowNoTexture( true ); | ||
318 | |||
319 | // Don't allow (no copy) or (no transfer) textures to be selected. | ||
320 | // With that we are less permissive than the original LL code of | ||
321 | // LLWaterParamManager, which allows picking (and saving) plain texture uuids | ||
322 | // without any permission check. | ||
323 | // If real absurdity is necessary we let the user save a windlight water setting | ||
324 | // for the texture uuid. | ||
325 | |||
326 | texture_ctrl->setImmediateFilterPermMask(PERM_NONE);//PERM_COPY | PERM_TRANSFER); | ||
327 | texture_ctrl->setNonImmediateFilterPermMask(PERM_NONE); | ||
328 | } | ||
329 | |||
330 | |||
331 | mWasLoggedIn = is_logged_in; | ||
332 | } | ||
333 | |||
334 | if(LLVOAvatar::sHasCloud && is_logged_in) | ||
335 | { | ||
336 | |||
337 | LLVOAvatar::sCloud.mPartData.mStartColor = childGetValue("part_start_color_swatch"); | ||
338 | LLVOAvatar::sCloud.mPartData.mEndColor = childGetValue("part_end_color_swatch"); | ||
339 | LLVOAvatar::sCloud.mPartImageID = childGetValue("part_texture_picker"); | ||
340 | } | ||
341 | |||
342 | LLPanel::draw(); | ||
343 | } | ||
344 | |||
345 | void LLPrefsAdvanced::setParticleControls(bool is_logged_in) | ||
346 | { | ||
347 | |||
348 | childSetEnabled("save_cloud_this_account", is_logged_in); | ||
349 | childSetEnabled("save_cloud_any_account", is_logged_in); | ||
350 | childSetEnabled("part_start_color_swatch", is_logged_in); | ||
351 | childSetEnabled("part_end_color_swatch", is_logged_in); | ||
352 | childSetEnabled("part_texture_picker", is_logged_in ); | ||
353 | |||
354 | childSetVisible("must_be_logged_in_textbox", !is_logged_in); | ||
275 | } | 355 | } |
276 | 356 | ||
277 | //static | 357 | //static |
@@ -338,3 +418,16 @@ void LLPrefsAdvanced::onClickCommandLine(void* data) | |||
338 | FloaterCommandLine::getInstance()->open(); | 418 | FloaterCommandLine::getInstance()->open(); |
339 | FloaterCommandLine::getInstance()->center(); | 419 | FloaterCommandLine::getInstance()->center(); |
340 | } | 420 | } |
421 | |||
422 | void LLPrefsAdvanced::onSaveThisCloudButton(void * data) | ||
423 | { | ||
424 | std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "cloud.xml"); | ||
425 | LLVOAvatar::saveCloud(filename, LLVOAvatar::sCloud); | ||
426 | } | ||
427 | |||
428 | void LLPrefsAdvanced::onSaveAnyoneCloudButton(void * data) | ||
429 | { | ||
430 | std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "cloud.xml"); | ||
431 | LLVOAvatar::saveCloud(filename, LLVOAvatar::sCloud); | ||
432 | } | ||
433 | |||
diff --git a/linden/indra/newview/llprefsadvanced.h b/linden/indra/newview/llprefsadvanced.h index 22236ce..87ddc59 100644 --- a/linden/indra/newview/llprefsadvanced.h +++ b/linden/indra/newview/llprefsadvanced.h | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include "llpanel.h" | 34 | #include "llpanel.h" |
35 | #include "llviewerinventory.h" | 35 | #include "llviewerinventory.h" |
36 | class LLColor4; | ||
36 | 37 | ||
37 | class LLPrefsAdvanced : public LLPanel | 38 | class LLPrefsAdvanced : public LLPanel |
38 | { | 39 | { |
@@ -45,7 +46,7 @@ public: | |||
45 | void apply(); | 46 | void apply(); |
46 | void cancel(); | 47 | void cancel(); |
47 | void refresh(); | 48 | void refresh(); |
48 | 49 | void draw(); | |
49 | private: | 50 | private: |
50 | static LLPrefsAdvanced* sInstance; | 51 | static LLPrefsAdvanced* sInstance; |
51 | 52 | ||
@@ -58,12 +59,21 @@ private: | |||
58 | static void onSpellEditCustom(void* data); | 59 | static void onSpellEditCustom(void* data); |
59 | static void onSpellBaseComboBoxCommit(LLUICtrl* ctrl, void* userdata); | 60 | static void onSpellBaseComboBoxCommit(LLUICtrl* ctrl, void* userdata); |
60 | static void onAutoCorrectButton(void * data); | 61 | static void onAutoCorrectButton(void * data); |
62 | static void onSaveThisCloudButton(void * data); | ||
63 | static void onSaveAnyoneCloudButton(void * data); | ||
61 | 64 | ||
62 | LLColor4 mClientTagColor; | 65 | LLColor4 mClientTagColor; |
63 | 66 | ||
64 | protected: | 67 | protected: |
68 | void setParticleControls(bool is_logged_in); | ||
65 | void initHelpBtn(const std::string& name, const std::string& xml_alert); | 69 | void initHelpBtn(const std::string& name, const std::string& xml_alert); |
66 | static void onClickHelp(void* data); | 70 | static void onClickHelp(void* data); |
71 | |||
72 | private: | ||
73 | bool mWasLoggedIn; | ||
74 | LLColor4 mCloudStartColor; | ||
75 | LLColor4 mCloudEndColor; | ||
76 | LLUUID mCloudTextureID; | ||
67 | }; | 77 | }; |
68 | 78 | ||
69 | #endif // LLPREFSADVANCED_H | 79 | #endif // LLPREFSADVANCED_H |
diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp index 41d1c88..d8b0994 100644 --- a/linden/indra/newview/llvoavatar.cpp +++ b/linden/indra/newview/llvoavatar.cpp | |||
@@ -1038,6 +1038,7 @@ LLVOAvatar::~LLVOAvatar() | |||
1038 | LL_DEBUGS("VOAvatar") << "Destructing Zombie from previous session." << LL_ENDL; | 1038 | LL_DEBUGS("VOAvatar") << "Destructing Zombie from previous session." << LL_ENDL; |
1039 | } | 1039 | } |
1040 | 1040 | ||
1041 | |||
1041 | mRoot.removeAllChildren(); | 1042 | mRoot.removeAllChildren(); |
1042 | 1043 | ||
1043 | delete [] mSkeleton; | 1044 | delete [] mSkeleton; |
@@ -1493,6 +1494,8 @@ void LLVOAvatar::cleanupClass() | |||
1493 | } | 1494 | } |
1494 | 1495 | ||
1495 | LLPartSysData LLVOAvatar::sCloud; | 1496 | LLPartSysData LLVOAvatar::sCloud; |
1497 | bool LLVOAvatar::sHasCloud = false; | ||
1498 | |||
1496 | void LLVOAvatar::initCloud() | 1499 | void LLVOAvatar::initCloud() |
1497 | { | 1500 | { |
1498 | // fancy particle cloud designed by Brent | 1501 | // fancy particle cloud designed by Brent |
@@ -1506,12 +1509,43 @@ void LLVOAvatar::initCloud() | |||
1506 | filename = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "cloud.xml"); | 1509 | filename = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "cloud.xml"); |
1507 | } | 1510 | } |
1508 | 1511 | ||
1512 | loadCloud(filename, sCloud); | ||
1513 | sHasCloud = true; | ||
1514 | } | ||
1515 | |||
1516 | |||
1517 | void LLVOAvatar::loadCloud(const std::string& filename, LLPartSysData& particles) | ||
1518 | { | ||
1509 | LLSD cloud; | 1519 | LLSD cloud; |
1510 | llifstream in_file(filename); | 1520 | llifstream in_file(filename); |
1511 | LLSDSerialize::fromXMLDocument(cloud, in_file); | 1521 | LLSDSerialize::fromXMLDocument(cloud, in_file); |
1512 | sCloud.fromLLSD(cloud); | 1522 | |
1513 | LLViewerImage* cloud_image = gImageList.getImageFromFile("cloud-particle.j2c"); | 1523 | particles.fromLLSD(cloud); |
1514 | sCloud.mPartImageID = cloud_image->getID(); | 1524 | if(particles.mPartImageID.isNull()) |
1525 | { | ||
1526 | LLViewerImage* cloud_image = gImageList.getImageFromFile("cloud-particle.j2c"); | ||
1527 | particles.mPartImageID = cloud_image->getID(); | ||
1528 | } | ||
1529 | } | ||
1530 | |||
1531 | |||
1532 | void LLVOAvatar::saveCloud(const std::string& filename, LLPartSysData& particles) | ||
1533 | { | ||
1534 | llofstream out(filename); | ||
1535 | if (!out.good()) | ||
1536 | { | ||
1537 | llwarns << "Unable to open " << filename << " for output." << llendl; | ||
1538 | return; | ||
1539 | } | ||
1540 | LLSDSerialize::toXML(particles.asLLSD(), out); | ||
1541 | out.close(); | ||
1542 | |||
1543 | // Imprudence: actually we could export any particle system with this, | ||
1544 | // though we don't have a clue about its creator (could be from a no mod script) :( | ||
1545 | // This is probably also not ok to export on open sim grids, | ||
1546 | // unless theiy either add a creator property to particle systems | ||
1547 | // or their terms of service make sure this sort of content is free and open. | ||
1548 | // Saving only the cloud for now, which only exists client side. | ||
1515 | 1549 | ||
1516 | } | 1550 | } |
1517 | 1551 | ||
diff --git a/linden/indra/newview/llvoavatar.h b/linden/indra/newview/llvoavatar.h index e585a6a..4d08bf0 100644 --- a/linden/indra/newview/llvoavatar.h +++ b/linden/indra/newview/llvoavatar.h | |||
@@ -97,7 +97,11 @@ public: | |||
97 | static void initClass(); // Initialize data that's only init'd once per class. | 97 | static void initClass(); // Initialize data that's only init'd once per class. |
98 | static void cleanupClass(); // Cleanup data that's only init'd once per class. | 98 | static void cleanupClass(); // Cleanup data that's only init'd once per class. |
99 | static BOOL parseSkeletonFile(const std::string& filename); | 99 | static BOOL parseSkeletonFile(const std::string& filename); |
100 | |||
100 | static void initCloud(); | 101 | static void initCloud(); |
102 | static void loadCloud(const std::string& filename, LLPartSysData& particles); | ||
103 | static void saveCloud(const std::string& filename, LLPartSysData& particles); | ||
104 | |||
101 | virtual U32 processUpdateMessage(LLMessageSystem *mesgsys, | 105 | virtual U32 processUpdateMessage(LLMessageSystem *mesgsys, |
102 | void **user_data, | 106 | void **user_data, |
103 | U32 block_num, | 107 | U32 block_num, |
@@ -587,7 +591,8 @@ public: | |||
587 | static F32 sLODFactor; // user-settable LOD factor | 591 | static F32 sLODFactor; // user-settable LOD factor |
588 | static BOOL sJointDebug; // output total number of joints being touched for each avatar | 592 | static BOOL sJointDebug; // output total number of joints being touched for each avatar |
589 | static BOOL sDebugAvatarRotation; | 593 | static BOOL sDebugAvatarRotation; |
590 | static LLPartSysData sCloud; | 594 | static LLPartSysData sCloud; |
595 | static bool sHasCloud; | ||
591 | 596 | ||
592 | static S32 sNumVisibleAvatars; // Number of instances of this class | 597 | static S32 sNumVisibleAvatars; // Number of instances of this class |
593 | 598 | ||
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_particle_settings.xml b/linden/indra/newview/skins/default/xui/en-us/panel_particle_settings.xml new file mode 100644 index 0000000..e5064dd --- /dev/null +++ b/linden/indra/newview/skins/default/xui/en-us/panel_particle_settings.xml | |||
@@ -0,0 +1,46 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> | ||
2 | <panel border="true" bottom="-580" follows="left|top|right|bottom" height="525" label="Particle Settings" | ||
3 | left="1" mouse_opaque="true" name="ParticleSettings" width="418"> | ||
4 | |||
5 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
6 | bottom_delta="-36" drop_shadow_visible="true" enabled="true" follows="left|top" | ||
7 | font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10" | ||
8 | mouse_opaque="true" name="part_start_color_textbox" v_pad="0" width="394"> | ||
9 | Start Color: | ||
10 | </text> | ||
11 | <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom_delta="-44" | ||
12 | can_apply_immediately="false" color="1 1 1 1" | ||
13 | enabled="true" follows="left|top" height="55" label="" left_delta="53" | ||
14 | mouse_opaque="true" name="part_start_color_swatch" | ||
15 | tool_tip="Click to open Color Picker" width="45" /> | ||
16 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
17 | bottom_delta="-20" drop_shadow_visible="true" enabled="true" follows="left|top" | ||
18 | font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10" | ||
19 | mouse_opaque="true" name="part_end_color_textbox" v_pad="0" width="394"> | ||
20 | End Color: | ||
21 | </text> | ||
22 | <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom_delta="-44" | ||
23 | can_apply_immediately="false" color="1 1 1 1" | ||
24 | enabled="true" follows="left|top" height="55" label="" left_delta="53" | ||
25 | mouse_opaque="true" name="part_end_color_swatch" | ||
26 | tool_tip="Click to open Color Picker" width="45" /> | ||
27 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
28 | bottom_delta="-20" drop_shadow_visible="true" enabled="true" follows="left|top" | ||
29 | font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10" | ||
30 | mouse_opaque="true" name="part_texture_textbox" v_pad="0" width="394"> | ||
31 | Texture: | ||
32 | </text> | ||
33 | |||
34 | <texture_picker border_color="0.45098 0.517647 0.607843 1" bottom_delta="-44" | ||
35 | can_apply_immediately="false" color="1 1 1 1" | ||
36 | enabled="true" follows="left|top" height="55" label="" left_delta="53" | ||
37 | mouse_opaque="true" name="part_texture_picker" | ||
38 | tool_tip="Click to open Texture Chooser" width="45" /> | ||
39 | <button name="save_cloud_this_account" label="save for this account" halign="center" | ||
40 | tool_tip="save the Avatar particle cloud for this account" left="12" | ||
41 | bottom_delta="-50" width="180" height="20" font="SansSerifSmall" follows="left|top"/> | ||
42 | <button name="save_cloud_any_account" label="save for any account" halign="center" | ||
43 | tool_tip="save the Avatar particle cloud for any account" left="12" | ||
44 | bottom_delta="-24" width="180" height="20" font="SansSerifSmall" follows="left|top"/> | ||
45 | </panel> | ||
46 | |||
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml index e6d4059..2d2b810 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml | |||
@@ -186,6 +186,15 @@ To use spellcheck, right-click a misspelled word | |||
186 | tool_tip="Modify the AutoCorrect word list and settings" left="12" | 186 | tool_tip="Modify the AutoCorrect word list and settings" left="12" |
187 | bottom_delta="-50" width="180" height="20" font="SansSerifSmall" follows="left|top"/> | 187 | bottom_delta="-50" width="180" height="20" font="SansSerifSmall" follows="left|top"/> |
188 | </panel> | 188 | </panel> |
189 | <panel border="true" bottom="-580" follows="left|top|right|bottom" height="525" label="Eye Candy" | ||
190 | left="1" mouse_opaque="true" filename="panel_particle_settings.xml" name="AvatarCloud" width="418"> | ||
191 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
192 | bottom_delta="-20" drop_shadow_visible="true" enabled="true" follows="left|top" | ||
193 | font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10" | ||
194 | mouse_opaque="true" name="must_be_logged_in_textbox" v_pad="0" width="394"> | ||
195 | You must be logged in to change this | ||
196 | </text> | ||
197 | </panel> | ||
189 | 198 | ||
190 | </tab_container> | 199 | </tab_container> |
191 | </panel> | 200 | </panel> |