diff options
author | James Cook <james@lindenlab.com> | 2008-11-19 23:26:29 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2008-11-19 23:26:29 +0000 |
commit | 2a44e81675d22aa5ed0844d5a4ac18bb9bd49f64 (patch) | |
tree | 595dd4b8b7beac938fc0e14ee075e5cfeb1f129b /indra/newview | |
parent | 2d2d427158ca2465e2d70d84b4499cab57e2e208 (diff) |
QAR-1018 Lightweight Windows Setup App (windows-setup-3). svn merge -r102882:102883 svn+ssh://svn.lindenlab.com/svn/linden/branches/windows-setup/windows-setup-3-merge
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/app_settings/settings.xml | 17 | ||||
-rw-r--r-- | indra/newview/installers/windows/installer_template.nsi | 37 | ||||
-rw-r--r-- | indra/newview/installers/windows/lang_es.nsi | bin | 7612 -> 7846 bytes | |||
-rw-r--r-- | indra/newview/installers/windows/lang_fr.nsi | bin | 7858 -> 8118 bytes | |||
-rw-r--r-- | indra/newview/installers/windows/lang_it.nsi | bin | 7196 -> 7438 bytes | |||
-rw-r--r-- | indra/newview/installers/windows/lang_nl.nsi | bin | 7160 -> 7388 bytes | |||
-rw-r--r-- | indra/newview/installers/windows/lang_pt-br.nsi | bin | 7590 -> 7832 bytes | |||
-rw-r--r-- | indra/newview/installers/windows/lang_zh.nsi | bin | 5354 -> 5552 bytes | |||
-rw-r--r-- | indra/newview/llagentlanguage.cpp | 9 | ||||
-rw-r--r-- | indra/newview/llagentlanguage.h | 2 | ||||
-rw-r--r-- | indra/newview/llappviewer.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llfloaterhud.cpp | 7 | ||||
-rw-r--r-- | indra/newview/llpanellogin.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llviewerstats.cpp | 3 | ||||
-rwxr-xr-x | indra/newview/viewer_manifest.py | 4 |
15 files changed, 56 insertions, 35 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index b01fbbec4f..62bc827bb1 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -3971,7 +3971,18 @@ <key>Value</key> <real>0.0</real> </map> - <key>InventoryAutoOpenDelay</key> + <key>InstallLanguage</key> + <map> + <key>Comment</key> + <string>Language passed from installer (for UI)</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>String</string> + <key>Value</key> + <string>default</string> + </map> + <key>InventoryAutoOpenDelay</key> <map> <key>Comment</key> <string>Seconds before automatically opening inventory when mouse is over inventory button when performing inventory drag and drop</string> @@ -4221,7 +4232,7 @@ <key>Language</key> <map> <key>Comment</key> - <string>Language specifier (for XUI)</string> + <string>Language specifier (for UI)</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -7670,7 +7681,7 @@ <key>SystemLanguage</key> <map> <key>Comment</key> - <string>Language indicated by system settings (for XUI)</string> + <string>Language indicated by system settings (for UI)</string> <key>Persist</key> <integer>1</integer> <key>Type</key> diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index 01bd98f87c..495012aac2 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -31,15 +31,27 @@ RequestExecutionLevel admin ; on Vista we must be admin because we write to Prog ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; !include "%%SOURCE%%\installers\windows\lang_de.nsi" !include "%%SOURCE%%\installers\windows\lang_en-us.nsi" -!include "%%SOURCE%%\installers\windows\lang_ja.nsi" -!include "%%SOURCE%%\installers\windows\lang_ko.nsi" -!include "%%SOURCE%%\installers\windows\lang_pt-br.nsi" -!include "%%SOURCE%%\installers\windows\lang_fr.nsi" !include "%%SOURCE%%\installers\windows\lang_es.nsi" +!include "%%SOURCE%%\installers\windows\lang_fr.nsi" +!include "%%SOURCE%%\installers\windows\lang_ja.nsi" !include "%%SOURCE%%\installers\windows\lang_it.nsi" +!include "%%SOURCE%%\installers\windows\lang_ko.nsi" !include "%%SOURCE%%\installers\windows\lang_nl.nsi" +!include "%%SOURCE%%\installers\windows\lang_pt-br.nsi" !include "%%SOURCE%%\installers\windows\lang_zh.nsi" +# *TODO: Move these into the language files themselves +LangString LanguageCode ${LANG_GERMAN} "de" +LangString LanguageCode ${LANG_ENGLISH} "en" +LangString LanguageCode ${LANG_SPANISH} "es" +LangString LanguageCode ${LANG_FRENCH} "fr" +LangString LanguageCode ${LANG_JAPANESE} "ja" +LangString LanguageCode ${LANG_ITALIAN} "it" +LangString LanguageCode ${LANG_KOREAN} "ko" +LangString LanguageCode ${LANG_DUTCH} "nl" +LangString LanguageCode ${LANG_PORTUGUESEBR} "pt" +LangString LanguageCode ${LANG_SIMPCHINESE} "zh" + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Tweak for different servers/builds (this placeholder is replaced by viewer_manifest.py) ;; For example: @@ -70,7 +82,6 @@ InstallDir "$PROGRAMFILES\${INSTNAME}" InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "" DirText $(DirectoryChooseTitle) $(DirectoryChooseSetup) - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Variables ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -79,6 +90,7 @@ Var INSTEXE Var INSTFLAGS Var INSTSHORTCUT Var COMMANDLINE ; command line passed to this installer, set in .onInit +Var SHORTCUT_LANG_PARAM ; "--set InstallLanguage de", passes language to viewer ;;; Function definitions should go before file includes, because calls to ;;; DLLs like LangDLL trigger an implicit file include, so if that call is at @@ -107,7 +119,7 @@ label_ask_launch: label_launch: # Assumes SetOutPath $INSTDIR - Exec '"$INSTDIR\$INSTEXE" $INSTFLAGS' + Exec '"$INSTDIR\$INSTEXE" $INSTFLAGS $SHORTCUT_LANG_PARAM' label_no_launch: Pop $R0 FunctionEnd @@ -222,7 +234,7 @@ Function CheckNetworkConnection ; Don't show secondary progress bar, this will be quick. NSISdl::download_quiet \ /TIMEOUT=${HTTP_TIMEOUT} \ - "http://join.secondlife.com/installer-check/?v=${VERSION_LONG}" \ + "http://install.secondlife.com/check/?v=${VERSION_LONG}" \ $0 Pop $1 ; Return value, either "success", "cancel" or an error message ; MessageBox MB_OK "Download result: $1" @@ -682,7 +694,6 @@ lbl_end: Return FunctionEnd - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; MAIN SECTION ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -725,13 +736,15 @@ Call RemoveOldReleaseNotes ;; This placeholder is replaced by the complete list of all the files in the installer, by viewer_manifest.py %%INSTALL_FILES%% +# Pass the installer's language to the client to use as a default +StrCpy $SHORTCUT_LANG_PARAM "--set InstallLanguage $(LanguageCode)" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Shortcuts in start menu CreateDirectory "$SMPROGRAMS\$INSTSHORTCUT" SetOutPath "$INSTDIR" CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT.lnk" \ - "$INSTDIR\$INSTEXE" "$INSTFLAGS" + "$INSTDIR\$INSTEXE" "$INSTFLAGS $SHORTCUT_LANG_PARAM" WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Create Account.url" \ @@ -749,8 +762,10 @@ CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\Uninstall $INSTSHORTCUT.lnk" \ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Other shortcuts SetOutPath "$INSTDIR" -CreateShortCut "$DESKTOP\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS" -CreateShortCut "$INSTDIR\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS" +CreateShortCut "$DESKTOP\$INSTSHORTCUT.lnk" \ + "$INSTDIR\$INSTEXE" "$INSTFLAGS $SHORTCUT_LANG_PARAM" +CreateShortCut "$INSTDIR\$INSTSHORTCUT.lnk" \ + "$INSTDIR\$INSTEXE" "$INSTFLAGS $SHORTCUT_LANG_PARAM" CreateShortCut "$INSTDIR\Uninstall $INSTSHORTCUT.lnk" \ '"$INSTDIR\uninst.exe"' '' diff --git a/indra/newview/installers/windows/lang_es.nsi b/indra/newview/installers/windows/lang_es.nsi Binary files differindex 3340a1230f..c6a7f38f3f 100644 --- a/indra/newview/installers/windows/lang_es.nsi +++ b/indra/newview/installers/windows/lang_es.nsi diff --git a/indra/newview/installers/windows/lang_fr.nsi b/indra/newview/installers/windows/lang_fr.nsi Binary files differindex 5c17ad077f..d23615de91 100644 --- a/indra/newview/installers/windows/lang_fr.nsi +++ b/indra/newview/installers/windows/lang_fr.nsi diff --git a/indra/newview/installers/windows/lang_it.nsi b/indra/newview/installers/windows/lang_it.nsi Binary files differindex 9f18013691..1208ec4eb8 100644 --- a/indra/newview/installers/windows/lang_it.nsi +++ b/indra/newview/installers/windows/lang_it.nsi diff --git a/indra/newview/installers/windows/lang_nl.nsi b/indra/newview/installers/windows/lang_nl.nsi Binary files differindex 42453baa28..c8ffa8bfcd 100644 --- a/indra/newview/installers/windows/lang_nl.nsi +++ b/indra/newview/installers/windows/lang_nl.nsi diff --git a/indra/newview/installers/windows/lang_pt-br.nsi b/indra/newview/installers/windows/lang_pt-br.nsi Binary files differindex 6524cc7c01..da56a3c336 100644 --- a/indra/newview/installers/windows/lang_pt-br.nsi +++ b/indra/newview/installers/windows/lang_pt-br.nsi diff --git a/indra/newview/installers/windows/lang_zh.nsi b/indra/newview/installers/windows/lang_zh.nsi Binary files differindex e644e6389b..f4b7b5d143 100644 --- a/indra/newview/installers/windows/lang_zh.nsi +++ b/indra/newview/installers/windows/lang_zh.nsi diff --git a/indra/newview/llagentlanguage.cpp b/indra/newview/llagentlanguage.cpp index 7401f95f29..e34e8d1969 100644 --- a/indra/newview/llagentlanguage.cpp +++ b/indra/newview/llagentlanguage.cpp @@ -31,13 +31,17 @@ #include "llviewerprecompiledheaders.h" #include "llagentlanguage.h" +// viewer includes #include "llagent.h" #include "llviewercontrol.h" #include "llviewerregion.h" +// library includes +#include "llui.h" // getLanguage() LLAgentLanguage::LLAgentLanguage() { gSavedSettings.getControl("Language")->getSignal()->connect(boost::bind(&update)); + gSavedSettings.getControl("InstallLanguage")->getSignal()->connect(boost::bind(&update)); gSavedSettings.getControl("SystemLanguage")->getSignal()->connect(boost::bind(&update)); gSavedSettings.getControl("LanguageIsPublic")->getSignal()->connect(boost::bind(&update)); } @@ -51,9 +55,7 @@ bool LLAgentLanguage::update() std::string url = gAgent.getRegion()->getCapability("UpdateAgentLanguage"); if (!url.empty()) { - std::string language = gSavedSettings.getString("Language"); - if (language == "default") - language = gSavedSettings.getString("SystemLanguage"); + std::string language = LLUI::getLanguage(); body["language"] = language; body["language_is_public"] = gSavedSettings.getBOOL("LanguageIsPublic"); @@ -62,4 +64,3 @@ bool LLAgentLanguage::update() } return true; } - diff --git a/indra/newview/llagentlanguage.h b/indra/newview/llagentlanguage.h index 8d708b27fc..aba23e28cf 100644 --- a/indra/newview/llagentlanguage.h +++ b/indra/newview/llagentlanguage.h @@ -32,7 +32,7 @@ #ifndef LL_LLAGENTLANGUAGE_H #define LL_LLAGENTLANGUAGE_H -#include "llmemory.h" +#include "llmemory.h" // LLSingleton<> #include "llevent.h" class LLAgentLanguage: public LLSingleton<LLAgentLanguage>, public LLSimpleListener diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index f47f9b1f43..0ee3b148d0 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -296,6 +296,9 @@ const std::string LOGOUT_MARKER_FILE_NAME("SecondLife.logout_marker"); static BOOL gDoDisconnect = FALSE; static std::string gLaunchFileOnQuit; +// Used on Win32 for other apps to identify our window (eg, win_setup) +const char* const VIEWER_WINDOW_CLASSNAME = "Second Life"; + //---------------------------------------------------------------------------- // File scope definitons const char *VFS_DATA_FILE_BASE = "data.db2.x."; @@ -2082,7 +2085,8 @@ bool LLAppViewer::initWindow() // always start windowed BOOL ignorePixelDepth = gSavedSettings.getBOOL("IgnorePixelDepth"); - gViewerWindow = new LLViewerWindow(gWindowTitle, "Second Life", + gViewerWindow = new LLViewerWindow(gWindowTitle, + VIEWER_WINDOW_CLASSNAME, gSavedSettings.getS32("WindowX"), gSavedSettings.getS32("WindowY"), gSavedSettings.getS32("WindowWidth"), gSavedSettings.getS32("WindowHeight"), FALSE, ignorePixelDepth); diff --git a/indra/newview/llfloaterhud.cpp b/indra/newview/llfloaterhud.cpp index 82b3097ee2..848068ee9d 100644 --- a/indra/newview/llfloaterhud.cpp +++ b/indra/newview/llfloaterhud.cpp @@ -62,12 +62,7 @@ LLFloaterHUD::LLFloaterHUD() // arrow keys during tutorial). mWebBrowser->setTakeFocusOnClick(false); - std::string language(gSavedSettings.getString("Language")); - if(language == "default") - { - language = gSavedSettings.getString("SystemLanguage"); - } - + std::string language = LLUI::getLanguage(); std::string base_url = gSavedSettings.getString("TutorialURL"); std::string url = base_url + language + "/"; diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 13f3d125ed..816a8b5765 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -925,11 +925,7 @@ void LLPanelLogin::loadLoginPage() } // Language - std::string language(gSavedSettings.getString("Language")); - if(language == "default") - { - language = gSavedSettings.getString("SystemLanguage"); - } + std::string language = LLUI::getLanguage(); oStr << first_query_delimiter<<"lang=" << language; // First Login? diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp index 72d6308503..7d0d16a100 100644 --- a/indra/newview/llviewerstats.cpp +++ b/indra/newview/llviewerstats.cpp @@ -680,8 +680,7 @@ void send_stats() // send fps only for time app spends in foreground agent["fps"] = (F32)gForegroundFrameCount / gForegroundTime.getElapsedTimeF32(); agent["version"] = gCurrentVersion; - std::string language(gSavedSettings.getString("Language")); - if(language == "default") language = gSavedSettings.getString("SystemLanguage"); + std::string language = LLUI::getLanguage(); agent["language"] = language; agent["sim_fps"] = ((F32) gFrameCount - gSimFrames) / diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index db46dac1c6..ef13f9151b 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -190,8 +190,8 @@ class WindowsManifest(ViewerManifest): self.end_prefix() # Mozilla appears to force a dependency on these files so we need to ship it (CP) - self.path("msvcr71.dll") - self.path("msvcp71.dll") + self.path("msvcr80.dll") + self.path("msvcp80.dll") # Mozilla runtime DLLs (CP) if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): |