summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rwxr-xr-xindra/lib/python/indra/util/llmanifest.py87
-rw-r--r--indra/llcommon/llversionviewer.h41
-rwxr-xr-xindra/llwindow/llwindowmacosx-objc.h5
-rwxr-xr-xindra/newview/llfloaterpreference.cpp5
-rwxr-xr-xindra/newview/skins/default/xui/de/strings.xml2
-rwxr-xr-xindra/newview/skins/default/xui/en/menu_viewer.xml2
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_preferences_move.xml12
-rwxr-xr-xindra/newview/skins/default/xui/en/strings.xml2
-rwxr-xr-xindra/newview/skins/default/xui/es/strings.xml2
-rwxr-xr-xindra/newview/skins/default/xui/fr/strings.xml2
-rwxr-xr-xindra/newview/skins/default/xui/it/strings.xml2
-rwxr-xr-xindra/newview/skins/default/xui/ja/strings.xml2
-rwxr-xr-xindra/newview/skins/default/xui/pt/strings.xml2
-rwxr-xr-xindra/newview/skins/default/xui/ru/strings.xml2
-rwxr-xr-xindra/newview/skins/default/xui/tr/strings.xml2
-rwxr-xr-xindra/newview/viewer_manifest.py62
16 files changed, 155 insertions, 77 deletions
diff --git a/indra/lib/python/indra/util/llmanifest.py b/indra/lib/python/indra/util/llmanifest.py
index 54049b5545..52b4acbc94 100755
--- a/indra/lib/python/indra/util/llmanifest.py
+++ b/indra/lib/python/indra/util/llmanifest.py
@@ -224,15 +224,98 @@ def main():
for opt in args:
print "Option:", opt, "=", args[opt]
+ # pass in sourceid as an argument now instead of an environment variable
+ try:
+ args['sourceid'] = os.environ["sourceid"]
+ except KeyError:
+ args['sourceid'] = ""
+
+ # Build base package.
+ touch = args.get('touch')
+ if touch:
+ print 'Creating base package'
+ args['package_id'] = "" # base package has no package ID
wm = LLManifest.for_platform(args['platform'], args.get('arch'))(args)
wm.do(*args['actions'])
-
+ # Store package file for later if making touched file.
+ base_package_file = ""
+ if touch:
+ print 'Created base package ', wm.package_file
+ base_package_file = "" + wm.package_file
+
+ # handle multiple packages if set
+ try:
+ additional_packages = os.environ["additional_packages"]
+ except KeyError:
+ additional_packages = ""
+ if additional_packages:
+ # Determine destination prefix / suffix for additional packages.
+ base_dest_postfix = args['dest']
+ base_dest_prefix = ""
+ base_dest_parts = args['dest'].split(os.sep)
+ if len(base_dest_parts) > 1:
+ base_dest_postfix = base_dest_parts[len(base_dest_parts) - 1]
+ base_dest_prefix = base_dest_parts[0]
+ i = 1
+ while i < len(base_dest_parts) - 1:
+ base_dest_prefix = base_dest_prefix + os.sep + base_dest_parts[i]
+ i = i + 1
+ # Determine touched prefix / suffix for additional packages.
+ base_touch_postfix = ""
+ base_touch_prefix = ""
+ if touch:
+ base_touch_postfix = touch
+ base_touch_parts = touch.split('/')
+ if "arwin" in args['platform']:
+ if len(base_touch_parts) > 1:
+ base_touch_postfix = base_touch_parts[len(base_touch_parts) - 1]
+ base_touch_prefix = base_touch_parts[0]
+ i = 1
+ while i < len(base_touch_parts) - 1:
+ base_touch_prefix = base_touch_prefix + '/' + base_touch_parts[i]
+ i = i + 1
+ else:
+ if len(base_touch_parts) > 2:
+ base_touch_postfix = base_touch_parts[len(base_touch_parts) - 2] + '/' + base_touch_parts[len(base_touch_parts) - 1]
+ base_touch_prefix = base_touch_parts[0]
+ i = 1
+ while i < len(base_touch_parts) - 2:
+ base_touch_prefix = base_touch_prefix + '/' + base_touch_parts[i]
+ i = i + 1
+ # Store base channel name.
+ base_channel_name = args['channel']
+ # Build each additional package.
+ package_id_list = additional_packages.split(" ")
+ for package_id in package_id_list:
+ try:
+ args['package_id'] = package_id
+ args['channel'] = base_channel_name + os.environ[package_id + "_viewer_channel_suffix"]
+ if package_id + "_sourceid" in os.environ:
+ args['sourceid'] = os.environ[package_id + "_sourceid"]
+ else:
+ args['sourceid'] = ""
+ args['dest'] = base_dest_prefix + os.sep + package_id + os.sep + base_dest_postfix
+ except KeyError:
+ sys.stderr.write("Failed to create package for package_id: %s" % package_id)
+ sys.stderr.flush()
+ continue
+ if touch:
+ print 'Creating additional package for ', package_id, ' in ', args['dest']
+ wm = LLManifest.for_platform(args['platform'], args.get('arch'))(args)
+ wm.do(*args['actions'])
+ if touch:
+ print 'Created additional package ', wm.package_file, ' for ', package_id
+ faketouch = base_touch_prefix + '/' + package_id + '/' + base_touch_postfix
+ fp = open(faketouch, 'w')
+ fp.write('set package_file=%s\n' % wm.package_file)
+ fp.close()
+
# Write out the package file in this format, so that it can easily be called
# and used in a .bat file - yeah, it sucks, but this is the simplest...
touch = args.get('touch')
if touch:
fp = open(touch, 'w')
- fp.write('set package_file=%s\n' % wm.package_file)
+ fp.write('set package_file=%s\n' % base_package_file)
fp.close()
print 'touched', touch
return 0
diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h
deleted file mode 100644
index 6a5ff314e4..0000000000
--- a/indra/llcommon/llversionviewer.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * @file llversionviewer.h
- * @brief
- *
- * $LicenseInfo:firstyear=2002&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLVERSIONVIEWER_H
-#define LL_LLVERSIONVIEWER_H
-
-const S32 LL_VERSION_MAJOR = 3;
-const S32 LL_VERSION_MINOR = 4;
-const S32 LL_VERSION_PATCH = 6;
-const S32 LL_VERSION_BUILD = 0;
-
-const char * const LL_CHANNEL = "Second Life Developer";
-
-#if LL_DARWIN
-const char * const LL_VERSION_BUNDLE_ID = "com.secondlife.indra.viewer";
-#endif
-
-#endif
diff --git a/indra/llwindow/llwindowmacosx-objc.h b/indra/llwindow/llwindowmacosx-objc.h
index 2cae6f3f72..81b25601a9 100755
--- a/indra/llwindow/llwindowmacosx-objc.h
+++ b/indra/llwindow/llwindowmacosx-objc.h
@@ -25,6 +25,9 @@
* $/LicenseInfo$
*/
+#ifndef LL_LLWINDOWMACOSX_OBJC_H
+#define LL_LLWINDOWMACOSX_OBJC_H
+
#include <map>
#include <vector>
@@ -144,3 +147,5 @@ NSWindowRef getMainAppWindow();
GLViewRef getGLView();
unsigned int getModifiers();
+
+#endif // LL_LLWINDOWMACOSX_OBJC_H
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 1969435ba1..87ae36716d 100755
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -618,9 +618,12 @@ void LLFloaterPreference::cancel()
// hide translation settings floater
LLFloaterReg::hideInstance("prefs_translation");
- // hide translation settings floater
+ // hide autoreplace settings floater
LLFloaterReg::hideInstance("prefs_autoreplace");
+ // hide spellchecker settings folder
+ LLFloaterReg::hideInstance("prefs_spellchecker");
+
// cancel hardware menu
LLFloaterHardwareSettings* hardware_settings = LLFloaterReg::getTypedInstance<LLFloaterHardwareSettings>("prefs_hardware_settings");
if (hardware_settings)
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index c8c20424e1..4268b95370 100755
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -1274,7 +1274,7 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
</string>
<string name="MarketplaceURL_CreateStore">
- http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4
+ http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3
</string>
<string name="MarketplaceURL_Dashboard">
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index da3ea9bd4c..d635b8ee93 100755
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -197,7 +197,7 @@
name="Preferences"
shortcut="control|P">
<menu_item_call.on_click
- function="Floater.Show"
+ function="Floater.Toggle"
parameter="preferences" />
</menu_item_call>
<menu_item_call
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_move.xml b/indra/newview/skins/default/xui/en/panel_preferences_move.xml
index d9067b41c7..8794e3bf95 100755
--- a/indra/newview/skins/default/xui/en/panel_preferences_move.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_move.xml
@@ -129,6 +129,16 @@
name="tap_tap_hold_to_run"
width="237"
top_pad="0"/>
+ <check_box
+ control_name="AutomaticFly"
+ follows="left|top"
+ height="20"
+ label="Hold jump or crouch key to start or stop flying"
+ layout="topleft"
+ left_delta="0"
+ name="automatic_fly"
+ width="237"
+ top_pad="0"/>
<text
follows="left|top"
type="string"
@@ -260,4 +270,4 @@
function="Floater.Show"
parameter="pref_joystick" />
</button>
-</panel> \ No newline at end of file
+</panel>
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 4d7daa1b51..8ac95beddb 100755
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -2193,7 +2193,7 @@ For AI Character: Get the closest navigable point to the point provided.
<string name="InventoryNoTexture">You do not have a copy of this texture in your inventory</string>
<string name="InventoryInboxNoItems">Your Marketplace purchases will appear here. You may then drag them into your inventory to use them.</string>
<string name="MarketplaceURL">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/</string>
- <string name="MarketplaceURL_CreateStore">http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4</string>
+ <string name="MarketplaceURL_CreateStore">http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3</string>
<string name="MarketplaceURL_Dashboard">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard</string>
<string name="MarketplaceURL_Imports">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/imports</string>
<string name="MarketplaceURL_LearnMore">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/learn_more</string>
diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml
index 4686d1ed3a..484511a08b 100755
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -1256,7 +1256,7 @@ Intenta iniciar sesión de nuevo en unos instantes.
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
</string>
<string name="MarketplaceURL_CreateStore">
- http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4
+ http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3
</string>
<string name="MarketplaceURL_Dashboard">
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index 346fa62351..78d846ff4f 100755
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -1274,7 +1274,7 @@ Veuillez réessayer de vous connecter dans une minute.
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
</string>
<string name="MarketplaceURL_CreateStore">
- http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4
+ http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3
</string>
<string name="MarketplaceURL_Dashboard">
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index 160df911d3..60ed2b0929 100755
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -1265,7 +1265,7 @@ Prova ad accedere nuovamente tra un minuto.
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
</string>
<string name="MarketplaceURL_CreateStore">
- http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4
+ http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3
</string>
<string name="MarketplaceURL_Dashboard">
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard
diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml
index ab2fd461ab..a0f45e5a55 100755
--- a/indra/newview/skins/default/xui/ja/strings.xml
+++ b/indra/newview/skins/default/xui/ja/strings.xml
@@ -1274,7 +1274,7 @@ support@secondlife.com にお問い合わせください。
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
</string>
<string name="MarketplaceURL_CreateStore">
- http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4
+ http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3
</string>
<string name="MarketplaceURL_Dashboard">
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index adc3ee14e0..2eb4c0a02e 100755
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -1220,7 +1220,7 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
</string>
<string name="MarketplaceURL_CreateStore">
- http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4
+ http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3
</string>
<string name="MarketplaceURL_Dashboard">
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard
diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml
index 49ce33ec96..0f71edcee0 100755
--- a/indra/newview/skins/default/xui/ru/strings.xml
+++ b/indra/newview/skins/default/xui/ru/strings.xml
@@ -1271,7 +1271,7 @@ support@secondlife.com.
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
</string>
<string name="MarketplaceURL_CreateStore">
- http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4
+ http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3
</string>
<string name="MarketplaceURL_Dashboard">
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard
diff --git a/indra/newview/skins/default/xui/tr/strings.xml b/indra/newview/skins/default/xui/tr/strings.xml
index 5a809ea783..c4b1530b2b 100755
--- a/indra/newview/skins/default/xui/tr/strings.xml
+++ b/indra/newview/skins/default/xui/tr/strings.xml
@@ -1271,7 +1271,7 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
</string>
<string name="MarketplaceURL_CreateStore">
- http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4
+ http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3
</string>
<string name="MarketplaceURL_Dashboard">
https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 19863dd845..894e368427 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -104,26 +104,37 @@ class ViewerManifest(LLManifest):
self.path("dictionaries")
self.end_prefix(pkgdir)
- # CHOP-955: If we have "sourceid" in the build process
- # environment, generate it into settings_install.xml.
- try:
- sourceid = os.environ["sourceid"]
- except KeyError:
- # no sourceid, no settings_install.xml file
- pass
- else:
- if sourceid:
- # Single-entry subset of the LLSD content of settings.xml
- content = dict(sourceid=dict(Comment='Identify referring agency to Linden web servers',
- Persist=1,
- Type='String',
- Value=sourceid))
- # put_in_file(src=) need not be an actual pathname; it
- # only needs to be non-empty
- settings_install = self.put_in_file(llsd.format_pretty_xml(content),
- "settings_install.xml",
- src="environment")
- print "Put sourceid '%s' in %s" % (sourceid, settings_install)
+ # CHOP-955: If we have "sourceid" or "viewer_channel" in the
+ # build process environment, generate it into
+ # settings_install.xml.
+ settings_template = dict(
+ sourceid=dict(Comment='Identify referring agency to Linden web servers',
+ Persist=1,
+ Type='String',
+ Value=''),
+ CmdLineChannel=dict(Comment='Command line specified channel name',
+ Persist=0,
+ Type='String',
+ Value=''))
+ settings_install = {}
+ for key, setting in (("sourceid", "sourceid"),
+ ("channel", "CmdLineChannel")):
+ if key in self.args:
+ # only set if value is non-empty
+ if self.args[key]:
+ # copy corresponding setting from settings_template
+ settings_install[setting] = settings_template[setting].copy()
+ # then fill in Value
+ settings_install[setting]["Value"] = self.args[key]
+ print "Put %s '%s' in settings_install.xml" % (setting, self.args[key])
+
+ # did we actually copy anything into settings_install dict?
+ if settings_install:
+ # put_in_file(src=) need not be an actual pathname; it
+ # only needs to be non-empty
+ self.put_in_file(llsd.format_pretty_xml(settings_install),
+ "settings_install.xml",
+ src="environment")
self.end_prefix("app_settings")
@@ -611,6 +622,9 @@ class WindowsManifest(ViewerManifest):
installer_file = self.args['installer_name']
else:
installer_file = installer_file % substitution_strings
+ if len(self.args['package_id']) > 0:
+ installer_file = installer_file.replace(self.args['package_id'], "")
+ installer_file = installer_file.replace(".exe", self.args['package_id'] + ".exe")
substitution_strings['installer_file'] = installer_file
tempfile = "secondlife_setup_tmp.nsi"
@@ -838,7 +852,9 @@ class DarwinManifest(ViewerManifest):
volname="Second Life Installer" # DO NOT CHANGE without understanding comment above
- if self.default_channel():
+ if len(self.args['package_id']) > 0:
+ imagename = imagename + self.args['package_id']
+ elif self.default_channel():
if not self.default_grid():
# beta case
imagename = imagename + '_' + self.args['grid'].upper()
@@ -851,7 +867,7 @@ class DarwinManifest(ViewerManifest):
# make sure we don't have stale files laying about
self.remove(sparsename, finalname)
- self.run_command('hdiutil create %(sparse)r -volname %(vol)r -fs HFS+ -type SPARSE -megabytes 700 -layout SPUD' % {
+ self.run_command('hdiutil create %(sparse)r -volname %(vol)r -fs HFS+ -type SPARSE -megabytes 1000 -layout SPUD' % {
'sparse':sparsename,
'vol':volname})
@@ -926,6 +942,7 @@ class DarwinManifest(ViewerManifest):
print "Converting temp disk image to final disk image"
self.run_command('hdiutil convert %(sparse)r -format UDZO -imagekey zlib-level=9 -o %(final)r' % {'sparse':sparsename, 'final':finalname})
+ self.run_command('hdiutil internet-enable -yes %(final)r' % {'final':finalname})
# get rid of the temp file
self.package_file = finalname
self.remove(sparsename)
@@ -998,6 +1015,7 @@ class LinuxManifest(ViewerManifest):
installer_name += '_' + self.args['grid'].upper()
else:
installer_name += '_' + self.channel_oneword().upper()
+ installer_name = installer_name + self.args['package_id']
self.strip_binaries()