svn merge -r 81304:81392 svn+ssh://svn.lindenlab.com/svn/linden/branches/maint-ui-8-merge
QAR-343 - merge maint-ui-7 and maint-ui-8 to releasemaster
parent
62d9c7f76c
commit
a10f963900
|
|
@ -303,6 +303,8 @@ SpacedOut Frye
|
|||
VWR-123
|
||||
VWR-130
|
||||
VWR-1823
|
||||
Sporked Friis
|
||||
VWR-4903
|
||||
Stevex Janus
|
||||
VWR-1182
|
||||
Still Defiant
|
||||
|
|
|
|||
|
|
@ -2708,3 +2708,4 @@ void init_prehash_data()
|
|||
_PREHASH_RegionDenyAgeUnverified = gMessageStringTable.getString("RegionDenyAgeUnverified");
|
||||
_PREHASH_AgeVerificationBlock = gMessageStringTable.getString("AgeVerificationBlock");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1038,7 +1038,7 @@ void clicked_help(void* data)
|
|||
return;
|
||||
}
|
||||
|
||||
LLUI::sHtmlHelp->show(self->getHelpURL(), "");
|
||||
LLUI::sHtmlHelp->show(self->getHelpURL());
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
|
|||
|
|
@ -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" );
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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] = '\\';
|
||||
|
|
|
|||
|
|
@ -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++)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
|
|
|
|||
|
|
@ -1,57 +1,57 @@
|
|||
; First is default
|
||||
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
|
||||
|
||||
; subtitle on license text caption
|
||||
LangString LicenseSubTitleUpdate ${LANG_JAPANESE} " アップデート"
|
||||
LangString LicenseSubTitleSetup ${LANG_JAPANESE} " セットアップ"
|
||||
|
||||
; description on license page
|
||||
LangString LicenseDescUpdate ${LANG_JAPANESE} "このパッケージはセカンドライフをバージョン${VERSION_LONG}.にアップデートします。"
|
||||
LangString LicenseDescSetup ${LANG_JAPANESE} "このパッケージはあなたのコンピュータにセカンドライフをインストールします。"
|
||||
LangString LicenseDescNext ${LANG_JAPANESE} "次"
|
||||
|
||||
; installation directory text
|
||||
LangString DirectoryChooseTitle ${LANG_JAPANESE} "インストール・ディレクトリ"
|
||||
LangString DirectoryChooseUpdate ${LANG_JAPANESE} "アップデートするセカンドライフのディレクトリを選択してください。:"
|
||||
LangString DirectoryChooseSetup ${LANG_JAPANESE} "セカンドライフをインストールするディレクトリを選択してください。: "
|
||||
|
||||
; CheckStartupParams message box
|
||||
LangString CheckStartupParamsMB ${LANG_JAPANESE} "プログラム名'$INSTPROG'が見つかりません。サイレント・アップデートに失敗しました。"
|
||||
|
||||
; installation success dialog
|
||||
LangString InstSuccesssQuestion ${LANG_JAPANESE} "直ちにセカンドライフを開始しますか? "
|
||||
|
||||
; remove old NSIS version
|
||||
LangString RemoveOldNSISVersion ${LANG_JAPANESE} "古いバージョン情報をチェック中です…"
|
||||
|
||||
; check windows version
|
||||
LangString CheckWindowsVersionDP ${LANG_JAPANESE} "ウィンドウズのバージョン情報をチェック中です..."
|
||||
LangString CheckWindowsVersionMB ${LANG_JAPANESE} "セカンドライフはWindows XP、Windows 2000、Mac OS Xのみをサポートしています。Windows $R0をインストールする事は、データの消失やクラッシュの原因になる可能性があります。インストールを続けますか?"
|
||||
|
||||
; checkifadministrator function (install)
|
||||
LangString CheckAdministratorInstDP ${LANG_JAPANESE} "インストールのための権限をチェック中です..."
|
||||
LangString CheckAdministratorInstMB ${LANG_JAPANESE} "セカンドライフをインストールするには管理者権限が必要です。"
|
||||
|
||||
; checkifadministrator function (uninstall)
|
||||
LangString CheckAdministratorUnInstDP ${LANG_JAPANESE} "アンインストールのための権限をチェック中です..."
|
||||
LangString CheckAdministratorUnInstMB ${LANG_JAPANESE} "セカンドライフをアンインストールするには管理者権限が必要です。"
|
||||
|
||||
; checkifalreadycurrent
|
||||
LangString CheckIfCurrentMB ${LANG_JAPANESE} "セカンドライフ${VERSION_LONG} はインストール済みです。再度インストールしますか? "
|
||||
|
||||
; closesecondlife function (install)
|
||||
LangString CloseSecondLifeInstDP ${LANG_JAPANESE} "セカンドライフを終了中です..."
|
||||
LangString CloseSecondLifeInstMB ${LANG_JAPANESE} "セカンドライフの起動中にインストールは出来ません。直ちにセカンドライフを終了してインストールを開始する場合はOKボタンを押してください。CANCELを押すと中止します。"
|
||||
|
||||
; closesecondlife function (uninstall)
|
||||
LangString CloseSecondLifeUnInstDP ${LANG_JAPANESE} "セカンドライフを終了中です..."
|
||||
LangString CloseSecondLifeUnInstMB ${LANG_JAPANESE} "セカンドライフの起動中にアンインストールは出来ません。直ちにセカンドライフを終了してアンインストールを開始する場合はOKボタンを押してください。CANCELを押すと中止します。"
|
||||
|
||||
; removecachefiles
|
||||
LangString RemoveCacheFilesDP ${LANG_JAPANESE} " Documents and Settings フォルダのキャッシュファイルをデリート中です。"
|
||||
|
||||
; delete program files
|
||||
LangString DeleteProgramFilesMB ${LANG_JAPANESE} "セカンドライフのディレクトリには、まだファイルが残されています。$\n$INSTDIR$\nにあなたが作成、または移動させたファイルがある可能性があります。全て削除しますか? "
|
||||
|
||||
; uninstall text
|
||||
LangString UninstallTextMsg ${LANG_JAPANESE} "セカンドライフ${VERSION_LONG}をアンインストールします。"
|
||||
; First is default
|
||||
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
|
||||
|
||||
; subtitle on license text caption
|
||||
LangString LicenseSubTitleUpdate ${LANG_JAPANESE} " アップデート"
|
||||
LangString LicenseSubTitleSetup ${LANG_JAPANESE} " セットアップ"
|
||||
|
||||
; description on license page
|
||||
LangString LicenseDescUpdate ${LANG_JAPANESE} "このパッケージはセカンドライフをバージョン${VERSION_LONG}.にアップデートします。"
|
||||
LangString LicenseDescSetup ${LANG_JAPANESE} "このパッケージはあなたのコンピュータにセカンドライフをインストールします。"
|
||||
LangString LicenseDescNext ${LANG_JAPANESE} "次"
|
||||
|
||||
; installation directory text
|
||||
LangString DirectoryChooseTitle ${LANG_JAPANESE} "インストール・ディレクトリ"
|
||||
LangString DirectoryChooseUpdate ${LANG_JAPANESE} "アップデートするセカンドライフのディレクトリを選択してください。:"
|
||||
LangString DirectoryChooseSetup ${LANG_JAPANESE} "セカンドライフをインストールするディレクトリを選択してください。: "
|
||||
|
||||
; CheckStartupParams message box
|
||||
LangString CheckStartupParamsMB ${LANG_JAPANESE} "プログラム名'$INSTPROG'が見つかりません。サイレント・アップデートに失敗しました。"
|
||||
|
||||
; installation success dialog
|
||||
LangString InstSuccesssQuestion ${LANG_JAPANESE} "直ちにセカンドライフを開始しますか? "
|
||||
|
||||
; remove old NSIS version
|
||||
LangString RemoveOldNSISVersion ${LANG_JAPANESE} "古いバージョン情報をチェック中です…"
|
||||
|
||||
; check windows version
|
||||
LangString CheckWindowsVersionDP ${LANG_JAPANESE} "ウィンドウズのバージョン情報をチェック中です..."
|
||||
LangString CheckWindowsVersionMB ${LANG_JAPANESE} "セカンドライフはWindows XP、Windows 2000、Mac OS Xのみをサポートしています。Windows $R0をインストールする事は、データの消失やクラッシュの原因になる可能性があります。インストールを続けますか?"
|
||||
|
||||
; checkifadministrator function (install)
|
||||
LangString CheckAdministratorInstDP ${LANG_JAPANESE} "インストールのための権限をチェック中です..."
|
||||
LangString CheckAdministratorInstMB ${LANG_JAPANESE} "セカンドライフをインストールするには管理者権限が必要です。"
|
||||
|
||||
; checkifadministrator function (uninstall)
|
||||
LangString CheckAdministratorUnInstDP ${LANG_JAPANESE} "アンインストールのための権限をチェック中です..."
|
||||
LangString CheckAdministratorUnInstMB ${LANG_JAPANESE} "セカンドライフをアンインストールするには管理者権限が必要です。"
|
||||
|
||||
; checkifalreadycurrent
|
||||
LangString CheckIfCurrentMB ${LANG_JAPANESE} "セカンドライフ${VERSION_LONG} はインストール済みです。再度インストールしますか? "
|
||||
|
||||
; closesecondlife function (install)
|
||||
LangString CloseSecondLifeInstDP ${LANG_JAPANESE} "セカンドライフを終了中です..."
|
||||
LangString CloseSecondLifeInstMB ${LANG_JAPANESE} "セカンドライフの起動中にインストールは出来ません。直ちにセカンドライフを終了してインストールを開始する場合はOKボタンを押してください。CANCELを押すと中止します。"
|
||||
|
||||
; closesecondlife function (uninstall)
|
||||
LangString CloseSecondLifeUnInstDP ${LANG_JAPANESE} "セカンドライフを終了中です..."
|
||||
LangString CloseSecondLifeUnInstMB ${LANG_JAPANESE} "セカンドライフの起動中にアンインストールは出来ません。直ちにセカンドライフを終了してアンインストールを開始する場合はOKボタンを押してください。CANCELを押すと中止します。"
|
||||
|
||||
; removecachefiles
|
||||
LangString RemoveCacheFilesDP ${LANG_JAPANESE} " Documents and Settings フォルダのキャッシュファイルをデリート中です。"
|
||||
|
||||
; delete program files
|
||||
LangString DeleteProgramFilesMB ${LANG_JAPANESE} "セカンドライフのディレクトリには、まだファイルが残されています。$\n$INSTDIR$\nにあなたが作成、または移動させたファイルがある可能性があります。全て削除しますか? "
|
||||
|
||||
; uninstall text
|
||||
LangString UninstallTextMsg ${LANG_JAPANESE} "セカンドライフ${VERSION_LONG}をアンインストールします。"
|
||||
|
|
|
|||
|
|
@ -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}을 시스템에서 제거합니다."
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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::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::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 )
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 << "®ion=" << 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())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -607,7 +607,7 @@ void LLTracker::stopTrackingAvatar(BOOL clear_ui)
|
|||
}
|
||||
|
||||
purgeBeaconText();
|
||||
gFloaterWorldMap->clearAvatarSelection(clear_ui);
|
||||
//gFloaterWorldMap->clearAvatarSelection(clear_ui);
|
||||
mTrackingStatus = TRACKING_NOTHING;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
||||
|
|
|
|||
|
|
@ -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**)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -909,6 +909,8 @@ protected:
|
|||
BOOL mNameMute;
|
||||
BOOL mNameAppearance;
|
||||
BOOL mVisibleChat;
|
||||
BOOL mRenderGroupTitles;
|
||||
|
||||
|
||||
LLString mDebugText;
|
||||
U64 mLastRegionHandle;
|
||||
|
|
|
|||
Loading…
Reference in New Issue