diff options
Diffstat (limited to 'linden/indra')
38 files changed, 886 insertions, 234 deletions
diff --git a/linden/indra/llcommon/llversionviewer.h b/linden/indra/llcommon/llversionviewer.h index b8f7ae8..30d8530 100644 --- a/linden/indra/llcommon/llversionviewer.h +++ b/linden/indra/llcommon/llversionviewer.h | |||
@@ -45,6 +45,6 @@ const char * const IMP_VIEWER_NAME = "Imprudence"; | |||
45 | const S32 IMP_VERSION_MAJOR = 1; | 45 | const S32 IMP_VERSION_MAJOR = 1; |
46 | const S32 IMP_VERSION_MINOR = 2; | 46 | const S32 IMP_VERSION_MINOR = 2; |
47 | const S32 IMP_VERSION_PATCH = 0; | 47 | const S32 IMP_VERSION_PATCH = 0; |
48 | const char * const IMP_VERSION_TEST = "beta"; | 48 | const char * const IMP_VERSION_TEST = "beta 2"; |
49 | 49 | ||
50 | #endif | 50 | #endif |
diff --git a/linden/indra/newview/English.lproj/InfoPlist.strings b/linden/indra/newview/English.lproj/InfoPlist.strings index 074005b..14a0102 100644 --- a/linden/indra/newview/English.lproj/InfoPlist.strings +++ b/linden/indra/newview/English.lproj/InfoPlist.strings | |||
@@ -1,5 +1,5 @@ | |||
1 | /* Localized versions of Info.plist keys */ | 1 | /* Localized versions of Info.plist keys */ |
2 | 2 | ||
3 | CFBundleName = "Imprudence"; | 3 | CFBundleName = "Imprudence"; |
4 | CFBundleShortVersionString = "Imprudence version 1.2.0 beta"; | 4 | CFBundleShortVersionString = "Imprudence version 1.2.0 beta 2"; |
5 | CFBundleGetInfoString = "Imprudence version 1.2.0 beta"; | 5 | CFBundleGetInfoString = "Imprudence version 1.2.0 beta 2"; |
diff --git a/linden/indra/newview/Info-Imprudence.plist b/linden/indra/newview/Info-Imprudence.plist index 750afd7..e44dcbe 100644 --- a/linden/indra/newview/Info-Imprudence.plist +++ b/linden/indra/newview/Info-Imprudence.plist | |||
@@ -32,7 +32,7 @@ | |||
32 | </dict> | 32 | </dict> |
33 | </array> | 33 | </array> |
34 | <key>CFBundleVersion</key> | 34 | <key>CFBundleVersion</key> |
35 | <string>1.2.0 beta</string> | 35 | <string>1.2.0 beta 2</string> |
36 | <key>CSResourcesFileMapped</key> | 36 | <key>CSResourcesFileMapped</key> |
37 | <true/> | 37 | <true/> |
38 | </dict> | 38 | </dict> |
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index 8ffcb19..55e6131 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml | |||
@@ -5088,7 +5088,7 @@ | |||
5088 | <key>Value</key> | 5088 | <key>Value</key> |
5089 | <integer>1</integer> | 5089 | <integer>1</integer> |
5090 | </map> | 5090 | </map> |
5091 | <key>MiniMapNotify</key> | 5091 | <key>MiniMapNotifyChatRange</key> |
5092 | <map> | 5092 | <map> |
5093 | <key>Comment</key> | 5093 | <key>Comment</key> |
5094 | <string>Notify when avatars enter chat range</string> | 5094 | <string>Notify when avatars enter chat range</string> |
@@ -5099,6 +5099,17 @@ | |||
5099 | <key>Value</key> | 5099 | <key>Value</key> |
5100 | <integer>1</integer> | 5100 | <integer>1</integer> |
5101 | </map> | 5101 | </map> |
5102 | <key>MiniMapNotifySimRange</key> | ||
5103 | <map> | ||
5104 | <key>Comment</key> | ||
5105 | <string>Notify when avatars enters the current sim</string> | ||
5106 | <key>Persist</key> | ||
5107 | <integer>1</integer> | ||
5108 | <key>Type</key> | ||
5109 | <string>Boolean</string> | ||
5110 | <key>Value</key> | ||
5111 | <integer>0</integer> | ||
5112 | </map> | ||
5102 | <key>MiniMapPrimMaxRadius</key> | 5113 | <key>MiniMapPrimMaxRadius</key> |
5103 | <map> | 5114 | <map> |
5104 | <key>Comment</key> | 5115 | <key>Comment</key> |
@@ -7992,6 +8003,28 @@ | |||
7992 | <key>Value</key> | 8003 | <key>Value</key> |
7993 | <integer>0</integer> | 8004 | <integer>0</integer> |
7994 | </map> | 8005 | </map> |
8006 | <key>SpamCount</key> | ||
8007 | <map> | ||
8008 | <key>Comment</key> | ||
8009 | <string>Number of items spammed per time set in SpamTime. RECOMMENDED IS 4.000</string> | ||
8010 | <key>Persist</key> | ||
8011 | <integer>1</integer> | ||
8012 | <key>Type</key> | ||
8013 | <string>F32</string> | ||
8014 | <key>Value</key> | ||
8015 | <real>4.0</real> | ||
8016 | </map> | ||
8017 | <key>SpamTime</key> | ||
8018 | <map> | ||
8019 | <key>Comment</key> | ||
8020 | <string>Time of Evalulating spam. RECOMMENDED NUMBER IS 1.000</string> | ||
8021 | <key>Persist</key> | ||
8022 | <integer>1</integer> | ||
8023 | <key>Type</key> | ||
8024 | <string>F32</string> | ||
8025 | <key>Value</key> | ||
8026 | <real>1.0</real> | ||
8027 | </map> | ||
7995 | <key>SpeakingColor</key> | 8028 | <key>SpeakingColor</key> |
7996 | <map> | 8029 | <map> |
7997 | <key>Comment</key> | 8030 | <key>Comment</key> |
@@ -10074,6 +10107,17 @@ | |||
10074 | <key>Value</key> | 10107 | <key>Value</key> |
10075 | <integer>0</integer> | 10108 | <integer>0</integer> |
10076 | </map> | 10109 | </map> |
10110 | <key>VerticalIMTabs</key> | ||
10111 | <map> | ||
10112 | <key>Comment</key> | ||
10113 | <string>Enable vertical layout for IM tabs</string> | ||
10114 | <key>Persist</key> | ||
10115 | <integer>1</integer> | ||
10116 | <key>Type</key> | ||
10117 | <string>Boolean</string> | ||
10118 | <key>Value</key> | ||
10119 | <integer>0</integer> | ||
10120 | </map> | ||
10077 | <key>VivoxDebugLevel</key> | 10121 | <key>VivoxDebugLevel</key> |
10078 | <map> | 10122 | <map> |
10079 | <key>Comment</key> | 10123 | <key>Comment</key> |
diff --git a/linden/indra/newview/hippoGridManager.cpp b/linden/indra/newview/hippoGridManager.cpp index 7a2a3e9..71e3a95 100644 --- a/linden/indra/newview/hippoGridManager.cpp +++ b/linden/indra/newview/hippoGridManager.cpp | |||
@@ -469,14 +469,15 @@ std::string HippoGridInfo::sanitizeGridNick(std::string &gridnick) | |||
469 | // static | 469 | // static |
470 | std::string HippoGridInfo::sanitizeUri(std::string &uri) | 470 | std::string HippoGridInfo::sanitizeUri(std::string &uri) |
471 | { | 471 | { |
472 | if (uri.empty()) { | 472 | // if (uri.empty()) { |
473 | return ""; | 473 | // return ""; |
474 | } | 474 | // } |
475 | 475 | ||
476 | // If last character in uri is not "/" | 476 | // // If last character in uri is not "/" |
477 | if (uri.compare(uri.length()-1, 1, "/") != 0) { | 477 | // // NOTE: This wrongly assumes that all URIs should end with "/"! |
478 | return uri + '/'; | 478 | // if (uri.compare(uri.length()-1, 1, "/") != 0) { |
479 | } | 479 | // return uri + '/'; |
480 | // } | ||
480 | 481 | ||
481 | return uri; | 482 | return uri; |
482 | } | 483 | } |
diff --git a/linden/indra/newview/llagent.cpp b/linden/indra/newview/llagent.cpp index e6438f4..022e1cc 100644 --- a/linden/indra/newview/llagent.cpp +++ b/linden/indra/newview/llagent.cpp | |||
@@ -187,6 +187,8 @@ const F32 OBJECT_MIN_ZOOM = 0.02f; | |||
187 | const F32 APPEARANCE_MIN_ZOOM = 0.39f; | 187 | const F32 APPEARANCE_MIN_ZOOM = 0.39f; |
188 | const F32 APPEARANCE_MAX_ZOOM = 8.f; | 188 | const F32 APPEARANCE_MAX_ZOOM = 8.f; |
189 | 189 | ||
190 | const F32 DIST_FUDGE = 16.f; // meters | ||
191 | |||
190 | // fidget constants | 192 | // fidget constants |
191 | const F32 MIN_FIDGET_TIME = 8.f; // seconds | 193 | const F32 MIN_FIDGET_TIME = 8.f; // seconds |
192 | const F32 MAX_FIDGET_TIME = 20.f; // seconds | 194 | const F32 MAX_FIDGET_TIME = 20.f; // seconds |
@@ -1716,6 +1718,10 @@ F32 LLAgent::getCameraZoomFraction() | |||
1716 | // already [0,1] | 1718 | // already [0,1] |
1717 | return mHUDTargetZoom; | 1719 | return mHUDTargetZoom; |
1718 | } | 1720 | } |
1721 | else if (gSavedSettings.getBOOL("DisableCameraConstraints")) | ||
1722 | { | ||
1723 | return mCameraZoomFraction; | ||
1724 | } | ||
1719 | else if (mFocusOnAvatar && cameraThirdPerson()) | 1725 | else if (mFocusOnAvatar && cameraThirdPerson()) |
1720 | { | 1726 | { |
1721 | return clamp_rescale(mCameraZoomFraction, MIN_ZOOM_FRACTION, MAX_ZOOM_FRACTION, 1.f, 0.f); | 1727 | return clamp_rescale(mCameraZoomFraction, MIN_ZOOM_FRACTION, MAX_ZOOM_FRACTION, 1.f, 0.f); |
@@ -1728,7 +1734,6 @@ F32 LLAgent::getCameraZoomFraction() | |||
1728 | else | 1734 | else |
1729 | { | 1735 | { |
1730 | F32 min_zoom; | 1736 | F32 min_zoom; |
1731 | const F32 DIST_FUDGE = 16.f; // meters | ||
1732 | F32 max_zoom = llmin(mDrawDistance - DIST_FUDGE, | 1737 | F32 max_zoom = llmin(mDrawDistance - DIST_FUDGE, |
1733 | LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE, | 1738 | LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE, |
1734 | MAX_CAMERA_DISTANCE_FROM_AGENT); | 1739 | MAX_CAMERA_DISTANCE_FROM_AGENT); |
@@ -1777,10 +1782,9 @@ void LLAgent::setCameraZoomFraction(F32 fraction) | |||
1777 | else | 1782 | else |
1778 | { | 1783 | { |
1779 | F32 min_zoom = LAND_MIN_ZOOM; | 1784 | F32 min_zoom = LAND_MIN_ZOOM; |
1780 | const F32 DIST_FUDGE = 16.f; // meters | ||
1781 | F32 max_zoom = llmin(mDrawDistance - DIST_FUDGE, | 1785 | F32 max_zoom = llmin(mDrawDistance - DIST_FUDGE, |
1782 | LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE, | 1786 | LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE, |
1783 | MAX_CAMERA_DISTANCE_FROM_AGENT); | 1787 | MAX_CAMERA_DISTANCE_FROM_AGENT); |
1784 | 1788 | ||
1785 | if (mFocusObject.notNull()) | 1789 | if (mFocusObject.notNull()) |
1786 | { | 1790 | { |
@@ -1799,7 +1803,14 @@ void LLAgent::setCameraZoomFraction(F32 fraction) | |||
1799 | 1803 | ||
1800 | LLVector3d camera_offset_dir = mCameraFocusOffsetTarget; | 1804 | LLVector3d camera_offset_dir = mCameraFocusOffsetTarget; |
1801 | camera_offset_dir.normalize(); | 1805 | camera_offset_dir.normalize(); |
1802 | mCameraFocusOffsetTarget = camera_offset_dir * rescale(fraction, 0.f, 1.f, max_zoom, min_zoom); | 1806 | if (gSavedSettings.getBOOL("DisableCameraConstraints")) |
1807 | { | ||
1808 | mCameraFocusOffsetTarget = camera_offset_dir * rescale(fraction, 0.f, 262140.f, 1.f, min_zoom); | ||
1809 | } | ||
1810 | else | ||
1811 | { | ||
1812 | mCameraFocusOffsetTarget = camera_offset_dir * rescale(fraction, 0.f, 1.f, max_zoom, min_zoom); | ||
1813 | } | ||
1803 | } | 1814 | } |
1804 | startCameraAnimation(); | 1815 | startCameraAnimation(); |
1805 | } | 1816 | } |
@@ -1898,29 +1909,32 @@ void LLAgent::cameraZoomIn(const F32 fraction) | |||
1898 | } | 1909 | } |
1899 | } | 1910 | } |
1900 | 1911 | ||
1901 | new_distance = llmax(new_distance, min_zoom); | ||
1902 | |||
1903 | // Don't zoom too far back | 1912 | // Don't zoom too far back |
1904 | const F32 DIST_FUDGE = 16.f; // meters | 1913 | // Actually, let's when disable camera constraints is active -- McCabe |
1905 | F32 max_distance = llmin(mDrawDistance - DIST_FUDGE, | 1914 | if (!gSavedSettings.getBOOL("DisableCameraConstraints")) |
1906 | LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE ); | ||
1907 | |||
1908 | if (new_distance > max_distance) | ||
1909 | { | 1915 | { |
1910 | new_distance = max_distance; | 1916 | new_distance = llmax(new_distance, min_zoom); |
1911 | 1917 | ||
1912 | /* | 1918 | F32 max_distance = llmin(mDrawDistance - DIST_FUDGE, |
1913 | // Unless camera is unlocked | 1919 | LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE ); |
1914 | if (!LLViewerCamera::sDisableCameraConstraints) | 1920 | |
1921 | if (new_distance > max_distance) | ||
1915 | { | 1922 | { |
1916 | return; | 1923 | new_distance = max_distance; |
1924 | |||
1925 | /* | ||
1926 | // Unless camera is unlocked | ||
1927 | if (!LLViewerCamera::sDisableCameraConstraints) | ||
1928 | { | ||
1929 | return; | ||
1930 | } | ||
1931 | */ | ||
1917 | } | 1932 | } |
1918 | */ | ||
1919 | } | ||
1920 | 1933 | ||
1921 | if( cameraCustomizeAvatar() ) | 1934 | if( cameraCustomizeAvatar() ) |
1922 | { | 1935 | { |
1923 | new_distance = llclamp( new_distance, APPEARANCE_MIN_ZOOM, APPEARANCE_MAX_ZOOM ); | 1936 | new_distance = llclamp( new_distance, APPEARANCE_MIN_ZOOM, APPEARANCE_MAX_ZOOM ); |
1937 | } | ||
1924 | } | 1938 | } |
1925 | 1939 | ||
1926 | mCameraFocusOffsetTarget = new_distance * camera_offset_unit; | 1940 | mCameraFocusOffsetTarget = new_distance * camera_offset_unit; |
@@ -1951,40 +1965,41 @@ void LLAgent::cameraOrbitIn(const F32 meters) | |||
1951 | LLVector3d camera_offset_unit(mCameraFocusOffsetTarget); | 1965 | LLVector3d camera_offset_unit(mCameraFocusOffsetTarget); |
1952 | F32 current_distance = (F32)camera_offset_unit.normalize(); | 1966 | F32 current_distance = (F32)camera_offset_unit.normalize(); |
1953 | F32 new_distance = current_distance - meters; | 1967 | F32 new_distance = current_distance - meters; |
1954 | F32 min_zoom = LAND_MIN_ZOOM; | 1968 | |
1955 | 1969 | // Don't zoom too far back | |
1956 | // Don't move through focus point | 1970 | // Actually, let's when disable camera constraints is active -- McCabe |
1957 | if (mFocusObject.notNull()) | 1971 | if (!gSavedSettings.getBOOL("DisableCameraConstraints")) |
1958 | { | 1972 | { |
1959 | if (mFocusObject->isAvatar()) | 1973 | F32 min_zoom = LAND_MIN_ZOOM; |
1960 | { | 1974 | F32 max_distance; |
1961 | min_zoom = AVATAR_MIN_ZOOM; | 1975 | |
1962 | } | 1976 | // Don't move through focus point |
1963 | else | 1977 | if (mFocusObject.notNull()) |
1964 | { | 1978 | { |
1965 | min_zoom = OBJECT_MIN_ZOOM; | 1979 | if (mFocusObject->isAvatar()) |
1980 | { | ||
1981 | min_zoom = AVATAR_MIN_ZOOM; | ||
1982 | } | ||
1983 | else | ||
1984 | { | ||
1985 | min_zoom = OBJECT_MIN_ZOOM; | ||
1986 | } | ||
1966 | } | 1987 | } |
1967 | } | ||
1968 | 1988 | ||
1969 | new_distance = llmax(new_distance, min_zoom); | 1989 | new_distance = llmax(new_distance, min_zoom); |
1970 | 1990 | ||
1971 | // Don't zoom too far back | 1991 | max_distance = llmin(mDrawDistance - DIST_FUDGE, |
1972 | const F32 DIST_FUDGE = 16.f; // meters | 1992 | LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE ); |
1973 | F32 max_distance = llmin(mDrawDistance - DIST_FUDGE, | ||
1974 | LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE ); | ||
1975 | 1993 | ||
1976 | if (new_distance > max_distance) | 1994 | if (new_distance > max_distance) |
1977 | { | ||
1978 | // Unless camera is unlocked | ||
1979 | if (!gSavedSettings.getBOOL("DisableCameraConstraints")) | ||
1980 | { | 1995 | { |
1981 | return; | 1996 | return; |
1982 | } | 1997 | } |
1983 | } | ||
1984 | 1998 | ||
1985 | if( CAMERA_MODE_CUSTOMIZE_AVATAR == getCameraMode() ) | 1999 | if( CAMERA_MODE_CUSTOMIZE_AVATAR == getCameraMode() ) |
1986 | { | 2000 | { |
1987 | new_distance = llclamp( new_distance, APPEARANCE_MIN_ZOOM, APPEARANCE_MAX_ZOOM ); | 2001 | new_distance = llclamp( new_distance, APPEARANCE_MIN_ZOOM, APPEARANCE_MAX_ZOOM ); |
2002 | } | ||
1988 | } | 2003 | } |
1989 | 2004 | ||
1990 | // Compute new camera offset | 2005 | // Compute new camera offset |
diff --git a/linden/indra/newview/llfilepicker.cpp b/linden/indra/newview/llfilepicker.cpp index 954a274..ece30dd 100644 --- a/linden/indra/newview/llfilepicker.cpp +++ b/linden/indra/newview/llfilepicker.cpp | |||
@@ -327,6 +327,18 @@ BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename) | |||
327 | L"Targa, Bitmap Images (*.tga; *.bmp)\0*.tga;*.bmp\0" \ | 327 | L"Targa, Bitmap Images (*.tga; *.bmp)\0*.tga;*.bmp\0" \ |
328 | L"\0"; | 328 | L"\0"; |
329 | break; | 329 | break; |
330 | case FFSAVE_TEXT: | ||
331 | if (filename.empty()) | ||
332 | { | ||
333 | wcsncpy( mFilesW,L"untitled.txt", FILENAME_BUFFER_SIZE); /*Flawfinder: ignore*/ | ||
334 | } | ||
335 | mOFN.lpstrDefExt = L"txt"; | ||
336 | mOFN.lpstrFilter = | ||
337 | L"Text files (*.txt)\0*.txt\0" | ||
338 | L"RTF Files (*.rtf)\0*.rtf\0" | ||
339 | L"LSL Files (*.lsl)\0*.lsl\0" | ||
340 | L"\0"; | ||
341 | break; | ||
330 | case FFSAVE_WAV: | 342 | case FFSAVE_WAV: |
331 | if (filename.empty()) | 343 | if (filename.empty()) |
332 | { | 344 | { |
diff --git a/linden/indra/newview/llfilepicker.h b/linden/indra/newview/llfilepicker.h index aea414a..f9f859f 100644 --- a/linden/indra/newview/llfilepicker.h +++ b/linden/indra/newview/llfilepicker.h | |||
@@ -90,6 +90,7 @@ public: | |||
90 | FFLOAD_XML = 6, | 90 | FFLOAD_XML = 6, |
91 | FFLOAD_SLOBJECT = 7, | 91 | FFLOAD_SLOBJECT = 7, |
92 | FFLOAD_RAW = 8, | 92 | FFLOAD_RAW = 8, |
93 | FFLOAD_TEXT = 9, | ||
93 | }; | 94 | }; |
94 | 95 | ||
95 | enum ESaveFilter | 96 | enum ESaveFilter |
@@ -109,6 +110,8 @@ public: | |||
109 | FFSAVE_J2C = 12, | 110 | FFSAVE_J2C = 12, |
110 | FFSAVE_PNG = 13, | 111 | FFSAVE_PNG = 13, |
111 | FFSAVE_JPEG = 14, | 112 | FFSAVE_JPEG = 14, |
113 | FFSAVE_HPA = 15, | ||
114 | FFSAVE_TEXT = 16, | ||
112 | }; | 115 | }; |
113 | 116 | ||
114 | // open the dialog. This is a modal operation | 117 | // open the dialog. This is a modal operation |
diff --git a/linden/indra/newview/llfloaterchat.cpp b/linden/indra/newview/llfloaterchat.cpp index cc86fce..79c4aa6 100644 --- a/linden/indra/newview/llfloaterchat.cpp +++ b/linden/indra/newview/llfloaterchat.cpp | |||
@@ -213,9 +213,9 @@ void add_timestamped_line(LLViewerTextEditor* edit, LLChat chat, const LLColor4& | |||
213 | } | 213 | } |
214 | 214 | ||
215 | // If the chat line has an associated url, link it up to the name. | 215 | // If the chat line has an associated url, link it up to the name. |
216 | if (!chat.mURL.empty() && | 216 | if ((!chat.mURL.empty() && line.length() > chat.mFromName.length()) && |
217 | (line.length() > chat.mFromName.length() && | 217 | (line.find(chat.mFromName,0) == 0 || (line.find(chat.mFromName,0) == 4 && |
218 | (line.find(chat.mFromName,0) == 4 || line.find(chat.mFromName,0) == 0))) | 218 | color == gSavedSettings.getColor4("ObjectIMColor")))) // hack to make sure IMs in chat history don't hightlight |
219 | { | 219 | { |
220 | std::string start_line; | 220 | std::string start_line; |
221 | if (line.find(chat.mFromName,0) == 4) // IMs are prefaced with "IM: " | 221 | if (line.find(chat.mFromName,0) == 4) // IMs are prefaced with "IM: " |
diff --git a/linden/indra/newview/llfloaterchatterbox.cpp b/linden/indra/newview/llfloaterchatterbox.cpp index 5ef5a30..e18cca0 100644 --- a/linden/indra/newview/llfloaterchatterbox.cpp +++ b/linden/indra/newview/llfloaterchatterbox.cpp | |||
@@ -97,7 +97,16 @@ LLFloaterChatterBox::LLFloaterChatterBox(const LLSD& seed) : | |||
97 | { | 97 | { |
98 | mAutoResize = FALSE; | 98 | mAutoResize = FALSE; |
99 | 99 | ||
100 | LLUICtrlFactory::getInstance()->buildFloater(this, "floater_chatterbox.xml", NULL, FALSE); | 100 | // check if vertical tabs is selected |
101 | if (gSavedSettings.getBOOL("VerticalIMTabs")) | ||
102 | { | ||
103 | LLUICtrlFactory::getInstance()->buildFloater(this, "floater_chatterbox_vertical.xml", NULL, FALSE); | ||
104 | } | ||
105 | else | ||
106 | { | ||
107 | LLUICtrlFactory::getInstance()->buildFloater(this, "floater_chatterbox.xml", NULL, FALSE); | ||
108 | } | ||
109 | |||
101 | if (gSavedSettings.getBOOL("ContactsTornOff")) | 110 | if (gSavedSettings.getBOOL("ContactsTornOff")) |
102 | { | 111 | { |
103 | LLFloaterMyFriends* floater_contacts = LLFloaterMyFriends::getInstance(0); | 112 | LLFloaterMyFriends* floater_contacts = LLFloaterMyFriends::getInstance(0); |
diff --git a/linden/indra/newview/llfloatermap.cpp b/linden/indra/newview/llfloatermap.cpp index e90e3b4..49563a6 100644 --- a/linden/indra/newview/llfloatermap.cpp +++ b/linden/indra/newview/llfloatermap.cpp | |||
@@ -80,6 +80,7 @@ LLFloaterMap::LLFloaterMap(const LLSD& key) | |||
80 | LLUICtrlFactory::getInstance()->buildFloater(this, "floater_mini_map.xml", &factory_map, FALSE); | 80 | LLUICtrlFactory::getInstance()->buildFloater(this, "floater_mini_map.xml", &factory_map, FALSE); |
81 | 81 | ||
82 | mChatAvatars.clear(); | 82 | mChatAvatars.clear(); |
83 | mTypingAvatars.clear(); | ||
83 | } | 84 | } |
84 | 85 | ||
85 | 86 | ||
@@ -95,6 +96,7 @@ BOOL LLFloaterMap::postBuild() | |||
95 | { | 96 | { |
96 | // Send the drag handle to the back, but make sure close stays on top | 97 | // Send the drag handle to the back, but make sure close stays on top |
97 | sendChildToBack(getDragHandle()); | 98 | sendChildToBack(getDragHandle()); |
99 | sendChildToFront(getChild<LLButton>("llfloater_minimize_btn")); | ||
98 | sendChildToFront(getChild<LLButton>("llfloater_close_btn")); | 100 | sendChildToFront(getChild<LLButton>("llfloater_close_btn")); |
99 | setIsChrome(TRUE); | 101 | setIsChrome(TRUE); |
100 | 102 | ||
@@ -236,16 +238,16 @@ void LLFloaterMap::populateRadar() | |||
236 | 238 | ||
237 | S32 scroll_pos = mRadarList->getScrollPos(); | 239 | S32 scroll_pos = mRadarList->getScrollPos(); |
238 | 240 | ||
239 | LLVector3d current_pos = gAgent.getPositionGlobal(); | ||
240 | |||
241 | // clear count | 241 | // clear count |
242 | std::stringstream avatar_count; | 242 | std::stringstream avatar_count; |
243 | avatar_count.str(""); | 243 | avatar_count.str(""); |
244 | 244 | ||
245 | // find what avatars you can see | 245 | // find what avatars you can see |
246 | F32 range = gSavedSettings.getF32("NearMeRange"); | ||
247 | LLVector3d current_pos = gAgent.getPositionGlobal(); | ||
246 | std::vector<LLUUID> avatar_ids; | 248 | std::vector<LLUUID> avatar_ids; |
247 | std::vector<LLVector3d> positions; | 249 | std::vector<LLVector3d> positions; |
248 | LLWorld::getInstance()->getAvatars(&avatar_ids, &positions, current_pos, gSavedSettings.getF32("NearMeRange")); | 250 | LLWorld::getInstance()->getAvatars(&avatar_ids, &positions); |
249 | 251 | ||
250 | LLSD element; | 252 | LLSD element; |
251 | 253 | ||
@@ -265,21 +267,26 @@ void LLFloaterMap::populateRadar() | |||
265 | std::string fullname = getSelectedName(avatar_ids[i]); | 267 | std::string fullname = getSelectedName(avatar_ids[i]); |
266 | if (!fullname.empty()) | 268 | if (!fullname.empty()) |
267 | { | 269 | { |
270 | bool notify_chat = gSavedSettings.getBOOL("MiniMapNotifyChatRange"); | ||
271 | bool notify_sim = gSavedSettings.getBOOL("MiniMapNotifySimRange"); | ||
268 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 | 272 | // [RLVa:KB] - Alternate: Imprudence-1.2.0 |
269 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) | 273 | if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) |
270 | { | 274 | { |
271 | fullname = gRlvHandler.getAnonym(fullname); | 275 | fullname = gRlvHandler.getAnonym(fullname); |
276 | notify_chat = false; | ||
277 | notify_sim = false; | ||
272 | } | 278 | } |
273 | // [/RLVa:KB] | 279 | // [/RLVa:KB] |
274 | 280 | ||
275 | // check if they're in chat range and notify user | 281 | // check if they're in certain ranges and notify user if we've enabled that |
276 | LLVector3d temp = positions[i] - current_pos; | 282 | LLVector3d temp = positions[i] - current_pos; |
277 | F32 distance = llround((F32)temp.magVec(), 0.1f); | 283 | F32 distance = llround((F32)temp.magVec(), 0.1f); |
278 | char dist[32]; | 284 | /*char dist[32]; |
279 | sprintf(dist, "%.1f", distance); | 285 | sprintf(dist, "%.1f", distance); |
280 | std::string dist_string = dist; | 286 | std::string dist_string = dist;*/ |
287 | std::string dist_string = llformat("%.1f", distance); | ||
281 | 288 | ||
282 | if (gSavedSettings.getBOOL("MiniMapNotify")) | 289 | if (notify_chat) |
283 | { | 290 | { |
284 | if (distance < 20.0f) | 291 | if (distance < 20.0f) |
285 | { | 292 | { |
@@ -295,7 +302,6 @@ void LLFloaterMap::populateRadar() | |||
295 | removeFromChatList(avatar_ids[i]); | 302 | removeFromChatList(avatar_ids[i]); |
296 | } | 303 | } |
297 | } | 304 | } |
298 | |||
299 | updateChatList(avatar_ids); | 305 | updateChatList(avatar_ids); |
300 | } | 306 | } |
301 | else if (!mChatAvatars.empty()) | 307 | else if (!mChatAvatars.empty()) |
@@ -303,16 +309,51 @@ void LLFloaterMap::populateRadar() | |||
303 | mChatAvatars.clear(); | 309 | mChatAvatars.clear(); |
304 | } | 310 | } |
305 | 311 | ||
306 | std::string mute_text = LLMuteList::getInstance()->isMuted(avatar_ids[i]) ? getString("muted") : ""; | 312 | if (notify_sim) |
307 | element["id"] = avatar_ids[i]; | 313 | { |
308 | element["columns"][0]["column"] = "avatar_name"; | 314 | if (!getInChatList(avatar_ids[i]) && !getInSimAvList(avatar_ids[i])) |
309 | element["columns"][0]["type"] = "text"; | 315 | { |
310 | element["columns"][0]["value"] = fullname + " " + mute_text; | 316 | LLViewerObject *av_obj = gObjectList.findObject(avatar_ids[i]); |
311 | element["columns"][1]["column"] = "avatar_distance"; | 317 | if (av_obj != NULL && av_obj->isAvatar()) |
312 | element["columns"][1]["type"] = "text"; | 318 | { |
313 | element["columns"][1]["value"] = dist_string+"m"; | 319 | LLVOAvatar* avatarp = (LLVOAvatar*)av_obj; |
320 | if (avatarp != NULL) | ||
321 | { | ||
322 | if (avatarp->getRegion() == gAgent.getRegion()) | ||
323 | { | ||
324 | addToSimAvList(avatar_ids[i], dist_string); | ||
325 | } | ||
326 | } | ||
327 | } | ||
328 | } | ||
329 | updateSimAvList(avatar_ids); | ||
330 | } | ||
331 | else if (!mSimAvatars.empty()) | ||
332 | { | ||
333 | mSimAvatars.clear(); | ||
334 | } | ||
335 | |||
336 | // only display avatars in range | ||
337 | if (distance <= range) | ||
338 | { | ||
339 | // append typing string | ||
340 | std::string typing = ""; | ||
341 | if (getIsTyping(avatar_ids[i])) | ||
342 | { | ||
343 | typing = getString("is_typing")+ " "; | ||
344 | } | ||
345 | |||
346 | std::string mute_text = LLMuteList::getInstance()->isMuted(avatar_ids[i]) ? getString("is_muted") : ""; | ||
347 | element["id"] = avatar_ids[i]; | ||
348 | element["columns"][0]["column"] = "avatar_name"; | ||
349 | element["columns"][0]["type"] = "text"; | ||
350 | element["columns"][0]["value"] = typing + fullname + " " + mute_text; | ||
351 | element["columns"][1]["column"] = "avatar_distance"; | ||
352 | element["columns"][1]["type"] = "text"; | ||
353 | element["columns"][1]["value"] = dist_string+"m"; | ||
314 | 354 | ||
315 | mRadarList->addElement(element, ADD_BOTTOM); | 355 | mRadarList->addElement(element, ADD_BOTTOM); |
356 | } | ||
316 | } | 357 | } |
317 | } | 358 | } |
318 | 359 | ||
@@ -326,6 +367,7 @@ void LLFloaterMap::populateRadar() | |||
326 | } | 367 | } |
327 | else | 368 | else |
328 | { | 369 | { |
370 | mTypingAvatars.clear(); | ||
329 | mRadarList->addCommentText(getString("no_one_near"), ADD_TOP); | 371 | mRadarList->addCommentText(getString("no_one_near"), ADD_TOP); |
330 | avatar_count << "0"; | 372 | avatar_count << "0"; |
331 | } | 373 | } |
@@ -384,6 +426,71 @@ void LLFloaterMap::removeFromChatList(LLUUID agent_id) | |||
384 | mChatAvatars.erase(agent_id); | 426 | mChatAvatars.erase(agent_id); |
385 | } | 427 | } |
386 | 428 | ||
429 | bool LLFloaterMap::getIsTyping(LLUUID agent_id) | ||
430 | { | ||
431 | if (mTypingAvatars.count(agent_id) > 0) | ||
432 | { | ||
433 | return true; | ||
434 | } | ||
435 | return false; | ||
436 | } | ||
437 | |||
438 | void LLFloaterMap::updateTypingList(LLUUID agent_id, bool remove) | ||
439 | { | ||
440 | if (remove) | ||
441 | { | ||
442 | if (getIsTyping(agent_id)) | ||
443 | { | ||
444 | mTypingAvatars.erase(agent_id); | ||
445 | } | ||
446 | } | ||
447 | else | ||
448 | { | ||
449 | mTypingAvatars.insert(agent_id); | ||
450 | } | ||
451 | } | ||
452 | |||
453 | void LLFloaterMap::updateSimAvList(std::vector<LLUUID> agent_ids) | ||
454 | { | ||
455 | std::set<LLUUID>::iterator it; | ||
456 | std::vector<LLUUID>::iterator result; | ||
457 | for (it = mSimAvatars.begin(); it != mSimAvatars.end(); ) | ||
458 | { | ||
459 | result = find(agent_ids.begin(), agent_ids.end(), *it); | ||
460 | if (result == agent_ids.end()) | ||
461 | { | ||
462 | mSimAvatars.erase(it++); | ||
463 | } | ||
464 | else | ||
465 | { | ||
466 | it++; | ||
467 | } | ||
468 | } | ||
469 | } | ||
470 | |||
471 | void LLFloaterMap::addToSimAvList(LLUUID agent_id, std::string distance) | ||
472 | { | ||
473 | mSimAvatars.insert(agent_id); | ||
474 | LLChat chat; | ||
475 | |||
476 | LLUIString notify = getString("entering_sim_range"); | ||
477 | notify.setArg("[NAME]", getSelectedName(agent_id)); | ||
478 | notify.setArg("[DISTANCE]", distance); | ||
479 | |||
480 | chat.mText = notify; | ||
481 | chat.mSourceType = CHAT_SOURCE_SYSTEM; | ||
482 | LLFloaterChat::addChat(chat, FALSE, FALSE); | ||
483 | } | ||
484 | |||
485 | bool LLFloaterMap::getInSimAvList(LLUUID agent_id) | ||
486 | { | ||
487 | if (mSimAvatars.count(agent_id) > 0) | ||
488 | { | ||
489 | return true; | ||
490 | } | ||
491 | return false; | ||
492 | } | ||
493 | |||
387 | void LLFloaterMap::toggleButtons() | 494 | void LLFloaterMap::toggleButtons() |
388 | { | 495 | { |
389 | BOOL enable = FALSE; | 496 | BOOL enable = FALSE; |
diff --git a/linden/indra/newview/llfloatermap.h b/linden/indra/newview/llfloatermap.h index deb972b..af4d1cc 100644 --- a/linden/indra/newview/llfloatermap.h +++ b/linden/indra/newview/llfloatermap.h | |||
@@ -52,6 +52,9 @@ public: | |||
52 | // returns true if agent_id belongs to a developer listed in llfloatermap.cpp | 52 | // returns true if agent_id belongs to a developer listed in llfloatermap.cpp |
53 | static bool isImpDev(LLUUID agent_id); | 53 | static bool isImpDev(LLUUID agent_id); |
54 | 54 | ||
55 | bool getIsTyping(LLUUID agent_id); | ||
56 | void updateTypingList(LLUUID agent_id, bool remove); | ||
57 | |||
55 | BOOL postBuild(); | 58 | BOOL postBuild(); |
56 | 59 | ||
57 | /*virtual*/ void draw(); | 60 | /*virtual*/ void draw(); |
@@ -64,12 +67,19 @@ public: | |||
64 | 67 | ||
65 | 68 | ||
66 | private: | 69 | private: |
70 | |||
67 | LLFloaterMap(const LLSD& key = LLSD()); | 71 | LLFloaterMap(const LLSD& key = LLSD()); |
68 | 72 | ||
69 | LLNetMap* mPanelMap; | 73 | LLNetMap* mPanelMap; |
70 | LLScrollListCtrl* mRadarList; | 74 | LLScrollListCtrl* mRadarList; |
71 | LLUUID mSelectedAvatar; | 75 | LLUUID mSelectedAvatar; |
72 | std::set<LLUUID> mChatAvatars; | 76 | |
77 | // TODO: move all this info into its own object. It's stupid | ||
78 | // and bug-prone to keep it all in separate containers, but | ||
79 | // I want to get this out for 1.2 -- McCabe | ||
80 | std::set<LLUUID> mChatAvatars; | ||
81 | std::set<LLUUID> mTypingAvatars; | ||
82 | std::set<LLUUID> mSimAvatars; | ||
73 | bool mUpdate; | 83 | bool mUpdate; |
74 | 84 | ||
75 | static void onList(LLUICtrl* ctrl, void* user_data); | 85 | static void onList(LLUICtrl* ctrl, void* user_data); |
@@ -84,6 +94,10 @@ private: | |||
84 | void addToChatList(LLUUID agent_id, std::string distance); | 94 | void addToChatList(LLUUID agent_id, std::string distance); |
85 | void removeFromChatList(LLUUID agent_id); | 95 | void removeFromChatList(LLUUID agent_id); |
86 | 96 | ||
97 | bool getInSimAvList(LLUUID agent_id); | ||
98 | void addToSimAvList(LLUUID agent_id, std::string distance); | ||
99 | void updateSimAvList(std::vector<LLUUID> agent_ids); | ||
100 | |||
87 | static void onClickProfile(void* user_data); | 101 | static void onClickProfile(void* user_data); |
88 | static void onClickIM(void* user_data); | 102 | static void onClickIM(void* user_data); |
89 | static void onClickAddFriend(void* user_data); | 103 | static void onClickAddFriend(void* user_data); |
diff --git a/linden/indra/newview/llfloaterwater.cpp b/linden/indra/newview/llfloaterwater.cpp index c42b12b..7e2f188 100644 --- a/linden/indra/newview/llfloaterwater.cpp +++ b/linden/indra/newview/llfloaterwater.cpp | |||
@@ -168,7 +168,11 @@ void LLFloaterWater::initCallbacks(void) { | |||
168 | 168 | ||
169 | LLTextureCtrl* textCtrl = getChild<LLTextureCtrl>("WaterNormalMap"); | 169 | LLTextureCtrl* textCtrl = getChild<LLTextureCtrl>("WaterNormalMap"); |
170 | textCtrl->setDefaultImageAssetID(DEFAULT_WATER_NORMAL); | 170 | textCtrl->setDefaultImageAssetID(DEFAULT_WATER_NORMAL); |
171 | childSetCommitCallback("WaterNormalMap", onNormalMapPicked, NULL); | 171 | childSetCommitCallback("WaterNormalMap", onNormalMapPicked, NULL); |
172 | |||
173 | // next/prev buttons | ||
174 | childSetAction("next", onClickNext, this); | ||
175 | childSetAction("prev", onClickPrev, this); | ||
172 | } | 176 | } |
173 | 177 | ||
174 | void LLFloaterWater::onClickHelp(void* data) | 178 | void LLFloaterWater::onClickHelp(void* data) |
@@ -237,6 +241,12 @@ void LLFloaterWater::syncMenu() | |||
237 | 241 | ||
238 | LLWaterParamSet & current_params = param_mgr->mCurParams; | 242 | LLWaterParamSet & current_params = param_mgr->mCurParams; |
239 | 243 | ||
244 | LLComboBox* comboBox = getChild<LLComboBox>("WaterPresetsCombo"); | ||
245 | if (comboBox->getSelectedItemLabel() != current_params.mName) | ||
246 | { | ||
247 | comboBox->setSimple(current_params.mName); | ||
248 | } | ||
249 | |||
240 | // blue horizon | 250 | // blue horizon |
241 | param_mgr->mFogColor = current_params.getVector4(param_mgr->mFogColor.mName, err); | 251 | param_mgr->mFogColor = current_params.getVector4(param_mgr->mFogColor.mName, err); |
242 | 252 | ||
@@ -306,14 +316,26 @@ LLFloaterWater* LLFloaterWater::instance() | |||
306 | } | 316 | } |
307 | void LLFloaterWater::show() | 317 | void LLFloaterWater::show() |
308 | { | 318 | { |
309 | LLFloaterWater* water = instance(); | 319 | if (!sWaterMenu) |
310 | water->syncMenu(); | 320 | { |
311 | 321 | LLFloaterWater* water = instance(); | |
312 | // comment in if you want the menu to rebuild each time | 322 | water->syncMenu(); |
313 | //LLUICtrlFactory::getInstance()->buildFloater(water, "floater_water.xml"); | ||
314 | //water->initCallbacks(); | ||
315 | 323 | ||
316 | water->open(); | 324 | // comment in if you want the menu to rebuild each time |
325 | //LLUICtrlFactory::getInstance()->buildFloater(water, "floater_water.xml"); | ||
326 | //water->initCallbacks(); | ||
327 | } | ||
328 | else | ||
329 | { | ||
330 | if (sWaterMenu->getVisible()) | ||
331 | { | ||
332 | sWaterMenu->close(); | ||
333 | } | ||
334 | else | ||
335 | { | ||
336 | sWaterMenu->open(); | ||
337 | } | ||
338 | } | ||
317 | } | 339 | } |
318 | 340 | ||
319 | bool LLFloaterWater::isOpen() | 341 | bool LLFloaterWater::isOpen() |
@@ -727,3 +749,50 @@ void LLFloaterWater::onChangePresetName(LLUICtrl* ctrl, void * userData) | |||
727 | sWaterMenu->syncMenu(); | 749 | sWaterMenu->syncMenu(); |
728 | } | 750 | } |
729 | 751 | ||
752 | void LLFloaterWater::onClickNext(void* user_data) | ||
753 | { | ||
754 | LLWaterParamManager * param_mgr = LLWaterParamManager::instance(); | ||
755 | LLWaterParamSet& currentParams = param_mgr->mCurParams; | ||
756 | |||
757 | // find place of current param | ||
758 | std::map<std::string, LLWaterParamSet>::iterator mIt = | ||
759 | param_mgr->mParamList.find(currentParams.mName); | ||
760 | |||
761 | // if at the end, loop | ||
762 | std::map<std::string, LLWaterParamSet>::iterator last = param_mgr->mParamList.end(); --last; | ||
763 | if(mIt == last) | ||
764 | { | ||
765 | mIt = param_mgr->mParamList.begin(); | ||
766 | } | ||
767 | else | ||
768 | { | ||
769 | mIt++; | ||
770 | } | ||
771 | /*param_mgr->mAnimator.mIsRunning = false; | ||
772 | param_mgr->mAnimator.mUseLindenTime = false;*/ | ||
773 | param_mgr->loadPreset(mIt->first, true); | ||
774 | } | ||
775 | |||
776 | void LLFloaterWater::onClickPrev(void* user_data) | ||
777 | { | ||
778 | LLWaterParamManager * param_mgr = LLWaterParamManager::instance(); | ||
779 | LLWaterParamSet & currentParams = param_mgr->mCurParams; | ||
780 | |||
781 | // find place of current param | ||
782 | std::map<std::string, LLWaterParamSet>::iterator mIt = | ||
783 | param_mgr->mParamList.find(currentParams.mName); | ||
784 | |||
785 | // if at the beginning, loop | ||
786 | if(mIt == param_mgr->mParamList.begin()) | ||
787 | { | ||
788 | std::map<std::string, LLWaterParamSet>::iterator last = param_mgr->mParamList.end(); --last; | ||
789 | mIt = last; | ||
790 | } | ||
791 | else | ||
792 | { | ||
793 | mIt--; | ||
794 | } | ||
795 | /*param_mgr->mAnimator.mIsRunning = false; | ||
796 | param_mgr->mAnimator.mUseLindenTime = false;*/ | ||
797 | param_mgr->loadPreset(mIt->first, true); | ||
798 | } | ||
diff --git a/linden/indra/newview/llfloaterwater.h b/linden/indra/newview/llfloaterwater.h index 5c1fced..40704f2 100644 --- a/linden/indra/newview/llfloaterwater.h +++ b/linden/indra/newview/llfloaterwater.h | |||
@@ -127,6 +127,9 @@ private: | |||
127 | static LLFloaterWater* sWaterMenu; | 127 | static LLFloaterWater* sWaterMenu; |
128 | 128 | ||
129 | static std::set<std::string> sDefaultPresets; | 129 | static std::set<std::string> sDefaultPresets; |
130 | |||
131 | static void onClickNext(void* user_data); | ||
132 | static void onClickPrev(void* user_data); | ||
130 | }; | 133 | }; |
131 | 134 | ||
132 | 135 | ||
diff --git a/linden/indra/newview/llfloaterwindlight.cpp b/linden/indra/newview/llfloaterwindlight.cpp index 71e81fa..80090a0 100644 --- a/linden/indra/newview/llfloaterwindlight.cpp +++ b/linden/indra/newview/llfloaterwindlight.cpp | |||
@@ -46,6 +46,7 @@ | |||
46 | #include "llcombobox.h" | 46 | #include "llcombobox.h" |
47 | #include "lllineeditor.h" | 47 | #include "lllineeditor.h" |
48 | #include "llfloaterdaycycle.h" | 48 | #include "llfloaterdaycycle.h" |
49 | #include "lltabcontainer.h" | ||
49 | #include "llboost.h" | 50 | #include "llboost.h" |
50 | 51 | ||
51 | #include "v4math.h" | 52 | #include "v4math.h" |
@@ -1066,3 +1067,13 @@ void LLFloaterWindLight::onClickPrev(void* user_data) | |||
1066 | param_mgr->mAnimator.mUseLindenTime = false; | 1067 | param_mgr->mAnimator.mUseLindenTime = false; |
1067 | param_mgr->loadPreset(mIt->first, true); | 1068 | param_mgr->loadPreset(mIt->first, true); |
1068 | } | 1069 | } |
1070 | |||
1071 | //static | ||
1072 | void LLFloaterWindLight::selectTab(std::string tab_name) | ||
1073 | { | ||
1074 | if (!tab_name.empty()) | ||
1075 | { | ||
1076 | LLTabContainer* tabs = LLFloaterWindLight::instance()->getChild<LLTabContainer>("WindLight Tabs"); | ||
1077 | tabs->selectTabByName(tab_name); | ||
1078 | } | ||
1079 | } | ||
diff --git a/linden/indra/newview/llfloaterwindlight.h b/linden/indra/newview/llfloaterwindlight.h index 70e76c5..130a9a7 100644 --- a/linden/indra/newview/llfloaterwindlight.h +++ b/linden/indra/newview/llfloaterwindlight.h | |||
@@ -131,6 +131,8 @@ public: | |||
131 | /// turn off animated skies | 131 | /// turn off animated skies |
132 | static void deactivateAnimator(); | 132 | static void deactivateAnimator(); |
133 | 133 | ||
134 | static void selectTab(std::string tab_name); | ||
135 | |||
134 | private: | 136 | private: |
135 | // one instance on the inside | 137 | // one instance on the inside |
136 | static LLFloaterWindLight* sWindLight; | 138 | static LLFloaterWindLight* sWindLight; |
diff --git a/linden/indra/newview/llpanelgeneral.cpp b/linden/indra/newview/llpanelgeneral.cpp index 4cf4091..04b7afe 100644 --- a/linden/indra/newview/llpanelgeneral.cpp +++ b/linden/indra/newview/llpanelgeneral.cpp | |||
@@ -60,7 +60,8 @@ BOOL LLPanelGeneral::postBuild() | |||
60 | childSetValue("small_avatar_names_checkbox", gSavedSettings.getBOOL("SmallAvatarNames")); | 60 | childSetValue("small_avatar_names_checkbox", gSavedSettings.getBOOL("SmallAvatarNames")); |
61 | childSetValue("show_my_title_checkbox", gSavedSettings.getBOOL("RenderHideGroupTitle")); | 61 | childSetValue("show_my_title_checkbox", gSavedSettings.getBOOL("RenderHideGroupTitle")); |
62 | childSetValue("afk_timeout_spinner", gSavedSettings.getF32("AFKTimeout")); | 62 | childSetValue("afk_timeout_spinner", gSavedSettings.getF32("AFKTimeout")); |
63 | childSetValue("mini_map_notify", gSavedSettings.getBOOL("MiniMapNotify")); | 63 | childSetValue("mini_map_notify_chat", gSavedSettings.getBOOL("MiniMapNotifyChatRange")); |
64 | childSetValue("mini_map_notify_sim", gSavedSettings.getBOOL("MiniMapNotifySimRange")); | ||
64 | childSetValue("notify_money_change_checkbox", gSavedSettings.getBOOL("NotifyMoneyChange")); | 65 | childSetValue("notify_money_change_checkbox", gSavedSettings.getBOOL("NotifyMoneyChange")); |
65 | childSetValue("use_system_color_picker_checkbox", gSavedSettings.getBOOL("UseDefaultColorPicker")); | 66 | childSetValue("use_system_color_picker_checkbox", gSavedSettings.getBOOL("UseDefaultColorPicker")); |
66 | childSetValue("show_search_panel", gSavedSettings.getBOOL("ShowSearchBar")); | 67 | childSetValue("show_search_panel", gSavedSettings.getBOOL("ShowSearchBar")); |
@@ -98,7 +99,8 @@ void LLPanelGeneral::apply() | |||
98 | gSavedSettings.setBOOL("SmallAvatarNames", childGetValue("small_avatar_names_checkbox")); | 99 | gSavedSettings.setBOOL("SmallAvatarNames", childGetValue("small_avatar_names_checkbox")); |
99 | gSavedSettings.setBOOL("RenderHideGroupTitle", childGetValue("show_my_title_checkbox")); | 100 | gSavedSettings.setBOOL("RenderHideGroupTitle", childGetValue("show_my_title_checkbox")); |
100 | gSavedSettings.setF32("AFKTimeout", childGetValue("afk_timeout_spinner").asReal()); | 101 | gSavedSettings.setF32("AFKTimeout", childGetValue("afk_timeout_spinner").asReal()); |
101 | gSavedSettings.setBOOL("MiniMapNotify", childGetValue("mini_map_notify")); | 102 | gSavedSettings.setBOOL("MiniMapNotifyChatRange", childGetValue("mini_map_notify_chat")); |
103 | gSavedSettings.setBOOL("MiniMapNotifySimRange", childGetValue("mini_map_notify_sim")); | ||
102 | gSavedSettings.setBOOL("NotifyMoneyChange", childGetValue("notify_money_change_checkbox")); | 104 | gSavedSettings.setBOOL("NotifyMoneyChange", childGetValue("notify_money_change_checkbox")); |
103 | gSavedSettings.setBOOL("UseDefaultColorPicker", childGetValue("use_system_color_picker_checkbox")); | 105 | gSavedSettings.setBOOL("UseDefaultColorPicker", childGetValue("use_system_color_picker_checkbox")); |
104 | gSavedSettings.setBOOL("ShowSearchBar", childGetValue("show_search_panel")); | 106 | gSavedSettings.setBOOL("ShowSearchBar", childGetValue("show_search_panel")); |
diff --git a/linden/indra/newview/llprefsim.cpp b/linden/indra/newview/llprefsim.cpp index 3d71202..b6fbc88 100644 --- a/linden/indra/newview/llprefsim.cpp +++ b/linden/indra/newview/llprefsim.cpp | |||
@@ -121,6 +121,7 @@ BOOL LLPrefsIMImpl::postBuild() | |||
121 | childSetValue("include_im_in_chat_history", gSavedSettings.getBOOL("IMInChatHistory")); | 121 | childSetValue("include_im_in_chat_history", gSavedSettings.getBOOL("IMInChatHistory")); |
122 | childSetValue("show_timestamps_check", gSavedSettings.getBOOL("IMShowTimestamps")); | 122 | childSetValue("show_timestamps_check", gSavedSettings.getBOOL("IMShowTimestamps")); |
123 | childSetValue("friends_online_notify_checkbox", gSavedSettings.getBOOL("ChatOnlineNotification")); | 123 | childSetValue("friends_online_notify_checkbox", gSavedSettings.getBOOL("ChatOnlineNotification")); |
124 | childSetValue("vertical-imtabs-toggle", gSavedSettings.getBOOL("VerticalIMTabs")); | ||
124 | 125 | ||
125 | childSetText("log_path_string", gSavedPerAccountSettings.getString("InstantMessageLogPath")); | 126 | childSetText("log_path_string", gSavedPerAccountSettings.getString("InstantMessageLogPath")); |
126 | childSetValue("log_instant_messages", gSavedPerAccountSettings.getBOOL("LogInstantMessages")); | 127 | childSetValue("log_instant_messages", gSavedPerAccountSettings.getBOOL("LogInstantMessages")); |
@@ -216,6 +217,7 @@ void LLPrefsIMImpl::apply() | |||
216 | gAgent.sendReliableMessage(); | 217 | gAgent.sendReliableMessage(); |
217 | } | 218 | } |
218 | } | 219 | } |
220 | gSavedSettings.setBOOL("VerticalIMTabs", childGetValue("vertical-imtabs-toggle").asBoolean()); | ||
219 | } | 221 | } |
220 | 222 | ||
221 | void LLPrefsIMImpl::setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email) | 223 | void LLPrefsIMImpl::setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email) |
diff --git a/linden/indra/newview/llpreviewscript.cpp b/linden/indra/newview/llpreviewscript.cpp index 1e9def3..6273011 100644 --- a/linden/indra/newview/llpreviewscript.cpp +++ b/linden/indra/newview/llpreviewscript.cpp | |||
@@ -436,6 +436,14 @@ void LLScriptEdCore::initMenu() | |||
436 | menuItem->setMenuCallback(onBtnHelp, this); | 436 | menuItem->setMenuCallback(onBtnHelp, this); |
437 | menuItem->setEnabledCallback(NULL); | 437 | menuItem->setEnabledCallback(NULL); |
438 | 438 | ||
439 | menuItem = getChild<LLMenuItemCallGL>("Load from Disk"); | ||
440 | menuItem->setMenuCallback(onBtnLoadFromDisc, this); | ||
441 | menuItem->setEnabledCallback(NULL); | ||
442 | |||
443 | menuItem = getChild<LLMenuItemCallGL>("Save to Disk"); | ||
444 | menuItem->setMenuCallback(onBtnSaveToDisc, this); | ||
445 | menuItem->setEnabledCallback(NULL); | ||
446 | |||
439 | menuItem = getChild<LLMenuItemCallGL>("LSL Wiki Help..."); | 447 | menuItem = getChild<LLMenuItemCallGL>("LSL Wiki Help..."); |
440 | menuItem->setMenuCallback(onBtnDynamicHelp, this); | 448 | menuItem->setMenuCallback(onBtnDynamicHelp, this); |
441 | menuItem->setEnabledCallback(NULL); | 449 | menuItem->setEnabledCallback(NULL); |
@@ -547,6 +555,7 @@ void LLScriptEdCore::setHelpPage(const std::string& help_string) | |||
547 | if (!history_combo) return; | 555 | if (!history_combo) return; |
548 | 556 | ||
549 | LLUIString url_string = gSavedSettings.getString("LSLHelpURL"); | 557 | LLUIString url_string = gSavedSettings.getString("LSLHelpURL"); |
558 | url_string.setArg("[APP_DIRECTORY]", gDirUtilp->getWorkingDir()); | ||
550 | url_string.setArg("[LSL_STRING]", help_string); | 559 | url_string.setArg("[LSL_STRING]", help_string); |
551 | 560 | ||
552 | addHelpItemToHistory(help_string); | 561 | addHelpItemToHistory(help_string); |
@@ -773,6 +782,7 @@ void LLScriptEdCore::onHelpComboCommit(LLUICtrl* ctrl, void* userdata) | |||
773 | 782 | ||
774 | LLWebBrowserCtrl* web_browser = live_help_floater->getChild<LLWebBrowserCtrl>("lsl_guide_html"); | 783 | LLWebBrowserCtrl* web_browser = live_help_floater->getChild<LLWebBrowserCtrl>("lsl_guide_html"); |
775 | LLUIString url_string = gSavedSettings.getString("LSLHelpURL"); | 784 | LLUIString url_string = gSavedSettings.getString("LSLHelpURL"); |
785 | url_string.setArg("[APP_DIRECTORY]", gDirUtilp->getWorkingDir()); | ||
776 | url_string.setArg("[LSL_STRING]", help_string); | 786 | url_string.setArg("[LSL_STRING]", help_string); |
777 | web_browser->navigateTo(url_string); | 787 | web_browser->navigateTo(url_string); |
778 | } | 788 | } |
@@ -823,6 +833,60 @@ void LLScriptEdCore::onBtnUndoChanges( void* userdata ) | |||
823 | } | 833 | } |
824 | } | 834 | } |
825 | 835 | ||
836 | void LLScriptEdCore::onBtnSaveToDisc( void* userdata ) | ||
837 | { | ||
838 | |||
839 | LLViewerStats::getInstance()->incStat( LLViewerStats::ST_LSL_SAVE_COUNT ); | ||
840 | |||
841 | LLScriptEdCore* self = (LLScriptEdCore*) userdata; | ||
842 | |||
843 | if( self->mSaveCallback ) | ||
844 | { | ||
845 | LLFilePicker& file_picker = LLFilePicker::instance(); | ||
846 | if( !file_picker.getSaveFile( LLFilePicker::FFSAVE_TEXT ) ) | ||
847 | { | ||
848 | return; | ||
849 | } | ||
850 | |||
851 | std::string filename = file_picker.getFirstFile(); | ||
852 | std::string scriptText=self->mEditor->getText(); | ||
853 | std::ofstream fout(filename.c_str()); | ||
854 | fout<<(scriptText); | ||
855 | fout.close(); | ||
856 | self->mSaveCallback( self->mUserdata, FALSE ); | ||
857 | |||
858 | } | ||
859 | |||
860 | } | ||
861 | void LLScriptEdCore::onBtnLoadFromDisc( void* data ) | ||
862 | { | ||
863 | |||
864 | LLScriptEdCore* self = (LLScriptEdCore*) data; | ||
865 | |||
866 | LLFilePicker& file_picker = LLFilePicker::instance(); | ||
867 | if( !file_picker.getOpenFile( LLFilePicker::FFLOAD_TEXT ) ) | ||
868 | { | ||
869 | return; | ||
870 | } | ||
871 | |||
872 | std::string filename = file_picker.getFirstFile(); | ||
873 | |||
874 | std::ifstream fin(filename.c_str()); | ||
875 | |||
876 | std::string line; | ||
877 | std::string linetotal; | ||
878 | self->mEditor->clear(); | ||
879 | while (!fin.eof()) | ||
880 | { | ||
881 | getline(fin,line); | ||
882 | line=line+"\n"; | ||
883 | self->mEditor->insertText(line); | ||
884 | |||
885 | } | ||
886 | fin.close(); | ||
887 | |||
888 | } | ||
889 | |||
826 | void LLScriptEdCore::onSearchMenu(void* userdata) | 890 | void LLScriptEdCore::onSearchMenu(void* userdata) |
827 | { | 891 | { |
828 | LLScriptEdCore* sec = (LLScriptEdCore*)userdata; | 892 | LLScriptEdCore* sec = (LLScriptEdCore*)userdata; |
diff --git a/linden/indra/newview/llpreviewscript.h b/linden/indra/newview/llpreviewscript.h index 7026482..97e721d 100644 --- a/linden/indra/newview/llpreviewscript.h +++ b/linden/indra/newview/llpreviewscript.h | |||
@@ -95,6 +95,8 @@ public: | |||
95 | static void doSave( void* userdata, BOOL close_after_save ); | 95 | static void doSave( void* userdata, BOOL close_after_save ); |
96 | static void onBtnSave(void*); | 96 | static void onBtnSave(void*); |
97 | static void onBtnUndoChanges(void*); | 97 | static void onBtnUndoChanges(void*); |
98 | static void onBtnSaveToDisc(void*); | ||
99 | static void onBtnLoadFromDisc(void*); | ||
98 | static void onSearchMenu(void* userdata); | 100 | static void onSearchMenu(void* userdata); |
99 | 101 | ||
100 | static void onUndoMenu(void* userdata); | 102 | static void onUndoMenu(void* userdata); |
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp index 55cc2a6..ceb5d5f 100644 --- a/linden/indra/newview/llviewermenu.cpp +++ b/linden/indra/newview/llviewermenu.cpp | |||
@@ -6334,6 +6334,8 @@ class LLAttachmentEnableDrop : public view_listener_t | |||
6334 | { | 6334 | { |
6335 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | 6335 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) |
6336 | { | 6336 | { |
6337 | if (gDisconnected) | ||
6338 | return true; | ||
6337 | LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); | 6339 | LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); |
6338 | BOOL can_build = gAgent.isGodlike() || (parcel && parcel->getAllowModify()); | 6340 | BOOL can_build = gAgent.isGodlike() || (parcel && parcel->getAllowModify()); |
6339 | 6341 | ||
@@ -6384,7 +6386,6 @@ class LLAttachmentEnableDrop : public view_listener_t | |||
6384 | // [RLVa:KB] - Checked: 2009-07-05 (RLVa-1.0.0b) | 6386 | // [RLVa:KB] - Checked: 2009-07-05 (RLVa-1.0.0b) |
6385 | bool new_value = enable_detach(NULL) && can_build && item && (!gRlvHandler.hasBehaviour(RLV_BHVR_REZ)); | 6387 | bool new_value = enable_detach(NULL) && can_build && item && (!gRlvHandler.hasBehaviour(RLV_BHVR_REZ)); |
6386 | // [/RLVa:KB] | 6388 | // [/RLVa:KB] |
6387 | |||
6388 | gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value); | 6389 | gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value); |
6389 | return true; | 6390 | return true; |
6390 | } | 6391 | } |
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index 464d687..d784f52 100644 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp | |||
@@ -78,6 +78,7 @@ | |||
78 | #include "llfloatergroupinfo.h" | 78 | #include "llfloatergroupinfo.h" |
79 | #include "llfloaterimagepreview.h" | 79 | #include "llfloaterimagepreview.h" |
80 | #include "llfloaterland.h" | 80 | #include "llfloaterland.h" |
81 | #include "llfloatermap.h" | ||
81 | #include "llfloaterregioninfo.h" | 82 | #include "llfloaterregioninfo.h" |
82 | #include "llfloaterlandholdings.h" | 83 | #include "llfloaterlandholdings.h" |
83 | #include "llurldispatcher.h" | 84 | #include "llurldispatcher.h" |
@@ -145,6 +146,12 @@ | |||
145 | extern LLMap< const LLUUID, LLFloaterAvatarInfo* > gAvatarInfoInstances; // Only defined in llfloateravatarinfo.cpp | 146 | extern LLMap< const LLUUID, LLFloaterAvatarInfo* > gAvatarInfoInstances; // Only defined in llfloateravatarinfo.cpp |
146 | // [/RLVa:KB] | 147 | // [/RLVa:KB] |
147 | 148 | ||
149 | //silly spam define D: | ||
150 | bool dialogSpamOn; | ||
151 | static LLFrameTimer d_spam; | ||
152 | std::map< std::string , S32 > lastd_names; | ||
153 | LLDynamicArray< std::string > blacklisted_names; | ||
154 | |||
148 | // | 155 | // |
149 | // Constants | 156 | // Constants |
150 | // | 157 | // |
@@ -2547,6 +2554,12 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) | |||
2547 | { | 2554 | { |
2548 | ((LLVOAvatar*)chatter)->startTyping(); | 2555 | ((LLVOAvatar*)chatter)->startTyping(); |
2549 | } | 2556 | } |
2557 | |||
2558 | if (LLFloaterMap::getInstance()) | ||
2559 | { | ||
2560 | LLFloaterMap::getInstance()->updateTypingList(from_id, false); | ||
2561 | } | ||
2562 | |||
2550 | return; | 2563 | return; |
2551 | } | 2564 | } |
2552 | else if (CHAT_TYPE_STOP == chat.mChatType) | 2565 | else if (CHAT_TYPE_STOP == chat.mChatType) |
@@ -2558,6 +2571,15 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) | |||
2558 | { | 2571 | { |
2559 | ((LLVOAvatar*)chatter)->stopTyping(); | 2572 | ((LLVOAvatar*)chatter)->stopTyping(); |
2560 | } | 2573 | } |
2574 | |||
2575 | if (LLFloaterMap::getInstance()) | ||
2576 | { | ||
2577 | if (LLFloaterMap::getInstance()->getIsTyping(from_id)) | ||
2578 | { | ||
2579 | LLFloaterMap::getInstance()->updateTypingList(from_id, true); | ||
2580 | } | ||
2581 | } | ||
2582 | |||
2561 | return; | 2583 | return; |
2562 | } | 2584 | } |
2563 | 2585 | ||
@@ -4403,7 +4425,7 @@ void process_money_balance_reply( LLMessageSystem* msg, void** ) | |||
4403 | LLUUID tid; | 4425 | LLUUID tid; |
4404 | msg->getUUID("MoneyData", "TransactionID", tid); | 4426 | msg->getUUID("MoneyData", "TransactionID", tid); |
4405 | static std::deque<LLUUID> recent; | 4427 | static std::deque<LLUUID> recent; |
4406 | if(!desc.empty() && gSavedSettings.getBOOL("NotifyMoneyChange") | 4428 | if(!desc.empty() && gSavedSettings.getBOOL("NotifyMoneyChange") && !gDisconnected |
4407 | && (std::find(recent.rbegin(), recent.rend(), tid) == recent.rend())) | 4429 | && (std::find(recent.rbegin(), recent.rend(), tid) == recent.rend())) |
4408 | { | 4430 | { |
4409 | // Make the user confirm the transaction, since they might | 4431 | // Make the user confirm the transaction, since they might |
@@ -5454,6 +5476,21 @@ void process_script_dialog(LLMessageSystem* msg, void**) | |||
5454 | msg->getString("Data", "Message", message); | 5476 | msg->getString("Data", "Message", message); |
5455 | msg->getS32("Data", "ChatChannel", info->mChatChannel); | 5477 | msg->getS32("Data", "ChatChannel", info->mChatChannel); |
5456 | 5478 | ||
5479 | // Don't show lldialog boxes from muted avs -- McCabe | ||
5480 | std::string agent_name = first_name + " " + last_name; | ||
5481 | if (!first_name.empty()) | ||
5482 | { | ||
5483 | std::vector<LLMute> mutes = LLMuteList::getInstance()->getMutes(); | ||
5484 | for (U32 i = 0; i < mutes.size(); i++) | ||
5485 | { | ||
5486 | if (mutes[i].mName == agent_name) | ||
5487 | { | ||
5488 | delete info; | ||
5489 | return; | ||
5490 | } | ||
5491 | } | ||
5492 | } | ||
5493 | |||
5457 | // unused for now | 5494 | // unused for now |
5458 | LLUUID image_id; | 5495 | LLUUID image_id; |
5459 | msg->getUUID("Data", "ImageID", image_id); | 5496 | msg->getUUID("Data", "ImageID", image_id); |
@@ -5476,6 +5513,45 @@ void process_script_dialog(LLMessageSystem* msg, void**) | |||
5476 | args["[MESSAGE]"] = message; | 5513 | args["[MESSAGE]"] = message; |
5477 | if (!first_name.empty()) | 5514 | if (!first_name.empty()) |
5478 | { | 5515 | { |
5516 | // Dialog Spam Prevention by Cryogenic | ||
5517 | if(dialogSpamOn) | ||
5518 | { | ||
5519 | if(!d_spam.getStarted()) | ||
5520 | { | ||
5521 | d_spam.start(); | ||
5522 | } | ||
5523 | if(blacklisted_names.find(agent_name) != -1) | ||
5524 | { | ||
5525 | return; | ||
5526 | } | ||
5527 | std::map< std::string , S32 >::iterator itr = lastd_names.find(agent_name); | ||
5528 | if(itr != lastd_names.end()) | ||
5529 | { | ||
5530 | if(d_spam.getElapsedTimeF32() <= gSavedSettings.getF32("SpamTime")) | ||
5531 | { | ||
5532 | if((*itr).second > gSavedSettings.getF32("SpamCount")) | ||
5533 | { | ||
5534 | blacklisted_names.put(agent_name); | ||
5535 | LL_INFOS("process_script_dialog") << "blocked " << info->mObjectID.asString() << " owned by " << agent_name << LL_ENDL;//" (" << key.asString() << ")" <<LL_ENDL; | ||
5536 | return; | ||
5537 | } | ||
5538 | else | ||
5539 | { | ||
5540 | (*itr).second++; | ||
5541 | } | ||
5542 | } | ||
5543 | else | ||
5544 | { | ||
5545 | lastd_names.erase(lastd_names.begin(),lastd_names.end()); | ||
5546 | d_spam.reset(); | ||
5547 | } | ||
5548 | } | ||
5549 | else | ||
5550 | { | ||
5551 | //llinfos << "Added " << fullname << " to list" << llendl; | ||
5552 | lastd_names[agent_name] = 0; | ||
5553 | } | ||
5554 | } | ||
5479 | args["[FIRST]"] = first_name; | 5555 | args["[FIRST]"] = first_name; |
5480 | args["[LAST]"] = last_name; | 5556 | args["[LAST]"] = last_name; |
5481 | LLNotifyBox::showXml("ScriptDialog", args, | 5557 | LLNotifyBox::showXml("ScriptDialog", args, |
diff --git a/linden/indra/newview/llviewerregion.cpp b/linden/indra/newview/llviewerregion.cpp index 0ba0879..2179c0b 100644 --- a/linden/indra/newview/llviewerregion.cpp +++ b/linden/indra/newview/llviewerregion.cpp | |||
@@ -917,10 +917,12 @@ bool LLViewerRegion::isAlive() | |||
917 | 917 | ||
918 | BOOL LLViewerRegion::isOwnedSelf(const LLVector3& pos) | 918 | BOOL LLViewerRegion::isOwnedSelf(const LLVector3& pos) |
919 | { | 919 | { |
920 | if (mParcelOverlay) | 920 | if (mParcelOverlay && !gDisconnected) |
921 | { | 921 | { |
922 | return mParcelOverlay->isOwnedSelf(pos); | 922 | return mParcelOverlay->isOwnedSelf(pos); |
923 | } else { | 923 | } |
924 | else | ||
925 | { | ||
924 | return FALSE; | 926 | return FALSE; |
925 | } | 927 | } |
926 | } | 928 | } |
diff --git a/linden/indra/newview/llwindlightremotectrl.cpp b/linden/indra/newview/llwindlightremotectrl.cpp index ae9a90a..f805763 100644 --- a/linden/indra/newview/llwindlightremotectrl.cpp +++ b/linden/indra/newview/llwindlightremotectrl.cpp | |||
@@ -35,6 +35,7 @@ | |||
35 | #include "llbutton.h" | 35 | #include "llbutton.h" |
36 | #include "llcombobox.h" | 36 | #include "llcombobox.h" |
37 | #include "llfloaterenvsettings.h" | 37 | #include "llfloaterenvsettings.h" |
38 | #include "llfloaterwater.h" | ||
38 | #include "llfloaterwindlight.h" | 39 | #include "llfloaterwindlight.h" |
39 | #include "lloverlaybar.h" | 40 | #include "lloverlaybar.h" |
40 | #include "lluictrlfactory.h" | 41 | #include "lluictrlfactory.h" |
@@ -154,6 +155,11 @@ void LLWindlightRemoteCtrl::refreshPresets() | |||
154 | 155 | ||
155 | // insert separator and add World menu options | 156 | // insert separator and add World menu options |
156 | mPresetsCombo->addSeparator(ADD_BOTTOM); | 157 | mPresetsCombo->addSeparator(ADD_BOTTOM); |
158 | mPresetsCombo->addSimpleElement(getString("atmosphere"), ADD_BOTTOM); | ||
159 | mPresetsCombo->addSimpleElement(getString("lighting"), ADD_BOTTOM); | ||
160 | mPresetsCombo->addSimpleElement(getString("clouds"), ADD_BOTTOM); | ||
161 | mPresetsCombo->addSimpleElement(getString("advanced_water"), ADD_BOTTOM); | ||
162 | mPresetsCombo->addSeparator(ADD_BOTTOM); | ||
157 | mPresetsCombo->addSimpleElement(getString("sunrise"), ADD_BOTTOM); | 163 | mPresetsCombo->addSimpleElement(getString("sunrise"), ADD_BOTTOM); |
158 | mPresetsCombo->addSimpleElement(getString("noon"), ADD_BOTTOM); | 164 | mPresetsCombo->addSimpleElement(getString("noon"), ADD_BOTTOM); |
159 | mPresetsCombo->addSimpleElement(getString("sunset"), ADD_BOTTOM); | 165 | mPresetsCombo->addSimpleElement(getString("sunset"), ADD_BOTTOM); |
@@ -191,7 +197,35 @@ void LLWindlightRemoteCtrl::onCommitPreset(LLUICtrl* ctrl, void* data) | |||
191 | // check for World menu options; if none, apply preset | 197 | // check for World menu options; if none, apply preset |
192 | std::string selected = self->mPresetsCombo->getSelectedValue().asString(); | 198 | std::string selected = self->mPresetsCombo->getSelectedValue().asString(); |
193 | 199 | ||
194 | if (selected == self->getString("sunrise")) | 200 | if (selected == self->getString("atmosphere")) |
201 | { | ||
202 | if (!LLFloaterWindLight::instance()->getVisible()) | ||
203 | { | ||
204 | LLFloaterWindLight::show(); | ||
205 | } | ||
206 | LLFloaterWindLight::instance()->selectTab("Atmosphere"); | ||
207 | } | ||
208 | else if (selected == self->getString("lighting")) | ||
209 | { | ||
210 | if (!LLFloaterWindLight::instance()->getVisible()) | ||
211 | { | ||
212 | LLFloaterWindLight::show(); | ||
213 | } | ||
214 | LLFloaterWindLight::instance()->selectTab("Lighting"); | ||
215 | } | ||
216 | else if (selected == self->getString("clouds")) | ||
217 | { | ||
218 | if (!LLFloaterWindLight::instance()->getVisible()) | ||
219 | { | ||
220 | LLFloaterWindLight::show(); | ||
221 | } | ||
222 | LLFloaterWindLight::instance()->selectTab("Clouds"); | ||
223 | } | ||
224 | else if (selected == self->getString("advanced_water")) | ||
225 | { | ||
226 | LLFloaterWater::show(); | ||
227 | } | ||
228 | else if (selected == self->getString("sunrise")) | ||
195 | { | 229 | { |
196 | // set the value, turn off animation | 230 | // set the value, turn off animation |
197 | LLWLParamManager::instance()->mAnimator.setDayTime(0.25); | 231 | LLWLParamManager::instance()->mAnimator.setDayTime(0.25); |
diff --git a/linden/indra/newview/res/viewerRes.rc b/linden/indra/newview/res/viewerRes.rc index e9307d4..7577685 100644 --- a/linden/indra/newview/res/viewerRes.rc +++ b/linden/indra/newview/res/viewerRes.rc | |||
@@ -231,8 +231,8 @@ TOOLMEDIAOPEN CURSOR "toolmediaopen.cur" | |||
231 | // | 231 | // |
232 | 232 | ||
233 | VS_VERSION_INFO VERSIONINFO | 233 | VS_VERSION_INFO VERSIONINFO |
234 | FILEVERSION 1,20,15,97417 | 234 | FILEVERSION 1,2,0 |
235 | PRODUCTVERSION 1,20,15,97417 | 235 | PRODUCTVERSION 1,2,0 |
236 | FILEFLAGSMASK 0x3fL | 236 | FILEFLAGSMASK 0x3fL |
237 | #ifdef _DEBUG | 237 | #ifdef _DEBUG |
238 | FILEFLAGS 0x1L | 238 | FILEFLAGS 0x1L |
@@ -249,11 +249,11 @@ BEGIN | |||
249 | BEGIN | 249 | BEGIN |
250 | VALUE "CompanyName", "Imprudence Viewer Project" | 250 | VALUE "CompanyName", "Imprudence Viewer Project" |
251 | VALUE "FileDescription", "Imprudence" | 251 | VALUE "FileDescription", "Imprudence" |
252 | VALUE "FileVersion", "1.2.0 beta" | 252 | VALUE "FileVersion", "1.2.0 beta 2" |
253 | VALUE "InternalName", "Imprudence" | 253 | VALUE "InternalName", "Imprudence" |
254 | VALUE "OriginalFilename", "Imprudence.exe" | 254 | VALUE "OriginalFilename", "Imprudence.exe" |
255 | VALUE "ProductName", "Imprudence" | 255 | VALUE "ProductName", "Imprudence" |
256 | VALUE "ProductVersion", "1.2.0 beta" | 256 | VALUE "ProductVersion", "1.2.0 beta 2" |
257 | END | 257 | END |
258 | END | 258 | END |
259 | BLOCK "VarFileInfo" | 259 | BLOCK "VarFileInfo" |
diff --git a/linden/indra/newview/rlvdefines.h b/linden/indra/newview/rlvdefines.h new file mode 100644 index 0000000..4e6a4d4 --- /dev/null +++ b/linden/indra/newview/rlvdefines.h | |||
@@ -0,0 +1,201 @@ | |||
1 | #ifndef RLV_DEFINES_H | ||
2 | #define RLV_DEFINES_H | ||
3 | |||
4 | // ============================================================================ | ||
5 | // Extensions | ||
6 | // | ||
7 | |||
8 | // Comment out if you don't want the Advanced / RLVa menu (may prevent enabling some extensions or experimental features - see below) | ||
9 | #define RLV_ADVANCED_MENU | ||
10 | // Comment out if you provide your own way to enable/disable RLVa | ||
11 | #define RLV_ADVANCED_TOGGLE_RLVA | ||
12 | |||
13 | // Provides access to "advanced" feature through the RLVa debug menu | ||
14 | #define RLV_EXTENSION_ENABLE_WEAR // "Enable Wear" | ||
15 | #define RLV_EXTENSION_FLOATER_RESTRICTIONS // Enables the Advanced / RLVa / Restrictions... floater | ||
16 | #define RLV_EXTENSION_HIDELOCKED // "Hide locked layers", "Hide locked attachments" and "Hide locked inventory" | ||
17 | |||
18 | // Extensions | ||
19 | #define RLV_EXTENSION_CMD_GETSETDEBUG_EX // Extends the debug variables accessible through @getdebug_xxx/@setdebug_xxx | ||
20 | #define RLV_EXTENSION_CMD_FINDFOLDERS // @findfolders:<option>=<channel> - @findfolder with multiple results | ||
21 | #define RLV_EXTENSION_FLAG_NOSTRIP // Layers and attachments marked as "nostrip" are exempt from @detach/@remoutfit | ||
22 | #define RLV_EXTENSION_STARTLOCATION // Reenables "Start Location" at login if not @tploc=n or @unsit=n restricted at last logoff | ||
23 | #define RLV_EXPERIMENTAL // Enables/disables experimental features en masse | ||
24 | |||
25 | // Experimental features | ||
26 | #ifdef RLV_EXPERIMENTAL | ||
27 | // Stable (will mature to RLV_EXTENSION_XXX in next release if no bugs are found) | ||
28 | #define RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK // Enables "cleaner" UI responses when fartouch blocks something | ||
29 | |||
30 | // Under testing (stable, but requires further testing - safe for public release but may be quirky) | ||
31 | #define RLV_EXPERIMENTAL_FIRSTUSE // Enables a number of "first use" popups | ||
32 | |||
33 | // Under development (don't include in public release) | ||
34 | #if LL_RELEASE_WITH_DEBUG_INFO || LL_DEBUG | ||
35 | #endif // LL_RELEASE_WITH_DEBUG_INFO || LL_DEBUG | ||
36 | #endif // RLV_EXPERIMENTAL | ||
37 | |||
38 | // ============================================================================ | ||
39 | // Defines | ||
40 | // | ||
41 | |||
42 | // Version of the specifcation we support | ||
43 | const S32 RLV_VERSION_MAJOR = 1; | ||
44 | const S32 RLV_VERSION_MINOR = 20; | ||
45 | const S32 RLV_VERSION_PATCH = 2; | ||
46 | |||
47 | // Implementation version | ||
48 | const S32 RLVa_VERSION_MAJOR = 1; | ||
49 | const S32 RLVa_VERSION_MINOR = 0; | ||
50 | const S32 RLVa_VERSION_PATCH = 3; | ||
51 | const S32 RLVa_VERSION_BUILD = 4; | ||
52 | |||
53 | // The official viewer version we're patching against | ||
54 | #define RLV_MAKE_TARGET(x, y, z) ((x << 16) | (y << 8) | z) | ||
55 | #define RLV_TARGET RLV_MAKE_TARGET(1, 22, 11) | ||
56 | |||
57 | // Defining these makes it easier if we ever need to change our tag | ||
58 | #define RLV_WARNS LL_WARNS("RLV") | ||
59 | #define RLV_INFOS LL_INFOS("RLV") | ||
60 | #define RLV_DEBUGS LL_DEBUGS("RLV") | ||
61 | |||
62 | #if LL_RELEASE_WITH_DEBUG_INFO || LL_DEBUG | ||
63 | // Turn on extended debugging information | ||
64 | #define RLV_DEBUG | ||
65 | // Make sure we halt execution on errors | ||
66 | #define RLV_ERRS LL_ERRS("RLV") | ||
67 | // Uncomment to enable the Advanced / RLVa / Unit Tests menu (non-public) | ||
68 | //#define RLV_DEBUG_TESTS | ||
69 | #else | ||
70 | // Uncomment if you want extended debugging information on release builds | ||
71 | //#define RLV_DEBUG | ||
72 | // Don't halt execution on errors in release | ||
73 | #define RLV_ERRS LL_WARNS("RLV") | ||
74 | #endif // LL_RELEASE_WITH_DEBUG_INFO || LL_DEBUG | ||
75 | |||
76 | #define RLV_ROOT_FOLDER "#RLV" | ||
77 | #define RLV_CMD_PREFIX '@' | ||
78 | #define RLV_PUTINV_PREFIX "#RLV/~" | ||
79 | #define RLV_SETROT_OFFSET F_PI_BY_TWO // @setrot is off by 90° with the rest of SL | ||
80 | |||
81 | #define RLV_FOLDER_FLAG_NOSTRIP "nostrip" | ||
82 | #define RLV_FOLDER_PREFIX_HIDDEN '.' | ||
83 | #define RLV_FOLDER_PREFIX_PUTINV '~' | ||
84 | |||
85 | // ============================================================================ | ||
86 | // Enumeration declarations | ||
87 | // | ||
88 | |||
89 | // NOTE: any changes to this enumeration should be reflected in initLookupTable() | ||
90 | enum ERlvBehaviour { | ||
91 | RLV_BHVR_VERSION = 0, // "version" | ||
92 | RLV_BHVR_DETACH, // "detach" | ||
93 | RLV_BHVR_SENDCHAT, // "sendchat" | ||
94 | RLV_BHVR_EMOTE, // "emote" | ||
95 | RLV_BHVR_CHATSHOUT, // "chatshout" | ||
96 | RLV_BHVR_CHATNORMAL, // "chatnormal" | ||
97 | RLV_BHVR_CHATWHISPER, // "chatwhisper" | ||
98 | RLV_BHVR_REDIRCHAT, // "redirchat" | ||
99 | RLV_BHVR_REDIREMOTE, // "rediremote" | ||
100 | RLV_BHVR_SENDIM, // "sendim" | ||
101 | RLV_BHVR_RECVCHAT, // "recvchat" | ||
102 | RLV_BHVR_RECVEMOTE, // "recvemote" | ||
103 | RLV_BHVR_RECVIM, // "recvim" | ||
104 | RLV_BHVR_TPLM, // "tplm" | ||
105 | RLV_BHVR_TPLOC, // "tploc" | ||
106 | RLV_BHVR_TPLURE, // "tplure" | ||
107 | RLV_BHVR_SITTP, // "sittp" | ||
108 | RLV_BHVR_EDIT, // "edit" | ||
109 | RLV_BHVR_REZ, // "rez" | ||
110 | RLV_BHVR_ADDOUTFIT, // "addoutfit" | ||
111 | RLV_BHVR_REMOUTFIT, // "remoutfit" | ||
112 | RLV_BHVR_GETOUTFIT, // "getoutfit" | ||
113 | RLV_BHVR_GETATTACH, // "getattach" | ||
114 | RLV_BHVR_SHOWINV, // "showinv" | ||
115 | RLV_BHVR_VIEWNOTE, // "viewnote" | ||
116 | RLV_BHVR_UNSIT, // "unsit" | ||
117 | RLV_BHVR_SIT, // "sit" | ||
118 | RLV_BHVR_SENDCHANNEL, // "sendchannel" | ||
119 | RLV_BHVR_GETSTATUS, // "getstatus" | ||
120 | RLV_BHVR_GETSTATUSALL, // "getstatusall" | ||
121 | RLV_BHVR_GETINV, // "getinv" | ||
122 | RLV_BHVR_GETINVWORN, // "getinvworn" | ||
123 | RLV_BHVR_FINDFOLDER, // "findfolder" | ||
124 | RLV_BHVR_FINDFOLDERS, // "findfolders" | ||
125 | RLV_BHVR_ATTACH, // "attach" | ||
126 | RLV_BHVR_ATTACHALL, // "attachall" | ||
127 | RLV_BHVR_DETACHALL, // "detachall" | ||
128 | RLV_BHVR_GETPATH, // "getpath" | ||
129 | RLV_BHVR_ATTACHTHIS, // "attachthis" | ||
130 | RLV_BHVR_ATTACHALLTHIS, // "attachallthis" | ||
131 | RLV_BHVR_DETACHTHIS, // "detachthis" | ||
132 | RLV_BHVR_DETACHALLTHIS, // "detachallthis" | ||
133 | RLV_BHVR_FARTOUCH, // "fartouch" | ||
134 | RLV_BHVR_SHOWWORLDMAP, // "showworldmap" | ||
135 | RLV_BHVR_SHOWMINIMAP, // "showminimap" | ||
136 | RLV_BHVR_SHOWLOC, // "showloc" | ||
137 | RLV_BHVR_TPTO, // "tpto" | ||
138 | RLV_BHVR_ACCEPTTP, // "accepttp" | ||
139 | RLV_BHVR_SHOWNAMES, // "shownames" | ||
140 | RLV_BHVR_FLY, // "fly" | ||
141 | RLV_BHVR_GETSITID, // "getsitid" | ||
142 | RLV_BHVR_SETDEBUG, // "setdebug" | ||
143 | RLV_BHVR_SETENV, // "setenv" | ||
144 | RLV_BHVR_DETACHME, // "detachme" | ||
145 | RLV_BHVR_SHOWHOVERTEXTALL, // "showhovertextall" | ||
146 | RLV_BHVR_SHOWHOVERTEXTWORLD, // "showhovertextworld" | ||
147 | RLV_BHVR_SHOWHOVERTEXTHUD, // "showhovertexthud" | ||
148 | RLV_BHVR_SHOWHOVERTEXT, // "showhovertext" | ||
149 | RLV_BHVR_NOTIFY, // "notify" | ||
150 | |||
151 | RLV_BHVR_COUNT, | ||
152 | RLV_BHVR_UNKNOWN | ||
153 | }; | ||
154 | |||
155 | enum ERlvParamType { | ||
156 | RLV_TYPE_UNKNOWN, | ||
157 | RLV_TYPE_ADD, // <param> == "n"|"add" | ||
158 | RLV_TYPE_REMOVE, // <param> == "y"|"rem" | ||
159 | RLV_TYPE_FORCE, // <param> == "force" | ||
160 | RLV_TYPE_REPLY, // <param> == <number> | ||
161 | RLV_TYPE_CLEAR | ||
162 | }; | ||
163 | |||
164 | enum ERlvCmdRet { | ||
165 | RLV_RET_NOERROR, // Command executed succesfully | ||
166 | RLV_RET_RETAINED, // Command was retained | ||
167 | RLV_RET_DISABLED, // Command is disabled (by user) | ||
168 | RLV_RET_FAILED, // Command failed (general failure) | ||
169 | RLV_RET_FAILED_SYNTAX, // Command failed (syntax error) | ||
170 | RLV_RET_FAILED_UNSET, // Command failed (unset restriction) | ||
171 | RLV_RET_FAILED_DUPLICATE, // Command failed (duplicate) | ||
172 | RLV_RET_FAILED_OPTION, // Command failed (invalid option) | ||
173 | RLV_RET_FAILED_PARAM, // Command failed (invalid param) | ||
174 | RLV_RET_UNKNOWN // Command unkown | ||
175 | }; | ||
176 | |||
177 | // ============================================================================ | ||
178 | // Settings | ||
179 | |||
180 | #define RLV_SETTING_MAIN "RestrainedLife" | ||
181 | #define RLV_SETTING_DEBUG "RestrainedLifeDebug" | ||
182 | #define RLV_SETTING_NOSETENV "RestrainedLifeNoSetEnv" | ||
183 | #define RLV_SETTING_FORBIDGIVETORLV "RestrainedLifeForbidGiveToRLV" | ||
184 | |||
185 | #define RLV_SETTING_ENABLEWEAR "RLVaEnableWear" | ||
186 | #define RLV_SETTING_ENABLELEGACYNAMING "RLVaEnableLegacyNaming" | ||
187 | #define RLV_SETTING_HIDELOCKEDLAYER "RLVaHideLockedLayers" | ||
188 | #define RLV_SETTING_HIDELOCKEDATTACH "RLVaHideLockedAttachments" | ||
189 | #define RLV_SETTING_HIDELOCKEDINVENTORY "RLVaHideLockedInventory" | ||
190 | #define RLV_SETTING_LOGINLASTLOCATION "RLVaLoginLastLocation" | ||
191 | #define RLV_SETTING_SHOWNAMETAGS "RLVaShowNameTags" | ||
192 | |||
193 | #define RLV_SETTING_FIRSTUSE_PREFIX "FirstRLV" | ||
194 | #define RLV_SETTING_FIRSTUSE_DETACH RLV_SETTING_FIRSTUSE_PREFIX"Detach" | ||
195 | #define RLV_SETTING_FIRSTUSE_ENABLEWEAR RLV_SETTING_FIRSTUSE_PREFIX"EnableWear" | ||
196 | #define RLV_SETTING_FIRSTUSE_FARTOUCH RLV_SETTING_FIRSTUSE_PREFIX"Fartouch" | ||
197 | #define RLV_SETTING_FIRSTUSE_GIVETORLV RLV_SETTING_FIRSTUSE_PREFIX"GiveToRLV" | ||
198 | |||
199 | // ============================================================================ | ||
200 | |||
201 | #endif // RLV_DEFINES_H | ||
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_chatterbox_vertical.xml b/linden/indra/newview/skins/default/xui/en-us/floater_chatterbox_vertical.xml new file mode 100644 index 0000000..8b1f41b --- /dev/null +++ b/linden/indra/newview/skins/default/xui/en-us/floater_chatterbox_vertical.xml | |||
@@ -0,0 +1,14 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> | ||
2 | <multi_floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true" | ||
3 | height="390" name="floater_chatterbox" | ||
4 | rect_control="ChatterboxRect" title="Communicate" width="392"> | ||
5 | <tab_container bottom="2" follows="left|right|top|bottom" height="370" left="0" | ||
6 | name="chatterbox_tabs" tab_position="left" tab_width="126" width="395" /> | ||
7 | <string name="unread_count_string_singular"> | ||
8 | Unread IM | ||
9 | </string> | ||
10 | <string name="unread_count_string_plural"> | ||
11 | Unread IMs | ||
12 | </string> | ||
13 | </multi_floater> | ||
14 | |||
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_directory.xml b/linden/indra/newview/skins/default/xui/en-us/floater_directory.xml index fe04ad3..8591c1f 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_directory.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_directory.xml | |||
@@ -70,7 +70,7 @@ | |||
70 | <panel border="true" bottom="-569" follows="left|top|right|bottom" height="553" | 70 | <panel border="true" bottom="-569" follows="left|top|right|bottom" height="553" |
71 | label="Classifieds" left="1" left_delta="68" mouse_opaque="false" | 71 | label="Classifieds" left="1" left_delta="68" mouse_opaque="false" |
72 | name="classified_panel" width="778"> | 72 | name="classified_panel" width="778"> |
73 | <button bottom="-533" follows="left|bottom" font="SansSerif" halign="center" | 73 | <button bottom="-553" follows="left|bottom" font="SansSerif" halign="center" |
74 | height="20" label="Next >" label_selected="Next >" | 74 | height="20" label="Next >" label_selected="Next >" |
75 | mouse_opaque="true" name="Next >" right="344" width="80" /> | 75 | mouse_opaque="true" name="Next >" right="344" width="80" /> |
76 | <string name="searching_text"> | 76 | <string name="searching_text"> |
@@ -265,7 +265,7 @@ | |||
265 | bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom" | 265 | bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom" |
266 | font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4" | 266 | font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4" |
267 | mouse_opaque="true" name="result_text" v_pad="0" width="328" /> | 267 | mouse_opaque="true" name="result_text" v_pad="0" width="328" /> |
268 | <button bottom="-533" follows="left|bottom" font="SansSerif" halign="center" | 268 | <button bottom="-553" follows="left|bottom" font="SansSerif" halign="center" |
269 | height="20" label="Next >" label_selected="Next >" | 269 | height="20" label="Next >" label_selected="Next >" |
270 | mouse_opaque="true" name="Next >" right="344" width="80" /> | 270 | mouse_opaque="true" name="Next >" right="344" width="80" /> |
271 | <button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center" | 271 | <button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center" |
@@ -313,7 +313,7 @@ | |||
313 | <string name="not_found_text"> | 313 | <string name="not_found_text"> |
314 | None Found. | 314 | None Found. |
315 | </string> | 315 | </string> |
316 | <button bottom="-533" follows="left|bottom" font="SansSerif" halign="center" | 316 | <button bottom="-553" follows="left|bottom" font="SansSerif" halign="center" |
317 | height="20" label="Next >" label_selected="Next >" | 317 | height="20" label="Next >" label_selected="Next >" |
318 | mouse_opaque="true" name="Next >" right="390" width="80" /> | 318 | mouse_opaque="true" name="Next >" right="390" width="80" /> |
319 | <button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center" | 319 | <button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center" |
@@ -394,7 +394,7 @@ To buy direct, visit the land and click on the place name in the title bar. | |||
394 | <string name="not_found_text"> | 394 | <string name="not_found_text"> |
395 | None Found. | 395 | None Found. |
396 | </string> | 396 | </string> |
397 | <button bottom="-533" follows="left|bottom" font="SansSerif" halign="center" | 397 | <button bottom="-553" follows="left|bottom" font="SansSerif" halign="center" |
398 | height="20" label="Next >" label_selected="Next >" | 398 | height="20" label="Next >" label_selected="Next >" |
399 | mouse_opaque="true" name="Next >" right="344" width="80" /> | 399 | mouse_opaque="true" name="Next >" right="344" width="80" /> |
400 | <button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center" | 400 | <button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center" |
@@ -482,7 +482,7 @@ To buy direct, visit the land and click on the place name in the title bar. | |||
482 | <string name="not_found_text"> | 482 | <string name="not_found_text"> |
483 | None Found. | 483 | None Found. |
484 | </string> | 484 | </string> |
485 | <button bottom="-533" follows="left|bottom" font="SansSerif" halign="center" | 485 | <button bottom="-553" follows="left|bottom" font="SansSerif" halign="center" |
486 | height="20" label="Next >" label_selected="Next >" | 486 | height="20" label="Next >" label_selected="Next >" |
487 | mouse_opaque="true" name="Next >" right="330" width="80" /> | 487 | mouse_opaque="true" name="Next >" right="330" width="80" /> |
488 | <button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center" | 488 | <button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center" |
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_mini_map.xml b/linden/indra/newview/skins/default/xui/en-us/floater_mini_map.xml index 2cb46b7..3c860e9 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_mini_map.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_mini_map.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="false" can_resize="true" | 2 | <floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true" |
3 | can_tear_off="false" follows="top|right" height="455" min_height="400" min_width="240" | 3 | can_tear_off="false" follows="top|right" height="455" min_height="400" min_width="240" |
4 | name="minimap" rect_control="FloaterMiniMapRect" width="200"> | 4 | name="minimap" rect_control="FloaterMiniMapRect" width="200" short_title="Mini-Map"> |
5 | 5 | ||
6 | <panel label="Mini Map" name="mini_mapview" | 6 | <panel label="Mini Map" name="mini_mapview" |
7 | top="-2" left="2" bottom="196" right="196" | 7 | top="-2" left="2" bottom="196" right="196" |
@@ -92,10 +92,16 @@ | |||
92 | <string name="no_one_near"> | 92 | <string name="no_one_near"> |
93 | No avatars within range | 93 | No avatars within range |
94 | </string> | 94 | </string> |
95 | <string name="muted"> | 95 | <string name="is_muted"> |
96 | (muted) | 96 | (muted) |
97 | </string> | 97 | </string> |
98 | <string name="is_typing"> | ||
99 | (typing) | ||
100 | </string> | ||
98 | <string name="entering_chat_range"> | 101 | <string name="entering_chat_range"> |
99 | [NAME] has entered chat range ([DISTANCE]m) | 102 | [NAME] has entered chat range ([DISTANCE]m) |
100 | </string> | 103 | </string> |
104 | <string name="entering_sim_range"> | ||
105 | [NAME] has entered the sim ([DISTANCE]m) | ||
106 | </string> | ||
101 | </floater> | 107 | </floater> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_postcard.xml b/linden/indra/newview/skins/default/xui/en-us/floater_postcard.xml index 631db0d..9cf7b5f 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_postcard.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_postcard.xml | |||
@@ -43,7 +43,7 @@ | |||
43 | <button bottom_delta="0" follows="right|bottom" height="20" label="Send" | 43 | <button bottom_delta="0" follows="right|bottom" height="20" label="Send" |
44 | left_delta="-106" name="send_btn" width="100" /> | 44 | left_delta="-106" name="send_btn" width="100" /> |
45 | <string name="default_subject"> | 45 | <string name="default_subject"> |
46 | Postcard from Second Life. | 46 | Postcard from a virtual world. |
47 | </string> | 47 | </string> |
48 | <string name="default_message"> | 48 | <string name="default_message"> |
49 | Check this out! | 49 | Check this out! |
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_script_ed_panel.xml b/linden/indra/newview/skins/default/xui/en-us/floater_script_ed_panel.xml index b83a6df..653c75b 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_script_ed_panel.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_script_ed_panel.xml | |||
@@ -35,6 +35,12 @@ | |||
35 | width="138" /> | 35 | width="138" /> |
36 | <menu_item_call bottom_delta="-58" height="20" label="Revert All Changes" left="0" | 36 | <menu_item_call bottom_delta="-58" height="20" label="Revert All Changes" left="0" |
37 | mouse_opaque="true" name="Revert All Changes" width="138" /> | 37 | mouse_opaque="true" name="Revert All Changes" width="138" /> |
38 | <menu_item_separator bottom_delta="-66" height="8" left="0" mouse_opaque="true" name="separator" | ||
39 | width="138" /> | ||
40 | <menu_item_call bottom_delta="-76" height="20" label="Save to Disk" left="0" | ||
41 | mouse_opaque="true" name="Save to Disk" width="138" /> | ||
42 | <menu_item_call bottom_delta="-96" height="20" label="Load from Disk" left="0" | ||
43 | mouse_opaque="true" name="Load from Disk" width="138" /> | ||
38 | </menu> | 44 | </menu> |
39 | <menu bottom="665" drop_shadow="true" enabled="true" height="198" | 45 | <menu bottom="665" drop_shadow="true" enabled="true" height="198" |
40 | left="222" mouse_opaque="false" name="Edit" opaque="true" tear_off="false" | 46 | left="222" mouse_opaque="false" name="Edit" opaque="true" tear_off="false" |
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_water.xml b/linden/indra/newview/skins/default/xui/en-us/floater_water.xml index 9dcb96e..7038c93 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_water.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_water.xml | |||
@@ -11,17 +11,23 @@ | |||
11 | width="110"> | 11 | width="110"> |
12 | Water Presets: | 12 | Water Presets: |
13 | </text> | 13 | </text> |
14 | <combo_box allow_text_entry="false" bottom="-50" follows="left|top" height="18" | 14 | <combo_box allow_text_entry="false" bottom="-52" follows="left|top" height="18" |
15 | left_delta="110" max_chars="20" mouse_opaque="true" | 15 | left_delta="120" max_chars="20" mouse_opaque="true" |
16 | name="WaterPresetsCombo" width="150" /> | 16 | name="WaterPresetsCombo" width="150" /> |
17 | <button bottom="-53" enabled="true" font="SansSerif" halign="center" height="20" | ||
18 | label="" label_selected="" left_delta="-25" image_overlay="arrow_left.tga" | ||
19 | mouse_opaque="true" name="prev" scale_image="true" width="20" /> | ||
20 | <button bottom="-53" enabled="true" font="SansSerif" halign="center" height="20" | ||
21 | label="" label_selected="" left_delta="180" image_overlay="arrow_right.tga" | ||
22 | mouse_opaque="true" name="next" scale_image="true" width="20" /> | ||
17 | <button bottom="-53" enabled="true" font="SansSerif" halign="center" height="20" | 23 | <button bottom="-53" enabled="true" font="SansSerif" halign="center" height="20" |
18 | label="New" label_selected="New" left_delta="170" | 24 | label="New" label_selected="New" left_delta="40" |
19 | mouse_opaque="true" name="WaterNewPreset" scale_image="true" width="70" /> | 25 | mouse_opaque="true" name="WaterNewPreset" scale_image="true" width="70" /> |
20 | <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20" | 26 | <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20" |
21 | label="Save" label_selected="Save" left_delta="80" | 27 | label="Save" label_selected="Save" left_delta="70" |
22 | mouse_opaque="true" name="WaterSavePreset" scale_image="true" width="70" /> | 28 | mouse_opaque="true" name="WaterSavePreset" scale_image="true" width="70" /> |
23 | <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20" | 29 | <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20" |
24 | label="Delete" label_selected="Delete" left_delta="80" | 30 | label="Delete" label_selected="Delete" left_delta="70" |
25 | mouse_opaque="true" name="WaterDeletePreset" scale_image="true" width="70" /> | 31 | mouse_opaque="true" name="WaterDeletePreset" scale_image="true" width="70" /> |
26 | <tab_container bottom="-240" follows="left|top" height="180" left="0" | 32 | <tab_container bottom="-240" follows="left|top" height="180" left="0" |
27 | mouse_opaque="false" name="Water Tabs" tab_position="top" width="700"> | 33 | mouse_opaque="false" name="Water Tabs" tab_position="top" width="700"> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml index 56bdb28..0c18a62 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml | |||
@@ -77,11 +77,22 @@ | |||
77 | follows="left|top" height="16" increment="1" initial_val="300" | 77 | follows="left|top" height="16" increment="1" initial_val="300" |
78 | label="Away Timeout:" label_width="141" left="10" max_val="600" | 78 | label="Away Timeout:" label_width="141" left="10" max_val="600" |
79 | min_val="30" mouse_opaque="true" name="afk_timeout_spinner" width="202" /> | 79 | min_val="30" mouse_opaque="true" name="afk_timeout_spinner" width="202" /> |
80 | <check_box bottom_delta="-25" enabled="true" | 80 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" |
81 | bottom_delta="-25" drop_shadow_visible="true" enabled="true" follows="left|top" | ||
82 | font="SansSerifSmall" h_pad="0" halign="left" height="12" left="10" | ||
83 | mouse_opaque="true" name="UI Size:" v_pad="0" width="128"> | ||
84 | Mini-map notify: | ||
85 | </text> | ||
86 | <check_box bottom_delta="0" enabled="true" | ||
81 | follows="left|top" font="SansSerifSmall" height="16" initial_value="false" | 87 | follows="left|top" font="SansSerifSmall" height="16" initial_value="false" |
82 | label="Display mini-map messages in chat" left="151" | 88 | label="Entering chat range" left="151" |
83 | mouse_opaque="true" name="mini_map_notify" radio_style="false" | 89 | mouse_opaque="true" name="mini_map_notify_chat" radio_style="false" |
84 | width="256" /> | 90 | width="256" /> |
91 | <check_box bottom_delta="0" enabled="true" | ||
92 | follows="left|top" font="SansSerifSmall" height="16" initial_value="false" | ||
93 | label="Entering sim" left="330" | ||
94 | mouse_opaque="true" name="mini_map_notify_sim" radio_style="false" | ||
95 | width="256" /> | ||
85 | <check_box bottom="-304" enabled="true" | 96 | <check_box bottom="-304" enabled="true" |
86 | follows="left|top" font="SansSerifSmall" height="16" initial_value="false" | 97 | follows="left|top" font="SansSerifSmall" height="16" initial_value="false" |
87 | label="Notify when Linden dollars (L$) spent or received" left="151" | 98 | label="Notify when Linden dollars (L$) spent or received" left="151" |
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_im.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_im.xml index ee00455..9b18e11 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_im.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_im.xml | |||
@@ -49,55 +49,59 @@ | |||
49 | initial_value="false" label="Show online Friend notifications" left="148" | 49 | initial_value="false" label="Show online Friend notifications" left="148" |
50 | mouse_opaque="true" name="friends_online_notify_checkbox" | 50 | mouse_opaque="true" name="friends_online_notify_checkbox" |
51 | radio_style="false" width="256" /> | 51 | radio_style="false" width="256" /> |
52 | <check_box bottom_delta="-20" enabled="true" | ||
53 | follows="left|top" font="SansSerifSmall" height="16" initial_value="false" | ||
54 | label="Vertical IM tabs (requires restart)" left_delta="0" mouse_opaque="true" | ||
55 | name="vertical-imtabs-toggle" radio_style="false" width="270" /> | ||
52 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | 56 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" |
53 | bottom="-125" drop_shadow_visible="true" enabled="true" follows="left|top" | 57 | bottom_delta="-20" drop_shadow_visible="true" enabled="true" follows="left|top" |
54 | font="SansSerifSmall" h_pad="0" halign="left" height="10" left="12" | 58 | font="SansSerifSmall" h_pad="0" halign="left" height="10" left="12" |
55 | mouse_opaque="false" name="text_box3" v_pad="0" width="128"> | 59 | mouse_opaque="false" name="text_box3" v_pad="0" width="128"> |
56 | Busy Mode Response: | 60 | Busy Mode Response: |
57 | </text> | 61 | </text> |
58 | <text_editor type="string" length="1" bottom="-185" embedded_items="false" enabled="true" follows="left|top" | 62 | <text_editor type="string" length="1" bottom_delta="-60" embedded_items="false" enabled="true" follows="left|top" |
59 | font="SansSerifSmall" height="70" left="148" max_length="255" | 63 | font="SansSerifSmall" height="70" left="148" max_length="255" |
60 | mouse_opaque="true" name="busy_response" width="330" word_wrap="true" /> | 64 | mouse_opaque="true" name="busy_response" width="330" word_wrap="true" /> |
61 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | 65 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" |
62 | bottom="-218" drop_shadow_visible="true" enabled="true" follows="left|top" | 66 | bottom_delta="-33" drop_shadow_visible="true" enabled="true" follows="left|top" |
63 | font="SansSerifSmall" h_pad="0" halign="left" height="10" left="12" | 67 | font="SansSerifSmall" h_pad="0" halign="left" height="10" left="12" |
64 | mouse_opaque="false" name="text_box4" v_pad="0" width="128"> | 68 | mouse_opaque="false" name="text_box4" v_pad="0" width="128"> |
65 | Logging Options: | 69 | Logging Options: |
66 | </text> | 70 | </text> |
67 | <check_box bottom="-225" enabled="true" | 71 | <check_box bottom_delta="-7" enabled="true" |
68 | follows="left|top" font="SansSerifSmall" height="16" | 72 | follows="left|top" font="SansSerifSmall" height="16" |
69 | initial_value="false" label="Save a log of IM on my computer" left="148" | 73 | initial_value="false" label="Save a log of IM on my computer" left="148" |
70 | mouse_opaque="true" name="log_instant_messages" radio_style="false" | 74 | mouse_opaque="true" name="log_instant_messages" radio_style="false" |
71 | width="237" /> | 75 | width="237" /> |
72 | <check_box bottom="-245" enabled="true" | 76 | <check_box bottom_delta="-20" enabled="true" |
73 | follows="left|top" font="SansSerifSmall" height="16" | 77 | follows="left|top" font="SansSerifSmall" height="16" |
74 | initial_value="false" label="Show timestamps in IM log" left="168" | 78 | initial_value="false" label="Show timestamps in IM log" left="168" |
75 | mouse_opaque="true" name="log_instant_messages_timestamp" radio_style="false" | 79 | mouse_opaque="true" name="log_instant_messages_timestamp" radio_style="false" |
76 | width="217" /> | 80 | width="217" /> |
77 | <check_box bottom="-265" enabled="true" follows="left|top" | 81 | <check_box bottom_delta="-20" enabled="true" follows="left|top" |
78 | font="SansSerifSmall" height="16" initial_value="false" | 82 | font="SansSerifSmall" height="16" initial_value="false" |
79 | label="Show the end of last IM conversation" left="168" mouse_opaque="true" | 83 | label="Show the end of last IM conversation" left="168" mouse_opaque="true" |
80 | name="log_show_history" radio_style="false" width="217" /> | 84 | name="log_show_history" radio_style="false" width="217" /> |
81 | <check_box bottom="-285" enabled="true" follows="left|top" | 85 | <check_box bottom_delta="-20" enabled="true" follows="left|top" |
82 | font="SansSerifSmall" height="16" initial_value="false" label="Save a log of Local Chat on my computer" | 86 | font="SansSerifSmall" height="16" initial_value="false" label="Save a log of Local Chat on my computer" |
83 | left="148" mouse_opaque="true" name="log_chat" radio_style="false" | 87 | left="148" mouse_opaque="true" name="log_chat" radio_style="false" |
84 | width="237" /> | 88 | width="237" /> |
85 | <check_box bottom="-305" enabled="true" follows="left|top" | 89 | <check_box bottom_delta="-20" enabled="true" follows="left|top" |
86 | font="SansSerifSmall" height="16" initial_value="false" | 90 | font="SansSerifSmall" height="16" initial_value="false" |
87 | label="Show timestamps in Local Chat log" left="168" mouse_opaque="true" | 91 | label="Show timestamps in Local Chat log" left="168" mouse_opaque="true" |
88 | name="log_chat_timestamp" radio_style="false" width="217" /> | 92 | name="log_chat_timestamp" radio_style="false" width="217" /> |
89 | <check_box bottom="-325" enabled="true" follows="left|top" | 93 | <check_box bottom_delta="-20" enabled="true" follows="left|top" |
90 | font="SansSerifSmall" height="16" initial_value="false" | 94 | font="SansSerifSmall" height="16" initial_value="false" |
91 | label="Show incoming IM in Local Chat log" left="168" mouse_opaque="true" | 95 | label="Show incoming IM in Local Chat log" left="168" mouse_opaque="true" |
92 | name="log_chat_IM" radio_style="false" width="217" /> | 96 | name="log_chat_IM" radio_style="false" width="217" /> |
93 | <check_box bottom="-345" enabled="true" follows="left|top" | 97 | <check_box bottom_delta="-20" enabled="true" follows="left|top" |
94 | font="SansSerifSmall" height="16" initial_value="false" | 98 | font="SansSerifSmall" height="16" initial_value="false" |
95 | label="Include date with timestamps" left="148" mouse_opaque="true" | 99 | label="Include date with timestamps" left="148" mouse_opaque="true" |
96 | name="log_date_timestamp" radio_style="false" width="237" /> | 100 | name="log_date_timestamp" radio_style="false" width="237" /> |
97 | <button bottom="-367" follows="right|bottom" font="SansSerif" halign="center" | 101 | <button bottom_delta="-22" follows="right|bottom" font="SansSerif" halign="center" |
98 | height="20" label="Change Path" label_selected="Change Path" left="170" | 102 | height="20" label="Change Path" label_selected="Change Path" left="170" |
99 | mouse_opaque="true" name="log_path_button" width="90" /> | 103 | mouse_opaque="true" name="log_path_button" width="90" /> |
100 | <line_editor border_drop_shadow_visible="false" border_visible="false" bottom="-366" | 104 | <line_editor border_drop_shadow_visible="false" border_visible="false" bottom_delta="1" |
101 | drop_shadow_visible="true" enabled="false" follows="top|left|right" | 105 | drop_shadow_visible="true" enabled="false" follows="top|left|right" |
102 | font="SansSerifSmall" halign="right" height="19" left="248" | 106 | font="SansSerifSmall" halign="right" height="19" left="248" |
103 | max_length="254" mouse_opaque="false" name="log_path_string" right="-20" /> | 107 | max_length="254" mouse_opaque="false" name="log_path_string" right="-20" /> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_windlight_remote.xml b/linden/indra/newview/skins/default/xui/en-us/panel_windlight_remote.xml index ead9ad7..8be72fc 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_windlight_remote.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_windlight_remote.xml | |||
@@ -4,6 +4,18 @@ | |||
4 | name="windlight_remote" use_bounding_rect="true" width="182"> | 4 | name="windlight_remote" use_bounding_rect="true" width="182"> |
5 | <panel bottom="1" filename="panel_bg_tab.xml" name="panel_bg_tab" height="22" left="0" width="182" /> | 5 | <panel bottom="1" filename="panel_bg_tab.xml" name="panel_bg_tab" height="22" left="0" width="182" /> |
6 | <panel bottom="3" filename="panel_windlight_controls.xml" name="panel_windlight_controls" height="20" left="0" width="182" /> | 6 | <panel bottom="3" filename="panel_windlight_controls.xml" name="panel_windlight_controls" height="20" left="0" width="182" /> |
7 | <string name="atmosphere"> | ||
8 | Atmosphere | ||
9 | </string> | ||
10 | <string name="lighting"> | ||
11 | Lighting | ||
12 | </string> | ||
13 | <string name="clouds"> | ||
14 | Clouds | ||
15 | </string> | ||
16 | <string name="advanced_water"> | ||
17 | Advanced Water | ||
18 | </string> | ||
7 | <string name="sunrise"> | 19 | <string name="sunrise"> |
8 | Sunrise | 20 | Sunrise |
9 | </string> | 21 | </string> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_windlight_remote_expanded.xml b/linden/indra/newview/skins/default/xui/en-us/panel_windlight_remote_expanded.xml index e7182fa..4cb49a3 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_windlight_remote_expanded.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_windlight_remote_expanded.xml | |||
@@ -1,13 +1,19 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> | 1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> |
2 | <panel bg_visible="false" border="false" border_visible="false" bottom="0" | 2 | <panel bg_visible="false" border="false" border_visible="false" bottom="0" |
3 | follows="right|bottom" height="47" left="0" mouse_opaque="true" | 3 | follows="right|bottom" height="67" left="0" mouse_opaque="true" |
4 | name="windlight_remote" use_bounding_rect="true" width="182"> | 4 | name="windlight_remote" use_bounding_rect="true" width="182"> |
5 | <panel bottom="1" filename="panel_bg_tab.xml" name="panel_bg_tab" height="47" left="0" width="182" /> | 5 | <panel bottom="1" filename="panel_bg_tab.xml" name="panel_bg_tab" height="67" left="0" width="182" /> |
6 | <slider bottom="-20" can_edit_text="false" control_name="RenderFarClip" | 6 | <slider bottom="-20" can_edit_text="false" control_name="RenderFarClip" |
7 | decimal_digits="0" enabled="true" height="18" | 7 | decimal_digits="0" enabled="true" height="18" |
8 | increment="8" initial_val="160" label="Draw Distance:" | 8 | increment="8" initial_val="160" label="Draw Distance:" |
9 | label_width="78" left="6" max_val="512" min_val="32" mouse_opaque="true" | 9 | label_width="78" left="6" max_val="512" min_val="32" mouse_opaque="true" |
10 | name="DrawDistance" show_text="true" width="170" /> | 10 | name="DrawDistance" show_text="true" width="170" /> |
11 | <slider bottom_delta="-20" can_edit_text="false" control_name="RenderMaxPartCount" | ||
12 | decimal_digits="0" enabled="true" follows="left|top" height="18" | ||
13 | increment="256" initial_val="4096" | ||
14 | label="Max. Particles:" label_width="78" left_delta="0" | ||
15 | max_val="8192" min_val="0" mouse_opaque="true" name="MaxParticleCount" | ||
16 | show_text="true" width="176" /> | ||
11 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | 17 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" |
12 | bottom="-14" drop_shadow_visible="true" enabled="true" follows="left|top" | 18 | bottom="-14" drop_shadow_visible="true" enabled="true" follows="left|top" |
13 | font="SansSerifSmall" h_pad="0" halign="left" height="12" | 19 | font="SansSerifSmall" h_pad="0" halign="left" height="12" |
@@ -16,6 +22,18 @@ | |||
16 | m | 22 | m |
17 | </text> | 23 | </text> |
18 | <panel bottom="13" filename="panel_windlight_controls.xml" left="0" width="182" /> | 24 | <panel bottom="13" filename="panel_windlight_controls.xml" left="0" width="182" /> |
25 | <string name="atmosphere"> | ||
26 | Atmosphere | ||
27 | </string> | ||
28 | <string name="lighting"> | ||
29 | Lighting | ||
30 | </string> | ||
31 | <string name="clouds"> | ||
32 | Clouds | ||
33 | </string> | ||
34 | <string name="advanced_water"> | ||
35 | Advanced Water | ||
36 | </string> | ||
19 | <string name="sunrise"> | 37 | <string name="sunrise"> |
20 | Sunrise | 38 | Sunrise |
21 | </string> | 39 | </string> |
diff --git a/linden/indra/newview/skins/silver/xui/en-us/floater_script_ed_panel.xml b/linden/indra/newview/skins/silver/xui/en-us/floater_script_ed_panel.xml deleted file mode 100644 index 12ae6dc..0000000 --- a/linden/indra/newview/skins/silver/xui/en-us/floater_script_ed_panel.xml +++ /dev/null | |||
@@ -1,86 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> | ||
2 | <panel bottom="-550" enabled="true" follows="left|top|right|bottom" height="508" | ||
3 | left="0" mouse_opaque="true" name="script panel" width="500"> | ||
4 | <text_editor type="string" length="1" bottom="-393" | ||
5 | embedded_items="false" enabled="true" follows="left|top|right|bottom" | ||
6 | font="Monospace" height="376" ignore_tab="false" left="4" | ||
7 | max_length="65536" mouse_opaque="true" name="Script Editor" width="492" | ||
8 | word_wrap="true" show_line_numbers="true"> | ||
9 | Loading... | ||
10 | </text_editor> | ||
11 | <button bottom="-499" enabled="true" follows="right|bottom" font="SansSerif" | ||
12 | halign="center" height="20" label="Save" label_selected="Save" left="360" | ||
13 | mouse_opaque="true" name="Save_btn" width="128" /> | ||
14 | <scroll_list background_visible="true" bottom="-457" column_padding="5" draw_border="true" | ||
15 | draw_heading="false" draw_stripes="true" enabled="true" | ||
16 | follows="left|right|bottom" height="60" left="4" mouse_opaque="true" | ||
17 | multi_select="false" name="lsl errors" width="492" /> | ||
18 | <combo_box allow_text_entry="false" bottom="-499" enabled="true" follows="left|bottom" | ||
19 | height="20" label="Insert..." left="12" max_chars="20" mouse_opaque="true" | ||
20 | name="Insert..." width="128" /> | ||
21 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
22 | bottom="-473" drop_shadow_visible="true" enabled="true" | ||
23 | follows="left|bottom" font="SansSerifSmall" h_pad="0" halign="left" | ||
24 | height="12" left="12" mouse_opaque="true" name="line_col" v_pad="0" | ||
25 | width="128" /> | ||
26 | <menu_bar bottom="-15" drop_shadow="false" enabled="true" follows="left|top|right" | ||
27 | height="18" left="8" mouse_opaque="false" name="script_menu" opaque="false" | ||
28 | tear_off="false" width="476"> | ||
29 | <menu bottom="0" drop_shadow="true" enabled="true" height="62" | ||
30 | left="0" mouse_opaque="false" name="File" opaque="true" tear_off="false" | ||
31 | width="138"> | ||
32 | <menu_item_call bottom_delta="-30" height="20" label="Save" left="0" mouse_opaque="true" | ||
33 | name="Save" width="138" /> | ||
34 | <menu_item_separator bottom_delta="-38" height="8" left="0" mouse_opaque="true" name="separator" | ||
35 | width="138" /> | ||
36 | <menu_item_call bottom_delta="-58" height="20" label="Revert All Changes" left="0" | ||
37 | mouse_opaque="true" name="Revert All Changes" width="138" /> | ||
38 | </menu> | ||
39 | <menu bottom="665" drop_shadow="true" enabled="true" height="198" | ||
40 | left="222" mouse_opaque="false" name="Edit" opaque="true" tear_off="false" | ||
41 | width="139"> | ||
42 | <menu_item_call bottom_delta="-30" enabled="false" height="20" label="Undo" left="0" | ||
43 | mouse_opaque="true" name="Undo" width="139" /> | ||
44 | <menu_item_call bottom_delta="-50" enabled="false" height="20" label="Redo" left="0" | ||
45 | mouse_opaque="true" name="Redo" width="139" /> | ||
46 | <menu_item_separator bottom_delta="-58" enabled="true" height="8" label="-----------" left="0" | ||
47 | mouse_opaque="true" name="separator" width="139" /> | ||
48 | <menu_item_call bottom_delta="-78" enabled="false" height="20" label="Cut" left="0" | ||
49 | mouse_opaque="true" name="Cut" width="139" /> | ||
50 | <menu_item_call bottom_delta="-98" enabled="false" height="20" label="Copy" left="0" | ||
51 | mouse_opaque="true" name="Copy" width="139" /> | ||
52 | <menu_item_call bottom_delta="-118" enabled="false" height="20" label="Paste" left="0" | ||
53 | mouse_opaque="true" name="Paste" width="139" /> | ||
54 | <menu_item_separator bottom_delta="-126" enabled="true" height="8" label="-----------" left="0" | ||
55 | mouse_opaque="true" name="separator2" width="139" /> | ||
56 | <menu_item_call bottom_delta="-146" enabled="true" height="20" label="Select All" left="0" | ||
57 | mouse_opaque="true" name="Select All" width="139" /> | ||
58 | <menu_item_call bottom_delta="-166" enabled="false" height="20" label="Deselect" left="0" | ||
59 | mouse_opaque="true" name="Deselect" width="139" /> | ||
60 | <menu_item_separator bottom_delta="-174" enabled="true" height="8" label="-----------" left="0" | ||
61 | mouse_opaque="true" name="separator3" width="139" /> | ||
62 | <menu_item_call bottom_delta="-194" enabled="true" height="20" label="Search / Replace..." | ||
63 | left="0" mouse_opaque="true" name="Search / Replace..." width="139" /> | ||
64 | </menu> | ||
65 | <menu bottom="-18" drop_shadow="true" enabled="true" height="34" | ||
66 | left="0" mouse_opaque="false" name="Help" opaque="true" tear_off="false" | ||
67 | width="112"> | ||
68 | <menu_item_call bottom="-30" enabled="true" height="20" label="Help..." left="0" | ||
69 | mouse_opaque="true" name="Help..." width="112" /> | ||
70 | <menu_item_call bottom="-30" enabled="true" height="20" label="LSL Wiki Help..." left="0" | ||
71 | mouse_opaque="true" name="LSL Wiki Help..." width="112" /> | ||
72 | </menu> | ||
73 | </menu_bar> | ||
74 | <string name="loading"> | ||
75 | Loading... | ||
76 | </string> | ||
77 | <string name="can_not_view"> | ||
78 | You are not allowed to view this script. | ||
79 | </string> | ||
80 | <string name="public_objects_can_not_run"> | ||
81 | Public Objects cannot run scripts | ||
82 | </string> | ||
83 | <string name="script_running"> | ||
84 | Running | ||
85 | </string> | ||
86 | </panel> | ||
diff --git a/linden/indra/newview/skins/silver/xui/en-us/floater_script_queue.xml b/linden/indra/newview/skins/silver/xui/en-us/floater_script_queue.xml deleted file mode 100644 index c44457c..0000000 --- a/linden/indra/newview/skins/silver/xui/en-us/floater_script_queue.xml +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> | ||
2 | <floater bottom="-763" can_close="true" can_drag_on_left="false" can_minimize="true" | ||
3 | can_resize="true" enabled="true" height="400" left="408" min_height="100" | ||
4 | min_width="100" mouse_opaque="true" name="queue" title="Reset Progress" | ||
5 | width="300"> | ||
6 | <button bottom="-392" enabled="true" follows="right|bottom" font="SansSerif" | ||
7 | halign="center" height="24" label="Close" label_selected="Close" left="220" | ||
8 | mouse_opaque="true" name="close" width="64" /> | ||
9 | <scroll_list background_visible="true" bottom="-364" column_padding="5" draw_border="true" | ||
10 | draw_heading="false" draw_stripes="true" enabled="true" | ||
11 | follows="left|top|right|bottom" height="344" left="4" mouse_opaque="true" | ||
12 | multi_select="false" name="queue output" width="292" /> | ||
13 | </floater> | ||