summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2008-11-19 23:26:29 +0000
committerJames Cook <james@lindenlab.com>2008-11-19 23:26:29 +0000
commit2a44e81675d22aa5ed0844d5a4ac18bb9bd49f64 (patch)
tree595dd4b8b7beac938fc0e14ee075e5cfeb1f129b /indra/newview
parent2d2d427158ca2465e2d70d84b4499cab57e2e208 (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.xml17
-rw-r--r--indra/newview/installers/windows/installer_template.nsi37
-rw-r--r--indra/newview/installers/windows/lang_es.nsibin7612 -> 7846 bytes
-rw-r--r--indra/newview/installers/windows/lang_fr.nsibin7858 -> 8118 bytes
-rw-r--r--indra/newview/installers/windows/lang_it.nsibin7196 -> 7438 bytes
-rw-r--r--indra/newview/installers/windows/lang_nl.nsibin7160 -> 7388 bytes
-rw-r--r--indra/newview/installers/windows/lang_pt-br.nsibin7590 -> 7832 bytes
-rw-r--r--indra/newview/installers/windows/lang_zh.nsibin5354 -> 5552 bytes
-rw-r--r--indra/newview/llagentlanguage.cpp9
-rw-r--r--indra/newview/llagentlanguage.h2
-rw-r--r--indra/newview/llappviewer.cpp6
-rw-r--r--indra/newview/llfloaterhud.cpp7
-rw-r--r--indra/newview/llpanellogin.cpp6
-rw-r--r--indra/newview/llviewerstats.cpp3
-rwxr-xr-xindra/newview/viewer_manifest.py4
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
index 3340a1230f..c6a7f38f3f 100644
--- a/indra/newview/installers/windows/lang_es.nsi
+++ b/indra/newview/installers/windows/lang_es.nsi
Binary files differ
diff --git a/indra/newview/installers/windows/lang_fr.nsi b/indra/newview/installers/windows/lang_fr.nsi
index 5c17ad077f..d23615de91 100644
--- a/indra/newview/installers/windows/lang_fr.nsi
+++ b/indra/newview/installers/windows/lang_fr.nsi
Binary files differ
diff --git a/indra/newview/installers/windows/lang_it.nsi b/indra/newview/installers/windows/lang_it.nsi
index 9f18013691..1208ec4eb8 100644
--- a/indra/newview/installers/windows/lang_it.nsi
+++ b/indra/newview/installers/windows/lang_it.nsi
Binary files differ
diff --git a/indra/newview/installers/windows/lang_nl.nsi b/indra/newview/installers/windows/lang_nl.nsi
index 42453baa28..c8ffa8bfcd 100644
--- a/indra/newview/installers/windows/lang_nl.nsi
+++ b/indra/newview/installers/windows/lang_nl.nsi
Binary files differ
diff --git a/indra/newview/installers/windows/lang_pt-br.nsi b/indra/newview/installers/windows/lang_pt-br.nsi
index 6524cc7c01..da56a3c336 100644
--- a/indra/newview/installers/windows/lang_pt-br.nsi
+++ b/indra/newview/installers/windows/lang_pt-br.nsi
Binary files differ
diff --git a/indra/newview/installers/windows/lang_zh.nsi b/indra/newview/installers/windows/lang_zh.nsi
index e644e6389b..f4b7b5d143 100644
--- a/indra/newview/installers/windows/lang_zh.nsi
+++ b/indra/newview/installers/windows/lang_zh.nsi
Binary files differ
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=""):