summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llmessage/message_prehash.cpp1
-rw-r--r--indra/llui/llbutton.cpp2
-rw-r--r--indra/llwindow/llkeyboard.cpp1
-rw-r--r--indra/llwindow/llkeyboardmacosx.cpp4
-rw-r--r--indra/llwindow/llkeyboardsdl.cpp4
-rw-r--r--indra/llwindow/llkeyboardwin32.cpp6
-rw-r--r--indra/newview/app_settings/keys.ini18
-rw-r--r--indra/newview/installers/windows/installer_template.nsi8
-rw-r--r--indra/newview/installers/windows/lang_de.nsi114
-rw-r--r--indra/newview/installers/windows/lang_en-us.nsi109
-rw-r--r--indra/newview/installers/windows/lang_ja.nsi114
-rw-r--r--indra/newview/installers/windows/lang_ko.nsi114
-rw-r--r--indra/newview/llappviewer.cpp16
-rw-r--r--indra/newview/llchatbar.cpp4
-rw-r--r--indra/newview/llchatbar.h2
-rw-r--r--indra/newview/llcurrencyuimanager.cpp8
-rw-r--r--indra/newview/lldebugview.cpp17
-rw-r--r--indra/newview/lldebugview.h4
-rw-r--r--indra/newview/llfloaterbuycurrency.cpp9
-rw-r--r--indra/newview/llfloaterchat.cpp23
-rw-r--r--indra/newview/llfloaterchat.h5
-rw-r--r--indra/newview/llfloatergesture.cpp11
-rw-r--r--indra/newview/llfloatertools.cpp6
-rw-r--r--indra/newview/llfloaterworldmap.cpp353
-rw-r--r--indra/newview/llfloaterworldmap.h14
-rw-r--r--indra/newview/llimpanel.cpp25
-rw-r--r--indra/newview/llimpanel.h3
-rw-r--r--indra/newview/lllogchat.cpp12
-rw-r--r--indra/newview/lllogchat.h10
-rw-r--r--indra/newview/llpanellogin.cpp38
-rw-r--r--indra/newview/llpanelobject.cpp5
-rw-r--r--indra/newview/llprogressview.cpp105
-rw-r--r--indra/newview/llprogressview.h7
-rw-r--r--indra/newview/llstartup.cpp17
-rw-r--r--indra/newview/lltracker.cpp2
-rw-r--r--indra/newview/llviewerdisplay.cpp3
-rw-r--r--indra/newview/llviewerkeyboard.cpp19
-rw-r--r--indra/newview/llviewerkeyboard.h3
-rw-r--r--indra/newview/llviewermenu.cpp79
-rw-r--r--indra/newview/llviewermenufile.cpp10
-rw-r--r--indra/newview/llviewermessage.cpp8
-rw-r--r--indra/newview/llviewerparcelmgr.cpp34
-rw-r--r--indra/newview/llviewertexteditor.cpp2
-rw-r--r--indra/newview/llviewertexteditor.h3
-rw-r--r--indra/newview/llviewerwindow.cpp110
-rw-r--r--indra/newview/llviewerwindow.h3
-rw-r--r--indra/newview/llvoavatar.cpp9
-rw-r--r--indra/newview/llvoavatar.h2
48 files changed, 764 insertions, 712 deletions
diff --git a/indra/llmessage/message_prehash.cpp b/indra/llmessage/message_prehash.cpp
index 0b614d8d90..5190c93731 100644
--- a/indra/llmessage/message_prehash.cpp
+++ b/indra/llmessage/message_prehash.cpp
@@ -2708,3 +2708,4 @@ void init_prehash_data()
_PREHASH_RegionDenyAgeUnverified = gMessageStringTable.getString("RegionDenyAgeUnverified");
_PREHASH_AgeVerificationBlock = gMessageStringTable.getString("AgeVerificationBlock");
}
+
diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp
index 8132396cb5..2bcc89b59f 100644
--- a/indra/llui/llbutton.cpp
+++ b/indra/llui/llbutton.cpp
@@ -1038,7 +1038,7 @@ void clicked_help(void* data)
return;
}
- LLUI::sHtmlHelp->show(self->getHelpURL(), "");
+ LLUI::sHtmlHelp->show(self->getHelpURL());
}
// static
diff --git a/indra/llwindow/llkeyboard.cpp b/indra/llwindow/llkeyboard.cpp
index 23f3dc76c5..83abcce3c1 100644
--- a/indra/llwindow/llkeyboard.cpp
+++ b/indra/llwindow/llkeyboard.cpp
@@ -96,6 +96,7 @@ LLKeyboard::LLKeyboard() : mCallbacks(NULL), mNumpadDistinct(ND_NUMLOCK_OFF)
addKeyName(KEY_SUBTRACT, "Subtract" );
addKeyName(KEY_MULTIPLY, "Multiply" );
addKeyName(KEY_DIVIDE, "Divide" );
+ addKeyName(KEY_PAD_DIVIDE, "PAD_DIVIDE" );
addKeyName(KEY_PAD_LEFT, "PAD_LEFT" );
addKeyName(KEY_PAD_RIGHT, "PAD_RIGHT" );
addKeyName(KEY_PAD_DOWN, "PAD_DOWN" );
diff --git a/indra/llwindow/llkeyboardmacosx.cpp b/indra/llwindow/llkeyboardmacosx.cpp
index 74b64b4826..b415ba43c7 100644
--- a/indra/llwindow/llkeyboardmacosx.cpp
+++ b/indra/llwindow/llkeyboardmacosx.cpp
@@ -83,7 +83,7 @@ LLKeyboardMacOSX::LLKeyboardMacOSX()
mTranslateKeyMap[0x29] = ';';
mTranslateKeyMap[0x2a] = '\\';
mTranslateKeyMap[0x2b] = ',';
- mTranslateKeyMap[0x2c] = '/';
+ mTranslateKeyMap[0x2c] = KEY_DIVIDE;
mTranslateKeyMap[0x2d] = 'N';
mTranslateKeyMap[0x2e] = 'M';
mTranslateKeyMap[0x2f] = '.';
@@ -100,7 +100,7 @@ LLKeyboardMacOSX::LLKeyboardMacOSX()
mTranslateKeyMap[0x41] = '.'; // keypad
mTranslateKeyMap[0x43] = '*'; // keypad
mTranslateKeyMap[0x45] = '+'; // keypad
- mTranslateKeyMap[0x4b] = '/'; // keypad
+ mTranslateKeyMap[0x4b] = KEY_PAD_DIVIDE; // keypad
mTranslateKeyMap[0x4c] = KEY_RETURN; // keypad enter
mTranslateKeyMap[0x4e] = '-'; // keypad
mTranslateKeyMap[0x51] = '='; // keypad
diff --git a/indra/llwindow/llkeyboardsdl.cpp b/indra/llwindow/llkeyboardsdl.cpp
index d832506078..d29d917def 100644
--- a/indra/llwindow/llkeyboardsdl.cpp
+++ b/indra/llwindow/llkeyboardsdl.cpp
@@ -103,7 +103,7 @@ LLKeyboardSDL::LLKeyboardSDL()
mTranslateKeyMap[SDLK_KP_PLUS] = KEY_ADD;
mTranslateKeyMap[SDLK_KP_MINUS] = KEY_SUBTRACT;
mTranslateKeyMap[SDLK_KP_MULTIPLY] = KEY_MULTIPLY;
- mTranslateKeyMap[SDLK_KP_DIVIDE] = KEY_DIVIDE;
+ mTranslateKeyMap[SDLK_KP_DIVIDE] = KEY_PAD_DIVIDE;
mTranslateKeyMap[SDLK_F1] = KEY_F1;
mTranslateKeyMap[SDLK_F2] = KEY_F2;
mTranslateKeyMap[SDLK_F3] = KEY_F3;
@@ -121,7 +121,7 @@ LLKeyboardSDL::LLKeyboardSDL()
mTranslateKeyMap[SDLK_MINUS] = '-';
mTranslateKeyMap[SDLK_PERIOD] = '.';
mTranslateKeyMap[SDLK_BACKQUOTE] = '`';
- mTranslateKeyMap[SDLK_SLASH] = '/';
+ mTranslateKeyMap[SDLK_SLASH] = KEY_DIVIDE;
mTranslateKeyMap[SDLK_SEMICOLON] = ';';
mTranslateKeyMap[SDLK_LEFTBRACKET] = '[';
mTranslateKeyMap[SDLK_BACKSLASH] = '\\';
diff --git a/indra/llwindow/llkeyboardwin32.cpp b/indra/llwindow/llkeyboardwin32.cpp
index a5e7f3b3fe..e8aaa658ca 100644
--- a/indra/llwindow/llkeyboardwin32.cpp
+++ b/indra/llwindow/llkeyboardwin32.cpp
@@ -77,7 +77,7 @@ LLKeyboardWin32::LLKeyboardWin32()
mTranslateKeyMap[VK_OEM_COMMA] = ',';
mTranslateKeyMap[VK_OEM_MINUS] = '-';
mTranslateKeyMap[VK_OEM_PERIOD] = '.';
- mTranslateKeyMap[VK_OEM_2] = '/';
+ mTranslateKeyMap[VK_OEM_2] = KEY_PAD_DIVIDE;
mTranslateKeyMap[VK_OEM_3] = '`';
mTranslateKeyMap[VK_OEM_4] = '[';
mTranslateKeyMap[VK_OEM_5] = '\\';
@@ -137,7 +137,11 @@ LLKeyboardWin32::LLKeyboardWin32()
mTranslateNumpadMap[0x67] = KEY_PAD_HOME; // keypad 7
mTranslateNumpadMap[0x68] = KEY_PAD_UP; // keypad 8
mTranslateNumpadMap[0x69] = KEY_PAD_PGUP; // keypad 9
+ mTranslateNumpadMap[0x6A] = KEY_PAD_MULTIPLY; // keypad *
+ mTranslateNumpadMap[0x6B] = KEY_PAD_ADD; // keypad +
+ mTranslateNumpadMap[0x6D] = KEY_PAD_SUBTRACT; // keypad -
mTranslateNumpadMap[0x6E] = KEY_PAD_DEL; // keypad .
+ mTranslateNumpadMap[0x6F] = KEY_PAD_DIVIDE; // keypad /
for (iter = mTranslateNumpadMap.begin(); iter != mTranslateNumpadMap.end(); iter++)
{
diff --git a/indra/newview/app_settings/keys.ini b/indra/newview/app_settings/keys.ini
index 3a1e9ead36..b79e5bf508 100644
--- a/indra/newview/app_settings/keys.ini
+++ b/indra/newview/app_settings/keys.ini
@@ -40,6 +40,7 @@ FIRST_PERSON PAD_PGDN NONE push_down
FIRST_PERSON PAD_HOME NONE toggle_fly
FIRST_PERSON PAD_CENTER NONE stop_moving
FIRST_PERSON PAD_ENTER NONE start_chat
+FIRST_PERSON PAD_DIVIDE NONE start_gesture
FIRST_PERSON A SHIFT slide_left
FIRST_PERSON D SHIFT slide_right
@@ -51,6 +52,7 @@ FIRST_PERSON F SHIFT toggle_fly
FIRST_PERSON SPACE NONE stop_moving
FIRST_PERSON ENTER NONE start_chat
+FIRST_PERSON DIVIDE NONE start_gesture
FIRST_PERSON LEFT SHIFT slide_left
FIRST_PERSON RIGHT SHIFT slide_right
@@ -67,6 +69,7 @@ FIRST_PERSON PAD_PGUP SHIFT jump
FIRST_PERSON PAD_PGDN SHIFT push_down
FIRST_PERSON PAD_HOME SHIFT toggle_fly
FIRST_PERSON PAD_ENTER SHIFT start_chat
+FIRST_PERSON PAD_DIVIDE SHIFT start_gesture
THIRD_PERSON A NONE turn_left
THIRD_PERSON D NONE turn_right
@@ -86,6 +89,7 @@ THIRD_PERSON F SHIFT toggle_fly
THIRD_PERSON SPACE NONE stop_moving
THIRD_PERSON ENTER NONE start_chat
+THIRD_PERSON DIVIDE NONE start_gesture
THIRD_PERSON LEFT NONE turn_left
THIRD_PERSON LEFT SHIFT slide_left
@@ -120,6 +124,8 @@ THIRD_PERSON PAD_CENTER NONE stop_moving
THIRD_PERSON PAD_CENTER SHIFT stop_moving
THIRD_PERSON PAD_ENTER NONE start_chat
THIRD_PERSON PAD_ENTER SHIFT start_chat
+THIRD_PERSON PAD_DIVIDE NONE start_gesture
+THIRD_PERSON PAD_DIVIDE SHIFT start_gesture
# Camera controls in third person on Alt
THIRD_PERSON LEFT ALT spin_around_cw
@@ -143,6 +149,7 @@ THIRD_PERSON PAD_DOWN ALT move_backward
THIRD_PERSON PAD_PGUP ALT spin_over
THIRD_PERSON PAD_PGDN ALT spin_under
THIRD_PERSON PAD_ENTER ALT start_chat
+THIRD_PERSON PAD_DIVIDE ALT start_gesture
# mimic alt zoom behavior with keyboard only
THIRD_PERSON A CTL_ALT spin_around_cw
@@ -166,6 +173,7 @@ THIRD_PERSON PAD_DOWN CTL_ALT spin_under
THIRD_PERSON PAD_PGUP CTL_ALT spin_over
THIRD_PERSON PAD_PGDN CTL_ALT spin_under
THIRD_PERSON PAD_ENTER CTL_ALT start_chat
+THIRD_PERSON PAD_DIVIDE CTL_ALT start_gesture
# Therefore pan on Alt-Shift
THIRD_PERSON A CTL_ALT_SHIFT pan_left
@@ -183,6 +191,7 @@ THIRD_PERSON PAD_RIGHT CTL_ALT_SHIFT pan_right
THIRD_PERSON PAD_UP CTL_ALT_SHIFT pan_up
THIRD_PERSON PAD_DOWN CTL_ALT_SHIFT pan_down
THIRD_PERSON PAD_ENTER CTL_ALT_SHIFT start_chat
+THIRD_PERSON PAD_DIVIDE CTL_ALT_SHIFT start_gesture
# Basic editing camera control
EDIT A NONE spin_around_cw
@@ -192,7 +201,9 @@ EDIT S NONE move_backward
EDIT E NONE spin_over
EDIT C NONE spin_under
EDIT ENTER NONE start_chat
+EDIT DIVIDE NONE start_gesture
EDIT PAD_ENTER NONE start_chat
+EDIT PAD_DIVIDE NONE start_gesture
EDIT LEFT NONE spin_around_cw
EDIT RIGHT NONE spin_around_ccw
@@ -234,6 +245,7 @@ EDIT PAD_DOWN ALT push_backward
EDIT PAD_PGUP ALT jump
EDIT PAD_PGDN ALT push_down
EDIT PAD_ENTER ALT start_chat
+EDIT PAD_DIVIDE ALT start_gesture
SITTING A ALT spin_around_cw
SITTING D ALT spin_around_ccw
@@ -286,6 +298,7 @@ SITTING PAD_PGUP NONE spin_over_sitting
SITTING PAD_PGDN NONE spin_under_sitting
SITTING PAD_CENTER NONE stop_moving
SITTING PAD_ENTER NONE start_chat
+SITTING PAD_DIVIDE NONE start_gesture
# these are for passing controls when sitting on vehicles
SITTING A SHIFT slide_left
@@ -296,6 +309,7 @@ SITTING RIGHT SHIFT slide_right
SITTING PAD_LEFT SHIFT slide_left
SITTING PAD_RIGHT SHIFT slide_right
SITTING PAD_ENTER SHIFT start_chat
+SITTING PAD_DIVIDE SHIFT start_gesture
# pan on Alt-Shift
SITTING A CTL_ALT_SHIFT pan_left
@@ -313,8 +327,10 @@ SITTING PAD_RIGHT CTL_ALT_SHIFT pan_right
SITTING PAD_UP CTL_ALT_SHIFT pan_up
SITTING PAD_DOWN CTL_ALT_SHIFT pan_down
SITTING PAD_ENTER CTL_ALT_SHIFT start_chat
+SITTING PAD_DIVIDE CTL_ALT_SHIFT start_gesture
SITTING ENTER NONE start_chat
+SITTING DIVIDE NONE start_gesture
# Avatar editing camera controls
EDIT_AVATAR A NONE edit_avatar_spin_cw
@@ -330,6 +346,7 @@ EDIT_AVATAR DOWN NONE edit_avatar_move_backward
EDIT_AVATAR PGUP NONE edit_avatar_spin_over
EDIT_AVATAR PGDN NONE edit_avatar_spin_under
EDIT_AVATAR ENTER NONE start_chat
+EDIT_AVATAR DIVIDE NONE start_gesture
EDIT_AVATAR PAD_LEFT NONE edit_avatar_spin_cw
EDIT_AVATAR PAD_RIGHT NONE edit_avatar_spin_ccw
EDIT_AVATAR PAD_UP NONE edit_avatar_move_forward
@@ -337,3 +354,4 @@ EDIT_AVATAR PAD_DOWN NONE edit_avatar_move_backward
EDIT_AVATAR PAD_PGUP NONE edit_avatar_spin_over
EDIT_AVATAR PAD_PGDN NONE edit_avatar_spin_under
EDIT_AVATAR PAD_ENTER NONE start_chat
+EDIT_AVATAR PAD_DIVIDE NONE start_gesture
diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi
index fa94a09a50..420f0811ff 100644
--- a/indra/newview/installers/windows/installer_template.nsi
+++ b/indra/newview/installers/windows/installer_template.nsi
@@ -61,14 +61,6 @@ ShowInstDetails nevershow ; no details, no "show" button
SetOverwrite on ; stomp files by default
AutoCloseWindow true ; after all files install, close window
-!ifdef UPDATE
-LicenseText $(LicenseDescUpdate) $(LicenseDescNext)
-!else
-LicenseText $(LicenseDescSetup) $(LicenseDescNext)
-!endif
-
-LicenseData "releasenotes.txt"
-
InstallDir "$PROGRAMFILES\${INSTNAME}"
InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" ""
!ifdef UPDATE
diff --git a/indra/newview/installers/windows/lang_de.nsi b/indra/newview/installers/windows/lang_de.nsi
index abb0c63782..c41012861f 100644
--- a/indra/newview/installers/windows/lang_de.nsi
+++ b/indra/newview/installers/windows/lang_de.nsi
@@ -1,57 +1,57 @@
-; First is default
-LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"
-
-; subtitle on license text caption (setup new version or update current one
-LangString LicenseSubTitleUpdate ${LANG_GERMAN} " Update"
-LangString LicenseSubTitleSetup ${LANG_GERMAN} " Setup"
-
-; description on license page
-LangString LicenseDescUpdate ${LANG_GERMAN} "Dieses Paket wird das bereits installierte Second Life mit Version ${VERSION_LONG}. ersetzen."
-LangString LicenseDescSetup ${LANG_GERMAN} "Dieses Paket wird Second Life auf Ihrem Computer installieren."
-LangString LicenseDescNext ${LANG_GERMAN} "Weiter"
-
-; installation directory text
-LangString DirectoryChooseTitle ${LANG_GERMAN} "Installations-Ordner"
-LangString DirectoryChooseUpdate ${LANG_GERMAN} "Wählen Sie den Second Life Ordner für dieses Update:"
-LangString DirectoryChooseSetup ${LANG_GERMAN} "Pfad in dem Second Life installieren werden soll:"
-
-; CheckStartupParams message box
-LangString CheckStartupParamsMB ${LANG_GERMAN} "Konnte Programm '$INSTPROG' nicht finden. Stilles Update fehlgeschlagen."
-
-; installation success dialog
-LangString InstSuccesssQuestion ${LANG_GERMAN} "Second Life starten?"
-
-; remove old NSIS version
-LangString RemoveOldNSISVersion ${LANG_GERMAN} "Überprüfe alte Version ..."
-
-; check windows version
-LangString CheckWindowsVersionDP ${LANG_GERMAN} "Überprüfung der Windows Version ..."
-LangString CheckWindowsVersionMB ${LANG_GERMAN} 'Second Life unterstützt nur Windows XP, Windows 2000 und Mac OS X.$\n$\nDer Versuch es auf Windows $R0 zu installieren, könnte zu unvorhersehbaren Abstürzen und Datenverlust führen.$\n$\nTrotzdem installieren?'
-
-; checkifadministrator function (install)
-LangString CheckAdministratorInstDP ${LANG_GERMAN} "Überprüfung der Installations-Berechtigungen ..."
-LangString CheckAdministratorInstMB ${LANG_GERMAN} 'Sie besitzen ungenügende Berechtigungen.$\nSie müssen ein "administrator" sein, um Second Life installieren zu können.'
-
-; checkifadministrator function (uninstall)
-LangString CheckAdministratorUnInstDP ${LANG_GERMAN} "Überprüfung der Entfernungs-Berechtigungen ..."
-LangString CheckAdministratorUnInstMB ${LANG_GERMAN} 'Sie besitzen ungenügende Berechtigungen.$\nSie müssen ein "administrator" sein, um Second Life entfernen zu können..'
-
-; checkifalreadycurrent
-LangString CheckIfCurrentMB ${LANG_GERMAN} "Anscheinend ist Second Life ${VERSION_LONG} bereits installiert.$\n$\nWürden Sie es gerne erneut installieren?"
-
-; closesecondlife function (install)
-LangString CloseSecondLifeInstDP ${LANG_GERMAN} "Warten auf die Beendigung von Second Life ..."
-LangString CloseSecondLifeInstMB ${LANG_GERMAN} "Second Life kann nicht installiert oder ersetzt werden, wenn es bereits läuft.$\n$\nBeenden Sie, was Sie gerade tun und klicken Sie OK, um Second Life zu beenden.$\nKlicken Sie CANCEL, um die Installation abzubrechen."
-
-; closesecondlife function (uninstall)
-LangString CloseSecondLifeUnInstDP ${LANG_GERMAN} "Warten auf die Beendigung von Second Life ..."
-LangString CloseSecondLifeUnInstMB ${LANG_GERMAN} "Second Life kann nicht entfernt werden, wenn es bereits läuft.$\n$\nBeenden Sie, was Sie gerade tun und klicken Sie OK, um Second Life zu beenden.$\nKlicken Sie CANCEL, um abzubrechen."
-
-; removecachefiles
-LangString RemoveCacheFilesDP ${LANG_GERMAN} "Löschung aller Cache Dateien in Dokumente und Einstellungen."
-
-; delete program files
-LangString DeleteProgramFilesMB ${LANG_GERMAN} "Es existieren weiterhin Dateien in Ihrem SecondLife Programm Ordner.$\n$\nDies sind möglicherweise Dateien, die sie modifiziert oder bewegt haben:$\n$INSTDIR$\n$\nMöchten Sie diese ebenfalls löschen?"
-
-; uninstall text
-LangString UninstallTextMsg ${LANG_GERMAN} "Dies wird Second Life ${VERSION_LONG} von Ihrem System entfernen."
+; First is default
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"
+
+; subtitle on license text caption (setup new version or update current one
+LangString LicenseSubTitleUpdate ${LANG_GERMAN} " Update"
+LangString LicenseSubTitleSetup ${LANG_GERMAN} " Setup"
+
+; description on license page
+LangString LicenseDescUpdate ${LANG_GERMAN} "Dieses Paket wird das bereits installierte Second Life mit Version ${VERSION_LONG}. ersetzen."
+LangString LicenseDescSetup ${LANG_GERMAN} "Dieses Paket wird Second Life auf Ihrem Computer installieren."
+LangString LicenseDescNext ${LANG_GERMAN} "Weiter"
+
+; installation directory text
+LangString DirectoryChooseTitle ${LANG_GERMAN} "Installations-Ordner"
+LangString DirectoryChooseUpdate ${LANG_GERMAN} "Wählen Sie den Second Life Ordner für dieses Update:"
+LangString DirectoryChooseSetup ${LANG_GERMAN} "Pfad in dem Second Life installieren werden soll:"
+
+; CheckStartupParams message box
+LangString CheckStartupParamsMB ${LANG_GERMAN} "Konnte Programm '$INSTPROG' nicht finden. Stilles Update fehlgeschlagen."
+
+; installation success dialog
+LangString InstSuccesssQuestion ${LANG_GERMAN} "Second Life starten?"
+
+; remove old NSIS version
+LangString RemoveOldNSISVersion ${LANG_GERMAN} "Überprüfe alte Version ..."
+
+; check windows version
+LangString CheckWindowsVersionDP ${LANG_GERMAN} "Überprüfung der Windows Version ..."
+LangString CheckWindowsVersionMB ${LANG_GERMAN} 'Second Life unterstützt nur Windows XP, Windows 2000 und Mac OS X.$\n$\nDer Versuch es auf Windows $R0 zu installieren, könnte zu unvorhersehbaren Abstürzen und Datenverlust führen.$\n$\nTrotzdem installieren?'
+
+; checkifadministrator function (install)
+LangString CheckAdministratorInstDP ${LANG_GERMAN} "Überprüfung der Installations-Berechtigungen ..."
+LangString CheckAdministratorInstMB ${LANG_GERMAN} 'Sie besitzen ungenügende Berechtigungen.$\nSie müssen ein "administrator" sein, um Second Life installieren zu können.'
+
+; checkifadministrator function (uninstall)
+LangString CheckAdministratorUnInstDP ${LANG_GERMAN} "Überprüfung der Entfernungs-Berechtigungen ..."
+LangString CheckAdministratorUnInstMB ${LANG_GERMAN} 'Sie besitzen ungenügende Berechtigungen.$\nSie müssen ein "administrator" sein, um Second Life entfernen zu können..'
+
+; checkifalreadycurrent
+LangString CheckIfCurrentMB ${LANG_GERMAN} "Anscheinend ist Second Life ${VERSION_LONG} bereits installiert.$\n$\nWürden Sie es gerne erneut installieren?"
+
+; closesecondlife function (install)
+LangString CloseSecondLifeInstDP ${LANG_GERMAN} "Warten auf die Beendigung von Second Life ..."
+LangString CloseSecondLifeInstMB ${LANG_GERMAN} "Second Life kann nicht installiert oder ersetzt werden, wenn es bereits läuft.$\n$\nBeenden Sie, was Sie gerade tun und klicken Sie OK, um Second Life zu beenden.$\nKlicken Sie CANCEL, um die Installation abzubrechen."
+
+; closesecondlife function (uninstall)
+LangString CloseSecondLifeUnInstDP ${LANG_GERMAN} "Warten auf die Beendigung von Second Life ..."
+LangString CloseSecondLifeUnInstMB ${LANG_GERMAN} "Second Life kann nicht entfernt werden, wenn es bereits läuft.$\n$\nBeenden Sie, was Sie gerade tun und klicken Sie OK, um Second Life zu beenden.$\nKlicken Sie CANCEL, um abzubrechen."
+
+; removecachefiles
+LangString RemoveCacheFilesDP ${LANG_GERMAN} "Löschung aller Cache Dateien in Dokumente und Einstellungen."
+
+; delete program files
+LangString DeleteProgramFilesMB ${LANG_GERMAN} "Es existieren weiterhin Dateien in Ihrem SecondLife Programm Ordner.$\n$\nDies sind möglicherweise Dateien, die sie modifiziert oder bewegt haben:$\n$INSTDIR$\n$\nMöchten Sie diese ebenfalls löschen?"
+
+; uninstall text
+LangString UninstallTextMsg ${LANG_GERMAN} "Dies wird Second Life ${VERSION_LONG} von Ihrem System entfernen."
diff --git a/indra/newview/installers/windows/lang_en-us.nsi b/indra/newview/installers/windows/lang_en-us.nsi
index c26af12a9c..218f1c60fc 100644
--- a/indra/newview/installers/windows/lang_en-us.nsi
+++ b/indra/newview/installers/windows/lang_en-us.nsi
@@ -1,57 +1,52 @@
-; First is default
-LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
-
-; subtitle on license text caption
-LangString LicenseSubTitleUpdate ${LANG_ENGLISH} " Update"
-LangString LicenseSubTitleSetup ${LANG_ENGLISH} " Setup"
-
-; description on license page
-LangString LicenseDescUpdate ${LANG_ENGLISH} "This package will update Second Life to version ${VERSION_LONG}.(XXX)"
-LangString LicenseDescSetup ${LANG_ENGLISH} "This package will install Second Life on your computer."
-LangString LicenseDescNext ${LANG_ENGLISH} "Next"
-
-; installation directory text
-LangString DirectoryChooseTitle ${LANG_ENGLISH} "Installation Directory"
-LangString DirectoryChooseUpdate ${LANG_ENGLISH} "Select the Second Life directory to update:"
-LangString DirectoryChooseSetup ${LANG_ENGLISH} "Select the directory to install Second Life in:"
-
-; CheckStartupParams message box
-LangString CheckStartupParamsMB ${LANG_ENGLISH} "Could not find the program '$INSTPROG'. Silent update failed."
-
-; installation success dialog
-LangString InstSuccesssQuestion ${LANG_ENGLISH} "Start Second Life now?"
-
-; remove old NSIS version
-LangString RemoveOldNSISVersion ${LANG_ENGLISH} "Checking for old version..."
-
-; check windows version
-LangString CheckWindowsVersionDP ${LANG_ENGLISH} "Checking Windows version..."
-LangString CheckWindowsVersionMB ${LANG_ENGLISH} 'Second Life only supports Windows XP, Windows 2000, and Mac OS X.$\n$\nAttempting to install on Windows $R0 can result in crashes and data loss.$\n$\nInstall anyway?'
-
-; checkifadministrator function (install)
-LangString CheckAdministratorInstDP ${LANG_ENGLISH} "Checking for permission to install..."
-LangString CheckAdministratorInstMB ${LANG_ENGLISH} 'You appear to be using a "limited" account.$\nYou must be an "administrator" to install Second Life.'
-
-; checkifadministrator function (uninstall)
-LangString CheckAdministratorUnInstDP ${LANG_ENGLISH} "Checking for permission to uninstall..."
-LangString CheckAdministratorUnInstMB ${LANG_ENGLISH} 'You appear to be using a "limited" account.$\nYou must be an "administrator" to uninstall Second Life.'
-
-; checkifalreadycurrent
-LangString CheckIfCurrentMB ${LANG_ENGLISH} "It appears that Second Life ${VERSION_LONG} is already installed.$\n$\nWould you like to install it again?"
-
-; closesecondlife function (install)
-LangString CloseSecondLifeInstDP ${LANG_ENGLISH} "Waiting for Second Life to shut down..."
-LangString CloseSecondLifeInstMB ${LANG_ENGLISH} "Second Life can't be installed while it is already running.$\n$\nFinish what you're doing then select OK to close Second Life and continue.$\nSelect CANCEL to cancel installation."
-
-; closesecondlife function (uninstall)
-LangString CloseSecondLifeUnInstDP ${LANG_ENGLISH} "Waiting for Second Life to shut down..."
-LangString CloseSecondLifeUnInstMB ${LANG_ENGLISH} "Second Life can't be uninstalled while it is already running.$\n$\nFinish what you're doing then select OK to close Second Life and continue.$\nSelect CANCEL to cancel."
-
-; removecachefiles
-LangString RemoveCacheFilesDP ${LANG_ENGLISH} "Deleting cache files in Documents and Settings folder"
-
-; delete program files
-LangString DeleteProgramFilesMB ${LANG_ENGLISH} "There are still files in your SecondLife program directory.$\n$\nThese are possibly files you created or moved to:$\n$INSTDIR$\n$\nDo you want to remove them?"
-
-; uninstall text
-LangString UninstallTextMsg ${LANG_ENGLISH} "This will uninstall Second Life ${VERSION_LONG} from your system."
+; First is default
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
+
+; subtitle on license text caption
+LangString LicenseSubTitleUpdate ${LANG_ENGLISH} " Update"
+LangString LicenseSubTitleSetup ${LANG_ENGLISH} " Setup"
+
+; installation directory text
+LangString DirectoryChooseTitle ${LANG_ENGLISH} "Installation Directory"
+LangString DirectoryChooseUpdate ${LANG_ENGLISH} "Select the Second Life directory to update to version ${VERSION_LONG}.(XXX):"
+LangString DirectoryChooseSetup ${LANG_ENGLISH} "Select the directory to install Second Life in:"
+
+; CheckStartupParams message box
+LangString CheckStartupParamsMB ${LANG_ENGLISH} "Could not find the program '$INSTPROG'. Silent update failed."
+
+; installation success dialog
+LangString InstSuccesssQuestion ${LANG_ENGLISH} "Start Second Life now?"
+
+; remove old NSIS version
+LangString RemoveOldNSISVersion ${LANG_ENGLISH} "Checking for old version..."
+
+; check windows version
+LangString CheckWindowsVersionDP ${LANG_ENGLISH} "Checking Windows version..."
+LangString CheckWindowsVersionMB ${LANG_ENGLISH} 'Second Life only supports Windows XP, Windows 2000, and Mac OS X.$\n$\nAttempting to install on Windows $R0 can result in crashes and data loss.$\n$\nInstall anyway?'
+
+; checkifadministrator function (install)
+LangString CheckAdministratorInstDP ${LANG_ENGLISH} "Checking for permission to install..."
+LangString CheckAdministratorInstMB ${LANG_ENGLISH} 'You appear to be using a "limited" account.$\nYou must be an "administrator" to install Second Life.'
+
+; checkifadministrator function (uninstall)
+LangString CheckAdministratorUnInstDP ${LANG_ENGLISH} "Checking for permission to uninstall..."
+LangString CheckAdministratorUnInstMB ${LANG_ENGLISH} 'You appear to be using a "limited" account.$\nYou must be an "administrator" to uninstall Second Life.'
+
+; checkifalreadycurrent
+LangString CheckIfCurrentMB ${LANG_ENGLISH} "It appears that Second Life ${VERSION_LONG} is already installed.$\n$\nWould you like to install it again?"
+
+; closesecondlife function (install)
+LangString CloseSecondLifeInstDP ${LANG_ENGLISH} "Waiting for Second Life to shut down..."
+LangString CloseSecondLifeInstMB ${LANG_ENGLISH} "Second Life can't be installed while it is already running.$\n$\nFinish what you're doing then select OK to close Second Life and continue.$\nSelect CANCEL to cancel installation."
+
+; closesecondlife function (uninstall)
+LangString CloseSecondLifeUnInstDP ${LANG_ENGLISH} "Waiting for Second Life to shut down..."
+LangString CloseSecondLifeUnInstMB ${LANG_ENGLISH} "Second Life can't be uninstalled while it is already running.$\n$\nFinish what you're doing then select OK to close Second Life and continue.$\nSelect CANCEL to cancel."
+
+; removecachefiles
+LangString RemoveCacheFilesDP ${LANG_ENGLISH} "Deleting cache files in Documents and Settings folder"
+
+; delete program files
+LangString DeleteProgramFilesMB ${LANG_ENGLISH} "There are still files in your SecondLife program directory.$\n$\nThese are possibly files you created or moved to:$\n$INSTDIR$\n$\nDo you want to remove them?"
+
+; uninstall text
+LangString UninstallTextMsg ${LANG_ENGLISH} "This will uninstall Second Life ${VERSION_LONG} from your system."
diff --git a/indra/newview/installers/windows/lang_ja.nsi b/indra/newview/installers/windows/lang_ja.nsi
index 43cb492780..5e0496ee6f 100644
--- a/indra/newview/installers/windows/lang_ja.nsi
+++ b/indra/newview/installers/windows/lang_ja.nsi
@@ -1,57 +1,57 @@
-; First is default
-LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
-
-; subtitle on license text caption
-LangString LicenseSubTitleUpdate ${LANG_JAPANESE} " ƒAƒbƒvƒf[ƒg"
-LangString LicenseSubTitleSetup ${LANG_JAPANESE} " ƒZƒbƒgƒAƒbƒv"
-
-; description on license page
-LangString LicenseDescUpdate ${LANG_JAPANESE} "‚±‚̃pƒbƒP[ƒW‚̓ZƒJƒ“ƒhƒ‰ƒCƒt‚ðƒo[ƒWƒ‡ƒ“${VERSION_LONG}.‚ɃAƒbƒvƒf[ƒg‚µ‚Ü‚·B"
-LangString LicenseDescSetup ${LANG_JAPANESE} "‚±‚̃pƒbƒP[ƒW‚Í‚ ‚È‚½‚̃Rƒ“ƒsƒ…[ƒ^‚ɃZƒJƒ“ƒhƒ‰ƒCƒt‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·B"
-LangString LicenseDescNext ${LANG_JAPANESE} "ŽŸ"
-
-; installation directory text
-LangString DirectoryChooseTitle ${LANG_JAPANESE} "ƒCƒ“ƒXƒg[ƒ‹EƒfƒBƒŒƒNƒgƒŠ"
-LangString DirectoryChooseUpdate ${LANG_JAPANESE} "ƒAƒbƒvƒf[ƒg‚·‚éƒZƒJƒ“ƒhƒ‰ƒCƒt‚̃fƒBƒŒƒNƒgƒŠ‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B:"
-LangString DirectoryChooseSetup ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚éƒfƒBƒŒƒNƒgƒŠ‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B: "
-
-; CheckStartupParams message box
-LangString CheckStartupParamsMB ${LANG_JAPANESE} "ƒvƒƒOƒ‰ƒ€–¼'$INSTPROG'‚ªŒ©‚‚©‚è‚Ü‚¹‚ñBƒTƒCƒŒƒ“ƒgEƒAƒbƒvƒf[ƒg‚ÉŽ¸”s‚µ‚Ü‚µ‚½B"
-
-; installation success dialog
-LangString InstSuccesssQuestion ${LANG_JAPANESE} "’¼‚¿‚ɃZƒJƒ“ƒhƒ‰ƒCƒt‚ðŠJŽn‚µ‚Ü‚·‚©H "
-
-; remove old NSIS version
-LangString RemoveOldNSISVersion ${LANG_JAPANESE} "ŒÃ‚¢ƒo[ƒWƒ‡ƒ“î•ñ‚ðƒ`ƒFƒbƒN’†‚Å‚·c"
-
-; check windows version
-LangString CheckWindowsVersionDP ${LANG_JAPANESE} "ƒEƒBƒ“ƒhƒEƒY‚̃o[ƒWƒ‡ƒ“î•ñ‚ðƒ`ƒFƒbƒN’†‚Å‚·..."
-LangString CheckWindowsVersionMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ÍWindows XPAWindows 2000AMac OS X‚Ì‚Ý‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·BWindows $R0‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚鎖‚ÍAƒf[ƒ^‚ÌÁŽ¸‚âƒNƒ‰ƒbƒVƒ…‚ÌŒ´ˆö‚É‚È‚é‰Â”\«‚ª‚ ‚è‚Ü‚·BƒCƒ“ƒXƒg[ƒ‹‚𑱂¯‚Ü‚·‚©H"
-
-; checkifadministrator function (install)
-LangString CheckAdministratorInstDP ${LANG_JAPANESE} "ƒCƒ“ƒXƒg[ƒ‹‚Ì‚½‚ß‚ÌŒ ŒÀ‚ðƒ`ƒFƒbƒN’†‚Å‚·..."
-LangString CheckAdministratorInstMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚é‚É‚ÍŠÇ—ŽÒŒ ŒÀ‚ª•K—v‚Å‚·B"
-
-; checkifadministrator function (uninstall)
-LangString CheckAdministratorUnInstDP ${LANG_JAPANESE} "ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚Ì‚½‚ß‚ÌŒ ŒÀ‚ðƒ`ƒFƒbƒN’†‚Å‚·..."
-LangString CheckAdministratorUnInstMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ðƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚·‚é‚É‚ÍŠÇ—ŽÒŒ ŒÀ‚ª•K—v‚Å‚·B"
-
-; checkifalreadycurrent
-LangString CheckIfCurrentMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt${VERSION_LONG} ‚̓Cƒ“ƒXƒg[ƒ‹Ï‚Ý‚Å‚·BÄ“xƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·‚©H "
-
-; closesecondlife function (install)
-LangString CloseSecondLifeInstDP ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ðI—¹’†‚Å‚·..."
-LangString CloseSecondLifeInstMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚Ì‹N“®’†‚ɃCƒ“ƒXƒg[ƒ‹‚Ío—ˆ‚Ü‚¹‚ñB’¼‚¿‚ɃZƒJƒ“ƒhƒ‰ƒCƒt‚ðI—¹‚µ‚ăCƒ“ƒXƒg[ƒ‹‚ðŠJŽn‚·‚éꇂÍOKƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢BCANCEL‚ð‰Ÿ‚·‚Æ’†Ž~‚µ‚Ü‚·B"
-
-; closesecondlife function (uninstall)
-LangString CloseSecondLifeUnInstDP ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ðI—¹’†‚Å‚·..."
-LangString CloseSecondLifeUnInstMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚Ì‹N“®’†‚ɃAƒ“ƒCƒ“ƒXƒg[ƒ‹‚Ío—ˆ‚Ü‚¹‚ñB’¼‚¿‚ɃZƒJƒ“ƒhƒ‰ƒCƒt‚ðI—¹‚µ‚ăAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ðŠJŽn‚·‚éꇂÍOKƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢BCANCEL‚ð‰Ÿ‚·‚Æ’†Ž~‚µ‚Ü‚·B"
-
-; removecachefiles
-LangString RemoveCacheFilesDP ${LANG_JAPANESE} " Documents and Settings ƒtƒHƒ‹ƒ_‚̃LƒƒƒbƒVƒ…ƒtƒ@ƒCƒ‹‚ðƒfƒŠ[ƒg’†‚Å‚·B"
-
-; delete program files
-LangString DeleteProgramFilesMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚̃fƒBƒŒƒNƒgƒŠ‚É‚ÍA‚Ü‚¾ƒtƒ@ƒCƒ‹‚ªŽc‚³‚ê‚Ä‚¢‚Ü‚·B$\n$INSTDIR$\n‚É‚ ‚È‚½‚ªì¬A‚Ü‚½‚͈ړ®‚³‚¹‚½ƒtƒ@ƒCƒ‹‚ª‚ ‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B‘S‚Ä휂µ‚Ü‚·‚©H "
-
-; uninstall text
-LangString UninstallTextMsg ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt${VERSION_LONG}‚ðƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·B"
+; First is default
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
+
+; subtitle on license text caption
+LangString LicenseSubTitleUpdate ${LANG_JAPANESE} " ƒAƒbƒvƒf[ƒg"
+LangString LicenseSubTitleSetup ${LANG_JAPANESE} " ƒZƒbƒgƒAƒbƒv"
+
+; description on license page
+LangString LicenseDescUpdate ${LANG_JAPANESE} "‚±‚̃pƒbƒP[ƒW‚̓ZƒJƒ“ƒhƒ‰ƒCƒt‚ðƒo[ƒWƒ‡ƒ“${VERSION_LONG}.‚ɃAƒbƒvƒf[ƒg‚µ‚Ü‚·B"
+LangString LicenseDescSetup ${LANG_JAPANESE} "‚±‚̃pƒbƒP[ƒW‚Í‚ ‚È‚½‚̃Rƒ“ƒsƒ…[ƒ^‚ɃZƒJƒ“ƒhƒ‰ƒCƒt‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·B"
+LangString LicenseDescNext ${LANG_JAPANESE} "ŽŸ"
+
+; installation directory text
+LangString DirectoryChooseTitle ${LANG_JAPANESE} "ƒCƒ“ƒXƒg[ƒ‹EƒfƒBƒŒƒNƒgƒŠ"
+LangString DirectoryChooseUpdate ${LANG_JAPANESE} "ƒAƒbƒvƒf[ƒg‚·‚éƒZƒJƒ“ƒhƒ‰ƒCƒt‚̃fƒBƒŒƒNƒgƒŠ‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B:"
+LangString DirectoryChooseSetup ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚éƒfƒBƒŒƒNƒgƒŠ‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B: "
+
+; CheckStartupParams message box
+LangString CheckStartupParamsMB ${LANG_JAPANESE} "ƒvƒƒOƒ‰ƒ€–¼'$INSTPROG'‚ªŒ©‚‚©‚è‚Ü‚¹‚ñBƒTƒCƒŒƒ“ƒgEƒAƒbƒvƒf[ƒg‚ÉŽ¸”s‚µ‚Ü‚µ‚½B"
+
+; installation success dialog
+LangString InstSuccesssQuestion ${LANG_JAPANESE} "’¼‚¿‚ɃZƒJƒ“ƒhƒ‰ƒCƒt‚ðŠJŽn‚µ‚Ü‚·‚©H "
+
+; remove old NSIS version
+LangString RemoveOldNSISVersion ${LANG_JAPANESE} "ŒÃ‚¢ƒo[ƒWƒ‡ƒ“î•ñ‚ðƒ`ƒFƒbƒN’†‚Å‚·c"
+
+; check windows version
+LangString CheckWindowsVersionDP ${LANG_JAPANESE} "ƒEƒBƒ“ƒhƒEƒY‚̃o[ƒWƒ‡ƒ“î•ñ‚ðƒ`ƒFƒbƒN’†‚Å‚·..."
+LangString CheckWindowsVersionMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ÍWindows XPAWindows 2000AMac OS X‚Ì‚Ý‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·BWindows $R0‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚鎖‚ÍAƒf[ƒ^‚ÌÁŽ¸‚âƒNƒ‰ƒbƒVƒ…‚ÌŒ´ˆö‚É‚È‚é‰Â”\«‚ª‚ ‚è‚Ü‚·BƒCƒ“ƒXƒg[ƒ‹‚𑱂¯‚Ü‚·‚©H"
+
+; checkifadministrator function (install)
+LangString CheckAdministratorInstDP ${LANG_JAPANESE} "ƒCƒ“ƒXƒg[ƒ‹‚Ì‚½‚ß‚ÌŒ ŒÀ‚ðƒ`ƒFƒbƒN’†‚Å‚·..."
+LangString CheckAdministratorInstMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚é‚É‚ÍŠÇ—ŽÒŒ ŒÀ‚ª•K—v‚Å‚·B"
+
+; checkifadministrator function (uninstall)
+LangString CheckAdministratorUnInstDP ${LANG_JAPANESE} "ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚Ì‚½‚ß‚ÌŒ ŒÀ‚ðƒ`ƒFƒbƒN’†‚Å‚·..."
+LangString CheckAdministratorUnInstMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ðƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚·‚é‚É‚ÍŠÇ—ŽÒŒ ŒÀ‚ª•K—v‚Å‚·B"
+
+; checkifalreadycurrent
+LangString CheckIfCurrentMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt${VERSION_LONG} ‚̓Cƒ“ƒXƒg[ƒ‹Ï‚Ý‚Å‚·BÄ“xƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·‚©H "
+
+; closesecondlife function (install)
+LangString CloseSecondLifeInstDP ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ðI—¹’†‚Å‚·..."
+LangString CloseSecondLifeInstMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚Ì‹N“®’†‚ɃCƒ“ƒXƒg[ƒ‹‚Ío—ˆ‚Ü‚¹‚ñB’¼‚¿‚ɃZƒJƒ“ƒhƒ‰ƒCƒt‚ðI—¹‚µ‚ăCƒ“ƒXƒg[ƒ‹‚ðŠJŽn‚·‚éꇂÍOKƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢BCANCEL‚ð‰Ÿ‚·‚Æ’†Ž~‚µ‚Ü‚·B"
+
+; closesecondlife function (uninstall)
+LangString CloseSecondLifeUnInstDP ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚ðI—¹’†‚Å‚·..."
+LangString CloseSecondLifeUnInstMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚Ì‹N“®’†‚ɃAƒ“ƒCƒ“ƒXƒg[ƒ‹‚Ío—ˆ‚Ü‚¹‚ñB’¼‚¿‚ɃZƒJƒ“ƒhƒ‰ƒCƒt‚ðI—¹‚µ‚ăAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ðŠJŽn‚·‚éꇂÍOKƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢BCANCEL‚ð‰Ÿ‚·‚Æ’†Ž~‚µ‚Ü‚·B"
+
+; removecachefiles
+LangString RemoveCacheFilesDP ${LANG_JAPANESE} " Documents and Settings ƒtƒHƒ‹ƒ_‚̃LƒƒƒbƒVƒ…ƒtƒ@ƒCƒ‹‚ðƒfƒŠ[ƒg’†‚Å‚·B"
+
+; delete program files
+LangString DeleteProgramFilesMB ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt‚̃fƒBƒŒƒNƒgƒŠ‚É‚ÍA‚Ü‚¾ƒtƒ@ƒCƒ‹‚ªŽc‚³‚ê‚Ä‚¢‚Ü‚·B$\n$INSTDIR$\n‚É‚ ‚È‚½‚ªì¬A‚Ü‚½‚͈ړ®‚³‚¹‚½ƒtƒ@ƒCƒ‹‚ª‚ ‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B‘S‚Ä휂µ‚Ü‚·‚©H "
+
+; uninstall text
+LangString UninstallTextMsg ${LANG_JAPANESE} "ƒZƒJƒ“ƒhƒ‰ƒCƒt${VERSION_LONG}‚ðƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·B"
diff --git a/indra/newview/installers/windows/lang_ko.nsi b/indra/newview/installers/windows/lang_ko.nsi
index 4e6b5ec0cd..b570315f03 100644
--- a/indra/newview/installers/windows/lang_ko.nsi
+++ b/indra/newview/installers/windows/lang_ko.nsi
@@ -1,57 +1,57 @@
-; First is default
-LoadLanguageFile "${NSISDIR}\Contrib\Language files\Korean.nlf"
-
-; subtitle on license text caption
-LangString LicenseSubTitleUpdate ${LANG_KOREAN} "¾÷µ¥ÀÌÆ®"
-LangString LicenseSubTitleSetup ${LANG_KOREAN} " ¼³Ä¡Çϱâ"
-
-; description on license page
-LangString LicenseDescUpdate ${LANG_KOREAN} "ÀÌ ÆÑÅ°Áö´Â ¼¼ÄÁµå¶óÀÌÇÁ¸¦ ¹öÀü${VERSION_LONG}.À¸·Î ¾÷µ¥ÀÌÆ® ÇÕ´Ï´Ù. "
-LangString LicenseDescSetup ${LANG_KOREAN} "ÀÌ ÆÑÅ°Áö´Â ¼¼ÄÁµå¶óÀÌÇÁ¸¦ ÄÄÇ»ÅÍ¿¡ ¼³Ä¡ÇÕ´Ï´Ù."
-LangString LicenseDescNext ${LANG_KOREAN} "´ÙÀ½"
-
-; installation directory text
-LangString DirectoryChooseTitle ${LANG_KOREAN} "¼³Ä¡ µð·ºÅ丮"
-LangString DirectoryChooseUpdate ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ¸¦ ¾÷µ¥ÀÌÆ®ÇÒ µð·ºÅ丮¸¦ ¼±ÅÃÇϼ¼¿ä. "
-LangString DirectoryChooseSetup ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ¸¦ ¼³Ä¡ÇÒ µð·ºÅ丮¸¦ ¼±ÅÃÇϼ¼¿ä:"
-
-; CheckStartupParams message box
-LangString CheckStartupParamsMB ${LANG_KOREAN} " ¡®$INSTPROG¡¯ ÇÁ·Î±×·¥À» ãÁö ¸øÇß½À´Ï´Ù. ÀÚµ¿ ¾÷µ¥ÀÌÆ®¿¡ ½ÇÆÐÇß½À´Ï´Ù."
-
-; installation success dialog
-LangString InstSuccesssQuestion ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ¸¦ ½ÃÀÛÇÏ°Ú½À´Ï±î?"
-
-; remove old NSIS version
-LangString RemoveOldNSISVersion ${LANG_KOREAN} "ÀÌÀü ¹öÀüÀ» ã°í ÀÖ½À´Ï´Ù¡¦ "
-
-; check windows version
-LangString CheckWindowsVersionDP ${LANG_KOREAN} "À©µµ¿ì ¹öÀüÀ» È®ÀÎÇÏ°í ÀÖ½À´Ï´Ù."
-LangString CheckWindowsVersionMB ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ´Â À©µµ¿ì XP, À©µµ¿ì 2000, ±×¸®°í ¸Æ OS X¸¦ Áö¿øÇÕ´Ï´Ù. À©µµ¿ì $R0¿¡ ¼³Ä¡¸¦ ½ÃµµÇÏ¸é ¿ÀÀÛµ¿°ú µ¥ÀÌÅÍ ºÐ½ÇÀÌ ÀϾ ¼ö ÀÖ½À´Ï´Ù. °è¼Ó ¼³Ä¡ÇÏ°Ú½À´Ï±î? "
-
-; checkifadministrator function (install)
-LangString CheckAdministratorInstDP ${LANG_KOREAN} "¼³Ä¡ ±ÇÇÑÀ» È®ÀÎ ÁßÀÔ´Ï´Ù... "
-LangString CheckAdministratorInstMB ${LANG_KOREAN} "ÇöÀç ¡®¼Õ´Ô¡¯°èÁ¤À» »ç¿ë ÁßÀÔ´Ï´Ù. ¼¼ÄÁµå¶óÀÌÇÁ¸¦ ¼³Ä¡Çϱâ À§Çؼ± ¡®¿î¿µÀÚ¡± °èÁ¤À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù."
-
-; checkifadministrator function (uninstall)
-LangString CheckAdministratorUnInstDP ${LANG_KOREAN} "Á¦°Å ±ÇÇÑÀ» È®ÀÎ ÁßÀÔ´Ï´Ù. "
-LangString CheckAdministratorUnInstMB ${LANG_KOREAN} " ÇöÀç ¡®¼Õ´Ô¡¯°èÁ¤À» »ç¿ë ÁßÀÔ´Ï´Ù. ¼¼ÄÁµå¶óÀÌÇÁ¸¦ Á¦°ÅÇϱâ À§Çؼ± ¡®¿î¿µÀÚ¡± °èÁ¤À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. "
-
-; checkifalreadycurrent
-LangString CheckIfCurrentMB ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ ¹öÀü ${VERSION_LONG}ÀÌ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ½À´Ï´Ù. ´Ù½Ã ¼³Ä¡ÇϽðڽÀ´Ï±î? "
-
-; closesecondlife function (install)
-LangString CloseSecondLifeInstDP ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ¸¦ Á¾·áÇÒ ¶§ ±îÁö ´ë±â Áß¡¦ "
-LangString CloseSecondLifeInstMB ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ°¡ ÀÌ¹Ì ÀÛµ¿ ÁßÀÏ °æ¿ì ¼³Ä¡¸¦ °è¼Ó ÇÒ ¼ö ¾ø½À´Ï´Ù. ÇöÀç ÀÛ¾÷À» ¸ØÃß°í ¡®È®ÀΡ¯À» ´­·¯ ¼¼ÄÁµå¶óÀÌÇÁ¸¦ Á¾·áÇÑ ´ÙÀ½ ÁøÇàÇϱ⠹ٶø´Ï´Ù. ¼³Ä¡¸¦ Ãë¼ÒÇÏ·Á¸é ¡®Ãë¼Ò¡¯¸¦ ´©¸£¼¼¿ä."
-
-; closesecondlife function (uninstall)
-LangString CloseSecondLifeUnInstDP ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ¸¦ Á¾·áÇÒ ¶§ ±îÁö ´ë±â Áß¡¦¡±"
-LangString CloseSecondLifeUnInstMB ${LANG_KOREAN} " ¼¼ÄÁµå¶óÀÌÇÁ°¡ ÀÌ¹Ì ÀÛµ¿ ÁßÀÏ °æ¿ì Á¦°Å¸¦ °è¼Ó ÇÒ ¼ö ¾ø½À´Ï´Ù. ÇöÀç ÀÛ¾÷À» ¸ØÃß°í ¡®È®ÀΡ¯À» ´­·¯ ¼¼ÄÁµå¶óÀÌÇÁ¸¦ Á¾·áÇÑ ´ÙÀ½ ÁøÇàÇϱ⠹ٶø´Ï´Ù. ¼³Ä¡¸¦ ÃëÇÏ·Á¸é ¡®Ãë¼Ò¡¯¸¦ ´©¸£¼¼¿ä. "
-
-; removecachefiles
-LangString RemoveCacheFilesDP ${LANG_KOREAN} " Documents and Settings Æú´õ ³»ÀÇ Ä³½Ã ÆÄÀϵéÀ» Áö¿ó´Ï´Ù."
-
-; delete program files
-LangString DeleteProgramFilesMB ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ ÇÁ·Î±×·¥ µð·ºÅ丮¿¡ ¾ÆÁ÷ ÆÄÀϵéÀÌ ³²¾Æ ÀÖ½À´Ï´Ù. ÀÌ ÆÄÀϵéÀº »ç¿ëÀÚ°¡ ¸¸µç °ÍµéÀ̰ųª$\n$INSTDIR$\n$\n·Î À̵¿ÇÑ ÆÄÀϵéÀÏ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÆÄÀϵéÀ» Á¦°ÅÇÏ°Ú½À´Ï±î?"
-
-; uninstall text
-LangString UninstallTextMsg ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ${VERSION_LONG}À» ½Ã½ºÅÛ¿¡¼­ Á¦°ÅÇÕ´Ï´Ù."
+; First is default
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\Korean.nlf"
+
+; subtitle on license text caption
+LangString LicenseSubTitleUpdate ${LANG_KOREAN} "¾÷µ¥ÀÌÆ®"
+LangString LicenseSubTitleSetup ${LANG_KOREAN} " ¼³Ä¡Çϱâ"
+
+; description on license page
+LangString LicenseDescUpdate ${LANG_KOREAN} "ÀÌ ÆÑÅ°Áö´Â ¼¼ÄÁµå¶óÀÌÇÁ¸¦ ¹öÀü${VERSION_LONG}.À¸·Î ¾÷µ¥ÀÌÆ® ÇÕ´Ï´Ù. "
+LangString LicenseDescSetup ${LANG_KOREAN} "ÀÌ ÆÑÅ°Áö´Â ¼¼ÄÁµå¶óÀÌÇÁ¸¦ ÄÄÇ»ÅÍ¿¡ ¼³Ä¡ÇÕ´Ï´Ù."
+LangString LicenseDescNext ${LANG_KOREAN} "´ÙÀ½"
+
+; installation directory text
+LangString DirectoryChooseTitle ${LANG_KOREAN} "¼³Ä¡ µð·ºÅ丮"
+LangString DirectoryChooseUpdate ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ¸¦ ¾÷µ¥ÀÌÆ®ÇÒ µð·ºÅ丮¸¦ ¼±ÅÃÇϼ¼¿ä. "
+LangString DirectoryChooseSetup ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ¸¦ ¼³Ä¡ÇÒ µð·ºÅ丮¸¦ ¼±ÅÃÇϼ¼¿ä:"
+
+; CheckStartupParams message box
+LangString CheckStartupParamsMB ${LANG_KOREAN} " ¡®$INSTPROG¡¯ ÇÁ·Î±×·¥À» ãÁö ¸øÇß½À´Ï´Ù. ÀÚµ¿ ¾÷µ¥ÀÌÆ®¿¡ ½ÇÆÐÇß½À´Ï´Ù."
+
+; installation success dialog
+LangString InstSuccesssQuestion ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ¸¦ ½ÃÀÛÇÏ°Ú½À´Ï±î?"
+
+; remove old NSIS version
+LangString RemoveOldNSISVersion ${LANG_KOREAN} "ÀÌÀü ¹öÀüÀ» ã°í ÀÖ½À´Ï´Ù¡¦ "
+
+; check windows version
+LangString CheckWindowsVersionDP ${LANG_KOREAN} "À©µµ¿ì ¹öÀüÀ» È®ÀÎÇÏ°í ÀÖ½À´Ï´Ù."
+LangString CheckWindowsVersionMB ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ´Â À©µµ¿ì XP, À©µµ¿ì 2000, ±×¸®°í ¸Æ OS X¸¦ Áö¿øÇÕ´Ï´Ù. À©µµ¿ì $R0¿¡ ¼³Ä¡¸¦ ½ÃµµÇÏ¸é ¿ÀÀÛµ¿°ú µ¥ÀÌÅÍ ºÐ½ÇÀÌ ÀϾ ¼ö ÀÖ½À´Ï´Ù. °è¼Ó ¼³Ä¡ÇÏ°Ú½À´Ï±î? "
+
+; checkifadministrator function (install)
+LangString CheckAdministratorInstDP ${LANG_KOREAN} "¼³Ä¡ ±ÇÇÑÀ» È®ÀÎ ÁßÀÔ´Ï´Ù... "
+LangString CheckAdministratorInstMB ${LANG_KOREAN} "ÇöÀç ¡®¼Õ´Ô¡¯°èÁ¤À» »ç¿ë ÁßÀÔ´Ï´Ù. ¼¼ÄÁµå¶óÀÌÇÁ¸¦ ¼³Ä¡Çϱâ À§Çؼ± ¡®¿î¿µÀÚ¡± °èÁ¤À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù."
+
+; checkifadministrator function (uninstall)
+LangString CheckAdministratorUnInstDP ${LANG_KOREAN} "Á¦°Å ±ÇÇÑÀ» È®ÀÎ ÁßÀÔ´Ï´Ù. "
+LangString CheckAdministratorUnInstMB ${LANG_KOREAN} " ÇöÀç ¡®¼Õ´Ô¡¯°èÁ¤À» »ç¿ë ÁßÀÔ´Ï´Ù. ¼¼ÄÁµå¶óÀÌÇÁ¸¦ Á¦°ÅÇϱâ À§Çؼ± ¡®¿î¿µÀÚ¡± °èÁ¤À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. "
+
+; checkifalreadycurrent
+LangString CheckIfCurrentMB ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ ¹öÀü ${VERSION_LONG}ÀÌ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ½À´Ï´Ù. ´Ù½Ã ¼³Ä¡ÇϽðڽÀ´Ï±î? "
+
+; closesecondlife function (install)
+LangString CloseSecondLifeInstDP ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ¸¦ Á¾·áÇÒ ¶§ ±îÁö ´ë±â Áß¡¦ "
+LangString CloseSecondLifeInstMB ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ°¡ ÀÌ¹Ì ÀÛµ¿ ÁßÀÏ °æ¿ì ¼³Ä¡¸¦ °è¼Ó ÇÒ ¼ö ¾ø½À´Ï´Ù. ÇöÀç ÀÛ¾÷À» ¸ØÃß°í ¡®È®ÀΡ¯À» ´­·¯ ¼¼ÄÁµå¶óÀÌÇÁ¸¦ Á¾·áÇÑ ´ÙÀ½ ÁøÇàÇϱ⠹ٶø´Ï´Ù. ¼³Ä¡¸¦ Ãë¼ÒÇÏ·Á¸é ¡®Ãë¼Ò¡¯¸¦ ´©¸£¼¼¿ä."
+
+; closesecondlife function (uninstall)
+LangString CloseSecondLifeUnInstDP ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ¸¦ Á¾·áÇÒ ¶§ ±îÁö ´ë±â Áß¡¦¡±"
+LangString CloseSecondLifeUnInstMB ${LANG_KOREAN} " ¼¼ÄÁµå¶óÀÌÇÁ°¡ ÀÌ¹Ì ÀÛµ¿ ÁßÀÏ °æ¿ì Á¦°Å¸¦ °è¼Ó ÇÒ ¼ö ¾ø½À´Ï´Ù. ÇöÀç ÀÛ¾÷À» ¸ØÃß°í ¡®È®ÀΡ¯À» ´­·¯ ¼¼ÄÁµå¶óÀÌÇÁ¸¦ Á¾·áÇÑ ´ÙÀ½ ÁøÇàÇϱ⠹ٶø´Ï´Ù. ¼³Ä¡¸¦ ÃëÇÏ·Á¸é ¡®Ãë¼Ò¡¯¸¦ ´©¸£¼¼¿ä. "
+
+; removecachefiles
+LangString RemoveCacheFilesDP ${LANG_KOREAN} " Documents and Settings Æú´õ ³»ÀÇ Ä³½Ã ÆÄÀϵéÀ» Áö¿ó´Ï´Ù."
+
+; delete program files
+LangString DeleteProgramFilesMB ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ ÇÁ·Î±×·¥ µð·ºÅ丮¿¡ ¾ÆÁ÷ ÆÄÀϵéÀÌ ³²¾Æ ÀÖ½À´Ï´Ù. ÀÌ ÆÄÀϵéÀº »ç¿ëÀÚ°¡ ¸¸µç °ÍµéÀ̰ųª$\n$INSTDIR$\n$\n·Î À̵¿ÇÑ ÆÄÀϵéÀÏ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÆÄÀϵéÀ» Á¦°ÅÇÏ°Ú½À´Ï±î?"
+
+; uninstall text
+LangString UninstallTextMsg ${LANG_KOREAN} "¼¼ÄÁµå¶óÀÌÇÁ${VERSION_LONG}À» ½Ã½ºÅÛ¿¡¼­ Á¦°ÅÇÕ´Ï´Ù."
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 803c8325c2..8c7af9ebf7 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -108,6 +108,7 @@
#include "lldebugview.h"
#include "llconsole.h"
#include "llcontainerview.h"
+#include "llfloaterstats.h"
#include "llhoverview.h"
#include "llsdserialize.h"
@@ -210,13 +211,6 @@ extern OSStatus DisplayReleaseNotes(void);
#endif // LL_DARWIN
-#include "moviemaker.h"
-extern BOOL gbCapturing;
-
-#if !LL_SOLARIS
- extern MovieMaker gMovieMaker;
-#endif
-
extern BOOL gRandomizeFramerate;
extern BOOL gPeriodicSlowFrame;
@@ -1425,12 +1419,6 @@ bool LLAppViewer::mainLoop()
LLFloaterSnapshot::update(); // take snapshots
-#if !LL_SOLARIS
- if (gbCapturing)
- {
- gMovieMaker.Snap();
- }
-#endif
#if LL_WINDOWS && LL_LCD_COMPILE
// update LCD Screen
gLcdScreen->UpdateDisplay();
@@ -2440,7 +2428,7 @@ void LLAppViewer::cleanupSavedSettings()
if (gDebugView)
{
gSavedSettings.setBOOL("ShowDebugConsole", gDebugView->mDebugConsolep->getVisible());
- gSavedSettings.setBOOL("ShowDebugStats", gDebugView->mStatViewp->getVisible());
+ gSavedSettings.setBOOL("ShowDebugStats", gDebugView->mFloaterStatsp->getVisible());
}
}
diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp
index 2ea9bf6e5e..239d974bc3 100644
--- a/indra/newview/llchatbar.cpp
+++ b/indra/newview/llchatbar.cpp
@@ -429,10 +429,8 @@ void LLChatBar::sendChat( EChatType type )
//-----------------------------------------------------------------------
// static
-void LLChatBar::startChat(void* userdata)
+void LLChatBar::startChat(const char* line)
{
- const char* line = (const char*)userdata;
-
gChatBar->setVisible(TRUE);
gChatBar->setKeyboardFocus(TRUE);
gSavedSettings.setBOOL("ChatVisible", TRUE);
diff --git a/indra/newview/llchatbar.h b/indra/newview/llchatbar.h
index f198574dcd..f677218dc1 100644
--- a/indra/newview/llchatbar.h
+++ b/indra/newview/llchatbar.h
@@ -90,7 +90,7 @@ public:
static void onCommitGesture(LLUICtrl* ctrl, void* data);
- static void startChat(void*);
+ static void startChat(const char* line);
static void stopChat();
protected:
diff --git a/indra/newview/llcurrencyuimanager.cpp b/indra/newview/llcurrencyuimanager.cpp
index eeb970e38b..61ff316a2f 100644
--- a/indra/newview/llcurrencyuimanager.cpp
+++ b/indra/newview/llcurrencyuimanager.cpp
@@ -332,6 +332,7 @@ void LLCurrencyUIManager::Impl::currencyKey(S32 value)
// get reset and the cursor will change...
mPanel.childHide("currency_est");
+ mPanel.childSetVisible("getting_data",TRUE);
}
mCurrencyChanged = true;
@@ -392,6 +393,13 @@ void LLCurrencyUIManager::Impl::updateUI()
mPanel.childSetTextArg("currency_est", "[USD]", llformat("%#.2f", mSiteCurrencyEstimatedCost / 100.0));
mPanel.childSetVisible("currency_est", mSiteCurrencyEstimated && mUserCurrencyBuy > 0);
+
+ if (mPanel.childIsEnabled("buy_btn")
+ ||mPanel.childIsVisible("currency_est")
+ || mPanel.childIsVisible("error_web"))
+ {
+ mPanel.childSetVisible("getting_data",FALSE);
+ }
}
diff --git a/indra/newview/lldebugview.cpp b/indra/newview/lldebugview.cpp
index 0921941fdd..3fb7da7baa 100644
--- a/indra/newview/lldebugview.cpp
+++ b/indra/newview/lldebugview.cpp
@@ -43,6 +43,7 @@
#include "imageids.h"
#include "llvelocitybar.h"
#include "llviewerwindow.h"
+#include "llfloaterstats.h"
//
// Globals
@@ -100,16 +101,16 @@ LLDebugView::LLDebugView(const std::string& name, const LLRect &rect)
// Debug statistics
//
r.set(rect.getWidth() - 250,
- rect.getHeight(),
+ rect.getHeight() - 50,
rect.getWidth(),
- rect.getHeight() - 400);
- mStatViewp = new LLContainerView("statistics", r);
- mStatViewp->setLabel("Statistics");
- mStatViewp->setFollowsTop();
- mStatViewp->setFollowsRight();
+ rect.getHeight() - 450);
+ mFloaterStatsp = new LLFloaterStats(r);
+
+ mFloaterStatsp->setFollowsTop();
+ mFloaterStatsp->setFollowsRight();
// Default to off
- mStatViewp->setVisible(FALSE);
- addChild(mStatViewp);
+ mFloaterStatsp->setVisible(FALSE);
+ addChild(mFloaterStatsp);
const S32 VELOCITY_LEFT = 10; // 370;
const S32 VELOCITY_WIDTH = 500;
diff --git a/indra/newview/lldebugview.h b/indra/newview/lldebugview.h
index 075e8d7c39..36d367e40d 100644
--- a/indra/newview/lldebugview.h
+++ b/indra/newview/lldebugview.h
@@ -46,7 +46,7 @@ class LLFastTimerView;
class LLMemoryView;
class LLConsole;
class LLTextureView;
-class LLContainerView;
+class LLFloaterStats;
class LLDebugView : public LLView
{
@@ -61,7 +61,7 @@ public:
LLFastTimerView* mFastTimerView;
LLMemoryView* mMemoryView;
LLConsole* mDebugConsolep;
- LLContainerView* mStatViewp;
+ LLFloaterStats* mFloaterStatsp;
};
extern LLDebugView* gDebugView;
diff --git a/indra/newview/llfloaterbuycurrency.cpp b/indra/newview/llfloaterbuycurrency.cpp
index 8866ad7ed1..fb6cb40401 100644
--- a/indra/newview/llfloaterbuycurrency.cpp
+++ b/indra/newview/llfloaterbuycurrency.cpp
@@ -229,6 +229,10 @@ void LLFloaterBuyCurrencyUI::updateUI()
}
childSetVisible("error_web", !mManager.errorURI().empty());
+ if (!mManager.errorURI().empty())
+ {
+ childHide("getting_data");
+ }
}
else
{
@@ -308,6 +312,11 @@ void LLFloaterBuyCurrencyUI::updateUI()
}
childSetEnabled("buy_btn", mManager.canBuy());
+
+ if (!mManager.canBuy() && !childIsVisible("error_web"))
+ {
+ childShow("getting_data");
+ }
}
// static
diff --git a/indra/newview/llfloaterchat.cpp b/indra/newview/llfloaterchat.cpp
index 851d81f349..3f510fc500 100644
--- a/indra/newview/llfloaterchat.cpp
+++ b/indra/newview/llfloaterchat.cpp
@@ -434,12 +434,25 @@ void LLFloaterChat::loadHistory()
}
//static
-void LLFloaterChat::chatFromLogFile(LLString line, void* userdata)
+void LLFloaterChat::chatFromLogFile(LLLogChat::ELogLineType type , LLString line, void* userdata)
{
- LLChat chat;
-
- chat.mText = line;
- addChatHistory(chat, FALSE);
+ switch (type)
+ {
+ case LLLogChat::LOG_EMPTY:
+ case LLLogChat::LOG_END:
+ // *TODO: nice message from XML file here
+ break;
+ case LLLogChat::LOG_LINE:
+ {
+ LLChat chat;
+ chat.mText = line;
+ addChatHistory(chat, FALSE);
+ }
+ break;
+ default:
+ // nothing
+ break;
+ }
}
//static
diff --git a/indra/newview/llfloaterchat.h b/indra/newview/llfloaterchat.h
index c8ce7c0b55..987fa2b4c5 100644
--- a/indra/newview/llfloaterchat.h
+++ b/indra/newview/llfloaterchat.h
@@ -38,7 +38,7 @@
#define LL_LLFLOATERCHAT_H
#include "llfloater.h"
-
+#include "lllogchat.h"
class LLButton;
class LLChat;
class LLComboBox;
@@ -48,6 +48,7 @@ class LLMessageSystem;
class LLUUID;
class LLCheckBoxCtrl;
class LLPanelActiveSpeakers;
+class LLLogChat;
class LLFloaterChat
: public LLFloater, public LLUISingleton<LLFloaterChat, LLFloaterChat>
@@ -74,7 +75,7 @@ public:
static void onClickMute(void *data);
static void onClickToggleShowMute(LLUICtrl* caller, void *data);
static void onClickToggleActiveSpeakers(void* userdata);
- static void chatFromLogFile(LLString line, void* userdata);
+ static void chatFromLogFile(LLLogChat::ELogLineType type,LLString line, void* userdata);
static void loadHistory();
static void* createSpeakersPanel(void* data);
static void* createChatPanel(void* data);
diff --git a/indra/newview/llfloatergesture.cpp b/indra/newview/llfloatergesture.cpp
index 44d158d2e3..171c7da0f9 100644
--- a/indra/newview/llfloatergesture.cpp
+++ b/indra/newview/llfloatergesture.cpp
@@ -99,7 +99,7 @@ LLFloaterGesture::~LLFloaterGesture()
// Custom saving rectangle, since load must be done
// after postBuild.
- gSavedSettings.setRect("FloaterGestureRect", getRect());
+ gSavedSettings.setRect("FloaterGestureRect2", getRect());
}
// virtual
@@ -147,7 +147,7 @@ void LLFloaterGesture::show()
gUICtrlFactory->buildFloater(self, "floater_gesture.xml");
// Fix up rectangle
- LLRect rect = gSavedSettings.getRect("FloaterGestureRect");
+ LLRect rect = gSavedSettings.getRect("FloaterGestureRect2");
self->reshape(rect.getWidth(), rect.getHeight());
self->setRect(rect);
@@ -156,7 +156,12 @@ void LLFloaterGesture::show()
self->childSetFocus("gesture_list");
LLCtrlListInterface *list = self->childGetListInterface("gesture_list");
- if (list) list->selectFirstItem();
+ if (list)
+ {
+ const BOOL ascending = TRUE;
+ list->sortByColumn("name", ascending);
+ list->selectFirstItem();
+ }
self->mSelectedID = LLUUID::null;
diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp
index 8879be2e51..6c65ace89a 100644
--- a/indra/newview/llfloatertools.cpp
+++ b/indra/newview/llfloatertools.cpp
@@ -759,6 +759,9 @@ void LLFloaterTools::onOpen()
{
mParcelSelection = gParcelMgr->getFloatingParcelSelection();
mObjectSelection = gSelectMgr->getEditSelection();
+
+ gMenuBarView->setItemVisible("Tools", TRUE);
+ gMenuBarView->arrange();
}
// virtual
@@ -788,6 +791,9 @@ void LLFloaterTools::onClose(bool app_quitting)
// we were already in basic toolset, using build tools
// so manually reset tool to default (pie menu tool)
gToolMgr->getCurrentToolset()->selectFirstTool();
+
+ gMenuBarView->setItemVisible("Tools", FALSE);
+ gMenuBarView->arrange();
}
void LLFloaterTools::showMore(BOOL show_more)
diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp
index 1344b6ef22..ebc6dc2322 100644
--- a/indra/newview/llfloaterworldmap.cpp
+++ b/indra/newview/llfloaterworldmap.cpp
@@ -128,14 +128,14 @@ public:
virtual void changed(U32 mask);
};
-void LLMapFriendObserver::changed(U32 mask)
-{
- // if there's a change we're interested in.
- if((mask & (LLFriendObserver::ADD | LLFriendObserver::REMOVE | LLFriendObserver::ONLINE | LLFriendObserver::POWERS)) != 0)
- {
- gFloaterWorldMap->friendsChanged();
- }
-}
+//void LLMapFriendObserver::changed(U32 mask)
+//{
+// // if there's a change we're interested in.
+// if((mask & (LLFriendObserver::ADD | LLFriendObserver::REMOVE | LLFriendObserver::ONLINE | LLFriendObserver::POWERS)) != 0)
+// {
+// gFloaterWorldMap->friendsChanged();
+// }
+//}
//---------------------------------------------------------------------------
// Statics
@@ -202,15 +202,15 @@ BOOL LLFloaterWorldMap::postBuild()
onCommitBackground((void*)this, false);
- childSetCommitCallback("friend combo", onAvatarComboCommit, this);
+ //childSetCommitCallback("friend combo", onAvatarComboCommit, this);
- LLComboBox *avatar_combo = LLUICtrlFactory::getComboBoxByName(this, "friend combo");
- if (avatar_combo)
- {
- avatar_combo->selectFirstItem();
- avatar_combo->setPrearrangeCallback( onAvatarComboPrearrange );
- avatar_combo->setTextEntryCallback( onComboTextEntry );
- }
+ //LLComboBox *avatar_combo = LLUICtrlFactory::getComboBoxByName(this, "friend combo");
+ //if (avatar_combo)
+ //{
+ // avatar_combo->selectFirstItem();
+ // avatar_combo->setPrearrangeCallback( onAvatarComboPrearrange );
+ // avatar_combo->setTextEntryCallback( onComboTextEntry );
+ //}
childSetAction("DoSearch", onLocationCommit, this);
@@ -323,7 +323,7 @@ void LLFloaterWorldMap::show(void*, BOOL center_on_target)
gFloaterWorldMap->childSetFocus("location", TRUE);
gFocusMgr.triggerFocusFlash();
- gFloaterWorldMap->buildAvatarIDList();
+// gFloaterWorldMap->buildAvatarIDList();
gFloaterWorldMap->buildLandmarkIDLists();
// If nothing is being tracked, set flag so the user position will be found
@@ -448,14 +448,14 @@ void LLFloaterWorldMap::draw()
updateLocation();
LLTracker::ETrackingStatus tracking_status = LLTracker::getTrackingStatus();
- if (LLTracker::TRACKING_AVATAR == tracking_status)
- {
- childSetColor("avatar_icon", gTrackColor);
- }
- else
- {
- childSetColor("avatar_icon", gDisabledTrackColor);
- }
+ //if (LLTracker::TRACKING_AVATAR == tracking_status)
+ //{
+ // childSetColor("avatar_icon", gTrackColor);
+ //}
+ //else
+ //{
+ // childSetColor("avatar_icon", gDisabledTrackColor);
+ //}
if (LLTracker::TRACKING_LANDMARK == tracking_status)
{
@@ -518,38 +518,27 @@ void LLFloaterWorldMap::draw()
LLFloater::draw();
}
-
-//-------------------------------------------------------------------------
-// Internal utility functions
-//-------------------------------------------------------------------------
-
-
+//
+////-------------------------------------------------------------------------
+//// Internal utility functions
+////-------------------------------------------------------------------------
+//
+//
void LLFloaterWorldMap::trackAvatar( const LLUUID& avatar_id, const LLString& name )
{
- LLCtrlSelectionInterface *iface = childGetSelectionInterface("friend combo");
- if (!iface) return;
-
- buildAvatarIDList();
- if(iface->setCurrentByID(avatar_id) || gAgent.isGodlike())
+ // *HACK: Adjust Z values automatically for liaisons & gods so
+ // they swoop down when they click on the map. Requested
+ // convenience.
+ if(gAgent.isGodlike())
{
- // *HACK: Adjust Z values automatically for liaisons & gods so
- // they swoop down when they click on the map. Requested
- // convenience.
- if(gAgent.isGodlike())
- {
- childSetValue("spin z", LLSD(200.f));
- }
- // Don't re-request info if we already have it or we won't have it in time to teleport
- if (mTrackedStatus != LLTracker::TRACKING_AVATAR || name != mTrackedAvatarName)
- {
- mTrackedStatus = LLTracker::TRACKING_AVATAR;
- mTrackedAvatarName = name;
- LLTracker::trackAvatar(avatar_id, name);
- }
+ childSetValue("spin z", LLSD(200.f));
}
- else
+ // Don't re-request info if we already have it or we won't have it in time to teleport
+ if (mTrackedStatus != LLTracker::TRACKING_AVATAR || name != mTrackedAvatarName)
{
- LLTracker::stopTracking(NULL);
+ mTrackedStatus = LLTracker::TRACKING_AVATAR;
+ mTrackedAvatarName = name;
+ LLTracker::trackAvatar(avatar_id, name);
}
setDefaultBtn("Teleport");
}
@@ -802,68 +791,68 @@ void LLFloaterWorldMap::inventoryChanged()
}
}
-void LLFloaterWorldMap::observeFriends()
-{
- if(!mFriendObserver)
- {
- mFriendObserver = new LLMapFriendObserver;
- LLAvatarTracker::instance().addObserver(mFriendObserver);
- friendsChanged();
- }
-}
-
-void LLFloaterWorldMap::friendsChanged()
-{
- LLAvatarTracker& t = LLAvatarTracker::instance();
- const LLUUID& avatar_id = t.getAvatarID();
- buildAvatarIDList();
- if(avatar_id.notNull())
- {
- LLCtrlSelectionInterface *iface = childGetSelectionInterface("friend combo");
- if(!iface || !iface->setCurrentByID(avatar_id) ||
- !t.getBuddyInfo(avatar_id)->isRightGrantedFrom(LLRelationship::GRANT_MAP_LOCATION) || gAgent.isGodlike())
- {
- LLTracker::stopTracking(NULL);
- }
- }
-}
-
-// No longer really builds a list. Instead, just updates mAvatarCombo.
-void LLFloaterWorldMap::buildAvatarIDList()
-{
- LLCtrlListInterface *list = childGetListInterface("friend combo");
- if (!list)
- {
- return;
- }
-
- // Delete all but the "None" entry
- S32 list_size = list->getItemCount();
- if (list_size > 1)
- {
- list->selectItemRange(1, -1);
- list->operateOnSelection(LLCtrlListInterface::OP_DELETE);
- }
-
- LLSD default_column;
- default_column["name"] = "friend name";
- default_column["label"] = "Friend Name";
- default_column["width"] = 500;
- list->addColumn(default_column);
-
- // Get all of the calling cards for avatar that are currently online
- LLCollectMappableBuddies collector;
- LLAvatarTracker::instance().applyFunctor(collector);
-
- for (LLCollectMappableBuddies::buddy_map_t::iterator it = collector.mMappable.begin();
- it != collector.mMappable.end(); ++it)
- {
- list->addSimpleElement((*it).first, ADD_BOTTOM, (*it).second);
- }
-
- list->setCurrentByID( LLAvatarTracker::instance().getAvatarID() );
- list->selectFirstItem();
-}
+//void LLFloaterWorldMap::observeFriends()
+//{
+// if(!mFriendObserver)
+// {
+// mFriendObserver = new LLMapFriendObserver;
+// LLAvatarTracker::instance().addObserver(mFriendObserver);
+// friendsChanged();
+// }
+//}
+
+//void LLFloaterWorldMap::friendsChanged()
+//{
+// LLAvatarTracker& t = LLAvatarTracker::instance();
+// const LLUUID& avatar_id = t.getAvatarID();
+// buildAvatarIDList();
+// if(avatar_id.notNull())
+// {
+// LLCtrlSelectionInterface *iface = childGetSelectionInterface("friend combo");
+// if(!iface || !iface->setCurrentByID(avatar_id) ||
+// !t.getBuddyInfo(avatar_id)->isRightGrantedFrom(LLRelationship::GRANT_MAP_LOCATION) || gAgent.isGodlike())
+// {
+// LLTracker::stopTracking(NULL);
+// }
+// }
+//}
+//
+//// No longer really builds a list. Instead, just updates mAvatarCombo.
+//void LLFloaterWorldMap::buildAvatarIDList()
+//{
+// LLCtrlListInterface *list = childGetListInterface("friend combo");
+// if (!list) return;
+//
+// // Delete all but the "None" entry
+// S32 list_size = list->getItemCount();
+// while (list_size > 1)
+// {
+// list->selectNthItem(1);
+// list->operateOnSelection(LLCtrlListInterface::OP_DELETE);
+// --list_size;
+// }
+//
+// LLSD default_column;
+// default_column["name"] = "friend name";
+// default_column["label"] = "Friend Name";
+// default_column["width"] = 500;
+// list->addColumn(default_column);
+//
+// // Get all of the calling cards for avatar that are currently online
+// LLCollectMappableBuddies collector;
+// LLAvatarTracker::instance().applyFunctor(collector);
+// LLCollectMappableBuddies::buddy_map_t::iterator it;
+// LLCollectMappableBuddies::buddy_map_t::iterator end;
+// it = collector.mMappable.begin();
+// end = collector.mMappable.end();
+// for( ; it != end; ++it)
+// {
+// list->addSimpleElement((*it).first, ADD_BOTTOM, (*it).second);
+// }
+//
+// list->setCurrentByID( LLAvatarTracker::instance().getAvatarID() );
+// list->selectFirstItem();
+//}
void LLFloaterWorldMap::buildLandmarkIDLists()
@@ -969,19 +958,19 @@ void LLFloaterWorldMap::clearLandmarkSelection(BOOL clear_ui)
}
}
-
-void LLFloaterWorldMap::clearAvatarSelection(BOOL clear_ui)
-{
- if (clear_ui || !childHasKeyboardFocus("friend combo"))
- {
- mTrackedStatus = LLTracker::TRACKING_NOTHING;
- LLCtrlListInterface *list = childGetListInterface("friend combo");
- if (list)
- {
- list->selectByValue( "None" );
- }
- }
-}
+//
+//void LLFloaterWorldMap::clearAvatarSelection(BOOL clear_ui)
+//{
+// if (clear_ui || !childHasKeyboardFocus("friend combo"))
+// {
+// mTrackedStatus = LLTracker::TRACKING_NOTHING;
+// LLCtrlListInterface *list = childGetListInterface("friend combo");
+// if (list)
+// {
+// list->selectByValue( "None" );
+// }
+// }
+//}
// Adjust the maximally zoomed out limit of the zoom slider so you
@@ -1147,61 +1136,61 @@ void LLFloaterWorldMap::onLandmarkComboCommit( LLUICtrl* ctrl, void* userdata )
// Reset to user postion if nothing is tracked
self->mSetToUserPosition = ( LLTracker::getTrackingStatus() == LLTracker::TRACKING_NOTHING );
}
-
-// static
-void LLFloaterWorldMap::onAvatarComboPrearrange( LLUICtrl* ctrl, void* userdata )
-{
- LLFloaterWorldMap* self = gFloaterWorldMap;
- if( !self || self->mIsClosing )
- {
- return;
- }
-
- LLCtrlListInterface *list = self->childGetListInterface("friend combo");
- if (!list) return;
-
- LLUUID current_choice;
-
- if( LLAvatarTracker::instance().haveTrackingInfo() )
- {
- current_choice = LLAvatarTracker::instance().getAvatarID();
- }
-
- self->buildAvatarIDList();
-
- if( !list->setCurrentByID( current_choice ) || current_choice.isNull() )
- {
- LLTracker::stopTracking(NULL);
- }
-}
-
-
-// static
-void LLFloaterWorldMap::onAvatarComboCommit( LLUICtrl* ctrl, void* userdata )
-{
- LLFloaterWorldMap* self = gFloaterWorldMap;
- if( !self || self->mIsClosing )
- {
- return;
- }
-
- LLCtrlListInterface *list = gFloaterWorldMap->childGetListInterface("friend combo");
- if (!list) return;
-
- const LLUUID& new_avatar_id = list->getCurrentID();
- if (new_avatar_id.notNull())
- {
- LLString name;
- LLComboBox* combo = LLUICtrlFactory::getComboBoxByName(gFloaterWorldMap, "friend combo");
- if (combo) name = combo->getSimple();
- self->trackAvatar(new_avatar_id, name);
- onShowTargetBtn(self);
- }
- else
- { // Reset to user postion if nothing is tracked
- self->mSetToUserPosition = ( LLTracker::getTrackingStatus() == LLTracker::TRACKING_NOTHING );
- }
-}
+//
+//// static
+//void LLFloaterWorldMap::onAvatarComboPrearrange( LLUICtrl* ctrl, void* userdata )
+//{
+// LLFloaterWorldMap* self = gFloaterWorldMap;
+// if( !self || self->mIsClosing )
+// {
+// return;
+// }
+//
+// LLCtrlListInterface *list = self->childGetListInterface("friend combo");
+// if (!list) return;
+//
+// LLUUID current_choice;
+//
+// if( LLAvatarTracker::instance().haveTrackingInfo() )
+// {
+// current_choice = LLAvatarTracker::instance().getAvatarID();
+// }
+//
+// self->buildAvatarIDList();
+//
+// if( !list->setCurrentByID( current_choice ) || current_choice.isNull() )
+// {
+// LLTracker::stopTracking(NULL);
+// }
+//}
+//
+//
+//// static
+//void LLFloaterWorldMap::onAvatarComboCommit( LLUICtrl* ctrl, void* userdata )
+//{
+// LLFloaterWorldMap* self = gFloaterWorldMap;
+// if( !self || self->mIsClosing )
+// {
+// return;
+// }
+//
+// LLCtrlListInterface *list = gFloaterWorldMap->childGetListInterface("friend combo");
+// if (!list) return;
+//
+// const LLUUID& new_avatar_id = list->getCurrentID();
+// if (new_avatar_id.notNull())
+// {
+// LLString name;
+// LLComboBox* combo = LLUICtrlFactory::getComboBoxByName(gFloaterWorldMap, "friend combo");
+// if (combo) name = combo->getSimple();
+// self->trackAvatar(new_avatar_id, name);
+// onShowTargetBtn(self);
+// }
+// else
+// { // Reset to user postion if nothing is tracked
+// self->mSetToUserPosition = ( LLTracker::getTrackingStatus() == LLTracker::TRACKING_NOTHING );
+// }
+//}
//static
void LLFloaterWorldMap::onLocationFocusChanged( LLFocusableElement* focus, void* userdata )
diff --git a/indra/newview/llfloaterworldmap.h b/indra/newview/llfloaterworldmap.h
index 3cf12a9eb7..78bc95c48f 100644
--- a/indra/newview/llfloaterworldmap.h
+++ b/indra/newview/llfloaterworldmap.h
@@ -80,9 +80,9 @@ public:
void observeInventory(LLInventoryModel* inventory);
void inventoryChanged();
- // Calls for dealing with changes in friendship
- void observeFriends();
- void friendsChanged();
+ //// Calls for dealing with changes in friendship
+ //void observeFriends();
+ //void friendsChanged();
// tracking methods
void trackAvatar( const LLUUID& avatar_id, const LLString& name );
@@ -98,7 +98,7 @@ public:
F32 getDistanceToDestination(const LLVector3d& pos_global, F32 z_attenuation = 0.5f) const;
void clearLocationSelection(BOOL clear_ui = FALSE);
- void clearAvatarSelection(BOOL clear_ui = FALSE);
+ //void clearAvatarSelection(BOOL clear_ui = FALSE);
void clearLandmarkSelection(BOOL clear_ui = FALSE);
// Adjust the maximally zoomed out limit of the zoom slider so you can
@@ -119,8 +119,8 @@ protected:
static void onLandmarkComboPrearrange( LLUICtrl* ctrl, void* data );
static void onLandmarkComboCommit( LLUICtrl* ctrl, void* data );
- static void onAvatarComboPrearrange( LLUICtrl* ctrl, void* data );
- static void onAvatarComboCommit( LLUICtrl* ctrl, void* data );
+ //static void onAvatarComboPrearrange( LLUICtrl* ctrl, void* data );
+ //static void onAvatarComboCommit( LLUICtrl* ctrl, void* data );
static void onCommitBackground(void* data, bool from_click);
@@ -148,7 +148,7 @@ protected:
void teleportToLandmark();
void setLandmarkVisited();
- void buildAvatarIDList();
+ //void buildAvatarIDList();
void flyToAvatar();
void teleportToAvatar();
diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp
index 445095a12b..f0a48b9df5 100644
--- a/indra/newview/llimpanel.cpp
+++ b/indra/newview/llimpanel.cpp
@@ -2085,12 +2085,31 @@ void LLFloaterIMPanel::removeTypingIndicator(const LLIMInfo* im_info)
}
//static
-void LLFloaterIMPanel::chatFromLogFile(LLString line, void* userdata)
+void LLFloaterIMPanel::chatFromLogFile(LLLogChat::ELogLineType type, LLString line, void* userdata)
{
LLFloaterIMPanel* self = (LLFloaterIMPanel*)userdata;
-
+ LLUIString message = line;
+
+ switch (type)
+ {
+ case LLLogChat::LOG_EMPTY:
+ // add warning log enabled message
+ message = LLFloaterChat::getInstance()->getUIString("IM_logging_string");
+ break;
+ case LLLogChat::LOG_END:
+ // add log end message
+ message = LLFloaterChat::getInstance()->getUIString("IM_logging_string");
+ break;
+ case LLLogChat::LOG_LINE:
+ // just add normal lines from file
+ break;
+ default:
+ // nothing
+ break;
+ }
+
//self->addHistoryLine(line, LLColor4::grey, FALSE);
- self->mHistoryEditor->appendColoredText(line, false, true, LLColor4::grey);
+ self->mHistoryEditor->appendColoredText(message, false, true, LLColor4::grey);
}
void LLFloaterIMPanel::showSessionStartError(
diff --git a/indra/newview/llimpanel.h b/indra/newview/llimpanel.h
index 50830dedd0..7abfbbb937 100644
--- a/indra/newview/llimpanel.h
+++ b/indra/newview/llimpanel.h
@@ -33,6 +33,7 @@
#define LL_IMPANEL_H
#include "llfloater.h"
+#include "lllogchat.h"
#include "lluuid.h"
#include "lldarray.h"
#include "llinstantmessage.h"
@@ -256,7 +257,7 @@ public:
// Handle other participant in the session typing.
void processIMTyping(const LLIMInfo* im_info, BOOL typing);
- static void chatFromLogFile(LLString line, void* userdata);
+ static void chatFromLogFile(LLLogChat::ELogLineType type, LLString line, void* userdata);
//show error statuses to the user
void showSessionStartError(const std::string& error_string);
diff --git a/indra/newview/lllogchat.cpp b/indra/newview/lllogchat.cpp
index d89ec791f1..6aa209b787 100644
--- a/indra/newview/lllogchat.cpp
+++ b/indra/newview/lllogchat.cpp
@@ -33,7 +33,8 @@
#include "lllogchat.h"
#include "llappviewer.h"
-
+#include "llfloaterchat.h"
+
const S32 LOG_RECALL_SIZE = 2048;
//static
@@ -88,7 +89,7 @@ void LLLogChat::saveHistory(LLString filename, LLString line)
}
}
-void LLLogChat::loadHistory(LLString filename , void (*callback)(LLString,void*), void* userdata)
+void LLLogChat::loadHistory(LLString filename , void (*callback)(ELogLineType,LLString,void*), void* userdata)
{
if(!filename.size())
{
@@ -98,6 +99,9 @@ void LLLogChat::loadHistory(LLString filename , void (*callback)(LLString,void*)
FILE* fptr = LLFile::fopen(makeLogFileName(filename).c_str(), "r"); /*Flawfinder: ignore*/
if (!fptr)
{
+ //LLUIString message = LLFloaterChat::getInstance()->getUIString("IM_logging_string");
+ //callback(LOG_EMPTY,"IM_logging_string",userdata);
+ callback(LOG_EMPTY,"",userdata);
return; //No previous conversation with this name.
}
else
@@ -124,14 +128,14 @@ void LLLogChat::loadHistory(LLString filename , void (*callback)(LLString,void*)
if (!firstline)
{
- callback(buffer,userdata);
+ callback(LOG_LINE,buffer,userdata);
}
else
{
firstline = FALSE;
}
}
- callback("-- End of Log ---",userdata);
+ callback(LOG_END,"",userdata);
fclose(fptr);
}
diff --git a/indra/newview/lllogchat.h b/indra/newview/lllogchat.h
index d5fd7797e0..0fcee48dfc 100644
--- a/indra/newview/lllogchat.h
+++ b/indra/newview/lllogchat.h
@@ -36,10 +36,18 @@
class LLLogChat
{
public:
+ // status values for callback function
+ enum ELogLineType {
+ LOG_EMPTY,
+ LOG_LINE,
+ LOG_END
+ };
static LLString timestamp(bool withdate = false);
static LLString makeLogFileName(LLString(filename));
static void saveHistory(LLString filename, LLString line);
- static void loadHistory(LLString filename, void (*callback)(LLString,void*),void* userdata);
+ static void loadHistory(LLString filename,
+ void (*callback)(ELogLineType,LLString,void*),
+ void* userdata);
};
#endif
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index a27295c7b5..1e933706e1 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -934,6 +934,27 @@ void LLPanelLogin::loadLoginPage()
}
oStr << login_page;
+ // Use the right delimeter depending on how LLURI parses the URL
+ LLURI login_page_uri = LLURI(login_page);
+ std::string first_query_delimiter = "&";
+ if (login_page_uri.queryMap().size() == 0)
+ {
+ first_query_delimiter = "?";
+ }
+
+ LLString language(gSavedSettings.getString("Language"));
+ if(language == "default")
+ {
+ language = gSavedSettings.getString("SystemLanguage");
+ }
+ oStr << first_query_delimiter<<"lang=" << language;
+
+ if (gSavedSettings.getBOOL("FirstLoginThisInstall"))
+ {
+ oStr << "&firstlogin=TRUE";
+ }
+
+
#if USE_VIEWER_AUTH
LLURLSimString::sInstance.parse();
@@ -989,15 +1010,7 @@ void LLPanelLogin::loadLoginPage()
char* curl_channel = curl_escape(gChannelName.c_str(), 0);
char* curl_version = curl_escape(version.c_str(), 0);
-
- // Use the right delimeter depending on how LLURI parses the URL
- LLURI login_page_uri = LLURI(login_page);
- std::string first_query_delimiter = "&";
- if (login_page_uri.queryMap().size() == 0)
- {
- first_query_delimiter = "?";
- }
- oStr << first_query_delimiter << "firstname=" << firstname <<
+ oStr <<"firstname=" << firstname <<
"&lastname=" << lastname << "&location=" << location << "&region=" << curl_region <<
"&grid=" << gGridInfo[gGridChoice].mLabel << "&channel=" << curl_channel <<
"&version=" << curl_version;
@@ -1006,13 +1019,6 @@ void LLPanelLogin::loadLoginPage()
curl_free(curl_channel);
curl_free(curl_version);
- LLString language(gSavedSettings.getString("Language"));
- if(language == "default")
- {
- language = gSavedSettings.getString("SystemLanguage");
- }
-
- oStr << "&lang=" << language;
if (!gCmdLinePassword.empty())
{
diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp
index 2ebbc07500..f0acbf4b22 100644
--- a/indra/newview/llpanelobject.cpp
+++ b/indra/newview/llpanelobject.cpp
@@ -1055,10 +1055,9 @@ void LLPanelObject::getState( )
mLabelRevolutions->setVisible( revolutions_visible );
mSpinRevolutions ->setVisible( revolutions_visible );
- bool sculpt_type_visible = FALSE; // currently not visible - for LSL setting only
mCtrlSculptTexture->setVisible(sculpt_texture_visible);
- mLabelSculptType->setVisible(sculpt_texture_visible && sculpt_type_visible);
- mCtrlSculptType->setVisible(sculpt_texture_visible && sculpt_type_visible);
+ mLabelSculptType->setVisible(sculpt_texture_visible);
+ mCtrlSculptType->setVisible(sculpt_texture_visible);
// sculpt texture
diff --git a/indra/newview/llprogressview.cpp b/indra/newview/llprogressview.cpp
index 101f7ace5d..28b09358ef 100644
--- a/indra/newview/llprogressview.cpp
+++ b/indra/newview/llprogressview.cpp
@@ -51,6 +51,7 @@
#include "llviewerimagelist.h"
#include "llviewerwindow.h"
#include "llappviewer.h"
+#include "llweb.h"
LLProgressView* LLProgressView::sInstance = NULL;
@@ -66,7 +67,8 @@ const S32 ANIMATION_FRAMES = 1; //13;
// XUI:translate
LLProgressView::LLProgressView(const std::string& name, const LLRect &rect)
-: LLPanel(name, rect, FALSE)
+: LLPanel(name, rect, FALSE),
+mMouseDownInActiveArea( false )
{
mPercentDone = 0.f;
mDrawBackground = TRUE;
@@ -89,6 +91,8 @@ LLProgressView::LLProgressView(const std::string& name, const LLRect &rect)
mFadeTimer.stop();
setVisible(FALSE);
+ mOutlineRect.set( 0, 0, 0, 0 );
+
sInstance = this;
}
@@ -110,12 +114,57 @@ LLString LLProgressView::getWidgetTag() const
return LL_PROGRESS_VIEW_TAG;
}
+BOOL LLProgressView::handleMouseDown(S32 x, S32 y, MASK mask)
+{
+ if ( mOutlineRect.pointInRect( x, y ) )
+ {
+ mMouseDownInActiveArea = TRUE;
+ };
+
+ return TRUE;
+}
+
+BOOL LLProgressView::handleMouseUp(S32 x, S32 y, MASK mask)
+{
+ if ( mOutlineRect.pointInRect( x, y ) )
+ {
+ if ( mMouseDownInActiveArea )
+ {
+ if ( ! mMessage.empty() )
+ {
+ std::string url_to_open( "" );
+
+ size_t start_pos = mMessage.find( "http://" );
+ if ( start_pos != std::string::npos )
+ {
+ size_t end_pos = mMessage.find_first_of( " \n\r\t", start_pos );
+ if ( end_pos != std::string::npos )
+ url_to_open = mMessage.substr( start_pos, end_pos - start_pos );
+ else
+ url_to_open = mMessage.substr( start_pos );
+
+ LLWeb::loadURLExternal( url_to_open );
+ };
+ };
+ };
+ };
+
+ return TRUE;
+}
+
BOOL LLProgressView::handleHover(S32 x, S32 y, MASK mask)
{
if( childrenHandleHover( x, y, mask ) == NULL )
{
lldebugst(LLERR_USER_INPUT) << "hover handled by LLProgressView" << llendl;
- gViewerWindow->setCursor(UI_CURSOR_WAIT);
+ if ( mOutlineRect.pointInRect( x, y ) )
+ {
+ gViewerWindow->setCursor(UI_CURSOR_ARROW);
+ }
+ else
+ {
+ gViewerWindow->setCursor(UI_CURSOR_WAIT);
+ }
}
return TRUE;
}
@@ -231,6 +280,53 @@ void LLProgressView::draw()
LLString top_line = LLAppViewer::instance()->getSecondLifeTitle();
+ S32 bar_bottom = line_two_y - 30;
+ S32 bar_height = 18;
+ S32 bar_width = getRect().getWidth() * 2 / 3;
+ S32 bar_left = (getRect().getWidth() / 2) - (bar_width / 2);
+
+ // translucent outline box
+ S32 background_box_left = ( ( ( getRect().getWidth() / 2 ) - ( bar_width / 2 ) ) / 4 ) * 3;
+ S32 background_box_top = ( getRect().getHeight() / 2 ) + LINE_SPACING * 5;
+ S32 background_box_right = getRect().getWidth() - background_box_left;
+ S32 background_box_bottom = ( getRect().getHeight() / 2 ) - LINE_SPACING * 5;
+ S32 background_box_width = background_box_right - background_box_left + 1;
+ S32 background_box_height = background_box_top - background_box_bottom + 1;
+
+ gl_draw_scaled_image_with_border( background_box_left + 2,
+ background_box_bottom - 2,
+ 16,
+ 16,
+ background_box_width,
+ background_box_height,
+ shadow_imagep,
+ gColors.getColor( "ColorDropShadow" ) );
+
+ gl_draw_scaled_image_with_border( background_box_left,
+ background_box_bottom,
+ 16,
+ 16,
+ background_box_width,
+ background_box_height,
+ bar_imagep,
+ LLColor4( 0.0f, 0.0f, 0.0f, 0.5f ) );
+
+ gl_draw_scaled_image_with_border( background_box_left + 1,
+ background_box_bottom + 1,
+ 16,
+ 16,
+ background_box_width - 2,
+ background_box_height - 2,
+ bar_imagep,
+ LLColor4( 0.4f, 0.4f, 0.4f, 0.4f ) );
+
+ // we'll need this later for catching a click if it looks like it contains a link
+ if ( mMessage.find( "http://" ) != std::string::npos )
+ mOutlineRect.set( background_box_left, background_box_top, background_box_right, background_box_bottom );
+ else
+ mOutlineRect.set( 0, 0, 0, 0 );
+
+ // draw loading bar
font->renderUTF8(top_line, 0,
line_x, line_one_y,
LLColor4::white,
@@ -242,11 +338,6 @@ void LLProgressView::draw()
LLFontGL::HCENTER, LLFontGL::BASELINE,
LLFontGL::DROP_SHADOW);
- S32 bar_bottom = line_two_y - 30;
- S32 bar_height = 18;
- S32 bar_width = getRect().getWidth() * 2 / 3;
- S32 bar_left = (getRect().getWidth() / 2) - (bar_width / 2);
-
gl_draw_scaled_image_with_border(
bar_left + 2,
bar_bottom - 2,
diff --git a/indra/newview/llprogressview.h b/indra/newview/llprogressview.h
index b284e20c9e..8f242b865a 100644
--- a/indra/newview/llprogressview.h
+++ b/indra/newview/llprogressview.h
@@ -48,6 +48,9 @@ public:
virtual LLString getWidgetTag() const;
/*virtual*/ void draw();
+ /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask);
+ /*virtual*/ BOOL handleMouseUp(S32 x, S32 y, MASK mask);
+
/*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask);
/*virtual*/ BOOL handleKeyHere(KEY key, MASK mask, BOOL called_from_parent);
/*virtual*/ void setVisible(BOOL visible);
@@ -70,8 +73,10 @@ protected:
LLButton* mCancelBtn;
LLFrameTimer mFadeTimer;
LLFrameTimer mProgressTimer;
-
+ LLRect mOutlineRect;
+ bool mMouseDownInActiveArea;
static LLProgressView* sInstance;
+
};
#endif // LL_LLPROGRESSVIEW_H
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 461730b947..c5bb21dad2 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -84,6 +84,7 @@
#include "llcolorscheme.h"
#include "llconsole.h"
#include "llcontainerview.h"
+#include "llfloaterstats.h"
#include "lldebugview.h"
#include "lldrawable.h"
#include "lleventnotifier.h"
@@ -1629,7 +1630,7 @@ BOOL idle_startup()
LLError::logToFixedBuffer(gDebugView->mDebugConsolep);
// set initial visibility of debug console
gDebugView->mDebugConsolep->setVisible(gSavedSettings.getBOOL("ShowDebugConsole"));
- gDebugView->mStatViewp->setVisible(gSavedSettings.getBOOL("ShowDebugStats"));
+ gDebugView->mFloaterStatsp->setVisible(gSavedSettings.getBOOL("ShowDebugStats"));
}
//
@@ -2273,7 +2274,7 @@ BOOL idle_startup()
if(gFloaterWorldMap)
{
gFloaterWorldMap->observeInventory(&gInventory);
- gFloaterWorldMap->observeFriends();
+ //gFloaterWorldMap->observeFriends();
}
gViewerWindow->showCursor();
@@ -3036,7 +3037,7 @@ void init_stat_view()
LLRect rect;
LLStatBar *stat_barp;
- rect = gDebugView->mStatViewp->getRect();
+ rect = gDebugView->mFloaterStatsp->getRect();
//
// Viewer advanced stats
@@ -3047,7 +3048,7 @@ void init_stat_view()
// Viewer Basic
//
stat_viewp = new LLStatView("basic stat view", "Basic", "OpenDebugStatBasic", rect);
- gDebugView->mStatViewp->addChildAtEnd(stat_viewp);
+ gDebugView->mFloaterStatsp->addStatView(stat_viewp);
stat_barp = stat_viewp->addStat("FPS", &(gViewerStats->mFPSStat));
stat_barp->setUnitLabel(" fps");
@@ -3091,7 +3092,7 @@ void init_stat_view()
stat_viewp = new LLStatView("advanced stat view", "Advanced", "OpenDebugStatAdvanced", rect);
- gDebugView->mStatViewp->addChildAtEnd(stat_viewp);
+ gDebugView->mFloaterStatsp->addStatView(stat_viewp);
LLStatView *render_statviewp;
@@ -3249,7 +3250,7 @@ void init_stat_view()
// Simulator stats
LLStatView *sim_statviewp = new LLStatView("sim stat view", "Simulator", "OpenDebugStatSim", rect);
- gDebugView->mStatViewp->addChildAtEnd(sim_statviewp);
+ gDebugView->mFloaterStatsp->addStatView(sim_statviewp);
stat_barp = sim_statviewp->addStat("Time Dilation", &(gViewerStats->mSimTimeDilation));
stat_barp->mPrecision = 2;
@@ -3485,10 +3486,10 @@ void init_stat_view()
stat_barp->mDisplayBar = FALSE;
stat_barp->mDisplayMean = FALSE;
- LLRect r = gDebugView->mStatViewp->getRect();
+ LLRect r = gDebugView->mFloaterStatsp->getRect();
// Reshape based on the parameters we set.
- gDebugView->mStatViewp->reshape(r.getWidth(), r.getHeight());
+ gDebugView->mFloaterStatsp->reshape(r.getWidth(), r.getHeight());
}
void asset_callback_nothing(LLVFS*, const LLUUID&, LLAssetType::EType, void*, S32)
diff --git a/indra/newview/lltracker.cpp b/indra/newview/lltracker.cpp
index cc45b121ae..6938c62d84 100644
--- a/indra/newview/lltracker.cpp
+++ b/indra/newview/lltracker.cpp
@@ -607,7 +607,7 @@ void LLTracker::stopTrackingAvatar(BOOL clear_ui)
}
purgeBeaconText();
- gFloaterWorldMap->clearAvatarSelection(clear_ui);
+ //gFloaterWorldMap->clearAvatarSelection(clear_ui);
mTrackingStatus = TRACKING_NOTHING;
}
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index cf5d7b406e..a75544d528 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -284,7 +284,8 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
LLImageGL::updateStats(gFrameTimeSeconds);
LLVOAvatar::sRenderName = gSavedSettings.getS32("RenderName");
- LLVOAvatar::sRenderGroupTitles = gSavedSettings.getBOOL("RenderGroupTitleAll");
+ LLVOAvatar::sRenderGroupTitles = !gSavedSettings.getBOOL("RenderHideGroupTitleAll");
+
gPipeline.mBackfaceCull = TRUE;
gFrameCount++;
if (gFocusMgr.getAppHasFocus())
diff --git a/indra/newview/llviewerkeyboard.cpp b/indra/newview/llviewerkeyboard.cpp
index a8f88ec036..8a5a5e99c9 100644
--- a/indra/newview/llviewerkeyboard.cpp
+++ b/indra/newview/llviewerkeyboard.cpp
@@ -477,6 +477,24 @@ void start_chat( EKeystate s )
gChatBar->startChat(NULL);
}
+void start_gesture( EKeystate s )
+{
+ if (KEYSTATE_UP == s &&
+ !gChatBar->inputEditorHasFocus())
+ {
+ if (gChatBar->getCurrentChat().empty())
+ {
+ // No existing chat in chat editor, insert '/'
+ gChatBar->startChat("/");
+ }
+ else
+ {
+ // Don't overwrite existing text in chat editor
+ gChatBar->startChat(NULL);
+ }
+ }
+}
+
void bind_keyboard_functions()
{
gViewerKeyboard.bindNamedFunction("jump", agent_jump);
@@ -518,6 +536,7 @@ void bind_keyboard_functions()
gViewerKeyboard.bindNamedFunction("edit_avatar_move_backward", edit_avatar_move_backward);
gViewerKeyboard.bindNamedFunction("stop_moving", stop_moving);
gViewerKeyboard.bindNamedFunction("start_chat", start_chat);
+ gViewerKeyboard.bindNamedFunction("start_gesture", start_gesture);
}
LLViewerKeyboard::LLViewerKeyboard()
diff --git a/indra/newview/llviewerkeyboard.h b/indra/newview/llviewerkeyboard.h
index 350d6d85a5..fd024d0902 100644
--- a/indra/newview/llviewerkeyboard.h
+++ b/indra/newview/llviewerkeyboard.h
@@ -55,10 +55,9 @@ typedef enum e_keyboard_mode
} EKeyboardMode;
-void agent_push_forward( EKeystate s );
-void agent_turn_right( EKeystate s );
void bind_keyboard_functions();
+
class LLViewerKeyboard
{
public:
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 546c52a070..1a4ee66cda 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -120,6 +120,7 @@
#include "llfloaterreporter.h"
#include "llfloaterscriptdebug.h"
#include "llfloaterenvsettings.h"
+#include "llfloaterstats.h"
#include "llfloatertest.h"
#include "llfloatertools.h"
#include "llfloaterwater.h"
@@ -706,6 +707,9 @@ void init_menus()
gMenuBarView->setRect(LLRect(0, top, 0, top - MENU_BAR_HEIGHT));
gMenuBarView->setBackgroundColor( color );
+ gMenuBarView->setItemVisible("Tools", FALSE);
+ gMenuBarView->arrange();
+
gMenuHolder->addChild(gMenuBarView);
// menu holder appears on top of menu bar so you can see the menu title
@@ -2216,10 +2220,23 @@ class LLAvatarFreeze : public view_listener_t
if( avatar )
{
LLUUID* avatar_id = new LLUUID( avatar->getID() );
+ LLString fullname = avatar->getFullname();
- gViewerWindow->alertXml("FreezeAvatar",
- callback_freeze, (void*)avatar_id);
-
+ if (!fullname.empty())
+ {
+ LLString::format_map_t args;
+ args["[AVATAR_NAME]"] = fullname;
+ gViewerWindow->alertXml("FreezeAvatarFullname",
+ args,
+ callback_freeze,
+ (void*)avatar_id);
+ }
+ else
+ {
+ gViewerWindow->alertXml("FreezeAvatar",
+ callback_freeze,
+ (void*)avatar_id);
+ }
}
return true;
}
@@ -2305,9 +2322,23 @@ class LLAvatarEject : public view_listener_t
if( avatar )
{
LLUUID* avatar_id = new LLUUID( avatar->getID() );
- gViewerWindow->alertXml("EjectAvatar",
- callback_eject, (void*)avatar_id);
-
+ LLString fullname = avatar->getFullname();
+
+ if (!fullname.empty())
+ {
+ LLString::format_map_t args;
+ args["[AVATAR_NAME]"] = fullname;
+ gViewerWindow->alertXml("EjectAvatarFullname",
+ args,
+ callback_eject,
+ (void*)avatar_id);
+ }
+ else
+ {
+ gViewerWindow->alertXml("EjectAvatar",
+ callback_eject,
+ (void*)avatar_id);
+ }
}
return true;
}
@@ -3254,17 +3285,6 @@ void handle_show_newest_map(void*)
// Help menu functions
//-------------------------------------------------------------------
-class LLHelpMOTD : public view_listener_t
-{
- bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
- {
- LLString::format_map_t args;
- args["[MOTD]"] = gAgent.mMOTD;
- gViewerWindow->alertXml("MOTD", args, NULL, NULL);
- return true;
- }
-};
-
//
// Major mode switching
//
@@ -5312,7 +5332,7 @@ class LLShowFloater : public view_listener_t
}
else if (floater_name == "stat bar")
{
- gDebugView->mStatViewp->setVisible(!gDebugView->mStatViewp->getVisible());
+ gDebugView->mFloaterStatsp->setVisible(!gDebugView->mFloaterStatsp->getVisible());
}
else if (floater_name == "my land")
{
@@ -5428,7 +5448,7 @@ class LLFloaterVisible : public view_listener_t
}
else if (floater_name == "stat bar")
{
- new_value = gDebugView->mStatViewp->getVisible();
+ new_value = gDebugView->mFloaterStatsp->getVisible();
}
else if (floater_name == "active speakers")
{
@@ -7140,9 +7160,13 @@ void handle_load_from_xml(void*)
void handle_slurl_test(void*)
{
- bool open_app_slurls = true;
- bool open_links_externally = false;
- LLFloaterHtml::getInstance()->show("http://secondlife.com/app/search/slurls.html", "SLURL Test", open_app_slurls, open_links_externally);
+ const bool open_links_externally = false;
+ const bool open_app_slurls = true;
+ LLFloaterHtml::getInstance()->show(
+ "http://secondlife.com/app/search/slurls.html",
+ "SLURL Test",
+ open_links_externally,
+ open_app_slurls);
}
void handle_rebake_textures(void*)
@@ -7502,15 +7526,6 @@ class LLWorldChat : public view_listener_t
}
};
-class LLWorldStartGesture : public view_listener_t
-{
- bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
- {
- handle_slash_key(NULL);
- return true;
- }
-};
-
class LLToolsSelectTool : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
@@ -7724,7 +7739,6 @@ void initialize_menus()
// World menu
addMenu(new LLWorldChat(), "World.Chat");
- addMenu(new LLWorldStartGesture(), "World.StartGesture");
addMenu(new LLWorldAlwaysRun(), "World.AlwaysRun");
addMenu(new LLWorldFly(), "World.Fly");
addMenu(new LLWorldCreateLandmark(), "World.CreateLandmark");
@@ -7777,7 +7791,6 @@ void initialize_menus()
addMenu(new LLToolsVisibleTakeObject(), "Tools.VisibleTakeObject");*/
// Help menu
- addMenu(new LLHelpMOTD(), "Help.MOTD");
// most items use the ShowFloater method
// Self pie menu
diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp
index 8a7f7e047f..9248134188 100644
--- a/indra/newview/llviewermenufile.cpp
+++ b/indra/newview/llviewermenufile.cpp
@@ -414,15 +414,6 @@ class LLFileTakeSnapshotToDisk : public view_listener_t
}
};
-class LLFileSaveMovie : public view_listener_t
-{
- bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
- {
- LLViewerWindow::saveMovieNumbered(NULL);
- return true;
- }
-};
-
class LLFileSetWindowSize : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
@@ -1033,7 +1024,6 @@ void init_menu_file()
(new LLFileSaveTexture())->registerListener(gMenuHolder, "File.SaveTexture");
(new LLFileTakeSnapshot())->registerListener(gMenuHolder, "File.TakeSnapshot");
(new LLFileTakeSnapshotToDisk())->registerListener(gMenuHolder, "File.TakeSnapshotToDisk");
- (new LLFileSaveMovie())->registerListener(gMenuHolder, "File.SaveMovie");
(new LLFileSetWindowSize())->registerListener(gMenuHolder, "File.SetWindowSize");
(new LLFileQuit())->registerListener(gMenuHolder, "File.Quit");
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 8aa2b8224a..16cbb3272f 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -81,6 +81,7 @@
#include "llfloaterregioninfo.h"
#include "llfloaterlandholdings.h"
#include "llfloatermap.h"
+#include "llurldispatcher.h"
#include "llfloatermute.h"
#include "llfloaterpostcard.h"
#include "llfloaterpreference.h"
@@ -5180,8 +5181,11 @@ void process_script_teleport_request(LLMessageSystem* msg, void**)
msg->getVector3("Data", "SimPosition", pos);
msg->getVector3("Data", "LookAt", look_at);
- gFloaterWorldMap->trackURL(sim_name, (U32)pos.mV[VX], (U32)pos.mV[VY], (U32)pos.mV[VZ]);
- LLFloaterWorldMap::show(NULL, TRUE);
+ // gFloaterWorldMap->trackURL(sim_name, (U32)pos.mV[VX], (U32)pos.mV[VY], (U32)pos.mV[VZ]);
+ // LLFloaterWorldMap::show(NULL, TRUE);
+
+ LLURLDispatcher::dispatch(LLURLDispatcher::buildSLURL(sim_name, (S32)pos.mV[VX], (S32)pos.mV[VY], (S32)pos.mV[VZ]), FALSE);
+
}
void process_covenant_reply(LLMessageSystem* msg, void**)
diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp
index 08a73b343c..cc35328887 100644
--- a/indra/newview/llviewerparcelmgr.cpp
+++ b/indra/newview/llviewerparcelmgr.cpp
@@ -1724,15 +1724,7 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use
void optionally_start_music(const LLString& music_url)
{
- if (gSavedSettings.getWarning("FirstStreamingMusic"))
- {
- std::string* newstring = new std::string(music_url);
- gViewerWindow->alertXml("ParcelCanPlayMusic",
- callback_start_music,
- (void*)newstring);
-
- }
- else if (gSavedSettings.getBOOL("AudioStreamingMusic"))
+ if (gSavedSettings.getBOOL("AudioStreamingMusic"))
{
// Make the user click the start button on the overlay bar. JC
// llinfos << "Starting parcel music " << music_url << llendl;
@@ -1747,30 +1739,6 @@ void optionally_start_music(const LLString& music_url)
}
-void callback_start_music(S32 option, void* data)
-{
- std::string* music_url = (std::string*)data;
-
- if (0 == option)
- {
- gSavedSettings.setBOOL("AudioStreamingMusic", TRUE);
- llinfos << "Starting first parcel music " << music_url << llendl;
- if ( gOverlayBar && gOverlayBar->musicPlaying())
- {
- gAudiop->startInternetStream(music_url->c_str());
- }
- }
- else
- {
- gSavedSettings.setBOOL("AudioStreamingMusic", FALSE);
- }
-
- gSavedSettings.setWarning("FirstStreamingMusic", FALSE);
-
- delete music_url;
- music_url = NULL;
-}
-
// static
void LLViewerParcelMgr::processParcelAccessListReply(LLMessageSystem *msg, void **user)
{
diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp
index 2721a626c7..8c8d1fff67 100644
--- a/indra/newview/llviewertexteditor.cpp
+++ b/indra/newview/llviewertexteditor.cpp
@@ -962,8 +962,6 @@ BOOL LLViewerTextEditor::handleMouseUp(S32 x, S32 y, MASK mask)
BOOL LLViewerTextEditor::handleRightMouseDown(S32 x, S32 y, MASK mask)
{
-
-
BOOL handled = childrenHandleRightMouseDown(x, y, mask) != NULL;
// *TODO: Add right click menus for SLURLs
diff --git a/indra/newview/llviewertexteditor.h b/indra/newview/llviewertexteditor.h
index 237c85ad53..019375b010 100644
--- a/indra/newview/llviewertexteditor.h
+++ b/indra/newview/llviewertexteditor.h
@@ -126,14 +126,13 @@ private:
LLPointer<class LLEmbeddedNotecardOpener> mInventoryCallback;
// *TODO: Add right click menus for SLURLs
- //LLHandle<LLView> mPopupMenuHandle;
+ //LLViewHandle mPopupMenuHandle;
//
// Inner classes
//
class LLTextCmdInsertEmbeddedItem;
-
};
#endif // LL_VIEWERTEXTEDITOR_H
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 2ab11bf507..9460111869 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -178,7 +178,6 @@
#include "llvovolume.h"
#include "llworld.h"
#include "llworldmapview.h"
-#include "moviemaker.h"
#include "pipeline.h"
#include "llappviewer.h"
#include "llurlsimstring.h"
@@ -242,11 +241,6 @@ BOOL gPickTransparent = TRUE;
BOOL gDebugFastUIRender = FALSE;
-BOOL gbCapturing = FALSE;
-#if !LL_SOLARIS
-MovieMaker gMovieMaker;
-#endif
-
// HUD display lines in lower right
BOOL gDisplayWindInfo = FALSE;
BOOL gDisplayCameraPos = FALSE;
@@ -1850,7 +1844,7 @@ void LLViewerWindow::adjustRectanglesForFirstUse(const LLRect& window)
adjust_rect_top_left("FloaterFindRect2", window);
- adjust_rect_top_left("FloaterGestureRect", window);
+ adjust_rect_top_left("FloaterGestureRect2", window);
adjust_rect_top_right("FloaterMapRect", window);
@@ -4193,108 +4187,6 @@ BOOL LLViewerWindow::saveImageNumbered(LLImageRaw *raw, const LLString& extensio
return success;
}
-void LLViewerWindow::saveMovieNumbered(void*)
-{
- if (!gbCapturing)
- {
- // Get a directory if this is the first time.
- if (strlen(sSnapshotDir) == 0) /* Flawfinder: ignore */
- {
- LLString proposed_name( sMovieBaseName );
-#if LL_DARWIN
- proposed_name.append( ".mov" );
-#else
- proposed_name.append( ".avi" );
-#endif
-
- // pick a directory in which to save
- LLFilePicker &picker = LLFilePicker::instance();
- if (!picker.getSaveFile(LLFilePicker::FFSAVE_AVI, proposed_name.c_str()))
- {
- // Clicked cancel
- return;
- }
-
- // Copy the directory + file name
- char directory[LL_MAX_PATH]; /* Flawfinder: ignore */
- strncpy(directory, picker.getFirstFile(), LL_MAX_PATH -1); /* Flawfinder: ignore */
- directory[LL_MAX_PATH -1] = '\0';
-
- // Smash the file extension
- S32 length = strlen(directory); /* Flawfinder: ignore */
- S32 index = length;
-
- // Back up over ".bmp"
- index -= 4;
- if (index >= 0 && directory[index] == '.')
- {
- directory[index] = '\0';
- }
- else
- {
- index = length;
- }
-
- // Find trailing backslash
- while (index >= 0 && directory[index] != gDirUtilp->getDirDelimiter()[0])
- {
- index--;
- }
-
- // If we found one, truncate the string there
- if (index >= 0)
- {
- if (index + 1 <= length)
- {
- strncpy(LLViewerWindow::sMovieBaseName, directory + index + 1, LL_MAX_PATH -1); /* Flawfinder: ignore */
- LLViewerWindow::sMovieBaseName[LL_MAX_PATH -1] = '\0';
- }
-
- index++;
- directory[index] = '\0';
- strncpy(LLViewerWindow::sSnapshotDir, directory, LL_MAX_PATH -1); /* Flawfinder: ignore */
- LLViewerWindow::sSnapshotDir[LL_MAX_PATH -1] = '\0';
- }
- }
-
- // Look for an unused file name
- LLString filepath;
- S32 i = 1;
- S32 err = 0;
-
- do
- {
- char extension[100]; /* Flawfinder: ignore */
-#if LL_DARWIN
- snprintf( extension, sizeof(extension), "_%.3d.mov", i ); /* Flawfinder: ignore */
-#else
- snprintf( extension, sizeof(extension), "_%.3d.avi", i ); /* Flawfinder: ignore */
-#endif
- filepath.assign( sSnapshotDir );
- filepath.append( sMovieBaseName );
- filepath.append( extension );
-
- struct stat stat_info;
- err = gViewerWindow->mWindow->stat( filepath.c_str(), &stat_info );
- i++;
- }
- while( -1 != err ); // search until the file is not found (i.e., stat() gives an error).
- S32 x = gViewerWindow->getWindowWidth();
- S32 y = gViewerWindow->getWindowHeight();
-
- gbCapturing = TRUE;
-#if !LL_SOLARIS
- gMovieMaker.StartCapture((char *)filepath.c_str(), x, y);
-#endif
- }
- else
- {
-#if !LL_SOLARIS
- gMovieMaker.EndCapture();
-#endif
- gbCapturing = FALSE;
- }
-}
static S32 BORDERHEIGHT = 0;
static S32 BORDERWIDTH = 0;
diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h
index f040ca62d3..f62c25df91 100644
--- a/indra/newview/llviewerwindow.h
+++ b/indra/newview/llviewerwindow.h
@@ -208,9 +208,6 @@ public:
static void loadUserImage(void **cb_data, const LLUUID &uuid);
- // Save snapshot like Snapshot 1, 2, 3, etc.
- static void saveMovieNumbered(void*);
-
static void movieSize(S32 new_width, S32 new_height);
typedef enum e_snapshot_type
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 99cf3a8046..575f9c424c 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -663,6 +663,7 @@ LLVOAvatar::LLVOAvatar(
mNameAway(FALSE),
mNameBusy(FALSE),
mNameMute(FALSE),
+ mRenderGroupTitles(sRenderGroupTitles),
mNameAppearance(FALSE),
mLastRegionHandle(0),
mRegionCrossingCount(0),
@@ -2792,6 +2793,12 @@ BOOL LLVOAvatar::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
mVisibleChat = visible_chat;
new_name = TRUE;
}
+
+ if (sRenderGroupTitles != mRenderGroupTitles)
+ {
+ mRenderGroupTitles = sRenderGroupTitles;
+ new_name = TRUE;
+ }
// First Calculate Alpha
// If alpha > 0, create mNameText if necessary, otherwise delete it
@@ -2868,7 +2875,7 @@ BOOL LLVOAvatar::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
LLNameValue *title = getNVPair("Title");
LLNameValue* firstname = getNVPair("FirstName");
LLNameValue* lastname = getNVPair("LastName");
-
+
if (mNameText.notNull() && firstname && lastname)
{
BOOL is_away = mSignaledAnimations.find(ANIM_AGENT_AWAY) != mSignaledAnimations.end();
diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h
index 491d991369..ae0656f3ea 100644
--- a/indra/newview/llvoavatar.h
+++ b/indra/newview/llvoavatar.h
@@ -909,6 +909,8 @@ protected:
BOOL mNameMute;
BOOL mNameAppearance;
BOOL mVisibleChat;
+ BOOL mRenderGroupTitles;
+
LLString mDebugText;
U64 mLastRegionHandle;