diff options
519 files changed, 5465 insertions, 11847 deletions
diff --git a/.github/labeler.yaml b/.github/labeler.yaml new file mode 100644 index 0000000000..d31a361baf --- /dev/null +++ b/.github/labeler.yaml @@ -0,0 +1,78 @@ +llappearance: + - indra/llappearance/**/* + +llaudio: + - indra/llaudio/**/* + +llcharacter: + - indra/llcharacter/**/* + +llcommon: + - indra/llcommon/**/* + +llcorehttp: + - indra/llcorehttp/**/* + +llcrashlogger: + - indra/llcrashlogger/**/* + +llfilesystem: + - indra/llfilesystem/**/* + +llimage: + - indra/llimage/**/* + +llimagej2coj: + - indra/llimagej2coj/**/* + +llinventory: + - indra/llinventory/**/* + +llkdu: + - indra/llkdu/**/* + +llmath: + - indra/llmath/**/* + +llmeshoptimizer: + - indra/llmeshoptimizer/**/* + +llmessage: + - indra/llmessage/**/* + +llplugin: + - indra/llplugin/**/* + +llprimitive: + - indra/llprimitive/**/* + +llrender: + - indra/llrender/**/* + +llui: + - indra/llui/**/* + +llwindow: + - indra/llwindow/**/* + +llxml: + - indra/llxml/**/* + +cmake: + - '**/*.cmake' + - '**/*/cmake/*' + - '**/CMakeLists.txt' + +python: + - '**/*.py' + +c/cpp: + - '**/*.c' + - '**/*.cpp' + - '**/*.cxx' + - '**/*.h' + - '**/*.hpp' + - '**/*.hxx' + - '**/*.i' + - '**/*.inl' + - '**/*.y' diff --git a/.github/workflows/cla.yaml b/.github/workflows/cla.yaml new file mode 100644 index 0000000000..fa180c66c9 --- /dev/null +++ b/.github/workflows/cla.yaml @@ -0,0 +1,25 @@ +name: Check CLA + +on: + issue_comment: + types: [created] + pull_request_target: + types: [opened, closed, synchronize] + +jobs: + cla: + name: Check CLA + runs-on: ubuntu-latest + steps: + - name: CLA Assistant + if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' + uses: secondlife-3p/contributor-assistant@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PERSONAL_ACCESS_TOKEN: ${{ secrets.SHARED_CLA_TOKEN }} + with: + branch: main + path-to-document: https://github.com/secondlife/cla/blob/master/CLA.md + path-to-signatures: signatures.json + remote-organization-name: secondlife + remote-repository-name: cla-signatures diff --git a/.github/workflows/label.yaml b/.github/workflows/label.yaml new file mode 100644 index 0000000000..6e41d8aa2d --- /dev/null +++ b/.github/workflows/label.yaml @@ -0,0 +1,15 @@ +name: Pull Request Labeler +on: + - pull_request_target + +jobs: + triage: + permissions: + contents: read + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v4 + with: + configuration-path: .github/labeler.yaml + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml new file mode 100644 index 0000000000..82a9a968b9 --- /dev/null +++ b/.github/workflows/stale.yaml @@ -0,0 +1,24 @@ +name: Stale PRs +on: + workflow_dispatch: + schedule: + - cron: 0 0 * * * + +permissions: + issues: write + pull-requests: write + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v6 + id: stale + with: + stale-pr-message: This pull request is stale because it has been open 60 days with no activity. Remove stale label or comment or it will be closed in 7 days + days-before-stale: 60 + days-before-close: 7 + exempt-pr-labels: blocked,must,should,keep + stale-pr-label: stale + - name: Print outputs + run: echo ${{ join(steps.stale.outputs.*, ',') }} diff --git a/doc/LGPL-licence.txt b/LICENSE index 4362b49151..4362b49151 100755 --- a/doc/LGPL-licence.txt +++ b/LICENSE @@ -1,4 +1,8 @@ - +<picture> + <source media="(prefers-color-scheme: dark)" srcset="doc/sl-logo-dark.png"> + <source media="(prefers-color-scheme: light)" srcset="doc/sl-logo.png"> + <img alt="Second Life Logo" src="doc/sl-logo.png"> +</picture> **[Second Life][] is a free 3D virtual world where users can create, connect and chat with others from around the world.** This repository contains the source code for the official client. diff --git a/autobuild.xml b/autobuild.xml index 5a5ffa2898..bc78e5c5e0 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -184,9 +184,9 @@ <key>archive</key> <map> <key>hash</key> - <string>ae90d19cdcddf539f6d0b41cab12f918</string> + <string>7b4aceaed511d44c4d1354b2162b59c7</string> <key>url</key> - <string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/72773/702861/bugsplat-1.0.7.552580-darwin64-552580.tar.bz2</string> + <string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/107398/936936/bugsplat-1.0.7.576560-darwin64-576560.tar.bz2</string> </map> <key>name</key> <string>darwin64</string> @@ -196,9 +196,9 @@ <key>archive</key> <map> <key>hash</key> - <string>f5936eceb6a33ff0f1cc31996a40f29c</string> + <string>53918c7c74b943cdc0bb90caf9657a84</string> <key>url</key> - <string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/72774/702905/bugsplat-3.6.0.8.552580-windows-552580.tar.bz2</string> + <string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/107400/936949/bugsplat-4.0.3.0.576560-windows-576560.tar.bz2</string> </map> <key>name</key> <string>windows</string> @@ -208,16 +208,16 @@ <key>archive</key> <map> <key>hash</key> - <string>9cd940754e53e0670030b3da5ba8f373</string> + <string>19d6a55db101f02e7eb531daf3e8cfd1</string> <key>url</key> - <string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/72775/702906/bugsplat-3.6.0.8.552580-windows64-552580.tar.bz2</string> + <string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/107401/936948/bugsplat-.576560-windows64-576560.tar.bz2</string> </map> <key>name</key> <string>windows64</string> </map> </map> <key>version</key> - <string>3.6.0.8.552580</string> + <string>4.0.3.0.576560</string> </map> <key>colladadom</key> <map> @@ -602,9 +602,9 @@ <key>archive</key> <map> <key>hash</key> - <string>2c619c1bef969dc42b4f44a4651b314e</string> + <string>8de71c518c248d77f70f87ab5e9de732</string> <key>url</key> - <string>https://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/98369/869141/fmodstudio-2.02.06.570913-darwin64-570913.tar.bz2</string> + <string>https://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/105828/925920/fmodstudio-2.02.06.575716-darwin64-575716.tar.bz2</string> </map> <key>name</key> <string>darwin64</string> @@ -626,9 +626,9 @@ <key>archive</key> <map> <key>hash</key> - <string>875ccd8c1feec8ff03438d453371044b</string> + <string>2eea946ee7a572b748cec0c623ade3ef</string> <key>url</key> - <string>https://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/98371/869153/fmodstudio-2.02.06.570913-windows-570913.tar.bz2</string> + <string>https://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/105830/925932/fmodstudio-2.02.06.575716-windows-575716.tar.bz2</string> </map> <key>name</key> <string>windows</string> @@ -638,16 +638,16 @@ <key>archive</key> <map> <key>hash</key> - <string>5e402f4828741bce942e2ced318cd02a</string> + <string>483d6fd5d057b0a681bffef9b8b9d927</string> <key>url</key> - <string>https://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/98372/869154/fmodstudio-2.02.06.570913-windows64-570913.tar.bz2</string> + <string>https://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/105829/925931/fmodstudio-2.02.06.575716-windows64-575716.tar.bz2</string> </map> <key>name</key> <string>windows64</string> </map> </map> <key>version</key> - <string>2.02.06.570913</string> + <string>2.02.06.575716</string> </map> <key>fontconfig</key> <map> @@ -2671,9 +2671,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> <key>archive</key> <map> <key>hash</key> - <string>1dda5fb3bb649b0ab5a93f22df7cb11e</string> + <string>2e8d817e7837dd6f4284b13fa3f5c15e</string> <key>url</key> - <string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/96998/862110/viewer_manager-3.0.569958-darwin64-569958.tar.bz2</string> + <string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/104765/917714/viewer_manager-3.0.575083-darwin64-575083.tar.bz2</string> </map> <key>name</key> <string>darwin64</string> @@ -2683,9 +2683,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> <key>archive</key> <map> <key>hash</key> - <string>30d1386d0a6883d898fc56757a789b8b</string> + <string>3efa80faaf537e39a77218cd6efa9409</string> <key>url</key> - <string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/97002/862130/viewer_manager-3.0.569958-windows-569958.tar.bz2</string> + <string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/104766/917721/viewer_manager-3.0.575083-windows-575083.tar.bz2</string> </map> <key>name</key> <string>windows</string> @@ -2696,7 +2696,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> <key>source_type</key> <string>hg</string> <key>version</key> - <string>3.0.569958</string> + <string>3.0.575083</string> </map> <key>vlc-bin</key> <map> @@ -2888,7 +2888,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> <key>package_description</key> <map> <key>canonical_repo</key> - <string>https://bitbucket.org/lindenlab/viewer</string> + <string>https://github.com/secondlife/viewer</string> <key>copyright</key> <string>Copyright (c) 2020, Linden Research, Inc.</string> <key>description</key> diff --git a/doc/LGPL-license.txt b/doc/LGPL-license.txt new file mode 100755 index 0000000000..4362b49151 --- /dev/null +++ b/doc/LGPL-license.txt @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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; either + version 2.1 of the License, or (at your option) any later version. + + 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 + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/doc/contributions.txt b/doc/contributions.txt index 9368781c9a..e0c6e9cf7e 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -282,6 +282,7 @@ Beq Janus SL-11300 SL-15709 SL-16021 + SL-18637 Beth Walcher Bezilon Kasei Biancaluce Robbiani @@ -489,6 +490,8 @@ Evangelista Emerald Faelon Swordthain Farallon Greyskin VWR-2036 +Fawrsk + SL-18893 Feep Larsson VWR-447 VWR-1314 @@ -581,6 +584,7 @@ Henri Beauchamp VWR-1320 VWR-1406 VWR-4157 + SL-15175 herina Bode Hikkoshi Sakai VWR-429 @@ -1170,6 +1174,10 @@ Ollie Kubrick Orenj Marat Orion Delphis Oryx Tempel +PanteraPolnocy + SL-18891 + SL-18904 + SL-18937 Parvati Silverweb Patric Mills VWR-2645 diff --git a/doc/sl-logo-dark.png b/doc/sl-logo-dark.png Binary files differnew file mode 100644 index 0000000000..fa9ef32aea --- /dev/null +++ b/doc/sl-logo-dark.png diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index c8807364b9..3c87e69e5f 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -60,7 +60,7 @@ if (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) set(INSTALL_PROPRIETARY ON CACHE BOOL "Install proprietary binaries") endif (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) set(TEMPLATE_VERIFIER_OPTIONS "" CACHE STRING "Options for scripts/template_verifier.py") -set(TEMPLATE_VERIFIER_MASTER_URL "https://bitbucket.org/lindenlab/master-message-template-git/raw/master/message_template.msg" CACHE STRING "Location of the master message template") +set(TEMPLATE_VERIFIER_MASTER_URL "https://github.com/secondlife/master-message-template/raw/master/message_template.msg" CACHE STRING "Location of the master message template") if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING diff --git a/indra/llappearance/llavatarappearance.cpp b/indra/llappearance/llavatarappearance.cpp index f0df3e1474..89a7c4589b 100644 --- a/indra/llappearance/llavatarappearance.cpp +++ b/indra/llappearance/llavatarappearance.cpp @@ -214,12 +214,10 @@ void LLAvatarAppearance::initInstance() mRoot = createAvatarJoint(); mRoot->setName( "mRoot" ); - for (LLAvatarAppearanceDictionary::MeshEntries::const_iterator iter = sAvatarDictionary->getMeshEntries().begin(); - iter != sAvatarDictionary->getMeshEntries().end(); - ++iter) + for (const LLAvatarAppearanceDictionary::MeshEntries::value_type& mesh_pair : sAvatarDictionary->getMeshEntries()) { - const EMeshIndex mesh_index = iter->first; - const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = iter->second; + const EMeshIndex mesh_index = mesh_pair.first; + const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = mesh_pair.second; LLAvatarJoint* joint = createAvatarJoint(); joint->setName(mesh_dict->mName); joint->setMeshID(mesh_index); @@ -260,21 +258,16 @@ void LLAvatarAppearance::initInstance() //------------------------------------------------------------------------- // associate baked textures with meshes //------------------------------------------------------------------------- - for (LLAvatarAppearanceDictionary::MeshEntries::const_iterator iter = sAvatarDictionary->getMeshEntries().begin(); - iter != sAvatarDictionary->getMeshEntries().end(); - ++iter) + for (const LLAvatarAppearanceDictionary::MeshEntries::value_type& mesh_pair : sAvatarDictionary->getMeshEntries()) { - const EMeshIndex mesh_index = iter->first; - const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = iter->second; + const EMeshIndex mesh_index = mesh_pair.first; + const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = mesh_pair.second; const EBakedTextureIndex baked_texture_index = mesh_dict->mBakedID; // Skip it if there's no associated baked texture. if (baked_texture_index == BAKED_NUM_INDICES) continue; - for (avatar_joint_mesh_list_t::iterator iter = mMeshLOD[mesh_index]->mMeshParts.begin(); - iter != mMeshLOD[mesh_index]->mMeshParts.end(); - ++iter) + for (LLAvatarJointMesh* mesh : mMeshLOD[mesh_index]->mMeshParts) { - LLAvatarJointMesh* mesh = (*iter); mBakedTextureDatas[(S32)baked_texture_index].mJointMeshes.push_back(mesh); } } @@ -297,10 +290,8 @@ LLAvatarAppearance::~LLAvatarAppearance() delete_and_clear(mBakedTextureDatas[i].mTexLayerSet); mBakedTextureDatas[i].mJointMeshes.clear(); - for (morph_list_t::iterator iter2 = mBakedTextureDatas[i].mMaskedMorphs.begin(); - iter2 != mBakedTextureDatas[i].mMaskedMorphs.end(); iter2++) + for (LLMaskedMorph* masked_morph : mBakedTextureDatas[i].mMaskedMorphs) { - LLMaskedMorph* masked_morph = (*iter2); delete masked_morph; } } @@ -314,11 +305,8 @@ LLAvatarAppearance::~LLAvatarAppearance() std::for_each(mPolyMeshes.begin(), mPolyMeshes.end(), DeletePairedPointer()); mPolyMeshes.clear(); - for (avatar_joint_list_t::iterator jointIter = mMeshLOD.begin(); - jointIter != mMeshLOD.end(); - ++jointIter) + for (LLAvatarJoint* joint : mMeshLOD) { - LLAvatarJoint* joint = *jointIter; std::for_each(joint->mMeshParts.begin(), joint->mMeshParts.end(), DeletePointer()); joint->mMeshParts.clear(); } @@ -472,10 +460,9 @@ void LLAvatarAppearance::compareJointStateMaps(joint_state_map_t& last_state, if (!last_state.empty() && (last_state != curr_state)) { S32 diff_count = 0; - joint_state_map_t::iterator it; - for (it=last_state.begin(); it != last_state.end(); ++it) + for (joint_state_map_t::value_type& pair : last_state) { - const std::string& key = it->first; + const std::string& key = pair.first; if (last_state[key] != curr_state[key]) { LL_DEBUGS("AvatarBodySize") << "BodySize change " << key << " " << last_state[key] << "->" << curr_state[key] << LL_ENDL; @@ -685,10 +672,8 @@ BOOL LLAvatarAppearance::setupBone(const LLAvatarBoneInfo* info, LLJoint* parent // setup children - LLAvatarBoneInfo::bones_t::const_iterator iter; - for (iter = info->mChildren.begin(); iter != info->mChildren.end(); ++iter) + for (LLAvatarBoneInfo* child_info : info->mChildren) { - LLAvatarBoneInfo *child_info = *iter; if (!setupBone(child_info, joint, volume_num, joint_num)) { return FALSE; @@ -740,10 +725,8 @@ BOOL LLAvatarAppearance::buildSkeleton(const LLAvatarSkeletonInfo *info) S32 current_joint_num = 0; S32 current_volume_num = 0; - LLAvatarSkeletonInfo::bone_info_list_t::const_iterator iter; - for (iter = info->mBoneInfoList.begin(); iter != info->mBoneInfoList.end(); ++iter) + for (LLAvatarBoneInfo* bone_info : info->mBoneInfoList) { - LLAvatarBoneInfo *bone_info = *iter; if (!setupBone(bone_info, NULL, current_volume_num, current_joint_num)) { LL_ERRS() << "Error parsing bone in skeleton file" << LL_ENDL; @@ -821,14 +804,10 @@ void LLAvatarAppearance::buildCharacter() //------------------------------------------------------------------------- // clear mesh data //------------------------------------------------------------------------- - for (avatar_joint_list_t::iterator jointIter = mMeshLOD.begin(); - jointIter != mMeshLOD.end(); ++jointIter) + for (LLAvatarJoint* joint : mMeshLOD) { - LLAvatarJoint* joint = *jointIter; - for (avatar_joint_mesh_list_t::iterator meshIter = joint->mMeshParts.begin(); - meshIter != joint->mMeshParts.end(); ++meshIter) + for (LLAvatarJointMesh* mesh : joint->mMeshParts) { - LLAvatarJointMesh * mesh = *meshIter; mesh->setMesh(NULL); } } @@ -1002,12 +981,8 @@ BOOL LLAvatarAppearance::loadAvatar() } // avatar_lad.xml : <morph_masks> - for (LLAvatarXmlInfo::morph_info_list_t::iterator iter = sAvatarXmlInfo->mMorphMaskInfoList.begin(); - iter != sAvatarXmlInfo->mMorphMaskInfoList.end(); - ++iter) + for (LLAvatarXmlInfo::LLAvatarMorphInfo* info : sAvatarXmlInfo->mMorphMaskInfoList) { - LLAvatarXmlInfo::LLAvatarMorphInfo *info = *iter; - EBakedTextureIndex baked = sAvatarDictionary->findBakedByRegionName(info->mRegion); if (baked != BAKED_NUM_INDICES) { @@ -1026,11 +1001,8 @@ BOOL LLAvatarAppearance::loadAvatar() loadLayersets(); // avatar_lad.xml : <driver_parameters> - for (LLAvatarXmlInfo::driver_info_list_t::iterator iter = sAvatarXmlInfo->mDriverInfoList.begin(); - iter != sAvatarXmlInfo->mDriverInfoList.end(); - ++iter) + for (LLDriverParamInfo* info : sAvatarXmlInfo->mDriverInfoList) { - LLDriverParamInfo *info = *iter; LLDriverParam* driver_param = new LLDriverParam( this ); if (driver_param->setInfo(info)) { @@ -1062,11 +1034,8 @@ BOOL LLAvatarAppearance::loadSkeletonNode () mRoot->addChild( mSkeleton[0] ); // make meshes children before calling parent version of the function - for (avatar_joint_list_t::iterator iter = mMeshLOD.begin(); - iter != mMeshLOD.end(); - ++iter) + for (LLAvatarJoint* joint : mMeshLOD) { - LLAvatarJoint *joint = *iter; joint->mUpdateXform = FALSE; joint->setMeshesToChildren(); } @@ -1099,11 +1068,9 @@ BOOL LLAvatarAppearance::loadSkeletonNode () // SKELETAL DISTORTIONS { LLAvatarXmlInfo::skeletal_distortion_info_list_t::iterator iter; - for (iter = sAvatarXmlInfo->mSkeletalDistortionInfoList.begin(); - iter != sAvatarXmlInfo->mSkeletalDistortionInfoList.end(); - ++iter) + for (LLViewerVisualParamInfo* visual_param_info : sAvatarXmlInfo->mSkeletalDistortionInfoList) { - LLPolySkeletalDistortionInfo *info = (LLPolySkeletalDistortionInfo*)*iter; + LLPolySkeletalDistortionInfo *info = (LLPolySkeletalDistortionInfo*)visual_param_info; LLPolySkeletalDistortion *param = new LLPolySkeletalDistortion(this); if (!param->setInfo(info)) { @@ -1127,11 +1094,8 @@ BOOL LLAvatarAppearance::loadSkeletonNode () //----------------------------------------------------------------------------- BOOL LLAvatarAppearance::loadMeshNodes() { - for (LLAvatarXmlInfo::mesh_info_list_t::const_iterator meshinfo_iter = sAvatarXmlInfo->mMeshInfoList.begin(); - meshinfo_iter != sAvatarXmlInfo->mMeshInfoList.end(); - ++meshinfo_iter) + for (const LLAvatarXmlInfo::LLAvatarMeshInfo* info : sAvatarXmlInfo->mMeshInfoList) { - const LLAvatarXmlInfo::LLAvatarMeshInfo *info = *meshinfo_iter; const std::string &type = info->mType; S32 lod = info->mLOD; @@ -1143,12 +1107,10 @@ BOOL LLAvatarAppearance::loadMeshNodes() switch(lod) case 0: mesh = &mHairMesh0; */ - for (LLAvatarAppearanceDictionary::MeshEntries::const_iterator mesh_iter = sAvatarDictionary->getMeshEntries().begin(); - mesh_iter != sAvatarDictionary->getMeshEntries().end(); - ++mesh_iter) + for (const LLAvatarAppearanceDictionary::MeshEntries::value_type& mesh_pair : sAvatarDictionary->getMeshEntries()) { - const EMeshIndex mesh_index = mesh_iter->first; - const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = mesh_iter->second; + const EMeshIndex mesh_index = mesh_pair.first; + const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = mesh_pair.second; if (type.compare(mesh_dict->mName) == 0) { mesh_id = mesh_index; @@ -1216,20 +1178,17 @@ BOOL LLAvatarAppearance::loadMeshNodes() mesh->setMesh( poly_mesh ); mesh->setLOD( info->mMinPixelArea ); - for (LLAvatarXmlInfo::LLAvatarMeshInfo::morph_info_list_t::const_iterator xmlinfo_iter = info->mPolyMorphTargetInfoList.begin(); - xmlinfo_iter != info->mPolyMorphTargetInfoList.end(); - ++xmlinfo_iter) + for (const LLAvatarXmlInfo::LLAvatarMeshInfo::morph_info_pair_t& info_pair : info->mPolyMorphTargetInfoList) { - const LLAvatarXmlInfo::LLAvatarMeshInfo::morph_info_pair_t *info_pair = &(*xmlinfo_iter); LLPolyMorphTarget *param = new LLPolyMorphTarget(mesh->getMesh()); - if (!param->setInfo((LLPolyMorphTargetInfo*)info_pair->first)) + if (!param->setInfo((LLPolyMorphTargetInfo*)info_pair.first)) { delete param; return FALSE; } else { - if (info_pair->second) + if (info_pair.second) { addSharedVisualParam(param); param->setParamLocation(isSelf() ? LOC_AV_SELF : LOC_AV_OTHER); @@ -1252,11 +1211,8 @@ BOOL LLAvatarAppearance::loadMeshNodes() BOOL LLAvatarAppearance::loadLayersets() { BOOL success = TRUE; - for (LLAvatarXmlInfo::layer_info_list_t::const_iterator layerset_iter = sAvatarXmlInfo->mLayerInfoList.begin(); - layerset_iter != sAvatarXmlInfo->mLayerInfoList.end(); - ++layerset_iter) + for (LLTexLayerSetInfo* layerset_info : sAvatarXmlInfo->mLayerInfoList) { - LLTexLayerSetInfo *layerset_info = *layerset_iter; if (isSelf()) { // Construct a layerset for each one specified in avatar_lad.xml and initialize it as such. @@ -1272,14 +1228,12 @@ BOOL LLAvatarAppearance::loadLayersets() // scan baked textures and associate the layerset with the appropriate one EBakedTextureIndex baked_index = BAKED_NUM_INDICES; - for (LLAvatarAppearanceDictionary::BakedTextures::const_iterator baked_iter = sAvatarDictionary->getBakedTextures().begin(); - baked_iter != sAvatarDictionary->getBakedTextures().end(); - ++baked_iter) + for (const LLAvatarAppearanceDictionary::BakedTextures::value_type& baked_pair : sAvatarDictionary->getBakedTextures()) { - const LLAvatarAppearanceDictionary::BakedEntry *baked_dict = baked_iter->second; + const LLAvatarAppearanceDictionary::BakedEntry *baked_dict = baked_pair.second; if (layer_set->isBodyRegion(baked_dict->mName)) { - baked_index = baked_iter->first; + baked_index = baked_pair.first; // ensure both structures are aware of each other mBakedTextureDatas[baked_index].mTexLayerSet = layer_set; layer_set->setBakedTexIndex(baked_index); @@ -1295,11 +1249,8 @@ BOOL LLAvatarAppearance::loadLayersets() } // scan morph masks and let any affected layers know they have an associated morph - for (LLAvatarAppearance::morph_list_t::const_iterator morph_iter = mBakedTextureDatas[baked_index].mMaskedMorphs.begin(); - morph_iter != mBakedTextureDatas[baked_index].mMaskedMorphs.end(); - ++morph_iter) + for (LLMaskedMorph* morph : mBakedTextureDatas[baked_index].mMaskedMorphs) { - LLMaskedMorph *morph = *morph_iter; LLTexLayerInterface* layer = layer_set->findLayerByName(morph->mLayer); if (layer) { @@ -1315,7 +1266,6 @@ BOOL LLAvatarAppearance::loadLayersets() else // !isSelf() { // Construct a layerset for each one specified in avatar_lad.xml and initialize it as such. - LLTexLayerSetInfo *layerset_info = *layerset_iter; layerset_info->createVisualParams(this); } } @@ -1742,13 +1692,13 @@ void LLAvatarAppearance::makeJointAliases(LLAvatarBoneInfo *bone_info) boost::char_separator<char> sep(" "); boost::tokenizer<boost::char_separator<char> > tok(aliases, sep); - for(boost::tokenizer<boost::char_separator<char> >::iterator i = tok.begin(); i != tok.end(); ++i) + for(const std::string& i : tok) { - if ( mJointAliasMap.find(*i) != mJointAliasMap.end() ) + if ( mJointAliasMap.find(i) != mJointAliasMap.end() ) { - LL_WARNS() << "avatar skeleton: Joint alias \"" << *i << "\" remapped from " << mJointAliasMap[*i] << " to " << bone_name << LL_ENDL; + LL_WARNS() << "avatar skeleton: Joint alias \"" << i << "\" remapped from " << mJointAliasMap[i] << " to " << bone_name << LL_ENDL; } - mJointAliasMap[*i] = bone_name; + mJointAliasMap[i] = bone_name; } for (LLAvatarBoneInfo* bone : bone_info->mChildren) @@ -1763,21 +1713,14 @@ const LLAvatarAppearance::joint_alias_map_t& LLAvatarAppearance::getJointAliases if (mJointAliasMap.empty()) { - LLAvatarSkeletonInfo::bone_info_list_t::const_iterator iter; - for (iter = sAvatarSkeletonInfo->mBoneInfoList.begin(); - iter != sAvatarSkeletonInfo->mBoneInfoList.end(); - ++iter) + for (LLAvatarBoneInfo* bone_info : sAvatarSkeletonInfo->mBoneInfoList) { //LLAvatarBoneInfo *bone_info = *iter; - makeJointAliases( *iter ); + makeJointAliases(bone_info); } - LLAvatarXmlInfo::attachment_info_list_t::iterator attach_iter; - for (attach_iter = sAvatarXmlInfo->mAttachmentInfoList.begin(); - attach_iter != sAvatarXmlInfo->mAttachmentInfoList.end(); - ++attach_iter) + for (LLAvatarXmlInfo::LLAvatarAttachmentInfo* info : sAvatarXmlInfo->mAttachmentInfoList) { - LLAvatarXmlInfo::LLAvatarAttachmentInfo *info = *attach_iter; std::string bone_name = info->mName; // Also accept the name with spaces substituted with diff --git a/indra/llappearance/llavatarappearance.h b/indra/llappearance/llavatarappearance.h index b1c70f9064..e3444efcf6 100644 --- a/indra/llappearance/llavatarappearance.h +++ b/indra/llappearance/llavatarappearance.h @@ -387,10 +387,9 @@ protected: LLAvatarMeshInfo() : mLOD(0), mMinPixelArea(.1f) {} ~LLAvatarMeshInfo() { - morph_info_list_t::iterator iter; - for (iter = mPolyMorphTargetInfoList.begin(); iter != mPolyMorphTargetInfoList.end(); iter++) + for (morph_info_list_t::value_type& pair : mPolyMorphTargetInfoList) { - delete iter->first; + delete pair.first; } mPolyMorphTargetInfoList.clear(); } diff --git a/indra/llappearance/llavatarappearancedefines.cpp b/indra/llappearance/llavatarappearancedefines.cpp index 2bcfd06c40..8759c387e8 100644 --- a/indra/llappearance/llavatarappearancedefines.cpp +++ b/indra/llappearance/llavatarappearancedefines.cpp @@ -183,18 +183,15 @@ LLAvatarAppearanceDictionary::~LLAvatarAppearanceDictionary() // map it to the baked texture. void LLAvatarAppearanceDictionary::createAssociations() { - for (BakedTextures::const_iterator iter = mBakedTextures.begin(); iter != mBakedTextures.end(); iter++) + for (BakedTextures::value_type& baked_pair : mBakedTextures) { - const EBakedTextureIndex baked_index = (iter->first); - const BakedEntry *dict = (iter->second); + const EBakedTextureIndex baked_index = baked_pair.first; + const BakedEntry *dict = baked_pair.second; // For each texture that this baked texture index affects, associate those textures // with this baked texture index. - for (texture_vec_t::const_iterator local_texture_iter = dict->mLocalTextures.begin(); - local_texture_iter != dict->mLocalTextures.end(); - local_texture_iter++) + for (const ETextureIndex local_texture_index : dict->mLocalTextures) { - const ETextureIndex local_texture_index = (ETextureIndex) *local_texture_iter; mTextures[local_texture_index]->mIsUsedByBakedTexture = true; mTextures[local_texture_index]->mBakedTextureIndex = baked_index; } diff --git a/indra/llappearance/llavatarjoint.cpp b/indra/llappearance/llavatarjoint.cpp index a1d4fe6423..9300b08b7b 100644 --- a/indra/llappearance/llavatarjoint.cpp +++ b/indra/llappearance/llavatarjoint.cpp @@ -100,10 +100,9 @@ void LLAvatarJoint::setValid( BOOL valid, BOOL recursive ) //---------------------------------------------------------------- if (recursive) { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->setValid(valid, TRUE); } } @@ -118,10 +117,9 @@ void LLAvatarJoint::setSkeletonComponents( U32 comp, BOOL recursive ) mComponents = comp; if (recursive) { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (auto child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->setSkeletonComponents(comp, recursive); } } @@ -133,10 +131,9 @@ void LLAvatarJoint::setVisible(BOOL visible, BOOL recursive) if (recursive) { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->setVisible(visible, recursive); } } @@ -144,30 +141,27 @@ void LLAvatarJoint::setVisible(BOOL visible, BOOL recursive) void LLAvatarJoint::updateFaceSizes(U32 &num_vertices, U32& num_indices, F32 pixel_area) { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->updateFaceSizes(num_vertices, num_indices, pixel_area); } } void LLAvatarJoint::updateFaceData(LLFace *face, F32 pixel_area, BOOL damp_wind, bool terse_update) { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->updateFaceData(face, pixel_area, damp_wind, terse_update); } } void LLAvatarJoint::updateJointGeometry() { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->updateJointGeometry(); } } @@ -178,10 +172,9 @@ BOOL LLAvatarJoint::updateLOD(F32 pixel_area, BOOL activate) BOOL lod_changed = FALSE; BOOL found_lod = FALSE; - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); F32 jointLOD = joint->getLOD(); if (found_lod || jointLOD == DEFAULT_AVATAR_JOINT_LOD) @@ -207,10 +200,9 @@ BOOL LLAvatarJoint::updateLOD(F32 pixel_area, BOOL activate) void LLAvatarJoint::dump() { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->dump(); } } @@ -219,10 +211,9 @@ void LLAvatarJoint::dump() void LLAvatarJoint::setMeshesToChildren() { removeAllChildren(); - for (avatar_joint_mesh_list_t::iterator iter = mMeshParts.begin(); - iter != mMeshParts.end(); iter++) + for (LLAvatarJointMesh* mesh : mMeshParts) { - addChild((*iter)); + addChild(mesh); } } //----------------------------------------------------------------------------- diff --git a/indra/llappearance/llavatarjointmesh.cpp b/indra/llappearance/llavatarjointmesh.cpp index 0a23b1fda3..ed39f78d28 100644 --- a/indra/llappearance/llavatarjointmesh.cpp +++ b/indra/llappearance/llavatarjointmesh.cpp @@ -379,10 +379,9 @@ void LLAvatarJointMesh::setupJoint(LLAvatarJoint* current_joint) } // depth-first traversal - for (LLJoint::joints_t::iterator iter = current_joint->mChildren.begin(); - iter != current_joint->mChildren.end(); ++iter) + for (LLJoint* joint : current_joint->mChildren) { - LLAvatarJoint* child_joint = (LLAvatarJoint*)(*iter); + LLAvatarJoint* child_joint = (LLAvatarJoint*)joint; setupJoint(child_joint); } } diff --git a/indra/llappearance/lldriverparam.cpp b/indra/llappearance/lldriverparam.cpp index 05d26fbe7a..f46d0324a5 100644 --- a/indra/llappearance/lldriverparam.cpp +++ b/indra/llappearance/lldriverparam.cpp @@ -102,9 +102,8 @@ void LLDriverParamInfo::toStream(std::ostream &out) LLViewerVisualParamInfo::toStream(out); out << "driver" << "\t"; out << mDrivenInfoList.size() << "\t"; - for (entry_info_list_t::iterator iter = mDrivenInfoList.begin(); iter != mDrivenInfoList.end(); iter++) + for (LLDrivenEntryInfo& driven : mDrivenInfoList) { - LLDrivenEntryInfo driven = *iter; out << driven.mDrivenID << "\t"; } @@ -121,9 +120,8 @@ void LLDriverParamInfo::toStream(std::ostream &out) if(mDriverParam && mDriverParam->getAvatarAppearance()->isSelf() && mDriverParam->getAvatarAppearance()->isValid()) { - for (entry_info_list_t::iterator iter = mDrivenInfoList.begin(); iter != mDrivenInfoList.end(); iter++) + for (LLDrivenEntryInfo& driven : mDrivenInfoList) { - LLDrivenEntryInfo driven = *iter; LLViewerVisualParam *param = (LLViewerVisualParam*)mDriverParam->getAvatarAppearance()->getVisualParam(driven.mDrivenID); if (param) @@ -232,19 +230,19 @@ void LLDriverParam::setWeight(F32 weight) //-------|----|-------|----|-------> driver // | min1 max1 max2 min2 - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - LLDrivenEntryInfo* info = driven->mInfo; + LLDrivenEntry* drivenp = &driven; + LLDrivenEntryInfo* info = drivenp->mInfo; F32 driven_weight = 0.f; - F32 driven_min = driven->mParam->getMinWeight(); - F32 driven_max = driven->mParam->getMaxWeight(); + F32 driven_min = drivenp->mParam->getMinWeight(); + F32 driven_max = drivenp->mParam->getMaxWeight(); if (mIsAnimating) { // driven param doesn't interpolate (textures, for example) - if (!driven->mParam->getAnimating()) + if (!drivenp->mParam->getAnimating()) { continue; } @@ -268,7 +266,7 @@ void LLDriverParam::setWeight(F32 weight) driven_weight = driven_min; } - setDrivenWeight(driven,driven_weight); + setDrivenWeight(drivenp,driven_weight); continue; } else @@ -292,23 +290,22 @@ void LLDriverParam::setWeight(F32 weight) driven_weight = driven_min; } - setDrivenWeight(driven,driven_weight); + setDrivenWeight(drivenp,driven_weight); continue; } } - driven_weight = getDrivenWeight(driven, mCurWeight); - setDrivenWeight(driven,driven_weight); + driven_weight = getDrivenWeight(drivenp, mCurWeight); + setDrivenWeight(drivenp,driven_weight); } } F32 LLDriverParam::getTotalDistortion() { F32 sum = 0.f; - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - sum += driven->mParam->getTotalDistortion(); + sum += driven.mParam->getTotalDistortion(); } return sum; @@ -320,10 +317,9 @@ const LLVector4a &LLDriverParam::getAvgDistortion() LLVector4a sum; sum.clear(); S32 count = 0; - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - sum.add(driven->mParam->getAvgDistortion()); + sum.add(driven.mParam->getAvgDistortion()); count++; } sum.mul( 1.f/(F32)count); @@ -335,10 +331,9 @@ const LLVector4a &LLDriverParam::getAvgDistortion() F32 LLDriverParam::getMaxDistortion() { F32 max = 0.f; - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - F32 param_max = driven->mParam->getMaxDistortion(); + F32 param_max = driven.mParam->getMaxDistortion(); if( param_max > max ) { max = param_max; @@ -353,10 +348,9 @@ LLVector4a LLDriverParam::getVertexDistortion(S32 index, LLPolyMesh *poly_mesh) { LLVector4a sum; sum.clear(); - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - sum.add(driven->mParam->getVertexDistortion( index, poly_mesh )); + sum.add(driven.mParam->getVertexDistortion(index, poly_mesh)); } return sum; } @@ -365,13 +359,12 @@ const LLVector4a* LLDriverParam::getFirstDistortion(U32 *index, LLPolyMesh **pol { mCurrentDistortionParam = NULL; const LLVector4a* v = NULL; - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - v = driven->mParam->getFirstDistortion( index, poly_mesh ); + v = driven.mParam->getFirstDistortion(index, poly_mesh); if( v ) { - mCurrentDistortionParam = driven->mParam; + mCurrentDistortionParam = driven.mParam; break; } } @@ -415,7 +408,7 @@ const LLVector4a* LLDriverParam::getNextDistortion(U32 *index, LLPolyMesh **poly for( iter++; iter != mDriven.end(); iter++ ) { driven = &(*iter); - v = driven->mParam->getFirstDistortion( index, poly_mesh ); + v = driven->mParam->getFirstDistortion(index, poly_mesh); if( v ) { mCurrentDistortionParam = driven->mParam; @@ -448,14 +441,14 @@ void LLDriverParam::setAnimationTarget( F32 target_value) { LLVisualParam::setAnimationTarget(target_value); - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - F32 driven_weight = getDrivenWeight(driven, mTargetWeight); + LLDrivenEntry* drivenp = &driven; + F32 driven_weight = getDrivenWeight(drivenp, mTargetWeight); // this isn't normally necessary, as driver params handle interpolation of their driven params // but texture params need to know to assume their final value at beginning of interpolation - driven->mParam->setAnimationTarget(driven_weight); + drivenp->mParam->setAnimationTarget(driven_weight); } } @@ -466,10 +459,9 @@ void LLDriverParam::stopAnimating() { LLVisualParam::stopAnimating(); - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - driven->mParam->setAnimating(FALSE); + driven.mParam->setAnimating(FALSE); } } @@ -477,17 +469,15 @@ void LLDriverParam::stopAnimating() BOOL LLDriverParam::linkDrivenParams(visual_param_mapper mapper, BOOL only_cross_params) { BOOL success = TRUE; - LLDriverParamInfo::entry_info_list_t::iterator iter; - for (iter = getInfo()->mDrivenInfoList.begin(); iter != getInfo()->mDrivenInfoList.end(); ++iter) + for (LLDrivenEntryInfo& driven_info : getInfo()->mDrivenInfoList) { - LLDrivenEntryInfo *driven_info = &(*iter); - S32 driven_id = driven_info->mDrivenID; + S32 driven_id = driven_info.mDrivenID; // check for already existing links. Do not overwrite. BOOL found = FALSE; - for (entry_list_t::iterator driven_iter = mDriven.begin(); driven_iter != mDriven.end() && !found; ++driven_iter) + for (auto& driven : mDriven) { - if (driven_iter->mInfo->mDrivenID == driven_id) + if (driven.mInfo->mDrivenID == driven_id) { found = TRUE; } @@ -500,7 +490,7 @@ BOOL LLDriverParam::linkDrivenParams(visual_param_mapper mapper, BOOL only_cross bool push = param && (!only_cross_params || param->getCrossWearable()); if (push) { - mDriven.push_back(LLDrivenEntry( param, driven_info )); + mDriven.push_back(LLDrivenEntry( param, &driven_info )); } else { @@ -523,10 +513,9 @@ void LLDriverParam::updateCrossDrivenParams(LLWearableType::EType driven_type) bool needs_update = (getWearableType()==driven_type); // if the driver has a driven entry for the passed-in wearable type, we need to refresh the value - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - if (driven && driven->mParam && driven->mParam->getCrossWearable() && driven->mParam->getWearableType() == driven_type) + if (driven.mParam && driven.mParam->getCrossWearable() && driven.mParam->getWearableType() == driven_type) { needs_update = true; } diff --git a/indra/llappearance/lllocaltextureobject.cpp b/indra/llappearance/lllocaltextureobject.cpp index 3f564ec3de..ac8a1abb2d 100644 --- a/indra/llappearance/lllocaltextureobject.cpp +++ b/indra/llappearance/lllocaltextureobject.cpp @@ -95,9 +95,8 @@ LLTexLayer* LLLocalTextureObject::getTexLayer(U32 index) const LLTexLayer* LLLocalTextureObject::getTexLayer(const std::string &name) { - for( tex_layer_vec_t::iterator iter = mTexLayers.begin(); iter != mTexLayers.end(); iter++) + for(LLTexLayer* layer : mTexLayers) { - LLTexLayer *layer = *iter; if (layer->getName().compare(name) == 0) { return layer; diff --git a/indra/llappearance/llpolymesh.cpp b/indra/llappearance/llpolymesh.cpp index 3892e4ce43..dab14851c8 100644 --- a/indra/llappearance/llpolymesh.cpp +++ b/indra/llappearance/llpolymesh.cpp @@ -890,11 +890,10 @@ void LLPolyMesh::dumpDiagInfo() LL_INFOS() << "-----------------------------------------------------" << LL_ENDL; // print each loaded mesh, and it's memory usage - for(LLPolyMeshSharedDataTable::iterator iter = sGlobalSharedMeshList.begin(); - iter != sGlobalSharedMeshList.end(); ++iter) + for(const LLPolyMeshSharedDataTable::value_type& mesh_pair : sGlobalSharedMeshList) { - const std::string& mesh_name = iter->first; - LLPolyMeshSharedData* mesh = iter->second; + const std::string& mesh_name = mesh_pair.first; + LLPolyMeshSharedData* mesh = mesh_pair.second; S32 num_verts = mesh->mNumVertices; S32 num_faces = mesh->mNumFaces; @@ -997,14 +996,12 @@ LLPolyMorphData* LLPolyMesh::getMorphData(const std::string& morph_name) { if (!mSharedData) return NULL; - for (LLPolyMeshSharedData::morphdata_list_t::iterator iter = mSharedData->mMorphData.begin(); - iter != mSharedData->mMorphData.end(); ++iter) + for (LLPolyMorphData* morph_data : mSharedData->mMorphData) { - LLPolyMorphData *morph_data = *iter; - if (morph_data->getName() == morph_name) - { - return morph_data; - } + if (morph_data->getName() == morph_name) + { + return morph_data; + } } return NULL; } diff --git a/indra/llappearance/llpolymorph.cpp b/indra/llappearance/llpolymorph.cpp index 84dd6156a9..ca3ecda8c3 100644 --- a/indra/llappearance/llpolymorph.cpp +++ b/indra/llappearance/llpolymorph.cpp @@ -364,17 +364,16 @@ BOOL LLPolyMorphTarget::setInfo(LLPolyMorphTargetInfo* info) LLAvatarAppearance* avatarp = mMesh->getAvatar(); LLPolyMorphTargetInfo::volume_info_list_t::iterator iter; - for (iter = getInfo()->mVolumeInfoList.begin(); iter != getInfo()->mVolumeInfoList.end(); iter++) + for (LLPolyVolumeMorphInfo& volume_info : getInfo()->mVolumeInfoList) { - LLPolyVolumeMorphInfo *volume_info = &(*iter); for (S32 i = 0; i < avatarp->mNumCollisionVolumes; i++) { - if (avatarp->mCollisionVolumes[i].getName() == volume_info->mName) + if (avatarp->mCollisionVolumes[i].getName() == volume_info.mName) { mVolumeMorphs.push_back( LLPolyVolumeMorph(&avatarp->mCollisionVolumes[i], - volume_info->mScale, - volume_info->mPos)); + volume_info.mScale, + volume_info.mPos)); break; } } @@ -641,15 +640,14 @@ void LLPolyMorphTarget::apply( ESex avatar_sex ) } // now apply volume changes - for( volume_list_t::iterator iter = mVolumeMorphs.begin(); iter != mVolumeMorphs.end(); iter++ ) + for(LLPolyVolumeMorph& volume_morph : mVolumeMorphs) { - LLPolyVolumeMorph* volume_morph = &(*iter); - LLVector3 scale_delta = volume_morph->mScale * delta_weight; - LLVector3 pos_delta = volume_morph->mPos * delta_weight; + LLVector3 scale_delta = volume_morph.mScale * delta_weight; + LLVector3 pos_delta = volume_morph.mPos * delta_weight; - volume_morph->mVolume->setScale(volume_morph->mVolume->getScale() + scale_delta); + volume_morph.mVolume->setScale(volume_morph.mVolume->getScale() + scale_delta); // SL-315 - volume_morph->mVolume->setPosition(volume_morph->mVolume->getPosition() + pos_delta); + volume_morph.mVolume->setPosition(volume_morph.mVolume->getPosition() + pos_delta); } } @@ -735,15 +733,14 @@ void LLPolyMorphTarget::applyMask(U8 *maskTextureData, S32 width, S32 height, S3 void LLPolyMorphTarget::applyVolumeChanges(F32 delta_weight) { // now apply volume changes - for( volume_list_t::iterator iter = mVolumeMorphs.begin(); iter != mVolumeMorphs.end(); iter++ ) + for(LLPolyVolumeMorph& volume_morph : mVolumeMorphs) { - LLPolyVolumeMorph* volume_morph = &(*iter); - LLVector3 scale_delta = volume_morph->mScale * delta_weight; - LLVector3 pos_delta = volume_morph->mPos * delta_weight; + LLVector3 scale_delta = volume_morph.mScale * delta_weight; + LLVector3 pos_delta = volume_morph.mPos * delta_weight; - volume_morph->mVolume->setScale(volume_morph->mVolume->getScale() + scale_delta); + volume_morph.mVolume->setScale(volume_morph.mVolume->getScale() + scale_delta); // SL-315 - volume_morph->mVolume->setPosition(volume_morph->mVolume->getPosition() + pos_delta); + volume_morph.mVolume->setPosition(volume_morph.mVolume->getPosition() + pos_delta); } } diff --git a/indra/llappearance/llpolyskeletaldistortion.cpp b/indra/llappearance/llpolyskeletaldistortion.cpp index 360f17508f..8712cdd286 100644 --- a/indra/llappearance/llpolyskeletaldistortion.cpp +++ b/indra/llappearance/llpolyskeletaldistortion.cpp @@ -144,37 +144,35 @@ BOOL LLPolySkeletalDistortion::setInfo(LLPolySkeletalDistortionInfo *info) setWeight(getDefaultWeight()); LLPolySkeletalDistortionInfo::bone_info_list_t::iterator iter; - for (iter = getInfo()->mBoneInfoList.begin(); iter != getInfo()->mBoneInfoList.end(); iter++) + for (LLPolySkeletalBoneInfo& bone_info : getInfo()->mBoneInfoList) { - LLPolySkeletalBoneInfo *bone_info = &(*iter); - LLJoint* joint = mAvatar->getJoint(bone_info->mBoneName); + LLJoint* joint = mAvatar->getJoint(bone_info.mBoneName); if (!joint) { // There's no point continuing after this error - means // that either the skeleton or lad file is broken. - LL_WARNS() << "Joint " << bone_info->mBoneName << " not found." << LL_ENDL; + LL_WARNS() << "Joint " << bone_info.mBoneName << " not found." << LL_ENDL; return FALSE; } // store it - mJointScales[joint] = bone_info->mScaleDeformation; + mJointScales[joint] = bone_info.mScaleDeformation; // apply to children that need to inherit it - for (LLJoint::joints_t::iterator iter = joint->mChildren.begin(); - iter != joint->mChildren.end(); ++iter) + for (LLJoint* joint : joint->mChildren) { - LLAvatarJoint* child_joint = (LLAvatarJoint*)(*iter); + LLAvatarJoint* child_joint = (LLAvatarJoint*)joint; if (child_joint->inheritScale()) { LLVector3 childDeformation = LLVector3(child_joint->getScale()); - childDeformation.scaleVec(bone_info->mScaleDeformation); + childDeformation.scaleVec(bone_info.mScaleDeformation); mJointScales[child_joint] = childDeformation; } } - if (bone_info->mHasPositionDeformation) + if (bone_info.mHasPositionDeformation) { - mJointOffsets[joint] = bone_info->mPositionDeformation; + mJointOffsets[joint] = bone_info.mPositionDeformation; } } return TRUE; @@ -195,15 +193,12 @@ void LLPolySkeletalDistortion::apply( ESex avatar_sex ) F32 effective_weight = ( getSex() & avatar_sex ) ? mCurWeight : getDefaultWeight(); LLJoint* joint; - joint_vec_map_t::iterator iter; - for (iter = mJointScales.begin(); - iter != mJointScales.end(); - iter++) + for (joint_vec_map_t::value_type& scale_pair : mJointScales) { - joint = iter->first; + joint = scale_pair.first; LLVector3 newScale = joint->getScale(); - LLVector3 scaleDelta = iter->second; + LLVector3 scaleDelta = scale_pair.second; LLVector3 offset = (effective_weight - mLastWeight) * scaleDelta; newScale = newScale + offset; //An aspect of attached mesh objects (which contain joint offsets) that need to be cleaned up when detached @@ -218,13 +213,11 @@ void LLPolySkeletalDistortion::apply( ESex avatar_sex ) joint->setScale(newScale, true); } - for (iter = mJointOffsets.begin(); - iter != mJointOffsets.end(); - iter++) + for (joint_vec_map_t::value_type& offset_pair : mJointOffsets) { - joint = iter->first; + joint = offset_pair.first; LLVector3 newPosition = joint->getPosition(); - LLVector3 positionDelta = iter->second; + LLVector3 positionDelta = offset_pair.second; newPosition = newPosition + (effective_weight * positionDelta) - (mLastWeight * positionDelta); // SL-315 bool allow_attachment_pos_overrides = true; diff --git a/indra/llappearance/lltexglobalcolor.cpp b/indra/llappearance/lltexglobalcolor.cpp index 3df2254b14..75815482c9 100644 --- a/indra/llappearance/lltexglobalcolor.cpp +++ b/indra/llappearance/lltexglobalcolor.cpp @@ -55,12 +55,10 @@ BOOL LLTexGlobalColor::setInfo(LLTexGlobalColorInfo *info) //mID = info->mID; // No ID mParamGlobalColorList.reserve(mInfo->mParamColorInfoList.size()); - for (param_color_info_list_t::iterator iter = mInfo->mParamColorInfoList.begin(); - iter != mInfo->mParamColorInfoList.end(); - iter++) + for (LLTexLayerParamColorInfo* color_info : mInfo->mParamColorInfoList) { LLTexParamGlobalColor* param_color = new LLTexParamGlobalColor(this); - if (!param_color->setInfo(*iter, TRUE)) + if (!param_color->setInfo(color_info, TRUE)) { mInfo = NULL; return FALSE; diff --git a/indra/llappearance/lltexlayer.cpp b/indra/llappearance/lltexlayer.cpp index 3430a25536..6f23b2e04c 100644 --- a/indra/llappearance/lltexlayer.cpp +++ b/indra/llappearance/lltexlayer.cpp @@ -241,11 +241,8 @@ BOOL LLTexLayerSetInfo::parseXml(LLXmlTreeNode* node) void LLTexLayerSetInfo::createVisualParams(LLAvatarAppearance *appearance) { //layer_info_list_t mLayerInfoList; - for (layer_info_list_t::iterator layer_iter = mLayerInfoList.begin(); - layer_iter != mLayerInfoList.end(); - layer_iter++) + for (LLTexLayerInfo* layer_info : mLayerInfoList) { - LLTexLayerInfo *layer_info = *layer_iter; layer_info->createVisualParams(appearance); } } @@ -287,12 +284,10 @@ BOOL LLTexLayerSet::setInfo(const LLTexLayerSetInfo *info) //mID = info->mID; // No ID mLayerList.reserve(info->mLayerInfoList.size()); - for (LLTexLayerSetInfo::layer_info_list_t::const_iterator iter = info->mLayerInfoList.begin(); - iter != info->mLayerInfoList.end(); - iter++) + for (LLTexLayerInfo* layer_info : info->mLayerInfoList) { LLTexLayerInterface *layer = NULL; - if ( (*iter)->isUserSettable() ) + if (layer_info->isUserSettable()) { layer = new LLTexLayerTemplate( this, getAvatarAppearance() ); } @@ -301,7 +296,7 @@ BOOL LLTexLayerSet::setInfo(const LLTexLayerSetInfo *info) layer = new LLTexLayer(this); } // this is the first time this layer (of either type) is being created - make sure you add the parameters to the avatar appearance - if (!layer->setInfo(*iter, NULL)) + if (!layer->setInfo(layer_info, NULL)) { mInfo = NULL; return FALSE; @@ -348,14 +343,12 @@ BOOL LLTexLayerSet::parseData(LLXmlTreeNode* node) void LLTexLayerSet::deleteCaches() { - for( layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mLayerList) { - LLTexLayerInterface* layer = *iter; layer->deleteCaches(); } - for (layer_list_t::iterator iter = mMaskLayerList.begin(); iter != mMaskLayerList.end(); iter++) + for (LLTexLayerInterface* layer : mMaskLayerList) { - LLTexLayerInterface* layer = *iter; layer->deleteCaches(); } } @@ -368,9 +361,8 @@ BOOL LLTexLayerSet::render( S32 x, S32 y, S32 width, S32 height, LLRenderTarget* if (mMaskLayerList.size() > 0) { - for (layer_list_t::iterator iter = mMaskLayerList.begin(); iter != mMaskLayerList.end(); iter++) + for (LLTexLayerInterface* layer : mMaskLayerList) { - LLTexLayerInterface* layer = *iter; if (layer->isInvisibleAlphaMask()) { mIsVisible = FALSE; @@ -399,9 +391,8 @@ BOOL LLTexLayerSet::render( S32 x, S32 y, S32 width, S32 height, LLRenderTarget* if (mIsVisible) { // composite color layers - for( layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mLayerList) { - LLTexLayerInterface* layer = *iter; if (layer->getRenderPass() == LLTexLayer::RP_COLOR) { gGL.flush(); @@ -473,9 +464,8 @@ void LLTexLayerSet::gatherMorphMaskAlpha(U8 *data, S32 origin_x, S32 origin_y, S LL_PROFILE_ZONE_SCOPED; memset(data, 255, width * height); - for( layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mLayerList) { - LLTexLayerInterface* layer = *iter; layer->gatherAlphaMasks(data, origin_x, origin_y, width, height, bound_target); } @@ -526,9 +516,8 @@ void LLTexLayerSet::renderAlphaMaskTextures(S32 x, S32 y, S32 width, S32 height, if (mMaskLayerList.size() > 0) { gGL.setSceneBlendType(LLRender::BT_MULT_ALPHA); - for (layer_list_t::iterator iter = mMaskLayerList.begin(); iter != mMaskLayerList.end(); iter++) + for (LLTexLayerInterface* layer : mMaskLayerList) { - LLTexLayerInterface* layer = *iter; gGL.flush(); layer->blendAlphaTexture(x,y,width, height); gGL.flush(); @@ -549,9 +538,8 @@ void LLTexLayerSet::applyMorphMask(U8* tex_data, S32 width, S32 height, S32 num_ BOOL LLTexLayerSet::isMorphValid() const { - for(layer_list_t::const_iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(const LLTexLayerInterface* layer : mLayerList) { - const LLTexLayerInterface* layer = *iter; if (layer && !layer->isMorphValid()) { return FALSE; @@ -562,9 +550,8 @@ BOOL LLTexLayerSet::isMorphValid() const void LLTexLayerSet::invalidateMorphMasks() { - for( layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mLayerList) { - LLTexLayerInterface* layer = *iter; if (layer) { layer->invalidateMorphMasks(); @@ -661,14 +648,12 @@ BOOL LLTexLayerInfo::parseXml(LLXmlTreeNode* node) /* if ("upper_shirt" == local_texture_name) mLocalTexture = TEX_UPPER_SHIRT; */ mLocalTexture = TEX_NUM_INDICES; - for (LLAvatarAppearanceDictionary::Textures::const_iterator iter = LLAvatarAppearance::getDictionary()->getTextures().begin(); - iter != LLAvatarAppearance::getDictionary()->getTextures().end(); - iter++) + for (const LLAvatarAppearanceDictionary::Textures::value_type& dict_pair : LLAvatarAppearance::getDictionary()->getTextures()) { - const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = iter->second; + const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = dict_pair.second; if (local_texture_name == texture_dict->mName) { - mLocalTexture = iter->first; + mLocalTexture = dict_pair.first; break; } } @@ -735,11 +720,8 @@ BOOL LLTexLayerInfo::parseXml(LLXmlTreeNode* node) BOOL LLTexLayerInfo::createVisualParams(LLAvatarAppearance *appearance) { BOOL success = TRUE; - for (param_color_info_list_t::iterator color_info_iter = mParamColorInfoList.begin(); - color_info_iter != mParamColorInfoList.end(); - color_info_iter++) + for (LLTexLayerParamColorInfo* color_info : mParamColorInfoList) { - LLTexLayerParamColorInfo * color_info = *color_info_iter; LLTexLayerParamColor* param_color = new LLTexLayerParamColor(appearance); if (!param_color->setInfo(color_info, TRUE)) { @@ -749,11 +731,8 @@ BOOL LLTexLayerInfo::createVisualParams(LLAvatarAppearance *appearance) } } - for (param_alpha_info_list_t::iterator alpha_info_iter = mParamAlphaInfoList.begin(); - alpha_info_iter != mParamAlphaInfoList.end(); - alpha_info_iter++) + for (LLTexLayerParamAlphaInfo* alpha_info : mParamAlphaInfoList) { - LLTexLayerParamAlphaInfo * alpha_info = *alpha_info_iter; LLTexLayerParamAlpha* param_alpha = new LLTexLayerParamAlpha(appearance); if (!param_alpha->setInfo(alpha_info, TRUE)) { @@ -796,15 +775,13 @@ BOOL LLTexLayerInterface::setInfo(const LLTexLayerInfo *info, LLWearable* wearab //mID = info->mID; // No ID mParamColorList.reserve(mInfo->mParamColorInfoList.size()); - for (param_color_info_list_t::const_iterator iter = mInfo->mParamColorInfoList.begin(); - iter != mInfo->mParamColorInfoList.end(); - iter++) + for (LLTexLayerParamColorInfo* color_info : mInfo->mParamColorInfoList) { LLTexLayerParamColor* param_color; if (!wearable) { param_color = new LLTexLayerParamColor(this); - if (!param_color->setInfo(*iter, TRUE)) + if (!param_color->setInfo(color_info, TRUE)) { mInfo = NULL; return FALSE; @@ -812,7 +789,7 @@ BOOL LLTexLayerInterface::setInfo(const LLTexLayerInfo *info, LLWearable* wearab } else { - param_color = (LLTexLayerParamColor*)wearable->getVisualParam((*iter)->getID()); + param_color = (LLTexLayerParamColor*)wearable->getVisualParam(color_info->getID()); if (!param_color) { mInfo = NULL; @@ -823,15 +800,13 @@ BOOL LLTexLayerInterface::setInfo(const LLTexLayerInfo *info, LLWearable* wearab } mParamAlphaList.reserve(mInfo->mParamAlphaInfoList.size()); - for (param_alpha_info_list_t::const_iterator iter = mInfo->mParamAlphaInfoList.begin(); - iter != mInfo->mParamAlphaInfoList.end(); - iter++) + for (LLTexLayerParamAlphaInfo* alpha_info : mInfo->mParamAlphaInfoList) { LLTexLayerParamAlpha* param_alpha; if (!wearable) { param_alpha = new LLTexLayerParamAlpha( this ); - if (!param_alpha->setInfo(*iter, TRUE)) + if (!param_alpha->setInfo(alpha_info, TRUE)) { mInfo = NULL; return FALSE; @@ -839,7 +814,7 @@ BOOL LLTexLayerInterface::setInfo(const LLTexLayerInfo *info, LLWearable* wearab } else { - param_alpha = (LLTexLayerParamAlpha*) wearable->getVisualParam((*iter)->getID()); + param_alpha = (LLTexLayerParamAlpha*) wearable->getVisualParam(alpha_info->getID()); if (!param_alpha) { mInfo = NULL; @@ -873,12 +848,9 @@ LLWearableType::EType LLTexLayerInterface::getWearableType() const if (TEX_INVALID == te) { LLWearableType::EType type = LLWearableType::WT_INVALID; - param_color_list_t::const_iterator color_iter = mParamColorList.begin(); - param_alpha_list_t::const_iterator alpha_iter = mParamAlphaList.begin(); - for (; color_iter != mParamColorList.end(); color_iter++) + for (LLTexLayerParamColor* param : mParamColorList) { - LLTexLayerParamColor* param = *color_iter; if (param) { LLWearableType::EType new_type = (LLWearableType::EType)param->getWearableType(); @@ -893,9 +865,8 @@ LLWearableType::EType LLTexLayerInterface::getWearableType() const } } - for (; alpha_iter != mParamAlphaList.end(); alpha_iter++) + for (LLTexLayerParamAlpha* param : mParamAlphaList) { - LLTexLayerParamAlpha* param = *alpha_iter; if (param) { LLWearableType::EType new_type = (LLWearableType::EType)param->getWearableType(); @@ -938,18 +909,18 @@ void LLTexLayerInterface::invalidateMorphMasks() LLViewerVisualParam* LLTexLayerInterface::getVisualParamPtr(S32 index) const { LLViewerVisualParam *result = NULL; - for (param_color_list_t::const_iterator color_iter = mParamColorList.begin(); color_iter != mParamColorList.end() && !result; ++color_iter) + for (LLTexLayerParamColor* param : mParamColorList) { - if ((*color_iter)->getID() == index) + if (param->getID() == index) { - result = *color_iter; + result = param; } } - for (param_alpha_list_t::const_iterator alpha_iter = mParamAlphaList.begin(); alpha_iter != mParamAlphaList.end() && !result; ++alpha_iter) + for (LLTexLayerParamAlpha* param : mParamAlphaList) { - if ((*alpha_iter)->getID() == index) + if (param->getID() == index) { - result = *alpha_iter; + result = param; } } @@ -994,10 +965,9 @@ LLTexLayer::~LLTexLayer() //std::for_each(mParamAlphaList.begin(), mParamAlphaList.end(), DeletePointer()); //std::for_each(mParamColorList.begin(), mParamColorList.end(), DeletePointer()); - for( alpha_cache_t::iterator iter = mAlphaCache.begin(); - iter != mAlphaCache.end(); iter++ ) + for (alpha_cache_t::value_type& alpha_pair : mAlphaCache) { - U8* alpha_data = iter->second; + U8* alpha_data = alpha_pair.second; ll_aligned_free_32(alpha_data); } @@ -1021,10 +991,8 @@ BOOL LLTexLayer::setInfo(const LLTexLayerInfo* info, LLWearable* wearable ) //static void LLTexLayer::calculateTexLayerColor(const param_color_list_t ¶m_list, LLColor4 &net_color) { - for (param_color_list_t::const_iterator iter = param_list.begin(); - iter != param_list.end(); iter++) + for (const LLTexLayerParamColor* param : param_list) { - const LLTexLayerParamColor* param = *iter; LLColor4 param_net = param->getNetColor(); const LLTexLayerParamColorInfo *info = (LLTexLayerParamColorInfo *)param->getInfo(); switch(info->getOperation()) @@ -1049,10 +1017,8 @@ void LLTexLayer::calculateTexLayerColor(const param_color_list_t ¶m_list, LL /*virtual*/ void LLTexLayer::deleteCaches() { // Only need to delete caches for alpha params. Color params don't hold extra memory - for (param_alpha_list_t::iterator iter = mParamAlphaList.begin(); - iter != mParamAlphaList.end(); iter++ ) + for (LLTexLayerParamAlpha* param : mParamAlphaList) { - LLTexLayerParamAlpha* param = *iter; param->deleteCaches(); } } @@ -1226,9 +1192,8 @@ const U8* LLTexLayer::getAlphaData() const const LLUUID& uuid = getUUID(); alpha_mask_crc.update((U8*)(&uuid.mData), UUID_BYTES); - for (param_alpha_list_t::const_iterator iter = mParamAlphaList.begin(); iter != mParamAlphaList.end(); iter++) + for (const LLTexLayerParamAlpha* param : mParamAlphaList) { - const LLTexLayerParamAlpha* param = *iter; // MULTI-WEARABLE: verify visual parameters used here F32 param_weight = param->getWeight(); alpha_mask_crc.update((U8*)¶m_weight, sizeof(F32)); @@ -1365,9 +1330,8 @@ void LLTexLayer::renderMorphMasks(S32 x, S32 y, S32 width, S32 height, const LLC // Accumulate alphas LLGLSNoAlphaTest gls_no_alpha_test; gGL.color4f( 1.f, 1.f, 1.f, 1.f ); - for (param_alpha_list_t::iterator iter = mParamAlphaList.begin(); iter != mParamAlphaList.end(); iter++) + for (LLTexLayerParamAlpha* param : mParamAlphaList) { - LLTexLayerParamAlpha* param = *iter; success &= param->render( x, y, width, height ); if (!success && !force_render) { @@ -1441,9 +1405,8 @@ void LLTexLayer::renderMorphMasks(S32 x, S32 y, S32 width, S32 height, const LLC const LLUUID& uuid = getUUID(); alpha_mask_crc.update((U8*)(&uuid.mData), UUID_BYTES); - for (param_alpha_list_t::const_iterator iter = mParamAlphaList.begin(); iter != mParamAlphaList.end(); iter++) + for (const LLTexLayerParamAlpha* param : mParamAlphaList) { - const LLTexLayerParamAlpha* param = *iter; F32 param_weight = param->getWeight(); alpha_mask_crc.update((U8*)¶m_weight, sizeof(F32)); } @@ -1683,12 +1646,10 @@ LLTexLayer* LLTexLayerTemplate::getLayer(U32 i) const BOOL success = TRUE; updateWearableCache(); - for (wearable_cache_t::const_iterator iter = mWearableCache.begin(); iter!= mWearableCache.end(); iter++) + for (LLWearable* wearable : mWearableCache) { - LLWearable* wearable = NULL; LLLocalTextureObject *lto = NULL; LLTexLayer *layer = NULL; - wearable = *iter; if (wearable) { lto = wearable->getLocalTextureObject(mInfo->mLocalTexture); @@ -1785,17 +1746,15 @@ LLTexLayer* LLTexLayerTemplate::getLayer(U32 i) const //----------------------------------------------------------------------------- LLTexLayerInterface* LLTexLayerSet::findLayerByName(const std::string& name) { - for (layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for (LLTexLayerInterface* layer : mLayerList) { - LLTexLayerInterface* layer = *iter; if (layer->getName() == name) { return layer; } } - for (layer_list_t::iterator iter = mMaskLayerList.begin(); iter != mMaskLayerList.end(); iter++ ) + for (LLTexLayerInterface* layer : mMaskLayerList) { - LLTexLayerInterface* layer = *iter; if (layer->getName() == name) { return layer; @@ -1807,20 +1766,20 @@ LLTexLayerInterface* LLTexLayerSet::findLayerByName(const std::string& name) void LLTexLayerSet::cloneTemplates(LLLocalTextureObject *lto, LLAvatarAppearanceDefines::ETextureIndex tex_index, LLWearable *wearable) { // initialize all texlayers with this texture type for this LTO - for( LLTexLayerSet::layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mLayerList) { - LLTexLayerTemplate* layer = (LLTexLayerTemplate*)*iter; - if (layer->getInfo()->getLocalTexture() == (S32) tex_index) + LLTexLayerTemplate* layer_template = (LLTexLayerTemplate*)layer; + if (layer_template->getInfo()->getLocalTexture() == (S32)tex_index) { - lto->addTexLayer(layer, wearable); + lto->addTexLayer(layer_template, wearable); } } - for( LLTexLayerSet::layer_list_t::iterator iter = mMaskLayerList.begin(); iter != mMaskLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mMaskLayerList) { - LLTexLayerTemplate* layer = (LLTexLayerTemplate*)*iter; - if (layer->getInfo()->getLocalTexture() == (S32) tex_index) + LLTexLayerTemplate* layer_template = (LLTexLayerTemplate*)layer; + if (layer_template->getInfo()->getLocalTexture() == (S32)tex_index) { - lto->addTexLayer(layer, wearable); + lto->addTexLayer(layer_template, wearable); } } } diff --git a/indra/llappearance/lltexlayerparams.cpp b/indra/llappearance/lltexlayerparams.cpp index ce5c7142d5..a288c8955a 100644 --- a/indra/llappearance/lltexlayerparams.cpp +++ b/indra/llappearance/lltexlayerparams.cpp @@ -103,10 +103,8 @@ void LLTexLayerParamAlpha::getCacheByteCount(S32* gl_bytes) { *gl_bytes = 0; - for (param_alpha_ptr_list_t::iterator iter = sInstances.begin(); - iter != sInstances.end(); iter++) + for (LLTexLayerParamAlpha* instance : sInstances) { - LLTexLayerParamAlpha* instance = *iter; LLGLTexture* tex = instance->mCachedProcessedTexture; if (tex) { diff --git a/indra/llappearance/llwearable.cpp b/indra/llappearance/llwearable.cpp index e4bc8ff427..10d668d0af 100644 --- a/indra/llappearance/llwearable.cpp +++ b/indra/llappearance/llwearable.cpp @@ -60,12 +60,12 @@ LLWearable::LLWearable() // virtual LLWearable::~LLWearable() { - for (visual_param_index_map_t::iterator vpIter = mVisualParamIndexMap.begin(); vpIter != mVisualParamIndexMap.end(); ++vpIter) + for (visual_param_index_map_t::value_type& vp_pair : mVisualParamIndexMap) { - LLVisualParam* vp = vpIter->second; + LLVisualParam* vp = vp_pair.second; vp->clearNextParam(); delete vp; - vpIter->second = NULL; + vp_pair.second = NULL; } destroyTextures(); @@ -122,12 +122,10 @@ BOOL LLWearable::exportStream( std::ostream& output_stream ) const // parameters output_stream << "parameters " << mVisualParamIndexMap.size() << "\n"; - for (visual_param_index_map_t::const_iterator iter = mVisualParamIndexMap.begin(); - iter != mVisualParamIndexMap.end(); - ++iter) + for (const visual_param_index_map_t::value_type& vp_pair : mVisualParamIndexMap) { - S32 param_id = iter->first; - const LLVisualParam* param = iter->second; + S32 param_id = vp_pair.first; + const LLVisualParam* param = vp_pair.second; F32 param_weight = param->getWeight(); output_stream << param_id << " " << terse_F32_to_string( param_weight ) << "\n"; } @@ -135,11 +133,11 @@ BOOL LLWearable::exportStream( std::ostream& output_stream ) const // texture entries output_stream << "textures " << mTEMap.size() << "\n"; - for (te_map_t::const_iterator iter = mTEMap.begin(); iter != mTEMap.end(); ++iter) + for (const te_map_t::value_type& te_pair : mTEMap) { - S32 te = iter->first; - const LLUUID& image_id = iter->second->getID(); - output_stream << te << " " << image_id << "\n"; + S32 te = te_pair.first; + const LLUUID& image_id = te_pair.second->getID(); + output_stream << te << " " << image_id << "\n"; } return TRUE; } @@ -160,11 +158,9 @@ void LLWearable::createVisualParams(LLAvatarAppearance *avatarp) } // resync driver parameters to point to the newly cloned driven parameters - for (visual_param_index_map_t::iterator param_iter = mVisualParamIndexMap.begin(); - param_iter != mVisualParamIndexMap.end(); - ++param_iter) + for (visual_param_index_map_t::value_type& param_pair : mVisualParamIndexMap) { - LLVisualParam* param = param_iter->second; + LLVisualParam* param = param_pair.second; LLVisualParam*(LLWearable::*wearable_function)(S32)const = &LLWearable::getVisualParam; // need this line to disambiguate between versions of LLCharacter::getVisualParam() LLVisualParam*(LLAvatarAppearance::*param_function)(S32)const = &LLAvatarAppearance::getVisualParam; @@ -523,10 +519,9 @@ std::vector<LLLocalTextureObject*> LLWearable::getLocalTextureListSeq() { std::vector<LLLocalTextureObject*> result; - for(te_map_t::const_iterator iter = mTEMap.begin(); - iter != mTEMap.end(); iter++) + for(te_map_t::value_type& te_pair : mTEMap) { - LLLocalTextureObject* lto = iter->second; + LLLocalTextureObject* lto = te_pair.second; result.push_back(lto); } @@ -547,37 +542,15 @@ void LLWearable::revertValues() // FIXME DRANO - this triggers changes to driven params on avatar, potentially clobbering baked appearance. //update saved settings so wearable is no longer dirty - // non-driver params first - for (param_map_t::const_iterator iter = mSavedVisualParamMap.begin(); iter != mSavedVisualParamMap.end(); iter++) - { - S32 id = iter->first; - F32 value = iter->second; - LLVisualParam *param = getVisualParam(id); - if(param && !dynamic_cast<LLDriverParam*>(param) ) - { - setVisualParamWeight(id, value); - } - } - - //then driver params - for (param_map_t::const_iterator iter = mSavedVisualParamMap.begin(); iter != mSavedVisualParamMap.end(); iter++) + // One loop should be necessary here + for (param_map_t::value_type& vp_pair : mSavedVisualParamMap) { - S32 id = iter->first; - F32 value = iter->second; + S32 id = vp_pair.first; LLVisualParam *param = getVisualParam(id); - if(param && dynamic_cast<LLDriverParam*>(param) ) + if(param) { + F32 value = vp_pair.second; setVisualParamWeight(id, value); - } - } - - // make sure that saved values are sane - for (param_map_t::const_iterator iter = mSavedVisualParamMap.begin(); iter != mSavedVisualParamMap.end(); iter++) - { - S32 id = iter->first; - LLVisualParam *param = getVisualParam(id); - if( param ) - { mSavedVisualParamMap[id] = param->getWeight(); } } @@ -589,10 +562,10 @@ void LLWearable::saveValues() { //update saved settings so wearable is no longer dirty mSavedVisualParamMap.clear(); - for (visual_param_index_map_t::const_iterator iter = mVisualParamIndexMap.begin(); iter != mVisualParamIndexMap.end(); ++iter) + for (const visual_param_index_map_t::value_type& vp_pair : mVisualParamIndexMap) { - S32 id = iter->first; - LLVisualParam *wearable_param = iter->second; + S32 id = vp_pair.first; + LLVisualParam *wearable_param = vp_pair.second; F32 value = wearable_param->getWeight(); mSavedVisualParamMap[id] = value; } @@ -706,23 +679,18 @@ LLVisualParam* LLWearable::getVisualParam(S32 index) const void LLWearable::getVisualParams(visual_param_vec_t &list) { - visual_param_index_map_t::iterator iter = mVisualParamIndexMap.begin(); - visual_param_index_map_t::iterator end = mVisualParamIndexMap.end(); - // add all visual params to the passed-in vector - for( ; iter != end; ++iter ) + for(visual_param_index_map_t::value_type& vp_pair : mVisualParamIndexMap) { - list.push_back(iter->second); + list.push_back(vp_pair.second); } } void LLWearable::animateParams(F32 delta) { - for(visual_param_index_map_t::iterator iter = mVisualParamIndexMap.begin(); - iter != mVisualParamIndexMap.end(); - ++iter) + for(visual_param_index_map_t::value_type& vp_pair : mVisualParamIndexMap) { - LLVisualParam *param = (LLVisualParam*) iter->second; + LLVisualParam *param = (LLVisualParam*)vp_pair.second; param->animate(delta); } } diff --git a/indra/llaudio/llaudioengine.cpp b/indra/llaudio/llaudioengine.cpp index 008e1827c5..ddc508455f 100644 --- a/indra/llaudio/llaudioengine.cpp +++ b/indra/llaudio/llaudioengine.cpp @@ -123,18 +123,16 @@ void LLAudioEngine::shutdown() cleanupWind(); // Clean up audio sources - source_map::iterator iter_src; - for (iter_src = mAllSources.begin(); iter_src != mAllSources.end(); iter_src++) + for (source_map::value_type& src_pair : mAllSources) { - delete iter_src->second; + delete src_pair.second; } // Clean up audio data - data_map::iterator iter_data; - for (iter_data = mAllData.begin(); iter_data != mAllData.end(); iter_data++) + for (data_map::value_type& data_pair : mAllData) { - delete iter_data->second; + delete data_pair.second; } @@ -310,12 +308,12 @@ void LLAudioEngine::idle() updateChannels(); // Update queued sounds (switch to next queued data if the current has finished playing) - for (iter = mAllSources.begin(); iter != mAllSources.end(); ++iter) + for (source_map::value_type& src_pair : mAllSources) { // This is lame, instead of this I could actually iterate through all the sources // attached to each channel, since only those with active channels // can have anything interesting happen with their queue? (Maybe not true) - LLAudioSource *sourcep = iter->second; + LLAudioSource *sourcep = src_pair.second; if (!sourcep->mQueuedDatap || sourcep->isMuted()) { // Muted, or nothing queued, so we don't care. @@ -395,9 +393,9 @@ void LLAudioEngine::idle() LLAudioSource *sync_masterp = NULL; LLAudioChannel *master_channelp = NULL; F32 max_sm_priority = -1.f; - for (iter = mAllSources.begin(); iter != mAllSources.end(); ++iter) + for (source_map::value_type& src_pair : mAllSources) { - LLAudioSource *sourcep = iter->second; + LLAudioSource *sourcep = src_pair.second; if (sourcep->isMuted()) { continue; @@ -417,9 +415,9 @@ void LLAudioEngine::idle() { // Synchronize loop slaves with their masters // Update queued sounds (switch to next queued data if the current has finished playing) - for (iter = mAllSources.begin(); iter != mAllSources.end(); ++iter) + for (source_map::value_type& src_pair : mAllSources) { - LLAudioSource *sourcep = iter->second; + LLAudioSource *sourcep = src_pair.second; if (!sourcep->isSyncSlave()) { @@ -1115,9 +1113,9 @@ void LLAudioEngine::startNextTransfer() } - for (data_iter = asp->mPreloadMap.begin(); data_iter != asp->mPreloadMap.end(); data_iter++) + for (data_map::value_type& preload_pair : asp->mPreloadMap) { - LLAudioData *adp = data_iter->second; + LLAudioData *adp = preload_pair.second; if (!adp) { continue; @@ -1137,9 +1135,9 @@ void LLAudioEngine::startNextTransfer() { max_pri = -1.f; source_map::iterator source_iter; - for (source_iter = mAllSources.begin(); source_iter != mAllSources.end(); source_iter++) + for (source_map::value_type& source_pair : mAllSources) { - asp = source_iter->second; + asp = source_pair.second; if (!asp) { continue; @@ -1166,9 +1164,9 @@ void LLAudioEngine::startNextTransfer() continue; } - for (data_iter = asp->mPreloadMap.begin(); data_iter != asp->mPreloadMap.end(); data_iter++) + for (data_map::value_type& preload_pair : asp->mPreloadMap) { - LLAudioData *adp = data_iter->second; + LLAudioData *adp = preload_pair.second; if (!adp) { continue; @@ -1603,10 +1601,9 @@ void LLAudioSource::addAudioData(LLAudioData *adp, const bool set_current) bool LLAudioSource::hasPendingPreloads() const { // Check to see if we've got any preloads on deck for this source - data_map::const_iterator iter; - for (iter = mPreloadMap.begin(); iter != mPreloadMap.end(); iter++) + for (const data_map::value_type& preload_pair : mPreloadMap) { - LLAudioData *adp = iter->second; + LLAudioData *adp = preload_pair.second; // note: a bad UUID will forever be !hasDecodedData() // but also hasDecodeFailed(), hence the check for hasDecodeFailed() if (!adp) diff --git a/indra/llcharacter/llanimationstates.cpp b/indra/llcharacter/llanimationstates.cpp index c16cae1bbc..2e78e30405 100644 --- a/indra/llcharacter/llanimationstates.cpp +++ b/indra/llcharacter/llanimationstates.cpp @@ -379,12 +379,11 @@ LLUUID LLAnimationLibrary::stringToAnimState( const std::string& name, BOOL allo if (true_name) { - for (anim_map_t::iterator iter = mAnimMap.begin(); - iter != mAnimMap.end(); iter++) + for (anim_map_t::value_type& anim_pair : mAnimMap) { - if (iter->second == true_name) + if (anim_pair.second == true_name) { - id = iter->first; + id = anim_pair.first; break; } } diff --git a/indra/llcharacter/llbvhloader.cpp b/indra/llcharacter/llbvhloader.cpp index c38614b0b4..47c6d6a7bb 100644 --- a/indra/llcharacter/llbvhloader.cpp +++ b/indra/llcharacter/llbvhloader.cpp @@ -156,10 +156,9 @@ LLBVHLoader::LLBVHLoader(const char* buffer, ELoadStatus &loadStatus, S32 &error } // Recognize all names we've been told are legal. - std::map<std::string, std::string>::iterator iter; - for (iter = joint_alias_map.begin(); iter != joint_alias_map.end(); iter++) + for (std::map<std::string, std::string>::value_type& alias_pair : joint_alias_map) { - makeTranslation( iter->first , iter->second ); + makeTranslation( alias_pair.first , alias_pair.second ); } char error_text[128]; /* Flawfinder: ignore */ @@ -951,9 +950,8 @@ ELoadStatus LLBVHLoader::loadBVHFile(const char *buffer, char* error_text, S32 & void LLBVHLoader::applyTranslations() { JointVector::iterator ji; - for (ji = mJoints.begin(); ji != mJoints.end(); ++ji ) + for (Joint* joint : mJoints) { - Joint *joint = *ji; //---------------------------------------------------------------- // Look for a translation for this joint. // If none, skip to next joint @@ -1067,9 +1065,8 @@ void LLBVHLoader::optimize() } JointVector::iterator ji; - for (ji = mJoints.begin(); ji != mJoints.end(); ++ji) + for (Joint* joint : mJoints) { - Joint *joint = *ji; BOOL pos_changed = FALSE; BOOL rot_changed = FALSE; @@ -1294,15 +1291,12 @@ U32 LLBVHLoader::getOutputSize() // writes contents to datapacker BOOL LLBVHLoader::serialize(LLDataPacker& dp) { - JointVector::iterator ji; - KeyVector::iterator ki; F32 time; // count number of non-ignored joints S32 numJoints = 0; - for (ji=mJoints.begin(); ji!=mJoints.end(); ++ji) + for (Joint* joint : mJoints) { - Joint *joint = *ji; if ( ! joint->mIgnore ) numJoints++; } @@ -1321,11 +1315,8 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) dp.packU32(mHand, "hand_pose"); dp.packU32(numJoints, "num_joints"); - for ( ji = mJoints.begin(); - ji != mJoints.end(); - ++ji ) + for (Joint* joint : mJoints) { - Joint *joint = *ji; // if ignored, skip it if ( joint->mIgnore ) continue; @@ -1348,17 +1339,15 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) Joint *mergeParent = NULL; Joint *mergeChild = NULL; - JointVector::iterator mji; - for (mji=mJoints.begin(); mji!=mJoints.end(); ++mji) + for (Joint* mjoint : mJoints) { - Joint *mjoint = *mji; if ( !joint->mMergeParentName.empty() && (mjoint->mName == joint->mMergeParentName) ) { - mergeParent = *mji; + mergeParent = mjoint; } if ( !joint->mMergeChildName.empty() && (mjoint->mName == joint->mMergeChildName) ) { - mergeChild = *mji; + mergeChild = mjoint; } } @@ -1367,19 +1356,17 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) LLQuaternion::Order order = bvhStringToOrder( joint->mOrder ); S32 outcount = 0; S32 frame = 0; - for ( ki = joint->mKeys.begin(); - ki != joint->mKeys.end(); - ++ki ) + for (Key& key : joint->mKeys) { if ((frame == 0) && joint->mRelativeRotationKey) { - first_frame_rot = mayaQ( ki->mRot[0], ki->mRot[1], ki->mRot[2], order); + first_frame_rot = mayaQ( key.mRot[0], key.mRot[1], key.mRot[2], order); fixup_rot.shortestArc(LLVector3::z_axis * first_frame_rot * frameRot, LLVector3::z_axis); } - if (ki->mIgnoreRot) + if (key.mIgnoreRot) { frame++; continue; @@ -1418,7 +1405,7 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) mergeChildRot.loadIdentity(); } - LLQuaternion inRot = mayaQ( ki->mRot[0], ki->mRot[1], ki->mRot[2], order); + LLQuaternion inRot = mayaQ( key.mRot[0], key.mRot[1], key.mRot[2], order); LLQuaternion outRot = frameRotInv* mergeChildRot * inRot * mergeParentRot * ~first_frame_rot * frameRot * offsetRot; @@ -1446,16 +1433,14 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) LLVector3 relKey; frame = 0; - for ( ki = joint->mKeys.begin(); - ki != joint->mKeys.end(); - ++ki ) + for (Key& key : joint->mKeys) { if ((frame == 0) && joint->mRelativePositionKey) { - relKey.setVec(ki->mPos); + relKey.setVec(key.mPos); } - if (ki->mIgnorePos) + if (key.mIgnorePos) { frame++; continue; @@ -1463,7 +1448,7 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) time = llmax((F32)(frame - NUMBER_OF_IGNORED_FRAMES_AT_START), 0.0f) * mFrameTime; // Time elapsed before this frame starts. - LLVector3 inPos = (LLVector3(ki->mPos) - relKey) * ~first_frame_rot;// * fixup_rot; + LLVector3 inPos = (LLVector3(key.mPos) - relKey) * ~first_frame_rot;// * fixup_rot; LLVector3 outPos = inPos * frameRot * offsetRot; outPos *= INCHES_TO_METERS; @@ -1496,24 +1481,22 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) S32 num_constraints = (S32)mConstraints.size(); dp.packS32(num_constraints, "num_constraints"); - for (ConstraintVector::iterator constraint_it = mConstraints.begin(); - constraint_it != mConstraints.end(); - constraint_it++) + for (Constraint& constraint : mConstraints) { - U8 byte = constraint_it->mChainLength; + U8 byte = constraint.mChainLength; dp.packU8(byte, "chain_length"); - byte = constraint_it->mConstraintType; + byte = constraint.mConstraintType; dp.packU8(byte, "constraint_type"); - dp.packBinaryDataFixed((U8*)constraint_it->mSourceJointName, 16, "source_volume"); - dp.packVector3(constraint_it->mSourceOffset, "source_offset"); - dp.packBinaryDataFixed((U8*)constraint_it->mTargetJointName, 16, "target_volume"); - dp.packVector3(constraint_it->mTargetOffset, "target_offset"); - dp.packVector3(constraint_it->mTargetDir, "target_dir"); - dp.packF32(constraint_it->mEaseInStart, "ease_in_start"); - dp.packF32(constraint_it->mEaseInStop, "ease_in_stop"); - dp.packF32(constraint_it->mEaseOutStart, "ease_out_start"); - dp.packF32(constraint_it->mEaseOutStop, "ease_out_stop"); + dp.packBinaryDataFixed((U8*)constraint.mSourceJointName, 16, "source_volume"); + dp.packVector3(constraint.mSourceOffset, "source_offset"); + dp.packBinaryDataFixed((U8*)constraint.mTargetJointName, 16, "target_volume"); + dp.packVector3(constraint.mTargetOffset, "target_offset"); + dp.packVector3(constraint.mTargetDir, "target_dir"); + dp.packF32(constraint.mEaseInStart, "ease_in_start"); + dp.packF32(constraint.mEaseInStop, "ease_in_stop"); + dp.packF32(constraint.mEaseOutStart, "ease_out_start"); + dp.packF32(constraint.mEaseOutStop, "ease_out_stop"); } diff --git a/indra/llcharacter/llcharacter.cpp b/indra/llcharacter/llcharacter.cpp index 376f096642..cf6be8daf0 100644 --- a/indra/llcharacter/llcharacter.cpp +++ b/indra/llcharacter/llcharacter.cpp @@ -246,10 +246,8 @@ void LLCharacter::dumpCharacter( LLJoint* joint ) LL_INFOS() << "DEBUG: " << joint->getName() << " (" << (joint->getParent()?joint->getParent()->getName():std::string("ROOT")) << ")" << LL_ENDL; // recurse - for (LLJoint::joints_t::iterator iter = joint->mChildren.begin(); - iter != joint->mChildren.end(); ++iter) + for (LLJoint* child_joint : joint->mChildren) { - LLJoint* child_joint = *iter; dumpCharacter(child_joint); } } diff --git a/indra/llcharacter/llcharacter.h b/indra/llcharacter/llcharacter.h index 2fac5f53a6..6d56d59e8c 100644 --- a/indra/llcharacter/llcharacter.h +++ b/indra/llcharacter/llcharacter.h @@ -218,11 +218,9 @@ public: S32 getVisualParamCountInGroup(const EVisualParamGroup group) const { S32 rtn = 0; - for (visual_param_index_map_t::const_iterator iter = mVisualParamIndexMap.begin(); - iter != mVisualParamIndexMap.end(); - /**/ ) + for (const visual_param_index_map_t::value_type& index_pair : mVisualParamIndexMap) { - if ((iter++)->second->getGroup() == group) + if (index_pair.second->getGroup() == group) { ++rtn; } @@ -237,11 +235,10 @@ public: } S32 getVisualParamID(LLVisualParam *id) { - visual_param_index_map_t::iterator iter; - for (iter = mVisualParamIndexMap.begin(); iter != mVisualParamIndexMap.end(); iter++) + for (visual_param_index_map_t::value_type& index_pair : mVisualParamIndexMap) { - if (iter->second == id) - return iter->first; + if (index_pair.second == id) + return index_pair.first; } return 0; } diff --git a/indra/llcharacter/llgesture.cpp b/indra/llcharacter/llgesture.cpp index 37904936d8..80717d8d26 100644 --- a/indra/llcharacter/llgesture.cpp +++ b/indra/llcharacter/llgesture.cpp @@ -199,15 +199,14 @@ BOOL LLGestureList::triggerAndReviseString(const std::string &string, std::strin typedef boost::tokenizer<boost::char_separator<char> > tokenizer; boost::char_separator<char> sep(" "); tokenizer tokens(string, sep); - tokenizer::iterator token_iter; - for( token_iter = tokens.begin(); token_iter != tokens.end(); ++token_iter) + for(const std::string& cur_token : tokens) { LLGesture* gesture = NULL; if( !found_gestures ) // Only pay attention to the first gesture in the string. { - std::string cur_token_lower = *token_iter; + std::string cur_token_lower = cur_token; LLStringUtil::toLower(cur_token_lower); for (U32 i = 0; i < mList.size(); i++) @@ -228,7 +227,7 @@ BOOL LLGestureList::triggerAndReviseString(const std::string &string, std::strin LLStringUtil::toLower(output_lower); if( cur_token_lower == output_lower ) { - revised_string->append(*token_iter); + revised_string->append(cur_token); } else { @@ -249,7 +248,7 @@ BOOL LLGestureList::triggerAndReviseString(const std::string &string, std::strin { revised_string->append( " " ); } - revised_string->append( *token_iter ); + revised_string->append( cur_token ); } first_token = FALSE; diff --git a/indra/llcharacter/lljoint.cpp b/indra/llcharacter/lljoint.cpp index d72282ab42..280641a1a5 100644 --- a/indra/llcharacter/lljoint.cpp +++ b/indra/llcharacter/lljoint.cpp @@ -67,11 +67,10 @@ void LLVector3OverrideMap::showJointVector3Overrides( std::ostringstream& os ) c map_type::const_iterator max_it = std::max_element(m_map.begin(), m_map.end(), attachment_map_iter_compare_key<map_type::value_type>); - for (map_type::const_iterator it = m_map.begin(); - it != m_map.end(); ++it) + for (const map_type::value_type& pos_pair : m_map) { - const LLVector3& pos = it->second; - os << " " << "[" << it->first <<": " << pos << "]" << ((it==max_it) ? "*" : ""); + const LLVector3& pos = pos_pair.second; + os << " " << "[" << pos_pair.first <<": " << pos << "]" << ((pos_pair==(*max_it)) ? "*" : ""); } } @@ -209,10 +208,8 @@ void LLJoint::touch(U32 flags) child_flags |= POSITION_DIRTY; } - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* joint : mChildren) { - LLJoint* joint = *iter; joint->touch(child_flags); } } @@ -251,10 +248,8 @@ LLJoint *LLJoint::findJoint( const std::string &name ) if (name == getName()) return this; - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* joint : mChildren) { - LLJoint* joint = *iter; LLJoint *found = joint->findJoint(name); if (found) { @@ -514,10 +509,9 @@ void LLJoint::getAllAttachmentPosOverrides(S32& num_pos_overrides, std::set<LLVector3>& distinct_pos_overrides) const { num_pos_overrides = m_attachmentPosOverrides.count(); - LLVector3OverrideMap::map_type::const_iterator it = m_attachmentPosOverrides.getMap().begin(); - for (; it != m_attachmentPosOverrides.getMap().end(); ++it) + for (const LLVector3OverrideMap::map_type::value_type& pos_override_pair : m_attachmentPosOverrides.getMap()) { - distinct_pos_overrides.insert(it->second); + distinct_pos_overrides.insert(pos_override_pair.second); } } @@ -528,10 +522,9 @@ void LLJoint::getAllAttachmentScaleOverrides(S32& num_scale_overrides, std::set<LLVector3>& distinct_scale_overrides) const { num_scale_overrides = m_attachmentScaleOverrides.count(); - LLVector3OverrideMap::map_type::const_iterator it = m_attachmentScaleOverrides.getMap().begin(); - for (; it != m_attachmentScaleOverrides.getMap().end(); ++it) + for (const LLVector3OverrideMap::map_type::value_type& scale_override_pair : m_attachmentScaleOverrides.getMap()) { - distinct_scale_overrides.insert(it->second); + distinct_scale_overrides.insert(scale_override_pair.second); } } @@ -556,10 +549,9 @@ void LLJoint::showAttachmentPosOverrides(const std::string& av_info) const { LL_DEBUGS("Avatar") << "av " << av_info << " joint " << getName() << " has " << count << " attachment pos overrides" << LL_ENDL; std::set<LLVector3> distinct_offsets; - LLVector3OverrideMap::map_type::const_iterator it = m_attachmentPosOverrides.getMap().begin(); - for (; it != m_attachmentPosOverrides.getMap().end(); ++it) + for (const LLVector3OverrideMap::map_type::value_type& pos_override_pair : m_attachmentPosOverrides.getMap()) { - distinct_offsets.insert(it->second); + distinct_offsets.insert(pos_override_pair.second); } if (distinct_offsets.size()>1) { @@ -569,11 +561,10 @@ void LLJoint::showAttachmentPosOverrides(const std::string& av_info) const { LL_DEBUGS("Avatar") << "no conflicts" << LL_ENDL; } - std::set<LLVector3>::iterator dit = distinct_offsets.begin(); - for ( ; dit != distinct_offsets.end(); ++dit) + for (const LLVector3& offset : distinct_offsets) { - std::string highlight = (has_active_override && *dit == active_override) ? "*" : ""; - LL_DEBUGS("Avatar") << " POS " << highlight << "" << (*dit) << " default " << mDefaultPosition << LL_ENDL; + std::string highlight = (has_active_override && offset == active_override) ? "*" : ""; + LL_DEBUGS("Avatar") << " POS " << highlight << "" << offset << " default " << mDefaultPosition << LL_ENDL; } } } @@ -717,10 +708,9 @@ void LLJoint::showAttachmentScaleOverrides(const std::string& av_info) const { LL_DEBUGS("Avatar") << "av " << av_info << " joint " << getName() << " has " << count << " attachment scale overrides" << LL_ENDL; std::set<LLVector3> distinct_offsets; - LLVector3OverrideMap::map_type::const_iterator it = m_attachmentScaleOverrides.getMap().begin(); - for (; it != m_attachmentScaleOverrides.getMap().end(); ++it) + for (const LLVector3OverrideMap::map_type::value_type& scale_override_pair : m_attachmentScaleOverrides.getMap()) { - distinct_offsets.insert(it->second); + distinct_offsets.insert(scale_override_pair.second); } if (distinct_offsets.size()>1) { @@ -731,10 +721,10 @@ void LLJoint::showAttachmentScaleOverrides(const std::string& av_info) const LL_DEBUGS("Avatar") << "no conflicts" << LL_ENDL; } std::set<LLVector3>::iterator dit = distinct_offsets.begin(); - for ( ; dit != distinct_offsets.end(); ++dit) + for (const LLVector3& offset : distinct_offsets) { - std::string highlight = (has_active_override && *dit == active_override) ? "*" : ""; - LL_DEBUGS("Avatar") << " POS " << highlight << "" << (*dit) << " default " << mDefaultScale << LL_ENDL; + std::string highlight = (has_active_override && offset == active_override) ? "*" : ""; + LL_DEBUGS("Avatar") << " POS " << highlight << "" << offset << " default " << mDefaultScale << LL_ENDL; } } } @@ -993,10 +983,8 @@ void LLJoint::updateWorldMatrixChildren() { updateWorldMatrix(); } - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* joint : mChildren) { - LLJoint* joint = *iter; joint->updateWorldMatrixChildren(); } } @@ -1040,10 +1028,8 @@ void LLJoint::clampRotation(LLQuaternion old_rot, LLQuaternion new_rot) { LLVector3 main_axis(1.f, 0.f, 0.f); - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* joint : mChildren) { - LLJoint* joint = *iter; if (joint->isAnimatable()) { main_axis = joint->getPosition(); diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp index ebf7454a61..d82ce23b4b 100644 --- a/indra/llcharacter/llkeyframemotion.cpp +++ b/indra/llcharacter/llkeyframemotion.cpp @@ -626,10 +626,8 @@ BOOL LLKeyframeMotion::setupPose() } // initialize joint constraints - for (JointMotionList::constraint_list_t::iterator iter = mJointMotionList->mConstraints.begin(); - iter != mJointMotionList->mConstraints.end(); ++iter) + for (JointConstraintSharedData* shared_constraintp : mJointMotionList->mConstraints) { - JointConstraintSharedData* shared_constraintp = *iter; JointConstraint* constraintp = new JointConstraint(shared_constraintp); initializeConstraint(constraintp); mConstraints.push_front(constraintp); @@ -764,19 +762,15 @@ void LLKeyframeMotion::applyConstraints(F32 time, U8* joint_mask) if (mCharacter->getSkeletonSerialNum() != mLastSkeletonSerialNum) { mLastSkeletonSerialNum = mCharacter->getSkeletonSerialNum(); - for (constraint_list_t::iterator iter = mConstraints.begin(); - iter != mConstraints.end(); ++iter) + for (JointConstraint* constraintp : mConstraints) { - JointConstraint* constraintp = *iter; initializeConstraint(constraintp); } } // apply constraints - for (constraint_list_t::iterator iter = mConstraints.begin(); - iter != mConstraints.end(); ++iter) + for (JointConstraint* constraintp : mConstraints) { - JointConstraint* constraintp = *iter; applyConstraint(constraintp, time, joint_mask); } } @@ -786,10 +780,8 @@ void LLKeyframeMotion::applyConstraints(F32 time, U8* joint_mask) //----------------------------------------------------------------------------- void LLKeyframeMotion::onDeactivate() { - for (constraint_list_t::iterator iter = mConstraints.begin(); - iter != mConstraints.end(); ++iter) + for (JointConstraint* constraintp : mConstraints) { - JointConstraint* constraintp = *iter; deactivateConstraint(constraintp); } } @@ -2007,10 +1999,9 @@ BOOL LLKeyframeMotion::serialize(LLDataPacker& dp) const success &= dp.packS32(joint_motionp->mRotationCurve.mNumKeys, "num_rot_keys"); LL_DEBUGS("BVH") << "Joint " << joint_motionp->mJointName << LL_ENDL; - for (RotationCurve::key_map_t::iterator iter = joint_motionp->mRotationCurve.mKeys.begin(); - iter != joint_motionp->mRotationCurve.mKeys.end(); ++iter) + for (RotationCurve::key_map_t::value_type& rot_pair : joint_motionp->mRotationCurve.mKeys) { - RotationKey& rot_key = iter->second; + RotationKey& rot_key = rot_pair.second; U16 time_short = F32_to_U16(rot_key.mTime, 0.f, mJointMotionList->mDuration); success &= dp.packU16(time_short, "time"); @@ -2029,10 +2020,9 @@ BOOL LLKeyframeMotion::serialize(LLDataPacker& dp) const } success &= dp.packS32(joint_motionp->mPositionCurve.mNumKeys, "num_pos_keys"); - for (PositionCurve::key_map_t::iterator iter = joint_motionp->mPositionCurve.mKeys.begin(); - iter != joint_motionp->mPositionCurve.mKeys.end(); ++iter) + for (PositionCurve::key_map_t::value_type& pos_pair : joint_motionp->mPositionCurve.mKeys) { - PositionKey& pos_key = iter->second; + PositionKey& pos_key = pos_pair.second; U16 time_short = F32_to_U16(pos_key.mTime, 0.f, mJointMotionList->mDuration); success &= dp.packU16(time_short, "time"); @@ -2051,10 +2041,8 @@ BOOL LLKeyframeMotion::serialize(LLDataPacker& dp) const success &= dp.packS32(mJointMotionList->mConstraints.size(), "num_constraints"); LL_DEBUGS("BVH") << "num_constraints " << mJointMotionList->mConstraints.size() << LL_ENDL; - for (JointMotionList::constraint_list_t::const_iterator iter = mJointMotionList->mConstraints.begin(); - iter != mJointMotionList->mConstraints.end(); ++iter) + for (JointConstraintSharedData* shared_constraintp : mJointMotionList->mConstraints) { - JointConstraintSharedData* shared_constraintp = *iter; success &= dp.packU8(shared_constraintp->mChainLength, "chain_length"); success &= dp.packU8(shared_constraintp->mConstraintType, "constraint_type"); char source_volume[16]; /* Flawfinder: ignore */ @@ -2406,14 +2394,13 @@ void LLKeyframeDataCache::dumpDiagInfo() LL_INFOS() << "-----------------------------------------------------" << LL_ENDL; // print each loaded mesh, and it's memory usage - for (keyframe_data_map_t::iterator map_it = sKeyframeDataMap.begin(); - map_it != sKeyframeDataMap.end(); ++map_it) + for (keyframe_data_map_t::value_type& data_pair : sKeyframeDataMap) { U32 joint_motion_kb; - LLKeyframeMotion::JointMotionList *motion_list_p = map_it->second; + LLKeyframeMotion::JointMotionList *motion_list_p = data_pair.second; - LL_INFOS() << "Motion: " << map_it->first << LL_ENDL; + LL_INFOS() << "Motion: " << data_pair.first << LL_ENDL; joint_motion_kb = motion_list_p->dumpDiagInfo(); diff --git a/indra/llcharacter/llkeyframemotionparam.cpp b/indra/llcharacter/llkeyframemotionparam.cpp index aba1c5db39..c80aabe294 100644 --- a/indra/llcharacter/llkeyframemotionparam.cpp +++ b/indra/llcharacter/llkeyframemotionparam.cpp @@ -64,13 +64,11 @@ LLKeyframeMotionParam::LLKeyframeMotionParam( const LLUUID &id) : LLMotion(id) //----------------------------------------------------------------------------- LLKeyframeMotionParam::~LLKeyframeMotionParam() { - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; delete paramMotion.mMotion; } motionList.clear(); @@ -90,13 +88,11 @@ LLMotion::LLMotionInitStatus LLKeyframeMotionParam::onInitialize(LLCharacter *ch return STATUS_FAILURE; } - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; LLMotion* motion = paramMotion.mMotion; motion->onInitialize(character); @@ -139,13 +135,11 @@ LLMotion::LLMotionInitStatus LLKeyframeMotionParam::onInitialize(LLCharacter *ch //----------------------------------------------------------------------------- BOOL LLKeyframeMotionParam::onActivate() { - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; paramMotion.mMotion->activate(mActivationTimestamp); } } @@ -162,23 +156,20 @@ BOOL LLKeyframeMotionParam::onUpdate(F32 time, U8* joint_mask) F32 weightFactor = 1.f / (F32)mParameterizedMotions.size(); // zero out all pose weights - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; // LL_INFOS() << "Weight for pose " << paramMotion.mMotion->getName() << " is " << paramMotion.mMotion->getPose()->getWeight() << LL_ENDL; paramMotion.mMotion->getPose()->setWeight(0.f); } } - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - const std::string& paramName = iter->first; + const std::string& paramName = motion_pair.first; F32* paramValue = (F32 *)mCharacter->getAnimationData(paramName); if (NULL == paramValue) // unexpected, but... { @@ -190,10 +181,9 @@ BOOL LLKeyframeMotionParam::onUpdate(F32 time, U8* joint_mask) const ParameterizedMotion* firstMotion = NULL; const ParameterizedMotion* secondMotion = NULL; - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; paramMotion.mMotion->onUpdate(time, joint_mask); F32 distToParam = paramMotion.mParam - *paramValue; @@ -280,13 +270,11 @@ BOOL LLKeyframeMotionParam::onUpdate(F32 time, U8* joint_mask) //----------------------------------------------------------------------------- void LLKeyframeMotionParam::onDeactivate() { - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; paramMotion.mMotion->onDeactivate(); } } @@ -318,13 +306,11 @@ BOOL LLKeyframeMotionParam::addKeyframeMotion(char *name, const LLUUID &id, char //----------------------------------------------------------------------------- void LLKeyframeMotionParam::setDefaultKeyframeMotion(char *name) { - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; if (paramMotion.mMotion->getName() == name) { mDefaultKeyframeMotion = paramMotion.mMotion; diff --git a/indra/llcharacter/llmotioncontroller.cpp b/indra/llcharacter/llmotioncontroller.cpp index e66714388a..96e0d5e8d7 100644 --- a/indra/llcharacter/llmotioncontroller.cpp +++ b/indra/llcharacter/llmotioncontroller.cpp @@ -211,11 +211,8 @@ void LLMotionController::purgeExcessMotions() { // too many motions active this frame, kill all blenders mPoseBlender.clearBlenders(); - for (motion_set_t::iterator loaded_motion_it = mLoadedMotions.begin(); - loaded_motion_it != mLoadedMotions.end(); - ++loaded_motion_it) + for (LLMotion* cur_motionp : mLoadedMotions) { - LLMotion* cur_motionp = *loaded_motion_it; // motion isn't playing, delete it if (!isMotionActive(cur_motionp)) { @@ -225,13 +222,10 @@ void LLMotionController::purgeExcessMotions() } // clean up all inactive, loaded motions - for (std::set<LLUUID>::iterator motion_it = motions_to_kill.begin(); - motion_it != motions_to_kill.end(); - ++motion_it) + for (LLUUID motion_id : motions_to_kill) { // look up the motion again by ID to get canonical instance // and kill it only if that one is inactive - LLUUID motion_id = *motion_it; LLMotion* motionp = findMotion(motion_id); if (motionp && !isMotionActive(motionp)) { @@ -1059,12 +1053,11 @@ LLMotion* LLMotionController::findMotion(const LLUUID& id) const void LLMotionController::dumpMotions() { LL_INFOS() << "=====================================" << LL_ENDL; - for (motion_map_t::iterator iter = mAllMotions.begin(); - iter != mAllMotions.end(); iter++) + for (motion_map_t::value_type& motion_pair : mAllMotions) { - LLUUID id = iter->first; + LLUUID id = motion_pair.first; std::string state_string; - LLMotion *motion = iter->second; + LLMotion *motion = motion_pair.second; if (mLoadingMotions.find(motion) != mLoadingMotions.end()) state_string += std::string("l"); if (mLoadedMotions.find(motion) != mLoadedMotions.end()) @@ -1083,10 +1076,9 @@ void LLMotionController::dumpMotions() //----------------------------------------------------------------------------- void LLMotionController::deactivateAllMotions() { - for (motion_map_t::iterator iter = mAllMotions.begin(); - iter != mAllMotions.end(); iter++) + for (motion_map_t::value_type& motion_pair : mAllMotions) { - LLMotion* motionp = iter->second; + LLMotion* motionp = motion_pair.second; deactivateMotionInstance(motionp); } } @@ -1118,10 +1110,9 @@ void LLMotionController::flushAllMotions() mCharacter->removeAnimationData("Hand Pose"); // restart motions - for (std::vector<std::pair<LLUUID,F32> >::iterator iter = active_motions.begin(); - iter != active_motions.end(); ++iter) + for (std::vector<std::pair<LLUUID,F32> >::value_type& motion_pair : active_motions) { - startMotion(iter->first, iter->second); + startMotion(motion_pair.first, motion_pair.second); } } diff --git a/indra/llcharacter/llmultigesture.cpp b/indra/llcharacter/llmultigesture.cpp index 2045739c7f..7ed242f90a 100644 --- a/indra/llcharacter/llmultigesture.cpp +++ b/indra/llcharacter/llmultigesture.cpp @@ -88,10 +88,8 @@ S32 LLMultiGesture::getMaxSerialSize() const max_size += 64; // step count S32 - std::vector<LLGestureStep*>::const_iterator it; - for (it = mSteps.begin(); it != mSteps.end(); ++it) + for (LLGestureStep* step : mSteps) { - LLGestureStep* step = *it; max_size += 64; // type S32 max_size += step->getMaxSerialSize(); } diff --git a/indra/llcharacter/llpose.cpp b/indra/llcharacter/llpose.cpp index fc95fafd61..6f41a0e747 100644 --- a/indra/llcharacter/llpose.cpp +++ b/indra/llcharacter/llpose.cpp @@ -148,11 +148,9 @@ LLJointState* LLPose::findJointState(const std::string &name) void LLPose::setWeight(F32 weight) { joint_map_iterator iter; - for(iter = mJointMap.begin(); - iter != mJointMap.end(); - ++iter) + for (joint_map_value_type& joint_pair : mJointMap) { - iter->second->setWeight(weight); + joint_pair.second->setWeight(weight); } mWeight = weight; } diff --git a/indra/llcharacter/llstatemachine.cpp b/indra/llcharacter/llstatemachine.cpp index b917db3117..2e8214ffaf 100644 --- a/indra/llcharacter/llstatemachine.cpp +++ b/indra/llcharacter/llstatemachine.cpp @@ -169,10 +169,9 @@ void LLStateDiagram::setDefaultState(LLFSMState& default_state) S32 LLStateDiagram::numDeadendStates() { S32 numDeadends = 0; - StateMap::iterator state_it; - for(state_it = mStates.begin(); state_it != mStates.end(); ++state_it) + for (StateMap::value_type& state_pair : mStates) { - if (state_it->second.size() == 0) + if (state_pair.second.size() == 0) { numDeadends++; } @@ -191,12 +190,11 @@ BOOL LLStateDiagram::stateIsValid(LLFSMState& state) LLFSMState* LLStateDiagram::getState(U32 state_id) { - StateMap::iterator state_it; - for(state_it = mStates.begin(); state_it != mStates.end(); ++state_it) + for (StateMap::value_type& state_pair : mStates) { - if (state_it->first->getID() == state_id) + if (state_pair.first->getID() == state_id) { - return state_it->first; + return state_pair.first; } } return NULL; @@ -215,18 +213,16 @@ BOOL LLStateDiagram::saveDotFile(const std::string& filename) } apr_file_printf(dot_file, "digraph StateMachine {\n\tsize=\"100,100\";\n\tfontsize=40;\n\tlabel=\"Finite State Machine\";\n\torientation=landscape\n\tratio=.77\n"); - StateMap::iterator state_it; - for(state_it = mStates.begin(); state_it != mStates.end(); ++state_it) + for (StateMap::value_type& state_pair : mStates) { - apr_file_printf(dot_file, "\t\"%s\" [fontsize=28,shape=box]\n", state_it->first->getName().c_str()); + apr_file_printf(dot_file, "\t\"%s\" [fontsize=28,shape=box]\n", state_pair.first->getName().c_str()); } apr_file_printf(dot_file, "\t\"All States\" [fontsize=30,style=bold,shape=box]\n"); - Transitions::iterator transitions_it; - for(transitions_it = mDefaultTransitions.begin(); transitions_it != mDefaultTransitions.end(); ++transitions_it) + for (Transitions::value_type& transition_pair : mDefaultTransitions) { - apr_file_printf(dot_file, "\t\"All States\" -> \"%s\" [label = \"%s\",fontsize=24];\n", transitions_it->second->getName().c_str(), - transitions_it->second->getName().c_str()); + apr_file_printf(dot_file, "\t\"All States\" -> \"%s\" [label = \"%s\",fontsize=24];\n", transition_pair.second->getName().c_str(), + transition_pair.second->getName().c_str()); } if (mDefaultState) @@ -235,18 +231,15 @@ BOOL LLStateDiagram::saveDotFile(const std::string& filename) } - for(state_it = mStates.begin(); state_it != mStates.end(); ++state_it) + for (StateMap::value_type& state_pair : mStates) { - LLFSMState *state = state_it->first; + LLFSMState *state = state_pair.first; - Transitions::iterator transitions_it; - for(transitions_it = state_it->second.begin(); - transitions_it != state_it->second.end(); - ++transitions_it) + for (Transitions::value_type& transition_pair : state_pair.second) { std::string state_name = state->getName(); - std::string target_name = transitions_it->second->getName(); - std::string transition_name = transitions_it->first->getName(); + std::string target_name = transition_pair.second->getName(); + std::string transition_name = transition_pair.first->getName(); apr_file_printf(dot_file, "\t\"%s\" -> \"%s\" [label = \"%s\",fontsize=24];\n", state->getName().c_str(), target_name.c_str(), transition_name.c_str()); @@ -265,25 +258,18 @@ std::ostream& operator<<(std::ostream &s, LLStateDiagram &FSM) s << "Default State: " << FSM.mDefaultState->getName() << "\n"; } - LLStateDiagram::Transitions::iterator transitions_it; - for(transitions_it = FSM.mDefaultTransitions.begin(); - transitions_it != FSM.mDefaultTransitions.end(); - ++transitions_it) + for (LLStateDiagram::Transitions::value_type& transition_pair : FSM.mDefaultTransitions) { - s << "Any State -- " << transitions_it->first->getName() - << " --> " << transitions_it->second->getName() << "\n"; + s << "Any State -- " << transition_pair.first->getName() + << " --> " << transition_pair.second->getName() << "\n"; } - LLStateDiagram::StateMap::iterator state_it; - for(state_it = FSM.mStates.begin(); state_it != FSM.mStates.end(); ++state_it) + for (LLStateDiagram::StateMap::value_type& state_pair : FSM.mStates) { - LLStateDiagram::Transitions::iterator transitions_it; - for(transitions_it = state_it->second.begin(); - transitions_it != state_it->second.end(); - ++transitions_it) + for (LLStateDiagram::Transitions::value_type& transition_pair : state_pair.second) { - s << state_it->first->getName() << " -- " << transitions_it->first->getName() - << " --> " << transitions_it->second->getName() << "\n"; + s << state_pair.first->getName() << " -- " << transition_pair.first->getName() + << " --> " << transition_pair.second->getName() << "\n"; } s << "\n"; } diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index df65828d02..108149b5f7 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -108,7 +108,6 @@ set(llcommon_SOURCE_FILES llsys.cpp lltempredirect.cpp llthread.cpp - llthreadlocalstorage.cpp llthreadsafequeue.cpp lltimer.cpp lltrace.cpp diff --git a/indra/llcommon/llallocator_heap_profile.cpp b/indra/llcommon/llallocator_heap_profile.cpp index b2eafde1aa..6dd399e1e3 100644 --- a/indra/llcommon/llallocator_heap_profile.cpp +++ b/indra/llcommon/llallocator_heap_profile.cpp @@ -131,14 +131,13 @@ void LLAllocatorHeapProfile::parse(std::string const & prof_text) void LLAllocatorHeapProfile::dump(std::ostream & out) const { lines_t::const_iterator i; - for(i = mLines.begin(); i != mLines.end(); ++i) + for (const LLAllocatorHeapProfile::line& line : mLines) { - out << i->mLiveCount << ": " << i->mLiveSize << '[' << i->mTotalCount << ": " << i->mTotalSize << "] @"; + out << line.mLiveCount << ": " << line.mLiveSize << '[' << line.mTotalCount << ": " << line.mTotalSize << "] @"; - stack_trace::const_iterator j; - for(j = i->mTrace.begin(); j != i->mTrace.end(); ++j) + for (const stack_marker marker : line.mTrace) { - out << ' ' << *j; + out << ' ' << marker; } out << '\n'; } diff --git a/indra/llcommon/llapr.cpp b/indra/llcommon/llapr.cpp index db94765871..435531f86f 100644 --- a/indra/llcommon/llapr.cpp +++ b/indra/llcommon/llapr.cpp @@ -30,7 +30,6 @@ #include "llapr.h" #include "llmutex.h" #include "apr_dso.h" -#include "llthreadlocalstorage.h" apr_pool_t *gAPRPoolp = NULL; // Global APR memory pool LLVolatileAPRPool *LLAPRFile::sAPRFilePoolp = NULL ; //global volatile APR memory pool. @@ -54,7 +53,6 @@ void ll_init_apr() LLAPRFile::sAPRFilePoolp = new LLVolatileAPRPool(FALSE) ; } - LLThreadLocalPointerBase::initAllThreadLocalStorage(); gAPRInitialized = true; } @@ -70,8 +68,6 @@ void ll_cleanup_apr() LL_DEBUGS("APR") << "Cleaning up APR" << LL_ENDL; - LLThreadLocalPointerBase::destroyAllThreadLocalStorage(); - if (gAPRPoolp) { apr_pool_destroy(gAPRPoolp); diff --git a/indra/llcommon/llassettype.cpp b/indra/llcommon/llassettype.cpp index e6cc06e8d0..4c84223dad 100644 --- a/indra/llcommon/llassettype.cpp +++ b/indra/llcommon/llassettype.cpp @@ -150,14 +150,12 @@ LLAssetType::EType LLAssetType::lookup(const char* name) LLAssetType::EType LLAssetType::lookup(const std::string& type_name) { const LLAssetDictionary *dict = LLAssetDictionary::getInstance(); - for (LLAssetDictionary::const_iterator iter = dict->begin(); - iter != dict->end(); - iter++) + for (const LLAssetDictionary::value_type& pair : *dict) { - const AssetEntry *entry = iter->second; + const AssetEntry *entry = pair.second; if (type_name == entry->mTypeName) { - return iter->first; + return pair.first; } } return AT_UNKNOWN; @@ -188,14 +186,12 @@ LLAssetType::EType LLAssetType::lookupHumanReadable(const char* name) LLAssetType::EType LLAssetType::lookupHumanReadable(const std::string& readable_name) { const LLAssetDictionary *dict = LLAssetDictionary::getInstance(); - for (LLAssetDictionary::const_iterator iter = dict->begin(); - iter != dict->end(); - iter++) + for (const LLAssetDictionary::value_type& pair : *dict) { - const AssetEntry *entry = iter->second; + const AssetEntry *entry = pair.second; if (entry->mHumanName && (readable_name == entry->mHumanName)) { - return iter->first; + return pair.first; } } return AT_NONE; diff --git a/indra/llcommon/llcallbacklist.cpp b/indra/llcommon/llcallbacklist.cpp index 541ff75ee4..93d0a035da 100644 --- a/indra/llcommon/llcallbacklist.cpp +++ b/indra/llcommon/llcallbacklist.cpp @@ -109,7 +109,7 @@ void LLCallbackList::deleteAllFunctions() void LLCallbackList::callFunctions() { - for (callback_list_t::iterator iter = mCallbackList.begin(); iter != mCallbackList.end(); ) + for (callback_list_t::iterator iter = mCallbackList.begin(); iter != mCallbackList.end(); ) { callback_list_t::iterator curiter = iter++; curiter->first(curiter->second); diff --git a/indra/llcommon/llcallstack.cpp b/indra/llcommon/llcallstack.cpp index 8db291eed1..83d5ae2a63 100644 --- a/indra/llcommon/llcallstack.cpp +++ b/indra/llcommon/llcallstack.cpp @@ -91,10 +91,9 @@ LLCallStack::LLCallStack(S32 skip_count, bool verbose): bool LLCallStack::contains(const std::string& str) { - for (std::vector<std::string>::const_iterator it = m_strings.begin(); - it != m_strings.end(); ++it) + for (const std::string& src_str : m_strings) { - if (it->find(str) != std::string::npos) + if (src_str.find(str) != std::string::npos) { return true; } @@ -105,10 +104,9 @@ bool LLCallStack::contains(const std::string& str) std::ostream& operator<<(std::ostream& s, const LLCallStack& call_stack) { #ifndef LL_RELEASE_FOR_DOWNLOAD - std::vector<std::string>::const_iterator it; - for (it=call_stack.m_strings.begin(); it!=call_stack.m_strings.end(); ++it) + for (const std::string& str : call_stack.m_strings) { - s << *it; + s << str; } #else s << "UNAVAILABLE IN RELEASE"; @@ -156,9 +154,9 @@ bool LLContextStrings::contains(const std::string& str) { const std::map<std::string,S32>& strings = LLThreadLocalSingletonPointer<LLContextStrings>::getInstance()->m_contextStrings; - for (std::map<std::string,S32>::const_iterator it = strings.begin(); it!=strings.end(); ++it) + for (const std::map<std::string,S32>::value_type& str_pair : strings) { - if (it->first.find(str) != std::string::npos) + if (str_pair.first.find(str) != std::string::npos) { return true; } @@ -171,9 +169,9 @@ void LLContextStrings::output(std::ostream& os) { const std::map<std::string,S32>& strings = LLThreadLocalSingletonPointer<LLContextStrings>::getInstance()->m_contextStrings; - for (std::map<std::string,S32>::const_iterator it = strings.begin(); it!=strings.end(); ++it) + for (const std::map<std::string,S32>::value_type& str_pair : strings) { - os << it->first << "[" << it->second << "]" << "\n"; + os << str_pair.first << "[" << str_pair.second << "]" << "\n"; } } diff --git a/indra/llcommon/lldependencies.h b/indra/llcommon/lldependencies.h index 950af4a4ad..fa54a944c8 100644 --- a/indra/llcommon/lldependencies.h +++ b/indra/llcommon/lldependencies.h @@ -514,21 +514,16 @@ public: // former broken behavior has finally been fixed -- and our builds // treat warnings as errors. { - for (typename DepNodeMap::const_iterator nmi = mNodes.begin(), nmend = mNodes.end(); - nmi != nmend; ++nmi) + for (typename const DepNodeMap::value_type& nm_pair : mNodes) { - vmap.insert(typename VertexMap::value_type(nmi->first, vmap.size())); - for (typename DepNode::dep_set::const_iterator ai = nmi->second.after.begin(), - aend = nmi->second.after.end(); - ai != aend; ++ai) + vmap.insert(typename VertexMap::value_type(nm_pair.first, vmap.size())); + for (typename const KEY& after_k : nm_pair.second.after) { - vmap.insert(typename VertexMap::value_type(*ai, vmap.size())); + vmap.insert(typename VertexMap::value_type(after_k, vmap.size())); } - for (typename DepNode::dep_set::const_iterator bi = nmi->second.before.begin(), - bend = nmi->second.before.end(); - bi != bend; ++bi) + for (typename const KEY& before_k : nm_pair.second.before) { - vmap.insert(typename VertexMap::value_type(*bi, vmap.size())); + vmap.insert(typename VertexMap::value_type(before_k, vmap.size())); } } } @@ -536,24 +531,19 @@ public: // all the known key dependencies to integer pairs. EdgeList edges; { - for (typename DepNodeMap::const_iterator nmi = mNodes.begin(), nmend = mNodes.end(); - nmi != nmend; ++nmi) + for (typename const DepNodeMap::value_type& nm_pair : mNodes) { - auto thisnode = vmap[nmi->first]; + auto thisnode = vmap[nm_pair.first]; // after dependencies: build edges from the named node to this one - for (typename DepNode::dep_set::const_iterator ai = nmi->second.after.begin(), - aend = nmi->second.after.end(); - ai != aend; ++ai) + for (typename const KEY& after_k : nm_pair.second.after) { - edges.push_back(EdgeList::value_type(vmap[*ai], thisnode)); + edges.push_back(EdgeList::value_type(vmap[after_k], thisnode)); } // before dependencies: build edges from this node to the // named one - for (typename DepNode::dep_set::const_iterator bi = nmi->second.before.begin(), - bend = nmi->second.before.end(); - bi != bend; ++bi) + for (typename const KEY& before_k : nm_pair.second.before) { - edges.push_back(EdgeList::value_type(thisnode, vmap[*bi])); + edges.push_back(EdgeList::value_type(thisnode, vmap[before_k])); } } } @@ -565,21 +555,19 @@ public: // and we're certain that the associated int values are distinct // indexes. The fact that they're not in order is irrelevant. KeyList vkeys(vmap.size()); - for (typename VertexMap::const_iterator vmi = vmap.begin(), vmend = vmap.end(); - vmi != vmend; ++vmi) + for (typename const VertexMap::value_type& vm_pair : vmap) { - vkeys[vmi->second] = vmi->first; + vkeys[vm_pair.second] = vm_pair.first; } // Walk the sorted output list, building the result into mCache so // we'll have it next time someone asks. mCache.clear(); - for (VertexList::const_iterator svi = sorted.begin(), svend = sorted.end(); - svi != svend; ++svi) + for (const size_t sv : sorted) { - // We're certain that vkeys[*svi] exists. However, there might not + // We're certain that vkeys[sv] exists. However, there might not // yet be a corresponding entry in mNodes. self_type* non_const_this(const_cast<self_type*>(this)); - typename DepNodeMap::iterator found = non_const_this->mNodes.find(vkeys[*svi]); + typename DepNodeMap::iterator found = non_const_this->mNodes.find(vkeys[sv]); if (found != non_const_this->mNodes.end()) { // Make an iterator of appropriate type. diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index 519426e9d1..310da2c9f0 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -586,11 +586,9 @@ namespace void Globals::invalidateCallSites() { - for (CallSiteVector::const_iterator i = callSites.begin(); - i != callSites.end(); - ++i) + for (LLError::CallSite* site : callSites) { - (*i)->invalidate(); + site->invalidate(); } callSites.clear(); @@ -1224,12 +1222,8 @@ namespace std::string escaped_message; LLMutexLock lock(&s->mRecorderMutex); - for (Recorders::const_iterator i = s->mRecorders.begin(); - i != s->mRecorders.end(); - ++i) + for (LLError::RecorderPtr& r : s->mRecorders) { - LLError::RecorderPtr r = *i; - if (!r->enabled()) { continue; diff --git a/indra/llcommon/llevent.cpp b/indra/llcommon/llevent.cpp index 633df01588..501d06e3cd 100644 --- a/indra/llcommon/llevent.cpp +++ b/indra/llcommon/llevent.cpp @@ -203,10 +203,9 @@ void LLSimpleDispatcher::removeListener(LLEventListener* listener) std::vector<LLListenerEntry> LLSimpleDispatcher::getListeners() const { std::vector<LLListenerEntry> ret; - std::vector<LLListenerEntry>::const_iterator itor; - for (itor=mListeners.begin(); itor!=mListeners.end(); ++itor) + for (const LLListenerEntry& entry : mListeners) { - ret.push_back(*itor); + ret.push_back(entry); } return ret; @@ -215,14 +214,12 @@ std::vector<LLListenerEntry> LLSimpleDispatcher::getListeners() const // virtual bool LLSimpleDispatcher::fireEvent(LLPointer<LLEvent> event, LLSD filter) { - std::vector<LLListenerEntry>::iterator itor; std::string filter_string = filter.asString(); - for (itor=mListeners.begin(); itor!=mListeners.end(); ++itor) + for (LLListenerEntry& entry : mListeners) { - LLListenerEntry& entry = *itor; if (filter_string == "" || entry.filter.asString() == filter_string) { - (entry.listener)->handleEvent(event, (*itor).userdata); + (entry.listener)->handleEvent(event, entry.userdata); } } return true; @@ -276,10 +273,9 @@ void LLSimpleListener::clearDispatchers() bool LLSimpleListener::handleAttach(LLEventDispatcher *dispatcher) { // Add dispatcher if it doesn't already exist - std::vector<LLEventDispatcher *>::iterator itor; - for (itor = mDispatchers.begin(); itor != mDispatchers.end(); ++itor) + for (LLEventDispatcher* disp : mDispatchers) { - if ((*itor) == dispatcher) return true; + if (disp == dispatcher) return true; } mDispatchers.push_back(dispatcher); return true; diff --git a/indra/llcommon/llheteromap.cpp b/indra/llcommon/llheteromap.cpp index 7c19196e0c..c84e49d085 100644 --- a/indra/llcommon/llheteromap.cpp +++ b/indra/llcommon/llheteromap.cpp @@ -22,11 +22,11 @@ LLHeteroMap::~LLHeteroMap() { // For each entry in our map, we must call its deleter, which is the only // record we have of its original type. - for (TypeMap::iterator mi(mMap.begin()), me(mMap.end()); mi != me; ++mi) + for (TypeMap::value_type& pair : mMap) { - // mi->second is the std::pair; mi->second.first is the void*; - // mi->second.second points to the deleter function - (mi->second.second)(mi->second.first); - mi->second.first = NULL; + // pair.second is the std::pair; pair.second.first is the void*; + // pair.second.second points to the deleter function + (pair.second.second)(pair.second.first); + pair.second.first = NULL; } } diff --git a/indra/llcommon/llinitdestroyclass.cpp b/indra/llcommon/llinitdestroyclass.cpp index e6382a7924..e3b9e6d099 100644 --- a/indra/llcommon/llinitdestroyclass.cpp +++ b/indra/llcommon/llinitdestroyclass.cpp @@ -21,10 +21,9 @@ void LLCallbackRegistry::fireCallbacks() const { - for (FuncList::const_iterator fi = mCallbacks.begin(), fe = mCallbacks.end(); - fi != fe; ++fi) + for (FuncList::value_type pair : mCallbacks) { - LL_INFOS("LLInitDestroyClass") << "calling " << fi->first << "()" << LL_ENDL; - fi->second(); + LL_INFOS("LLInitDestroyClass") << "calling " << pair.first << "()" << LL_ENDL; + pair.second(); } } diff --git a/indra/llcommon/llinitparam.cpp b/indra/llcommon/llinitparam.cpp index aa2f4eb289..9d3394b4f7 100644 --- a/indra/llcommon/llinitparam.cpp +++ b/indra/llcommon/llinitparam.cpp @@ -207,10 +207,10 @@ namespace LLInitParam if (!mValidated) { const BlockDescriptor& block_data = mostDerivedBlockDescriptor(); - for (BlockDescriptor::param_validation_list_t::const_iterator it = block_data.mValidationList.begin(); it != block_data.mValidationList.end(); ++it) + for (const BlockDescriptor::param_validation_list_t::value_type& pair : block_data.mValidationList) { - const Param* param = getParamFromHandle(it->first); - if (!it->second(param)) + const Param* param = getParamFromHandle(pair.first); + if (!pair.second(param)) { if (emit_errors) { @@ -235,13 +235,11 @@ namespace LLInitParam // unnamed param is like LLView::Params::rect - implicit const BlockDescriptor& block_data = mostDerivedBlockDescriptor(); - for (BlockDescriptor::param_list_t::const_iterator it = block_data.mUnnamedParams.begin(); - it != block_data.mUnnamedParams.end(); - ++it) + for (const ParamDescriptorPtr& ptr : block_data.mUnnamedParams) { - param_handle_t param_handle = (*it)->mParamHandle; + param_handle_t param_handle = ptr->mParamHandle; const Param* param = getParamFromHandle(param_handle); - ParamDescriptor::serialize_func_t serialize_func = (*it)->mSerializeFunc; + ParamDescriptor::serialize_func_t serialize_func = ptr->mSerializeFunc; if (serialize_func && predicate_rule.check(ll_make_predicate(PROVIDED, param->anyProvided()))) { const Param* diff_param = diff_block ? diff_block->getParamFromHandle(param_handle) : NULL; @@ -249,23 +247,19 @@ namespace LLInitParam } } - for(BlockDescriptor::param_map_t::const_iterator it = block_data.mNamedParams.begin(); - it != block_data.mNamedParams.end(); - ++it) + for (const BlockDescriptor::param_map_t::value_type& pair : block_data.mNamedParams) { - param_handle_t param_handle = it->second->mParamHandle; + param_handle_t param_handle = pair.second->mParamHandle; const Param* param = getParamFromHandle(param_handle); - ParamDescriptor::serialize_func_t serialize_func = it->second->mSerializeFunc; + ParamDescriptor::serialize_func_t serialize_func = pair.second->mSerializeFunc; if (serialize_func && predicate_rule.check(ll_make_predicate(PROVIDED, param->anyProvided()))) { // Ensure this param has not already been serialized // Prevents <rect> from being serialized as its own tag. bool duplicate = false; - for (BlockDescriptor::param_list_t::const_iterator it2 = block_data.mUnnamedParams.begin(); - it2 != block_data.mUnnamedParams.end(); - ++it2) + for (const ParamDescriptorPtr& ptr : block_data.mUnnamedParams) { - if (param_handle == (*it2)->mParamHandle) + if (param_handle == ptr->mParamHandle) { duplicate = true; break; @@ -279,7 +273,7 @@ namespace LLInitParam continue; } - name_stack.push_back(std::make_pair(it->first, !duplicate)); + name_stack.push_back(std::make_pair(pair.first, !duplicate)); const Param* diff_param = diff_block ? diff_block->getParamFromHandle(param_handle) : NULL; serialized |= serialize_func(*param, parser, name_stack, predicate_rule, diff_param); name_stack.pop_back(); @@ -300,45 +294,39 @@ namespace LLInitParam // unnamed param is like LLView::Params::rect - implicit const BlockDescriptor& block_data = mostDerivedBlockDescriptor(); - for (BlockDescriptor::param_list_t::const_iterator it = block_data.mUnnamedParams.begin(); - it != block_data.mUnnamedParams.end(); - ++it) + for (const ParamDescriptorPtr& ptr : block_data.mUnnamedParams) { - param_handle_t param_handle = (*it)->mParamHandle; + param_handle_t param_handle = ptr->mParamHandle; const Param* param = getParamFromHandle(param_handle); - ParamDescriptor::inspect_func_t inspect_func = (*it)->mInspectFunc; + ParamDescriptor::inspect_func_t inspect_func = ptr->mInspectFunc; if (inspect_func) { name_stack.push_back(std::make_pair("", true)); - inspect_func(*param, parser, name_stack, (*it)->mMinCount, (*it)->mMaxCount); + inspect_func(*param, parser, name_stack, ptr->mMinCount, ptr->mMaxCount); name_stack.pop_back(); } } - for(BlockDescriptor::param_map_t::const_iterator it = block_data.mNamedParams.begin(); - it != block_data.mNamedParams.end(); - ++it) + for(const BlockDescriptor::param_map_t::value_type& pair : block_data.mNamedParams) { - param_handle_t param_handle = it->second->mParamHandle; + param_handle_t param_handle = pair.second->mParamHandle; const Param* param = getParamFromHandle(param_handle); - ParamDescriptor::inspect_func_t inspect_func = it->second->mInspectFunc; + ParamDescriptor::inspect_func_t inspect_func = pair.second->mInspectFunc; if (inspect_func) { // Ensure this param has not already been inspected bool duplicate = false; - for (BlockDescriptor::param_list_t::const_iterator it2 = block_data.mUnnamedParams.begin(); - it2 != block_data.mUnnamedParams.end(); - ++it2) + for (const ParamDescriptorPtr ptr : block_data.mUnnamedParams) { - if (param_handle == (*it2)->mParamHandle) + if (param_handle == ptr->mParamHandle) { duplicate = true; break; } } - name_stack.push_back(std::make_pair(it->first, !duplicate)); - inspect_func(*param, parser, name_stack, it->second->mMinCount, it->second->mMaxCount); + name_stack.push_back(std::make_pair(pair.first, !duplicate)); + inspect_func(*param, parser, name_stack, pair.second->mMinCount, pair.second->mMaxCount); name_stack.pop_back(); } } @@ -382,12 +370,10 @@ namespace LLInitParam } // try to parse unnamed parameters, in declaration order - for ( BlockDescriptor::param_list_t::iterator it = block_data.mUnnamedParams.begin(); - it != block_data.mUnnamedParams.end(); - ++it) + for (ParamDescriptorPtr& ptr : block_data.mUnnamedParams) { - Param* paramp = getParamFromHandle((*it)->mParamHandle); - ParamDescriptor::deserialize_func_t deserialize_func = (*it)->mDeserializeFunc; + Param* paramp = getParamFromHandle(ptr->mParamHandle); + ParamDescriptor::deserialize_func_t deserialize_func = ptr->mDeserializeFunc; if (deserialize_func && deserialize_func(*paramp, p, name_stack_range, new_name)) { @@ -453,12 +439,9 @@ namespace LLInitParam { param_handle_t handle = getHandleFromParam(¶m); BlockDescriptor& descriptor = mostDerivedBlockDescriptor(); - BlockDescriptor::all_params_list_t::iterator end_it = descriptor.mAllParams.end(); - for (BlockDescriptor::all_params_list_t::iterator it = descriptor.mAllParams.begin(); - it != end_it; - ++it) + for (ParamDescriptorPtr& ptr : descriptor.mAllParams) { - if ((*it)->mParamHandle == handle) return *it; + if (ptr->mParamHandle == handle) return ptr; } return ParamDescriptorPtr(); } @@ -468,17 +451,14 @@ namespace LLInitParam bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { bool some_param_changed = false; - BlockDescriptor::all_params_list_t::const_iterator end_it = block_data.mAllParams.end(); - for (BlockDescriptor::all_params_list_t::const_iterator it = block_data.mAllParams.begin(); - it != end_it; - ++it) + for (const ParamDescriptorPtr& ptr : block_data.mAllParams) { - const Param* other_paramp = other.getParamFromHandle((*it)->mParamHandle); - ParamDescriptor::merge_func_t merge_func = (*it)->mMergeFunc; + const Param* other_paramp = other.getParamFromHandle(ptr->mParamHandle); + ParamDescriptor::merge_func_t merge_func = ptr->mMergeFunc; if (merge_func) { - Param* paramp = getParamFromHandle((*it)->mParamHandle); - llassert(paramp->getEnclosingBlockOffset() == (*it)->mParamHandle); + Param* paramp = getParamFromHandle(ptr->mParamHandle); + llassert(paramp->getEnclosingBlockOffset() == ptr->mParamHandle); some_param_changed |= merge_func(*paramp, *other_paramp, overwrite); } } diff --git a/indra/llcommon/llinitparam.h b/indra/llcommon/llinitparam.h index 7f5b9b4ac2..9edc7e40f3 100644 --- a/indra/llcommon/llinitparam.h +++ b/indra/llcommon/llinitparam.h @@ -325,13 +325,11 @@ namespace LLInitParam std::string calcValueName(const value_t& value) const { value_name_map_t* map = getValueNames(); - for (typename value_name_map_t::iterator it = map->begin(), end_it = map->end(); - it != end_it; - ++it) + for (typename value_name_map_t::value_type& map_pair : *map) { - if (ParamCompare<T>::equals(it->second, value)) + if (ParamCompare<T>::equals(map_pair.second, value)) { - return it->first; + return map_pair.first; } } @@ -376,11 +374,9 @@ namespace LLInitParam static std::vector<std::string> sValues; value_name_map_t* map = getValueNames(); - for (typename value_name_map_t::iterator it = map->begin(), end_it = map->end(); - it != end_it; - ++it) + for (typename value_name_map_t::value_type& map_pair : *map) { - sValues.push_back(it->first); + sValues.push_back(map_pair.first); } return &sValues; } diff --git a/indra/llcommon/llkeybind.cpp b/indra/llcommon/llkeybind.cpp index 12e57ae94b..b89160cc55 100644 --- a/indra/llcommon/llkeybind.cpp +++ b/indra/llcommon/llkeybind.cpp @@ -207,9 +207,9 @@ bool LLKeyBind::operator!=(const LLKeyBind& rhs) bool LLKeyBind::isEmpty() const { - for (data_vector_t::const_iterator iter = mData.begin(); iter != mData.end(); iter++) + for (const LLKeyData& key_data : mData) { - if (!iter->isEmpty()) return false; + if (!key_data.isEmpty()) return false; } return true; } @@ -225,12 +225,11 @@ LLKeyBind::data_vector_t::const_iterator LLKeyBind::endNonEmpty() const LLSD LLKeyBind::asLLSD() const { LLSD data; - auto end{ endNonEmpty() }; - for (auto it = mData.begin(); it < end; ++it) + for (const LLKeyData& key_data : mData) { // append intermediate entries even if empty to not affect visual // representation - data.append(it->asLLSD()); + data.append(key_data.asLLSD()); } return data; } @@ -243,9 +242,9 @@ bool LLKeyBind::canHandle(EMouseClickType mouse, KEY key, MASK mask) const return false; } - for (data_vector_t::const_iterator iter = mData.begin(); iter != mData.end(); iter++) + for (const LLKeyData& key_data : mData) { - if (iter->canHandle(mouse, key, mask)) + if (key_data.canHandle(mouse, key, mask)) { return true; } @@ -267,12 +266,12 @@ bool LLKeyBind::hasKeyData(EMouseClickType mouse, KEY key, MASK mask, bool ignor { if (mouse != CLICK_NONE || key != KEY_NONE) { - for (data_vector_t::const_iterator iter = mData.begin(); iter != mData.end(); iter++) + for (const LLKeyData& key_data : mData) { - if (iter->mKey == key - && iter->mMask == mask - && iter->mMouse == mouse - && iter->mIgnoreMasks == ignore) + if (key_data.mKey == key + && key_data.mMask == mask + && key_data.mMouse == mouse + && key_data.mIgnoreMasks == ignore) { return true; } @@ -354,16 +353,16 @@ void LLKeyBind::replaceKeyData(const LLKeyData& data, U32 index) { // if both click and key are none (isEmpty()), we are inserting a placeholder, we don't want to reset anything // otherwise reset identical key - for (data_vector_t::iterator iter = mData.begin(); iter != mData.end(); iter++) + for (LLKeyData& key_data : mData) { - if (iter->mKey == data.mKey - && iter->mMouse == data.mMouse - && iter->mIgnoreMasks == data.mIgnoreMasks - && iter->mMask == data.mMask) + if (key_data.mKey == data.mKey + && key_data.mMouse == data.mMouse + && key_data.mIgnoreMasks == data.mIgnoreMasks + && key_data.mMask == data.mMask) { // Replacing only fully equal combinations even in case 'ignore' is set // Reason: Simplicity and user might decide to do a 'move' command as W and Shift+Ctrl+W, and 'run' as Shift+W - iter->reset(); + key_data.reset(); break; } } diff --git a/indra/llcommon/llmetricperformancetester.cpp b/indra/llcommon/llmetricperformancetester.cpp index 864ecf650b..ab509b46eb 100644 --- a/indra/llcommon/llmetricperformancetester.cpp +++ b/indra/llcommon/llmetricperformancetester.cpp @@ -42,9 +42,9 @@ LLMetricPerformanceTesterBasic::name_tester_map_t LLMetricPerformanceTesterBasic /*static*/ void LLMetricPerformanceTesterBasic::cleanupClass() { - for (name_tester_map_t::iterator iter = sTesterMap.begin() ; iter != sTesterMap.end() ; ++iter) + for (name_tester_map_t::value_type& pair : sTesterMap) { - delete iter->second ; + delete pair.second; } sTesterMap.clear() ; } @@ -154,10 +154,9 @@ void LLMetricPerformanceTesterBasic::doAnalysisMetrics(std::string baseline, std llofstream os(output.c_str()); os << "Label, Metric, Base(B), Target(T), Diff(T-B), Percentage(100*T/B)\n"; - for(LLMetricPerformanceTesterBasic::name_tester_map_t::iterator iter = LLMetricPerformanceTesterBasic::sTesterMap.begin() ; - iter != LLMetricPerformanceTesterBasic::sTesterMap.end() ; ++iter) + for (LLMetricPerformanceTesterBasic::name_tester_map_t::value_type& pair : LLMetricPerformanceTesterBasic::sTesterMap) { - LLMetricPerformanceTesterBasic* tester = ((LLMetricPerformanceTesterBasic*)iter->second) ; + LLMetricPerformanceTesterBasic* tester = ((LLMetricPerformanceTesterBasic*)pair.second); tester->analyzePerformance(&os, &base, ¤t) ; } diff --git a/indra/llcommon/llnametable.h b/indra/llcommon/llnametable.h index d3283543f3..2c8e71263e 100644 --- a/indra/llcommon/llnametable.h +++ b/indra/llcommon/llnametable.h @@ -86,12 +86,10 @@ public: // O(N)! (currently only used in one place... (newsim/llstate.cpp)) const char *resolveData(const DATA &data) const { - const_iter_t iter = mNameMap.begin(); - const_iter_t end = mNameMap.end(); - for (; iter != end; ++iter) + for (const name_map_t::value_type& pair : mNameMap) { - if (iter->second == data) - return iter->first; + if (pair.second == data) + return pair.first; } return NULL; } diff --git a/indra/llcommon/llpriqueuemap.h b/indra/llcommon/llpriqueuemap.h index d8d3edd48a..030e2e0f21 100644 --- a/indra/llcommon/llpriqueuemap.h +++ b/indra/llcommon/llpriqueuemap.h @@ -115,9 +115,9 @@ public: LL_WARNS() << "Data not on priority queue!" << LL_ENDL; // OK, try iterating through all of the data and seeing if we just screwed up the priority // somehow. - for (iter = mMap.begin(); iter != mMap.end(); iter++) + for (pqm_pair pair : mMap) { - if ((*(iter)).second == data) + if (pair.second == data) { LL_ERRS() << "Data on priority queue but priority not matched!" << LL_ENDL; } diff --git a/indra/llcommon/llregistry.h b/indra/llcommon/llregistry.h index 750fe9fdc8..e272d7a9b8 100644 --- a/indra/llcommon/llregistry.h +++ b/indra/llcommon/llregistry.h @@ -141,11 +141,9 @@ public: ptr_value_t getValue(ref_const_key_t key) { - for(scope_list_iterator_t it = mActiveScopes.begin(); - it != mActiveScopes.end(); - ++it) + for(Registrar* scope : mActiveScopes) { - ptr_value_t valuep = (*it)->getValue(key); + ptr_value_t valuep = scope->getValue(key); if (valuep != NULL) return valuep; } return mDefaultRegistrar.getValue(key); @@ -153,11 +151,9 @@ public: ptr_const_value_t getValue(ref_const_key_t key) const { - for(scope_list_const_iterator_t it = mActiveScopes.begin(); - it != mActiveScopes.end(); - ++it) + for(const Registrar* scope : mActiveScopes) { - ptr_value_t valuep = (*it)->getValue(key); + ptr_const_value_t valuep = scope->getValue(key); if (valuep != NULL) return valuep; } return mDefaultRegistrar.getValue(key); @@ -165,11 +161,9 @@ public: bool exists(ref_const_key_t key) const { - for(scope_list_const_iterator_t it = mActiveScopes.begin(); - it != mActiveScopes.end(); - ++it) + for(const Registrar* scope : mActiveScopes) { - if ((*it)->exists(key)) return true; + if (scope->exists(key)) return true; } return mDefaultRegistrar.exists(key); @@ -177,11 +171,9 @@ public: bool empty() const { - for(scope_list_const_iterator_t it = mActiveScopes.begin(); - it != mActiveScopes.end(); - ++it) + for(const Registrar* scope : mActiveScopes) { - if (!(*it)->empty()) return false; + if (!scope->empty()) return false; } return mDefaultRegistrar.empty(); diff --git a/indra/llcommon/llsdparam.cpp b/indra/llcommon/llsdparam.cpp index af4ccf25fd..30f49b27ea 100644 --- a/indra/llcommon/llsdparam.cpp +++ b/indra/llcommon/llsdparam.cpp @@ -113,11 +113,9 @@ void LLParamSDParser::writeSDImpl(LLSD& sd, const LLInitParam::BaseBlock& block, /*virtual*/ std::string LLParamSDParser::getCurrentElementName() { std::string full_name = "sd"; - for (name_stack_t::iterator it = mNameStack.begin(); - it != mNameStack.end(); - ++it) + for (name_stack_t::value_type& stack_pair : mNameStack) { - full_name += llformat("[%s]", it->first.c_str()); + full_name += llformat("[%s]", stack_pair.first.c_str()); } return full_name; diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp index 8e90d1e8b8..f70bee9903 100644 --- a/indra/llcommon/llsdutil.cpp +++ b/indra/llcommon/llsdutil.cpp @@ -148,10 +148,9 @@ LLSD ll_binary_from_string(const LLSD& sd) std::vector<U8> binary_value; std::string string_value = sd.asString(); - for (std::string::iterator iter = string_value.begin(); - iter != string_value.end(); ++iter) + for (const U8 c : string_value) { - binary_value.push_back(*iter); + binary_value.push_back(c); } binary_value.push_back('\0'); diff --git a/indra/llcommon/llstringtable.cpp b/indra/llcommon/llstringtable.cpp index f288999964..92a5e777a6 100644 --- a/indra/llcommon/llstringtable.cpp +++ b/indra/llcommon/llstringtable.cpp @@ -89,9 +89,8 @@ LLStringTable::~LLStringTable() { if (mStringList[i]) { - string_list_t::iterator iter; - for (iter = mStringList[i]->begin(); iter != mStringList[i]->end(); iter++) - delete *iter; // *iter = (LLStringTableEntry*) + for (LLStringTableEntry* entry : *mStringList[i]) + delete entry; } delete mStringList[i]; } @@ -156,9 +155,9 @@ LLStringTableEntry* LLStringTable::checkStringEntry(const char *str) if (str) { char *ret_val; - LLStringTableEntry *entry; U32 hash_value = hash_my_string(str, mMaxEntries); #if STRING_TABLE_HASH_MAP + LLStringTableEntry *entry; #if 1 // Microsoft string_hash_t::iterator lower = mStringHash.lower_bound(hash_value); string_hash_t::iterator upper = mStringHash.upper_bound(hash_value); @@ -180,10 +179,8 @@ LLStringTableEntry* LLStringTable::checkStringEntry(const char *str) string_list_t *strlist = mStringList[hash_value]; if (strlist) { - string_list_t::iterator iter; - for (iter = strlist->begin(); iter != strlist->end(); iter++) + for (LLStringTableEntry* entry : *strlist) { - entry = *iter; ret_val = entry->mString; if (!strncmp(ret_val, str, MAX_STRINGS_LENGTH)) { @@ -226,9 +223,9 @@ LLStringTableEntry* LLStringTable::addStringEntry(const char *str) if (str) { char *ret_val = NULL; - LLStringTableEntry *entry; U32 hash_value = hash_my_string(str, mMaxEntries); #if STRING_TABLE_HASH_MAP + LLStringTableEntry *entry; #if 1 // Microsoft string_hash_t::iterator lower = mStringHash.lower_bound(hash_value); string_hash_t::iterator upper = mStringHash.upper_bound(hash_value); @@ -257,10 +254,8 @@ LLStringTableEntry* LLStringTable::addStringEntry(const char *str) if (strlist) { - string_list_t::iterator iter; - for (iter = strlist->begin(); iter != strlist->end(); iter++) + for (LLStringTableEntry* entry : *strlist) { - entry = *iter; ret_val = entry->mString; if (!strncmp(ret_val, str, MAX_STRINGS_LENGTH)) { @@ -294,10 +289,10 @@ void LLStringTable::removeString(const char *str) if (str) { char *ret_val; - LLStringTableEntry *entry; U32 hash_value = hash_my_string(str, mMaxEntries); #if STRING_TABLE_HASH_MAP { + LLStringTableEntry *entry; #if 1 // Microsoft string_hash_t::iterator lower = mStringHash.lower_bound(hash_value); string_hash_t::iterator upper = mStringHash.upper_bound(hash_value); @@ -331,10 +326,8 @@ void LLStringTable::removeString(const char *str) if (strlist) { - string_list_t::iterator iter; - for (iter = strlist->begin(); iter != strlist->end(); iter++) + for (LLStringTableEntry* entry : *strlist) { - entry = *iter; ret_val = entry->mString; if (!strncmp(ret_val, str, MAX_STRINGS_LENGTH)) { diff --git a/indra/llcommon/llstringtable.h b/indra/llcommon/llstringtable.h index ff09e71677..0a292c8bac 100644 --- a/indra/llcommon/llstringtable.h +++ b/indra/llcommon/llstringtable.h @@ -136,9 +136,9 @@ public: for (S32 i = 0; i<mTableSize; i++) { string_set_t& stringset = mStringList[i]; - for (string_set_t::iterator iter = stringset.begin(); iter != stringset.end(); iter++) + for (LLStdStringHandle str : stringset) { - delete *iter; + delete str; } stringset.clear(); } diff --git a/indra/llcommon/llthreadlocalstorage.cpp b/indra/llcommon/llthreadlocalstorage.cpp deleted file mode 100644 index d8a063e8d5..0000000000 --- a/indra/llcommon/llthreadlocalstorage.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/** - * @file llthreadlocalstorage.cpp - * @author Richard - * @date 2013-1-11 - * @brief implementation of thread local storage utility classes - * - * $LicenseInfo:firstyear=2013&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$ - */ - -#include "linden_common.h" -#include "llthreadlocalstorage.h" -#include "llapr.h" - -// -//LLThreadLocalPointerBase -// -bool LLThreadLocalPointerBase::sInitialized = false; - -void LLThreadLocalPointerBase::set( void* value ) -{ - llassert(sInitialized && mThreadKey); - - apr_status_t result = apr_threadkey_private_set((void*)value, mThreadKey); - if (result != APR_SUCCESS) - { - ll_apr_warn_status(result); - LL_ERRS() << "Failed to set thread local data" << LL_ENDL; - } -} - -void* LLThreadLocalPointerBase::get() const -{ - // llassert(sInitialized); - void* ptr; - apr_status_t result = - apr_threadkey_private_get(&ptr, mThreadKey); - if (result != APR_SUCCESS) - { - ll_apr_warn_status(result); - LL_ERRS() << "Failed to get thread local data" << LL_ENDL; - } - return ptr; -} - - -void LLThreadLocalPointerBase::initStorage( ) -{ - apr_status_t result = apr_threadkey_private_create(&mThreadKey, NULL, gAPRPoolp); - if (result != APR_SUCCESS) - { - ll_apr_warn_status(result); - LL_ERRS() << "Failed to allocate thread local data" << LL_ENDL; - } -} - -void LLThreadLocalPointerBase::destroyStorage() -{ - if (sInitialized) - { - if (mThreadKey) - { - apr_status_t result = apr_threadkey_private_delete(mThreadKey); - if (result != APR_SUCCESS) - { - ll_apr_warn_status(result); - LL_ERRS() << "Failed to delete thread local data" << LL_ENDL; - } - } - } -} - -//static -void LLThreadLocalPointerBase::initAllThreadLocalStorage() -{ - if (!sInitialized) - { - for (auto& base : instance_snapshot()) - { - base.initStorage(); - } - sInitialized = true; - } -} - -//static -void LLThreadLocalPointerBase::destroyAllThreadLocalStorage() -{ - if (sInitialized) - { - //for (auto& base : instance_snapshot()) - //{ - // base.destroyStorage(); - //} - sInitialized = false; - } -} diff --git a/indra/llcommon/llthreadlocalstorage.h b/indra/llcommon/llthreadlocalstorage.h index 3b5786023f..bdd28ec865 100644 --- a/indra/llcommon/llthreadlocalstorage.h +++ b/indra/llcommon/llthreadlocalstorage.h @@ -30,100 +30,6 @@ #include "llinstancetracker.h" -class LLThreadLocalPointerBase : public LLInstanceTracker<LLThreadLocalPointerBase> -{ -public: - LLThreadLocalPointerBase() - : mThreadKey(NULL) - { - if (sInitialized) - { - initStorage(); - } - } - - LLThreadLocalPointerBase( const LLThreadLocalPointerBase& other) - : mThreadKey(NULL) - { - if (sInitialized) - { - initStorage(); - } - } - - ~LLThreadLocalPointerBase() - { - destroyStorage(); - } - - static void initAllThreadLocalStorage(); - static void destroyAllThreadLocalStorage(); - -protected: - void set(void* value); - - void* get() const; - - void initStorage(); - void destroyStorage(); - -protected: - struct apr_threadkey_t* mThreadKey; - static bool sInitialized; -}; - -template <typename T> -class LLThreadLocalPointer : public LLThreadLocalPointerBase -{ -public: - - LLThreadLocalPointer() - {} - - explicit LLThreadLocalPointer(T* value) - { - set(value); - } - - - LLThreadLocalPointer(const LLThreadLocalPointer<T>& other) - : LLThreadLocalPointerBase(other) - { - set(other.get()); - } - - LL_FORCE_INLINE T* get() const - { - return (T*)LLThreadLocalPointerBase::get(); - } - - T* operator -> () const - { - return (T*)get(); - } - - T& operator*() const - { - return *(T*)get(); - } - - LLThreadLocalPointer<T>& operator = (T* value) - { - set((void*)value); - return *this; - } - - bool operator ==(const T* other) const - { - if (!sInitialized) return false; - return get() == other; - } - - bool isNull() const { return !sInitialized || get() == NULL; } - - bool notNull() const { return sInitialized && get() != NULL; } -}; - template<typename DERIVED_TYPE> class LLThreadLocalSingletonPointer { @@ -139,10 +45,10 @@ public: } private: - static LL_THREAD_LOCAL DERIVED_TYPE* sInstance; + static thread_local DERIVED_TYPE* sInstance; }; template<typename DERIVED_TYPE> -LL_THREAD_LOCAL DERIVED_TYPE* LLThreadLocalSingletonPointer<DERIVED_TYPE>::sInstance = NULL; +thread_local DERIVED_TYPE* LLThreadLocalSingletonPointer<DERIVED_TYPE>::sInstance = NULL; #endif // LL_LLTHREADLOCALSTORAGE_H diff --git a/indra/llcommon/lltrace.cpp b/indra/llcommon/lltrace.cpp index 7ad50d1288..ff671a8370 100644 --- a/indra/llcommon/lltrace.cpp +++ b/indra/llcommon/lltrace.cpp @@ -40,7 +40,7 @@ StatBase::StatBase( const char* name, const char* description ) mDescription(description ? description : "") { #ifndef LL_RELEASE_FOR_DOWNLOAD - if (LLTrace::get_thread_recorder().notNull()) + if (LLTrace::get_thread_recorder() != NULL) { LL_ERRS() << "Attempting to declare trace object after program initialization. Trace objects should be statically initialized." << LL_ENDL; } diff --git a/indra/llcommon/lltraceaccumulators.cpp b/indra/llcommon/lltraceaccumulators.cpp index 7c38cdb7cd..6bd886ae98 100644 --- a/indra/llcommon/lltraceaccumulators.cpp +++ b/indra/llcommon/lltraceaccumulators.cpp @@ -93,7 +93,7 @@ void AccumulatorBufferGroup::makeCurrent() mStackTimers.makeCurrent(); mMemStats.makeCurrent(); - ThreadRecorder* thread_recorder = get_thread_recorder().get(); + ThreadRecorder* thread_recorder = get_thread_recorder(); AccumulatorBuffer<TimeBlockAccumulator>& timer_accumulator_buffer = mStackTimers; // update stacktimer parent pointers for (size_t i = 0, end_i = mStackTimers.size(); i < end_i; i++) diff --git a/indra/llcommon/lltracerecording.cpp b/indra/llcommon/lltracerecording.cpp index 8414b234e0..a8dcc5226a 100644 --- a/indra/llcommon/lltracerecording.cpp +++ b/indra/llcommon/lltracerecording.cpp @@ -95,7 +95,7 @@ Recording::~Recording() // allow recording destruction without thread recorder running, // otherwise thread shutdown could crash if a recording outlives the thread recorder // besides, recording construction and destruction is fine without a recorder...just don't attempt to start one - if (isStarted() && LLTrace::get_thread_recorder().notNull()) + if (isStarted() && LLTrace::get_thread_recorder() != NULL) { LLTrace::get_thread_recorder()->deactivate(mBuffers.write()); } @@ -112,9 +112,9 @@ void Recording::update() // must have llassert(mActiveBuffers != NULL - && LLTrace::get_thread_recorder().notNull()); + && LLTrace::get_thread_recorder() != NULL); - if(!mActiveBuffers->isCurrent()) + if(!mActiveBuffers->isCurrent() && LLTrace::get_thread_recorder() != NULL) { AccumulatorBufferGroup* buffers = mBuffers.write(); LLTrace::get_thread_recorder()->deactivate(buffers); @@ -144,7 +144,7 @@ void Recording::handleStart() mSamplingTimer.reset(); mBuffers.setStayUnique(true); // must have thread recorder running on this thread - llassert(LLTrace::get_thread_recorder().notNull()); + llassert(LLTrace::get_thread_recorder() != NULL); mActiveBuffers = LLTrace::get_thread_recorder()->activate(mBuffers.write()); #endif } @@ -155,7 +155,7 @@ void Recording::handleStop() #if LL_TRACE_ENABLED mElapsedSeconds += mSamplingTimer.getElapsedTimeF64(); // must have thread recorder running on this thread - llassert(LLTrace::get_thread_recorder().notNull()); + llassert(LLTrace::get_thread_recorder() != NULL); LLTrace::get_thread_recorder()->deactivate(mBuffers.write()); mActiveBuffers = NULL; mBuffers.setStayUnique(false); @@ -773,11 +773,9 @@ void PeriodicRecording::handleReset() } else { - for (std::vector<Recording>::iterator it = mRecordingPeriods.begin(), end_it = mRecordingPeriods.end(); - it != end_it; - ++it) + for (Recording& rec : mRecordingPeriods) { - it->reset(); + rec.reset(); } } mCurPeriod = 0; @@ -1182,8 +1180,8 @@ void ExtendablePeriodicRecording::handleSplitTo(ExtendablePeriodicRecording& oth PeriodicRecording& get_frame_recording() { - static LLThreadLocalPointer<PeriodicRecording> sRecording(new PeriodicRecording(200, PeriodicRecording::STARTED)); - return *sRecording; + static thread_local PeriodicRecording sRecording(200, PeriodicRecording::STARTED); + return sRecording; } } diff --git a/indra/llcommon/lltracethreadrecorder.cpp b/indra/llcommon/lltracethreadrecorder.cpp index d10312e0ec..282c454a2a 100644 --- a/indra/llcommon/lltracethreadrecorder.cpp +++ b/indra/llcommon/lltracethreadrecorder.cpp @@ -284,13 +284,11 @@ void ThreadRecorder::pullFromChildren() AccumulatorBufferGroup& target_recording_buffers = mActiveRecordings.back()->mPartialRecording; target_recording_buffers.sync(); - for (child_thread_recorder_list_t::iterator it = mChildThreadRecorders.begin(), end_it = mChildThreadRecorders.end(); - it != end_it; - ++it) - { LLMutexLock lock(&(*it)->mSharedRecordingMutex); + for (LLTrace::ThreadRecorder* rec : mChildThreadRecorders) + { LLMutexLock lock(&(rec->mSharedRecordingMutex)); - target_recording_buffers.merge((*it)->mSharedRecordingBuffers); - (*it)->mSharedRecordingBuffers.reset(); + target_recording_buffers.merge(rec->mSharedRecordingBuffers); + rec->mSharedRecordingBuffers.reset(); } } #endif @@ -308,13 +306,13 @@ ThreadRecorder* get_master_thread_recorder() return sMasterThreadRecorder; } -LLThreadLocalPointer<ThreadRecorder>& get_thread_recorder_ptr() +ThreadRecorder*& get_thread_recorder_ptr() { - static LLThreadLocalPointer<ThreadRecorder> s_thread_recorder; + static thread_local ThreadRecorder* s_thread_recorder; return s_thread_recorder; } -const LLThreadLocalPointer<ThreadRecorder>& get_thread_recorder() +ThreadRecorder* get_thread_recorder() { return get_thread_recorder_ptr(); } diff --git a/indra/llcommon/lltracethreadrecorder.h b/indra/llcommon/lltracethreadrecorder.h index 1294d4318f..8ee6729ac6 100644 --- a/indra/llcommon/lltracethreadrecorder.h +++ b/indra/llcommon/lltracethreadrecorder.h @@ -32,7 +32,6 @@ #include "llmutex.h" #include "lltraceaccumulators.h" -#include "llthreadlocalstorage.h" namespace LLTrace { @@ -92,7 +91,7 @@ namespace LLTrace }; - const LLThreadLocalPointer<ThreadRecorder>& get_thread_recorder(); + ThreadRecorder* get_thread_recorder(); void set_thread_recorder(ThreadRecorder*); void set_master_thread_recorder(ThreadRecorder*); diff --git a/indra/llcommon/lluri.cpp b/indra/llcommon/lluri.cpp index 22711a83d2..4fb92a8f3e 100644 --- a/indra/llcommon/lluri.cpp +++ b/indra/llcommon/lluri.cpp @@ -663,9 +663,9 @@ LLSD LLURI::pathArray() const tokenizer::iterator end = tokens.end(); LLSD params; - for ( ; it != end; ++it) + for (const std::string& str : tokens) { - params.append(*it); + params.append(str); } return params; } diff --git a/indra/llcommon/llworkerthread.cpp b/indra/llcommon/llworkerthread.cpp index 97838e296e..e5eda1eac7 100644 --- a/indra/llcommon/llworkerthread.cpp +++ b/indra/llcommon/llworkerthread.cpp @@ -69,11 +69,11 @@ void LLWorkerThread::clearDeleteList() << " entries in delete list." << LL_ENDL; mDeleteMutex->lock(); - for (delete_list_t::iterator iter = mDeleteList.begin(); iter != mDeleteList.end(); ++iter) + for (LLWorkerClass* worker : mDeleteList) { - (*iter)->mRequestHandle = LLWorkerThread::nullHandle(); - (*iter)->clearFlags(LLWorkerClass::WCF_HAVE_WORK); - delete *iter ; + worker->mRequestHandle = LLWorkerThread::nullHandle(); + worker->clearFlags(LLWorkerClass::WCF_HAVE_WORK); + delete worker; } mDeleteList.clear() ; mDeleteMutex->unlock() ; @@ -108,15 +108,12 @@ size_t LLWorkerThread::update(F32 max_time_ms) } mDeleteMutex->unlock(); // abort and delete after releasing mutex - for (std::vector<LLWorkerClass*>::iterator iter = abort_list.begin(); - iter != abort_list.end(); ++iter) + for (LLWorkerClass* worker : abort_list) { - (*iter)->abortWork(false); + worker->abortWork(false); } - for (std::vector<LLWorkerClass*>::iterator iter = delete_list.begin(); - iter != delete_list.end(); ++iter) + for (LLWorkerClass* worker : delete_list) { - LLWorkerClass* worker = *iter; if (worker->mRequestHandle) { // Finished but not completed @@ -124,7 +121,7 @@ size_t LLWorkerThread::update(F32 max_time_ms) worker->mRequestHandle = LLWorkerThread::nullHandle(); worker->clearFlags(LLWorkerClass::WCF_HAVE_WORK); } - delete *iter; + delete worker; } // delete and aborted entries mean there's still work to do res += delete_list.size() + abort_list.size(); diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index bac630f626..ed5334d31b 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -5013,6 +5013,17 @@ void LLVolumeFace::optimize(F32 angle_cutoff) { U16 index = mIndices[i]; + if (index >= mNumVertices) + { + // invalid index + // replace with a valid index to avoid crashes + index = mNumVertices - 1; + mIndices[i] = index; + + // Needs better logging + LL_DEBUGS_ONCE("LLVOLUME") << "Invalid index, substituting" << LL_ENDL; + } + LLVolumeFace::VertexData cv; getVertexData(index, cv); @@ -5385,6 +5396,17 @@ bool LLVolumeFace::cacheOptimize() U16 idx = mIndices[i]; U32 tri_idx = i / 3; + if (idx >= mNumVertices) + { + // invalid index + // replace with a valid index to avoid crashes + idx = mNumVertices - 1; + mIndices[i] = idx; + + // Needs better logging + LL_DEBUGS_ONCE("LLVOLUME") << "Invalid index, substituting" << LL_ENDL; + } + vertex_data[idx].mTriangles.push_back(&(triangle_data[tri_idx])); vertex_data[idx].mIdx = idx; triangle_data[tri_idx].mVertex[i % 3] = &(vertex_data[idx]); diff --git a/indra/llmessage/llcoproceduremanager.cpp b/indra/llmessage/llcoproceduremanager.cpp index be014e7b1e..d310cefd1e 100644 --- a/indra/llmessage/llcoproceduremanager.cpp +++ b/indra/llmessage/llcoproceduremanager.cpp @@ -47,7 +47,10 @@ static const std::map<std::string, U32> DefaultPoolSizes{ }; static const U32 DEFAULT_POOL_SIZE = 5; -const U32 LLCoprocedureManager::DEFAULT_QUEUE_SIZE = 4096; +// SL-14399: When we teleport to a brand-new simulator, the coprocedure queue +// gets absolutely slammed with fetch requests. Make this queue effectively +// unlimited. +const U32 LLCoprocedureManager::DEFAULT_QUEUE_SIZE = 1024*1024; //========================================================================= class LLCoprocedurePool: private boost::noncopyable diff --git a/indra/llmessage/message_prehash.cpp b/indra/llmessage/message_prehash.cpp index 35dcbe3836..57ea954054 100644 --- a/indra/llmessage/message_prehash.cpp +++ b/indra/llmessage/message_prehash.cpp @@ -666,7 +666,6 @@ char const* const _PREHASH_GroupRolesCount = LLMessageStringTable::getInstance() char const* const _PREHASH_SimulatorBlock = LLMessageStringTable::getInstance()->getString("SimulatorBlock"); char const* const _PREHASH_GroupID = LLMessageStringTable::getInstance()->getString("GroupID"); char const* const _PREHASH_AgentVel = LLMessageStringTable::getInstance()->getString("AgentVel"); -char const* const _PREHASH_RequestImage = LLMessageStringTable::getInstance()->getString("RequestImage"); char const* const _PREHASH_NetStats = LLMessageStringTable::getInstance()->getString("NetStats"); char const* const _PREHASH_AgentPos = LLMessageStringTable::getInstance()->getString("AgentPos"); char const* const _PREHASH_AgentSit = LLMessageStringTable::getInstance()->getString("AgentSit"); @@ -1047,7 +1046,6 @@ char const* const _PREHASH_SortOrder = LLMessageStringTable::getInstance()->getS char const* const _PREHASH_Hunter = LLMessageStringTable::getInstance()->getString("Hunter"); char const* const _PREHASH_SunAngVelocity = LLMessageStringTable::getInstance()->getString("SunAngVelocity"); char const* const _PREHASH_BinaryBucket = LLMessageStringTable::getInstance()->getString("BinaryBucket"); -char const* const _PREHASH_ImagePacket = LLMessageStringTable::getInstance()->getString("ImagePacket"); char const* const _PREHASH_StartGroupProposal = LLMessageStringTable::getInstance()->getString("StartGroupProposal"); char const* const _PREHASH_EnergyLevel = LLMessageStringTable::getInstance()->getString("EnergyLevel"); char const* const _PREHASH_PriceForListing = LLMessageStringTable::getInstance()->getString("PriceForListing"); @@ -1236,7 +1234,6 @@ char const* const _PREHASH_ForceScriptControlRelease = LLMessageStringTable::get char const* const _PREHASH_ParcelRelease = LLMessageStringTable::getInstance()->getString("ParcelRelease"); char const* const _PREHASH_VFileType = LLMessageStringTable::getInstance()->getString("VFileType"); char const* const _PREHASH_EjectGroupMemberReply = LLMessageStringTable::getInstance()->getString("EjectGroupMemberReply"); -char const* const _PREHASH_ImageData = LLMessageStringTable::getInstance()->getString("ImageData"); char const* const _PREHASH_SimulatorViewerTimeMessage = LLMessageStringTable::getInstance()->getString("SimulatorViewerTimeMessage"); char const* const _PREHASH_Rotation = LLMessageStringTable::getInstance()->getString("Rotation"); char const* const _PREHASH_Selection = LLMessageStringTable::getInstance()->getString("Selection"); diff --git a/indra/llmessage/message_prehash.h b/indra/llmessage/message_prehash.h index 3015f438b5..572dadd408 100644 --- a/indra/llmessage/message_prehash.h +++ b/indra/llmessage/message_prehash.h @@ -666,7 +666,6 @@ extern char const* const _PREHASH_GroupRolesCount; extern char const* const _PREHASH_SimulatorBlock; extern char const* const _PREHASH_GroupID; extern char const* const _PREHASH_AgentVel; -extern char const* const _PREHASH_RequestImage; extern char const* const _PREHASH_NetStats; extern char const* const _PREHASH_AgentPos; extern char const* const _PREHASH_AgentSit; @@ -1047,7 +1046,6 @@ extern char const* const _PREHASH_SortOrder; extern char const* const _PREHASH_Hunter; extern char const* const _PREHASH_SunAngVelocity; extern char const* const _PREHASH_BinaryBucket; -extern char const* const _PREHASH_ImagePacket; extern char const* const _PREHASH_StartGroupProposal; extern char const* const _PREHASH_EnergyLevel; extern char const* const _PREHASH_PriceForListing; diff --git a/indra/llprimitive/lldaeloader.cpp b/indra/llprimitive/lldaeloader.cpp index 68654486a4..752a850d42 100644 --- a/indra/llprimitive/lldaeloader.cpp +++ b/indra/llprimitive/lldaeloader.cpp @@ -330,7 +330,10 @@ LLModel::EModelStatus load_face_from_dom_triangles( // VFExtents change face.mExtents[0].set(v[0], v[1], v[2]); face.mExtents[1].set(v[0], v[1], v[2]); - point_map.clear(); + + verts.clear(); + indices.clear(); + point_map.clear(); } } diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index 805af55299..220e0fbe84 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -832,55 +832,69 @@ LLSD LLModel::writeModel( if (skinning) { - //write out skin weights - - //each influence list entry is up to 4 24-bit values - // first 8 bits is bone index - // last 16 bits is bone influence weight - // a bone index of 0xFF signifies no more influences for this vertex - - std::stringstream ostr; - - for (U32 j = 0; j < face.mNumVertices; ++j) - { - LLVector3 pos(face.mPositions[j].getF32ptr()); - - weight_list& weights = model[idx]->getJointInfluences(pos); - - S32 count = 0; - for (weight_list::iterator iter = weights.begin(); iter != weights.end(); ++iter) - { - // Note joint index cannot exceed 255. - if (iter->mJointIdx < 255 && iter->mJointIdx >= 0) - { - U8 idx = (U8) iter->mJointIdx; - ostr.write((const char*) &idx, 1); - - U16 influence = (U16) (iter->mWeight*65535); - ostr.write((const char*) &influence, 2); - - ++count; - } - } - U8 end_list = 0xFF; - if (count < 4) - { - ostr.write((const char*) &end_list, 1); - } - } - - //copy ostr to binary buffer - std::string data = ostr.str(); - const U8* buff = (U8*) data.data(); - U32 bytes = data.size(); - - LLSD::Binary w(bytes); - for (U32 j = 0; j < bytes; ++j) - { - w[j] = buff[j]; - } - - mdl[model_names[idx]][i]["Weights"] = w; + if (!model[idx]->mSkinWeights.empty()) + { + //write out skin weights + + //each influence list entry is up to 4 24-bit values + // first 8 bits is bone index + // last 16 bits is bone influence weight + // a bone index of 0xFF signifies no more influences for this vertex + + std::stringstream ostr; + for (U32 j = 0; j < face.mNumVertices; ++j) + { + LLVector3 pos(face.mPositions[j].getF32ptr()); + + weight_list& weights = model[idx]->getJointInfluences(pos); + + S32 count = 0; + for (weight_list::iterator iter = weights.begin(); iter != weights.end(); ++iter) + { + // Note joint index cannot exceed 255. + if (iter->mJointIdx < 255 && iter->mJointIdx >= 0) + { + U8 idx = (U8)iter->mJointIdx; + ostr.write((const char*)&idx, 1); + + U16 influence = (U16)(iter->mWeight * 65535); + ostr.write((const char*)&influence, 2); + + ++count; + } + } + U8 end_list = 0xFF; + if (count < 4) + { + ostr.write((const char*)&end_list, 1); + } + } + + //copy ostr to binary buffer + std::string data = ostr.str(); + const U8* buff = (U8*)data.data(); + U32 bytes = data.size(); + + LLSD::Binary w(bytes); + for (U32 j = 0; j < bytes; ++j) + { + w[j] = buff[j]; + } + + mdl[model_names[idx]][i]["Weights"] = w; + } + else + { + if (idx == LLModel::LOD_PHYSICS) + { + // Ex: using "bounding box" + LL_DEBUGS("MESHSKININFO") << "Using physics model without skin weights" << LL_ENDL; + } + else + { + LL_WARNS("MESHSKININFO") << "Attempting to use skinning without having skin weights" << LL_ENDL; + } + } } } } @@ -982,6 +996,8 @@ LLModel::weight_list& LLModel::getJointInfluences(const LLVector3& pos) //1. If a vertex has been weighted then we'll find it via pos and return its weight list weight_map::iterator iterPos = mSkinWeights.begin(); weight_map::iterator iterEnd = mSkinWeights.end(); + + llassert(!mSkinWeights.empty()); for ( ; iterPos!=iterEnd; ++iterPos ) { diff --git a/indra/llprimitive/llmodel.h b/indra/llprimitive/llmodel.h index a6ab96ab18..2aaaa4e8c1 100644 --- a/indra/llprimitive/llmodel.h +++ b/indra/llprimitive/llmodel.h @@ -57,6 +57,8 @@ public: mutable std::vector<S32> mJointNums; typedef std::vector<LLMatrix4a, boost::alignment::aligned_allocator<LLMatrix4a, 16>> matrix_list_t; matrix_list_t mInvBindMatrix; + + // bones/joints position overrides matrix_list_t mAlternateBindMatrix; LL_ALIGN_16(LLMatrix4a mBindShapeMatrix); diff --git a/indra/llui/llchat.h b/indra/llui/llchat.h index c39e44200c..b4fd5f60aa 100644 --- a/indra/llui/llchat.h +++ b/indra/llui/llchat.h @@ -38,7 +38,8 @@ typedef enum e_chat_source_type CHAT_SOURCE_AGENT = 1, CHAT_SOURCE_OBJECT = 2, CHAT_SOURCE_TELEPORT = 3, - CHAT_SOURCE_UNKNOWN = 4 + CHAT_SOURCE_UNKNOWN = 4, + CHAT_SOURCE_REGION = 5, } EChatSourceType; typedef enum e_chat_type diff --git a/indra/llui/llcheckboxctrl.cpp b/indra/llui/llcheckboxctrl.cpp index 08da599ef2..362fe0c19e 100644 --- a/indra/llui/llcheckboxctrl.cpp +++ b/indra/llui/llcheckboxctrl.cpp @@ -203,11 +203,9 @@ void LLCheckBoxCtrl::reshape(S32 width, S32 height, BOOL called_from_parent) // it will work fine in case of decrease of space, but if we get more space or text // becomes longer, label will fail to grow so reinit label's dimentions. - static LLUICachedControl<S32> llcheckboxctrl_hpad("UICheckboxctrlHPad", 0); LLRect label_rect = mLabel->getRect(); - S32 new_width = getRect().getWidth() - label_rect.mLeft - llcheckboxctrl_hpad; - label_rect.mRight = label_rect.mLeft + new_width; - mLabel->setRect(label_rect); + S32 new_width = rect.getWidth() - label_rect.mLeft; + mLabel->reshape(new_width, label_rect.getHeight(), TRUE); S32 label_top = label_rect.mTop; mLabel->reshapeToFitText(TRUE); diff --git a/indra/llui/llfolderviewmodel.h b/indra/llui/llfolderviewmodel.h index 093e213be3..618169a8fe 100644 --- a/indra/llui/llfolderviewmodel.h +++ b/indra/llui/llfolderviewmodel.h @@ -172,7 +172,7 @@ public: virtual BOOL removeItem() = 0; virtual void removeBatch(std::vector<LLFolderViewModelItem*>& batch) = 0; - virtual BOOL isItemCopyable() const = 0; + virtual bool isItemCopyable(bool can_copy_as_link = true) const = 0; virtual BOOL copyToClipboard() const = 0; virtual BOOL cutToClipboard() = 0; virtual bool isCutToClipboard() { return false; }; diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp index 65c7b420ce..88c1bdc0d5 100644 --- a/indra/llui/llscrolllistctrl.cpp +++ b/indra/llui/llscrolllistctrl.cpp @@ -3395,3 +3395,42 @@ boost::signals2::connection LLScrollListCtrl::setIsFriendCallback(const is_frien } return mIsFriendSignal->connect(cb); } + +bool LLScrollListCtrl::highlightMatchingItems(const std::string& filter_str) +{ + if (filter_str == "" || filter_str == " ") + { + clearHighlightedItems(); + return false; + } + + bool res = false; + + setHighlightedColor(LLUIColorTable::instance().getColor("SearchableControlHighlightColor", LLColor4::red)); + + std::string filter_str_lc(filter_str); + LLStringUtil::toLower(filter_str_lc); + + std::vector<LLScrollListItem*> data = getAllData(); + std::vector<LLScrollListItem*>::iterator iter = data.begin(); + while (iter != data.end()) + { + LLScrollListCell* cell = (*iter)->getColumn(0); + if (cell) + { + std::string value = cell->getValue().asString(); + LLStringUtil::toLower(value); + if (value.find(filter_str_lc) == std::string::npos) + { + (*iter)->setHighlighted(false); + } + else + { + (*iter)->setHighlighted(true); + res = true; + } + } + iter++; + } + return res; +} diff --git a/indra/llui/llscrolllistctrl.h b/indra/llui/llscrolllistctrl.h index 77d10fdec7..11ee012185 100644 --- a/indra/llui/llscrolllistctrl.h +++ b/indra/llui/llscrolllistctrl.h @@ -419,6 +419,8 @@ public: void setNeedsSort(bool val = true) { mSorted = !val; } void dirtyColumns(); // some operation has potentially affected column layout or ordering + bool highlightMatchingItems(const std::string& filter_str); + boost::signals2::connection setSortCallback(sort_signal_t::slot_type cb ) { if (!mSortCallback) mSortCallback = new sort_signal_t(); diff --git a/indra/llui/llspinctrl.cpp b/indra/llui/llspinctrl.cpp index ef7c8ec012..c411aafb1a 100644 --- a/indra/llui/llspinctrl.cpp +++ b/indra/llui/llspinctrl.cpp @@ -101,7 +101,10 @@ LLSpinCtrl::LLSpinCtrl(const LLSpinCtrl::Params& p) // Spin buttons LLButton::Params up_button_params(p.up_button); up_button_params.rect = LLRect(btn_left, getRect().getHeight(), btn_right, getRect().getHeight() - spinctrl_btn_height); - up_button_params.click_callback.function(boost::bind(&LLSpinCtrl::onUpBtn, this, _2)); + // Click callback starts within the button and ends within the button, + // but LLSpinCtrl handles the action continuosly so subsribers needs to + // be informed about click ending even if outside view, use 'up' instead + up_button_params.mouse_up_callback.function(boost::bind(&LLSpinCtrl::onUpBtn, this, _2)); up_button_params.mouse_held_callback.function(boost::bind(&LLSpinCtrl::onUpBtn, this, _2)); up_button_params.commit_on_capture_lost = true; @@ -110,7 +113,7 @@ LLSpinCtrl::LLSpinCtrl(const LLSpinCtrl::Params& p) LLButton::Params down_button_params(p.down_button); down_button_params.rect = LLRect(btn_left, getRect().getHeight() - spinctrl_btn_height, btn_right, getRect().getHeight() - 2 * spinctrl_btn_height); - down_button_params.click_callback.function(boost::bind(&LLSpinCtrl::onDownBtn, this, _2)); + down_button_params.mouse_up_callback.function(boost::bind(&LLSpinCtrl::onDownBtn, this, _2)); down_button_params.mouse_held_callback.function(boost::bind(&LLSpinCtrl::onDownBtn, this, _2)); down_button_params.commit_on_capture_lost = true; mDownBtn = LLUICtrlFactory::create<LLButton>(down_button_params); diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 7e4aaa53bf..8effd866e0 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -355,95 +355,113 @@ void LLTextBase::onValueChange(S32 start, S32 end) { } - -// Draws the black box behind the selected text -void LLTextBase::drawSelectionBackground() +std::vector<LLRect> LLTextBase::getSelctionRects() { - // Draw selection even if we don't have keyboard focus for search/replace - if( hasSelection() && !mLineInfoList.empty()) - { - std::vector<LLRect> selection_rects; + // Nor supposed to be called without selection + llassert(hasSelection()); + llassert(!mLineInfoList.empty()); - S32 selection_left = llmin( mSelectionStart, mSelectionEnd ); - S32 selection_right = llmax( mSelectionStart, mSelectionEnd ); + std::vector<LLRect> selection_rects; - // Skip through the lines we aren't drawing. - LLRect content_display_rect = getVisibleDocumentRect(); + S32 selection_left = llmin(mSelectionStart, mSelectionEnd); + S32 selection_right = llmax(mSelectionStart, mSelectionEnd); - // binary search for line that starts before top of visible buffer - line_list_t::const_iterator line_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), content_display_rect.mTop, compare_bottom()); - line_list_t::const_iterator end_iter = std::upper_bound(mLineInfoList.begin(), mLineInfoList.end(), content_display_rect.mBottom, compare_top()); + // Skip through the lines we aren't drawing. + LLRect content_display_rect = getVisibleDocumentRect(); - bool done = false; + // binary search for line that starts before top of visible buffer + line_list_t::const_iterator line_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), content_display_rect.mTop, compare_bottom()); + line_list_t::const_iterator end_iter = std::upper_bound(mLineInfoList.begin(), mLineInfoList.end(), content_display_rect.mBottom, compare_top()); - // Find the coordinates of the selected area - for (;line_iter != end_iter && !done; ++line_iter) - { - // is selection visible on this line? - if (line_iter->mDocIndexEnd > selection_left && line_iter->mDocIndexStart < selection_right) - { - segment_set_t::iterator segment_iter; - S32 segment_offset; - getSegmentAndOffset(line_iter->mDocIndexStart, &segment_iter, &segment_offset); - - LLRect selection_rect; - selection_rect.mLeft = line_iter->mRect.mLeft; - selection_rect.mRight = line_iter->mRect.mLeft; - selection_rect.mBottom = line_iter->mRect.mBottom; - selection_rect.mTop = line_iter->mRect.mTop; - - for(;segment_iter != mSegments.end(); ++segment_iter, segment_offset = 0) - { - LLTextSegmentPtr segmentp = *segment_iter; + bool done = false; - S32 segment_line_start = segmentp->getStart() + segment_offset; - S32 segment_line_end = llmin(segmentp->getEnd(), line_iter->mDocIndexEnd); + // Find the coordinates of the selected area + for (; line_iter != end_iter && !done; ++line_iter) + { + // is selection visible on this line? + if (line_iter->mDocIndexEnd > selection_left && line_iter->mDocIndexStart < selection_right) + { + segment_set_t::iterator segment_iter; + S32 segment_offset; + getSegmentAndOffset(line_iter->mDocIndexStart, &segment_iter, &segment_offset); - if (segment_line_start > segment_line_end) break; + // Use F32 otherwise a string of multiple segments + // will accumulate a large error + F32 left_precise = line_iter->mRect.mLeft; + F32 right_precise = line_iter->mRect.mLeft; - S32 segment_width = 0; - S32 segment_height = 0; + for (; segment_iter != mSegments.end(); ++segment_iter, segment_offset = 0) + { + LLTextSegmentPtr segmentp = *segment_iter; - // if selection after beginning of segment - if(selection_left >= segment_line_start) - { - S32 num_chars = llmin(selection_left, segment_line_end) - segment_line_start; - segmentp->getDimensions(segment_offset, num_chars, segment_width, segment_height); - selection_rect.mLeft += segment_width; - } + S32 segment_line_start = segmentp->getStart() + segment_offset; + S32 segment_line_end = llmin(segmentp->getEnd(), line_iter->mDocIndexEnd); - // if selection_right == segment_line_end then that means we are the first character of the next segment - // or first character of the next line, in either case we want to add the length of the current segment - // to the selection rectangle and continue. - // if selection right > segment_line_end then selection spans end of current segment... - if (selection_right >= segment_line_end) - { - // extend selection slightly beyond end of line - // to indicate selection of newline character (use "n" character to determine width) - S32 num_chars = segment_line_end - segment_line_start; - segmentp->getDimensions(segment_offset, num_chars, segment_width, segment_height); - selection_rect.mRight += segment_width; - } - // else if selection ends on current segment... - else - { - S32 num_chars = selection_right - segment_line_start; - segmentp->getDimensions(segment_offset, num_chars, segment_width, segment_height); - selection_rect.mRight += segment_width; + if (segment_line_start > segment_line_end) break; - break; - } - } - selection_rects.push_back(selection_rect); - } - } + F32 segment_width = 0; + S32 segment_height = 0; + + // if selection after beginning of segment + if (selection_left >= segment_line_start) + { + S32 num_chars = llmin(selection_left, segment_line_end) - segment_line_start; + segmentp->getDimensionsF32(segment_offset, num_chars, segment_width, segment_height); + left_precise += segment_width; + } + + // if selection_right == segment_line_end then that means we are the first character of the next segment + // or first character of the next line, in either case we want to add the length of the current segment + // to the selection rectangle and continue. + // if selection right > segment_line_end then selection spans end of current segment... + if (selection_right >= segment_line_end) + { + // extend selection slightly beyond end of line + // to indicate selection of newline character (use "n" character to determine width) + S32 num_chars = segment_line_end - segment_line_start; + segmentp->getDimensionsF32(segment_offset, num_chars, segment_width, segment_height); + right_precise += segment_width; + } + // else if selection ends on current segment... + else + { + S32 num_chars = selection_right - segment_line_start; + segmentp->getDimensionsF32(segment_offset, num_chars, segment_width, segment_height); + right_precise += segment_width; + + break; + } + } + + LLRect selection_rect; + selection_rect.mLeft = left_precise; + selection_rect.mRight = right_precise; + selection_rect.mBottom = line_iter->mRect.mBottom; + selection_rect.mTop = line_iter->mRect.mTop; + + selection_rects.push_back(selection_rect); + } + } + + return selection_rects; +} + +// Draws the black box behind the selected text +void LLTextBase::drawSelectionBackground() +{ + // Draw selection even if we don't have keyboard focus for search/replace + if (hasSelection() && !mLineInfoList.empty()) + { + std::vector<LLRect> selection_rects = getSelctionRects(); // Draw the selection box (we're using a box instead of reversing the colors on the selected text). gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); const LLColor4& color = mSelectedBGColor; F32 alpha = hasFocus() ? 0.7f : 0.3f; alpha *= getDrawContext().mAlpha; + LLColor4 selection_color(color.mV[VRED], color.mV[VGREEN], color.mV[VBLUE], alpha); + LLRect content_display_rect = getVisibleDocumentRect(); for (std::vector<LLRect>::iterator rect_it = selection_rects.begin(); rect_it != selection_rects.end(); @@ -2551,7 +2569,7 @@ S32 LLTextBase::getDocIndexFromLocalCoord( S32 local_x, S32 local_y, BOOL round, } S32 pos = getLength(); - S32 start_x = line_iter->mRect.mLeft + doc_rect.mLeft; + F32 start_x = line_iter->mRect.mLeft + doc_rect.mLeft; segment_set_t::iterator line_seg_iter; S32 line_seg_offset; @@ -2563,8 +2581,9 @@ S32 LLTextBase::getDocIndexFromLocalCoord( S32 local_x, S32 local_y, BOOL round, S32 segment_line_start = segmentp->getStart() + line_seg_offset; S32 segment_line_length = llmin(segmentp->getEnd(), line_iter->mDocIndexEnd) - segment_line_start; - S32 text_width, text_height; - bool newline = segmentp->getDimensions(line_seg_offset, segment_line_length, text_width, text_height); + F32 text_width; + S32 text_height; + bool newline = segmentp->getDimensionsF32(line_seg_offset, segment_line_length, text_width, text_height); if(newline) { @@ -2584,8 +2603,9 @@ S32 LLTextBase::getDocIndexFromLocalCoord( S32 local_x, S32 local_y, BOOL round, S32 offset; if (!segmentp->canEdit()) { - S32 segment_width, segment_height; - segmentp->getDimensions(0, segmentp->getEnd() - segmentp->getStart(), segment_width, segment_height); + F32 segment_width; + S32 segment_height; + segmentp->getDimensionsF32(0, segmentp->getEnd() - segmentp->getStart(), segment_width, segment_height); if (round && local_x - start_x > segment_width / 2) { offset = segment_line_length; @@ -2632,17 +2652,11 @@ LLRect LLTextBase::getDocRectFromDocIndex(S32 pos) const return LLRect(); } - LLRect doc_rect; - // clamp pos to valid values pos = llclamp(pos, 0, mLineInfoList.back().mDocIndexEnd - 1); line_list_t::const_iterator line_iter = std::upper_bound(mLineInfoList.begin(), mLineInfoList.end(), pos, line_end_compare()); - doc_rect.mLeft = line_iter->mRect.mLeft; - doc_rect.mBottom = line_iter->mRect.mBottom; - doc_rect.mTop = line_iter->mRect.mTop; - segment_set_t::iterator line_seg_iter; S32 line_seg_offset; segment_set_t::iterator cursor_seg_iter; @@ -2650,6 +2664,8 @@ LLRect LLTextBase::getDocRectFromDocIndex(S32 pos) const getSegmentAndOffset(line_iter->mDocIndexStart, &line_seg_iter, &line_seg_offset); getSegmentAndOffset(pos, &cursor_seg_iter, &cursor_seg_offset); + F32 doc_left_precise = line_iter->mRect.mLeft; + while(line_seg_iter != mSegments.end()) { const LLTextSegmentPtr segmentp = *line_seg_iter; @@ -2657,18 +2673,20 @@ LLRect LLTextBase::getDocRectFromDocIndex(S32 pos) const if (line_seg_iter == cursor_seg_iter) { // cursor advanced to right based on difference in offset of cursor to start of line - S32 segment_width, segment_height; - segmentp->getDimensions(line_seg_offset, cursor_seg_offset - line_seg_offset, segment_width, segment_height); - doc_rect.mLeft += segment_width; + F32 segment_width; + S32 segment_height; + segmentp->getDimensionsF32(line_seg_offset, cursor_seg_offset - line_seg_offset, segment_width, segment_height); + doc_left_precise += segment_width; break; } else { // add remainder of current text segment to cursor position - S32 segment_width, segment_height; - segmentp->getDimensions(line_seg_offset, (segmentp->getEnd() - segmentp->getStart()) - line_seg_offset, segment_width, segment_height); - doc_rect.mLeft += segment_width; + F32 segment_width; + S32 segment_height; + segmentp->getDimensionsF32(line_seg_offset, (segmentp->getEnd() - segmentp->getStart()) - line_seg_offset, segment_width, segment_height); + doc_left_precise += segment_width; // offset will be 0 for all segments after the first line_seg_offset = 0; // go to next text segment on this line @@ -2676,6 +2694,11 @@ LLRect LLTextBase::getDocRectFromDocIndex(S32 pos) const } } + LLRect doc_rect; + doc_rect.mLeft = doc_left_precise; + doc_rect.mBottom = line_iter->mRect.mBottom; + doc_rect.mTop = line_iter->mRect.mTop; + // set rect to 0 width doc_rect.mRight = doc_rect.mLeft; diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h index 25f8fa1c2b..e3cf56a5ee 100644 --- a/indra/llui/lltextbase.h +++ b/indra/llui/lltextbase.h @@ -638,6 +638,8 @@ protected: return mLabel.getString() + getToolTip(); } + std::vector<LLRect> getSelctionRects(); + protected: // text segmentation and flow segment_set_t mSegments; diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm index 049226db65..7936245744 100644 --- a/indra/llwindow/llopenglview-objc.mm +++ b/indra/llwindow/llopenglview-objc.mm @@ -495,7 +495,12 @@ attributedStringInfo getSegments(NSAttributedString *str) // e.g. OS Window for upload something or Input Window... // mModifiers instance variable is for insertText: or insertText:replacementRange: (by Pell Smit) mModifiers = [theEvent modifierFlags]; - unichar ch = [[theEvent charactersIgnoringModifiers] characterAtIndex:0]; + NSString *str_no_modifiers = [theEvent charactersIgnoringModifiers]; + unichar ch = 0; + if (str_no_modifiers.length) + { + ch = [str_no_modifiers characterAtIndex:0]; + } bool acceptsText = mHasMarkedText ? false : callKeyDown(&eventData, keycode, mModifiers, ch); if (acceptsText && diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index c487877caf..41f3042ace 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -3067,18 +3067,54 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ { LLMutexLock lock(&window_imp->mRawMouseMutex); - S32 speed; - const S32 DEFAULT_SPEED(10); - SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0); - if (speed == DEFAULT_SPEED) + bool absolute_coordinates = (raw->data.mouse.usFlags & MOUSE_MOVE_ABSOLUTE); + + if (absolute_coordinates) { - window_imp->mRawMouseDelta.mX += raw->data.mouse.lLastX; - window_imp->mRawMouseDelta.mY -= raw->data.mouse.lLastY; + static S32 prev_absolute_x = 0; + static S32 prev_absolute_y = 0; + S32 absolute_x; + S32 absolute_y; + + if ((raw->data.mouse.usFlags & 0x10) == 0x10) // touch screen? touch? Not defined in header + { + // touch screen spams (0,0) coordinates in a number of situations + // (0,0) might need to be filtered + absolute_x = raw->data.mouse.lLastX; + absolute_y = raw->data.mouse.lLastY; + } + else + { + bool v_desktop = (raw->data.mouse.usFlags & MOUSE_VIRTUAL_DESKTOP) == MOUSE_VIRTUAL_DESKTOP; + + S32 width = GetSystemMetrics(v_desktop ? SM_CXVIRTUALSCREEN : SM_CXSCREEN); + S32 height = GetSystemMetrics(v_desktop ? SM_CYVIRTUALSCREEN : SM_CYSCREEN); + + absolute_x = (raw->data.mouse.lLastX / 65535.0f) * width; + absolute_y = (raw->data.mouse.lLastY / 65535.0f) * height; + } + + window_imp->mRawMouseDelta.mX += absolute_x - prev_absolute_x; + window_imp->mRawMouseDelta.mY -= absolute_y - prev_absolute_y; + + prev_absolute_x = absolute_x; + prev_absolute_y = absolute_y; } else { - window_imp->mRawMouseDelta.mX += round((F32)raw->data.mouse.lLastX * (F32)speed / DEFAULT_SPEED); - window_imp->mRawMouseDelta.mY -= round((F32)raw->data.mouse.lLastY * (F32)speed / DEFAULT_SPEED); + S32 speed; + const S32 DEFAULT_SPEED(10); + SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0); + if (speed == DEFAULT_SPEED) + { + window_imp->mRawMouseDelta.mX += raw->data.mouse.lLastX; + window_imp->mRawMouseDelta.mY -= raw->data.mouse.lLastY; + } + else + { + window_imp->mRawMouseDelta.mX += round((F32)raw->data.mouse.lLastX * (F32)speed / DEFAULT_SPEED); + window_imp->mRawMouseDelta.mY -= round((F32)raw->data.mouse.lLastY * (F32)speed / DEFAULT_SPEED); + } } } } @@ -4215,7 +4251,10 @@ void LLWindowWin32::handleCompositionMessage(const U32 indexes) if (needs_update) { - mPreeditor->resetPreedit(); + if (preedit_string.length() != 0 || result_string.length() != 0) + { + mPreeditor->resetPreedit(); + } if (result_string.length() > 0) { diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 7d78ec9e3c..9eee5338ec 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -287,9 +287,9 @@ set(viewer_SOURCE_FILES llfloaternotificationsconsole.cpp llfloaternotificationstabbed.cpp llfloateroutfitphotopreview.cpp - llfloateroutfitsnapshot.cpp llfloaterobjectweights.cpp llfloateropenobject.cpp + llfloatersimpleoutfitsnapshot.cpp llfloaterpathfindingcharacters.cpp llfloaterpathfindingconsole.cpp llfloaterpathfindinglinksets.cpp @@ -929,9 +929,9 @@ set(viewer_HEADER_FILES llfloaternotificationsconsole.h llfloaternotificationstabbed.h llfloateroutfitphotopreview.h - llfloateroutfitsnapshot.h llfloaterobjectweights.h llfloateropenobject.h + llfloatersimpleoutfitsnapshot.h llfloaterpathfindingcharacters.h llfloaterpathfindingconsole.h llfloaterpathfindinglinksets.h diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 4aa5a3a58e..f5199477c5 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -6.6.8 +6.6.9 diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 6861153d43..2f5bf7d148 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4747,7 +4747,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>https://search.[GRID]/?query_term=[QUERY]&search_type=[TYPE][COLLECTION]&maturity=[MATURITY]&lang=[LANGUAGE]&g=[GODLIKE]&sid=[SESSION_ID]&rid=[REGION_ID]&pid=[PARCEL_ID]&channel=[CHANNEL]&version=[VERSION]&major=[VERSION_MAJOR]&minor=[VERSION_MINOR]&patch=[VERSION_PATCH]&build=[VERSION_BUILD]</string> + <string>https://search.[GRID]/viewer/?query_term=[QUERY]&search_type=[TYPE][COLLECTION]&maturity=[MATURITY]&lang=[LANGUAGE]&g=[GODLIKE]&sid=[SESSION_ID]&rid=[REGION_ID]&pid=[PARCEL_ID]&channel=[CHANNEL]&version=[VERSION]&major=[VERSION_MAJOR]&minor=[VERSION_MINOR]&patch=[VERSION_PATCH]&build=[VERSION_BUILD]</string> </map> <key>GuidebookURL</key> <map> @@ -14634,6 +14634,17 @@ <key>Value</key> <integer>0</integer> </map> + <key>MediaSoundsEarLocation</key> + <map> + <key>Comment</key> + <string>Location of the virtual ear for media and sounds</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>S32</string> + <key>Value</key> + <integer>0</integer> + </map> <key>VoiceHost</key> <map> <key>Comment</key> @@ -16755,17 +16766,6 @@ <key>Value</key> <integer>0</integer> </map> - <key>ResetUIScaleOnFirstRun</key> - <map> - <key>Comment</key> - <string>Resets the UI scale factor on first run due to changed display scaling behavior</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> <key>360CaptureUseInterestListCap</key> <map> <key>Comment</key> diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index b26194f278..b30d7655db 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -202,7 +202,7 @@ VARYING vec2 vary_texcoord2; uniform float env_intensity; uniform vec4 specular_color; // specular color RGB and specular exponent (glossiness) in alpha -#ifdef HAS_ALPHA_MASK +#if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_MASK) uniform float minimum_alpha; #endif @@ -227,12 +227,11 @@ void main() vec4 diffcol = texture2D(diffuseMap, vary_texcoord0.xy); diffcol.rgb *= vertex_color.rgb; -#ifdef HAS_ALPHA_MASK -#if DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_BLEND - if (diffcol.a*vertex_color.a < minimum_alpha) -#else - if (diffcol.a < minimum_alpha) -#endif +#if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_MASK) + + // Comparing floats cast from 8-bit values, produces acne right at the 8-bit transition points + float bias = 0.001953125; // 1/512, or half an 8-bit quantization (SL-18637) + if (diffcol.a < minimum_alpha-bias) { discard; } diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index 1ccde98283..93dd5e7e70 100644 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -33,7 +33,6 @@ RenderAvatarLODFactor 1 1.0 RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarMaxNonImpostors 1 16 RenderAvatarMaxComplexity 1 350000 -RenderAvatarVP 1 1 RenderAutoMuteSurfaceAreaLimit 1 1000.0 RenderCubeMap 1 1 RenderDelayVBUpdate 1 0 diff --git a/indra/newview/featuretable_linux.txt b/indra/newview/featuretable_linux.txt index 5542eee6ca..66197e6484 100644 --- a/indra/newview/featuretable_linux.txt +++ b/indra/newview/featuretable_linux.txt @@ -33,7 +33,6 @@ RenderAvatarLODFactor 1 1.0 RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarMaxNonImpostors 1 16 RenderAvatarMaxComplexity 1 350000 -RenderAvatarVP 1 1 RenderAutoMuteSurfaceAreaLimit 1 1000.0 RenderCubeMap 1 1 RenderDelayVBUpdate 1 0 @@ -80,7 +79,6 @@ RenderAvatarLODFactor 1 0 RenderAvatarPhysicsLODFactor 1 0 RenderAvatarMaxNonImpostors 1 3 RenderAvatarMaxComplexity 1 25000 -RenderAvatarVP 1 0 RenderFarClip 1 64 RenderFlexTimeFactor 1 0 RenderGlowResolutionPow 1 8 @@ -111,7 +109,6 @@ RenderAvatarLODFactor 1 0 RenderAvatarPhysicsLODFactor 1 0 RenderAvatarMaxNonImpostors 1 3 RenderAvatarMaxComplexity 1 35000 -RenderAvatarVP 1 0 RenderFarClip 1 64 RenderFlexTimeFactor 1 0 RenderGlowResolutionPow 1 8 @@ -141,7 +138,6 @@ RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 0.5 RenderAvatarMaxComplexity 1 100000 RenderAvatarPhysicsLODFactor 1 0.75 -RenderAvatarVP 1 1 RenderFarClip 1 96 RenderFlexTimeFactor 1 1.0 RenderGlowResolutionPow 1 8 @@ -171,7 +167,6 @@ RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 1.0 RenderAvatarMaxComplexity 1 200000 RenderAvatarPhysicsLODFactor 1 1.0 -RenderAvatarVP 1 1 RenderFarClip 1 128 RenderFlexTimeFactor 1 1.0 RenderGlowResolutionPow 1 9 @@ -201,7 +196,6 @@ RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 1.0 RenderAvatarMaxComplexity 1 250000 RenderAvatarPhysicsLODFactor 1 1.0 -RenderAvatarVP 1 1 RenderFarClip 1 128 RenderFlexTimeFactor 1 1.0 RenderGlowResolutionPow 1 9 @@ -231,7 +225,6 @@ RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 1.0 RenderAvatarMaxComplexity 1 300000 RenderAvatarPhysicsLODFactor 1 1.0 -RenderAvatarVP 1 1 RenderFarClip 1 128 RenderFlexTimeFactor 1 1.0 RenderGlowResolutionPow 1 9 @@ -261,7 +254,6 @@ RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 1.0 RenderAvatarMaxComplexity 1 350000 RenderAvatarPhysicsLODFactor 1 1.0 -RenderAvatarVP 1 1 RenderFarClip 1 128 RenderFlexTimeFactor 1 1.0 RenderGlowResolutionPow 1 9 @@ -290,7 +282,6 @@ RenderAnisotropic 1 1 RenderAvatarCloth 1 1 RenderAvatarLODFactor 1 1.0 RenderAvatarPhysicsLODFactor 1 1.0 -RenderAvatarVP 1 1 RenderFarClip 1 256 RenderFlexTimeFactor 1 1.0 RenderGlowResolutionPow 1 9 @@ -367,7 +358,6 @@ RenderCompressTextures 1 0 // No Pixel Shaders available // list NoPixelShaders -RenderAvatarVP 0 0 RenderAvatarCloth 0 0 RenderReflectionDetail 0 0 WindLightUseAtmosShaders 0 0 @@ -380,7 +370,6 @@ RenderShadowDetail 0 0 // No Vertex Shaders available // list NoVertexShaders -RenderAvatarVP 0 0 RenderAvatarCloth 0 0 RenderReflectionDetail 0 0 WindLightUseAtmosShaders 0 0 @@ -402,7 +391,6 @@ RenderVBOMappingDisable 1 1 list safe RenderAnisotropic 1 0 RenderAvatarCloth 0 0 -RenderAvatarVP 0 0 RenderAvatarMaxNonImpostors 1 16 RenderAvatarMaxComplexity 1 80000 RenderObjectBump 0 0 @@ -597,7 +585,6 @@ Disregard128DefaultDrawDistance 1 0 // on various ATI chipsets on drivers before 8.2 list ATIOldDriver -RenderAvatarVP 0 0 RenderAvatarCloth 0 0 // Avoid driver crashes with some features on Linux with old ATI drivers UseOcclusion 0 0 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index c9efd89cc8..fed035c7fa 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -33,7 +33,6 @@ RenderAvatarLODFactor 1 1.0 RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarMaxNonImpostors 1 16 RenderAvatarMaxComplexity 1 350000 -RenderAvatarVP 1 1 RenderAutoMuteSurfaceAreaLimit 1 1000.0 RenderCubeMap 1 1 RenderDelayVBUpdate 1 0 diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 5250369813..9018a5f168 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -2912,9 +2912,11 @@ void LLAgent::processMaturityPreferenceFromServer(const LLSD &result, U8 perferr bool LLAgent::requestPostCapability(const std::string &capName, LLSD &postData, httpCallback_t cbSuccess, httpCallback_t cbFailure) { - std::string url; - - url = getRegion()->getCapability(capName); + if (!getRegion()) + { + return false; + } + std::string url = getRegion()->getCapability(capName); if (url.empty()) { diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index b31447a72b..a4b4caddf1 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -209,7 +209,7 @@ #include "llcommandlineparser.h" #include "llfloatermemleak.h" #include "llfloaterreg.h" -#include "llfloateroutfitsnapshot.h" +#include "llfloatersimpleoutfitsnapshot.h" #include "llfloatersnapshot.h" #include "llsidepanelinventory.h" #include "llatmosphere.h" @@ -1275,7 +1275,6 @@ bool LLAppViewer::init() //LLSimpleton creations LLEnvironment::createInstance(); - LLEnvironment::getInstance()->initSingleton(); LLWorld::createInstance(); LLSelectMgr::createInstance(); LLViewerCamera::createInstance(); @@ -1521,7 +1520,7 @@ bool LLAppViewer::doFrame() LL_PROFILE_ZONE_NAMED_CATEGORY_APP( "df Snapshot" ) pingMainloopTimeout("Main:Snapshot"); LLFloaterSnapshot::update(); // take snapshots - LLFloaterOutfitSnapshot::update(); + LLFloaterSimpleOutfitSnapshot::update(); gGLActive = FALSE; } } diff --git a/indra/newview/llaudiosourcevo.cpp b/indra/newview/llaudiosourcevo.cpp index 1846238d93..43abbb57ee 100644 --- a/indra/newview/llaudiosourcevo.cpp +++ b/indra/newview/llaudiosourcevo.cpp @@ -102,7 +102,7 @@ LLVector3d LLAudioSourceVO::getPosGlobal() const bool LLAudioSourceVO::isInCutOffRadius(const LLVector3d pos_global, const F32 cutoff) const { - static LLCachedControl<S32> ear_mode(gSavedSettings, "VoiceEarLocation", 0); + static LLCachedControl<S32> ear_mode(gSavedSettings, "MediaSoundsEarLocation", 0); LLVector3d pos_ear; @@ -113,9 +113,6 @@ bool LLAudioSourceVO::isInCutOffRadius(const LLVector3d pos_global, const F32 cu break; case 1: // avatar - case 2: - // voice support 'mixed' in '2' case with agent's position and camera's rotations - // but it is not defined in settings and uses camera as default pos_ear = gAgent.getPositionGlobal(); break; diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index 7ff24f64ac..7188b9136c 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -650,7 +650,7 @@ public: void showInspector() { - if (mAvatarID.isNull() && CHAT_SOURCE_SYSTEM != mSourceType) return; + if (mAvatarID.isNull() && CHAT_SOURCE_SYSTEM != mSourceType && CHAT_SOURCE_REGION != mSourceType) return; if (mSourceType == CHAT_SOURCE_OBJECT) { @@ -798,6 +798,7 @@ public: icon->setValue(LLSD("OBJECT_Icon")); break; case CHAT_SOURCE_SYSTEM: + case CHAT_SOURCE_REGION: icon->setValue(LLSD("SL_Logo")); break; case CHAT_SOURCE_TELEPORT: @@ -947,7 +948,7 @@ protected: void showInfoCtrl() { - const bool isVisible = !mAvatarID.isNull() && !mFrom.empty() && CHAT_SOURCE_SYSTEM != mSourceType; + const bool isVisible = !mAvatarID.isNull() && !mFrom.empty() && CHAT_SOURCE_SYSTEM != mSourceType && CHAT_SOURCE_REGION != mSourceType; if (isVisible) { const LLRect sticky_rect = mUserNameTextBox->getRect(); @@ -1343,7 +1344,7 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL mEditor->appendText(chat.mFromName + delimiter, prependNewLineState, link_params); prependNewLineState = false; } - else if ( chat.mFromName != SYSTEM_FROM && chat.mFromID.notNull() && !message_from_log) + else if ( chat.mFromName != SYSTEM_FROM && chat.mFromID.notNull() && !message_from_log && chat.mSourceType != CHAT_SOURCE_REGION) { LLStyle::Params link_params(body_message_params); link_params.overwriteFrom(LLStyleMap::instance().lookupAgent(chat.mFromID)); diff --git a/indra/newview/llconversationmodel.h b/indra/newview/llconversationmodel.h index 787deeb594..7c6980a7e6 100644 --- a/indra/newview/llconversationmodel.h +++ b/indra/newview/llconversationmodel.h @@ -87,7 +87,7 @@ public: virtual BOOL removeItem() { return FALSE; } virtual void removeBatch(std::vector<LLFolderViewModelItem*>& batch) { } virtual void move( LLFolderViewModelItem* parent_listener ) { } - virtual BOOL isItemCopyable() const { return FALSE; } + virtual bool isItemCopyable(bool can_copy_as_link = true) const { return false; } virtual BOOL copyToClipboard() const { return FALSE; } virtual BOOL cutToClipboard() { return FALSE; } virtual BOOL isClipboardPasteable() const { return FALSE; } diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp index 8db6a10e26..e6b6b10408 100644 --- a/indra/newview/lldrawpoolbump.cpp +++ b/indra/newview/lldrawpoolbump.cpp @@ -41,6 +41,7 @@ #include "lldrawable.h" #include "llface.h" #include "llsky.h" +#include "llstartup.h" #include "lltextureentry.h" #include "llviewercamera.h" #include "llviewertexturelist.h" @@ -77,13 +78,10 @@ static S32 cube_channel = -1; static S32 diffuse_channel = -1; static S32 bump_channel = -1; -#define LL_BUMPLIST_MULTITHREADED 0 // TODO -- figure out why this doesn't work +// Enabled after changing LLViewerTexture::mNeedsCreateTexture to an +// LLAtomicBool; this should work just fine, now. HB +#define LL_BUMPLIST_MULTITHREADED 1 -// static -void LLStandardBumpmap::init() -{ - LLStandardBumpmap::restoreGL(); -} // static void LLStandardBumpmap::shutdown() @@ -94,7 +92,7 @@ void LLStandardBumpmap::shutdown() // static void LLStandardBumpmap::restoreGL() { - addstandard(); + addstandard(); } // static @@ -107,6 +105,12 @@ void LLStandardBumpmap::addstandard() return ; } + if (LLStartUp::getStartupState() < STATE_SEED_CAP_GRANTED) + { + // Not ready, need caps for images + return; + } + // can't assert; we destroyGL and restoreGL a lot during *first* startup, which populates this list already, THEN we explicitly init the list as part of *normal* startup. Sigh. So clear the list every time before we (re-)add the standard bumpmaps. //llassert( LLStandardBumpmap::sStandardBumpmapCount == 0 ); clear(); @@ -769,8 +773,6 @@ void LLBumpImageList::init() llassert( mBrightnessEntries.size() == 0 ); llassert( mDarknessEntries.size() == 0 ); - LLStandardBumpmap::init(); - LLStandardBumpmap::restoreGL(); sMainQueue = LL::WorkQueue::getInstance("mainloop"); sTexUpdateQueue = LL::WorkQueue::getInstance("LLImageGL"); // Share work queue with tex loader. diff --git a/indra/newview/lldrawpoolbump.h b/indra/newview/lldrawpoolbump.h index e8a027967b..cf463f4458 100644 --- a/indra/newview/lldrawpoolbump.h +++ b/indra/newview/lldrawpoolbump.h @@ -118,7 +118,6 @@ public: static void clear(); static void addstandard(); - static void init(); static void shutdown(); static void restoreGL(); static void destroyGL(); diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp index 1300cf3658..4ef14c20f7 100644 --- a/indra/newview/llenvironment.cpp +++ b/indra/newview/llenvironment.cpp @@ -874,26 +874,37 @@ void LLEnvironment::initSingleton() requestRegion(); - gAgent.addParcelChangedCallback([this]() { onParcelChange(); }); + if (!mParcelCallbackConnection.connected()) + { + mParcelCallbackConnection = gAgent.addParcelChangedCallback([this]() { onParcelChange(); }); - //TODO: This frequently results in one more request than we need. It isn't breaking, but should be nicer. - // We need to know new env version to fix this, without it we can only do full re-request - // Happens: on updates, on opening LLFloaterRegionInfo, on region crossing if info floater is open - LLRegionInfoModel::instance().setUpdateCallback([this]() { requestRegion(); }); - gAgent.addRegionChangedCallback([this]() { onRegionChange(); }); + //TODO: This frequently results in one more request than we need. It isn't breaking, but should be nicer. + // We need to know new env version to fix this, without it we can only do full re-request + // Happens: on updates, on opening LLFloaterRegionInfo, on region crossing if info floater is open + mRegionUpdateCallbackConnection = LLRegionInfoModel::instance().setUpdateCallback([this]() { requestRegion(); }); + mRegionChangeCallbackConnection = gAgent.addRegionChangedCallback([this]() { onRegionChange(); }); - gAgent.whenPositionChanged([this](const LLVector3 &localpos, const LLVector3d &) { onAgentPositionHasChanged(localpos); }); + mPositionCallbackConnection = gAgent.whenPositionChanged([this](const LLVector3 &localpos, const LLVector3d &) { onAgentPositionHasChanged(localpos); }); + } if (!gGenericDispatcher.isHandlerPresent(MESSAGE_PUSHENVIRONMENT)) { gGenericDispatcher.addHandler(MESSAGE_PUSHENVIRONMENT, &environment_push_dispatch_handler); } + LLEventPumps::instance().obtain(PUMP_EXPERIENCE).stopListening(LISTENER_NAME); LLEventPumps::instance().obtain(PUMP_EXPERIENCE).listen(LISTENER_NAME, [this](LLSD message) { listenExperiencePump(message); return false; }); } void LLEnvironment::cleanupSingleton() { + if (mParcelCallbackConnection.connected()) + { + mParcelCallbackConnection.disconnect(); + mRegionUpdateCallbackConnection.disconnect(); + mRegionChangeCallbackConnection.disconnect(); + mPositionCallbackConnection.disconnect(); + } LLEventPumps::instance().obtain(PUMP_EXPERIENCE).stopListening(LISTENER_NAME); } diff --git a/indra/newview/llenvironment.h b/indra/newview/llenvironment.h index 330de2bea8..64fd170e43 100644 --- a/indra/newview/llenvironment.h +++ b/indra/newview/llenvironment.h @@ -402,6 +402,11 @@ private: bool mShowMoonBeacon; S32 mEditorCounter; + connection_t mParcelCallbackConnection; + connection_t mRegionUpdateCallbackConnection; + connection_t mRegionChangeCallbackConnection; + connection_t mPositionCallbackConnection; + struct UpdateInfo { typedef std::shared_ptr<UpdateInfo> ptr_t; diff --git a/indra/newview/llfloater360capture.cpp b/indra/newview/llfloater360capture.cpp index c075f7e8bd..62a1e0af94 100644 --- a/indra/newview/llfloater360capture.cpp +++ b/indra/newview/llfloater360capture.cpp @@ -84,7 +84,7 @@ LLFloater360Capture::~LLFloater360Capture() // Tell the Simulator not to send us everything anymore // and revert to the regular "keyhole" frustum of interest // list updates. - if (gSavedSettings.getBOOL("360CaptureUseInterestListCap")) + if (!LLApp::isExiting() && gSavedSettings.getBOOL("360CaptureUseInterestListCap")) { const bool send_everything = false; changeInterestListMode(send_everything); diff --git a/indra/newview/llfloaterimnearbychat.cpp b/indra/newview/llfloaterimnearbychat.cpp index 4cceddeefb..f1807f1c5b 100644 --- a/indra/newview/llfloaterimnearbychat.cpp +++ b/indra/newview/llfloaterimnearbychat.cpp @@ -307,7 +307,6 @@ void LLFloaterIMNearbyChat::onOpen(const LLSD& key) restoreFloater(); onCollapseToLine(this); } - showTranslationCheckbox(LLTranslate::isTranslationConfigured()); } // virtual diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp index 48e2b8dc14..ee9dc35283 100644 --- a/indra/newview/llfloaterimsession.cpp +++ b/indra/newview/llfloaterimsession.cpp @@ -842,6 +842,7 @@ void LLFloaterIMSession::updateMessages() std::string from = msg["from"].asString(); std::string message = msg["message"].asString(); bool is_history = msg["is_history"].asBoolean(); + bool is_region_msg = msg["is_region_msg"].asBoolean(); LLChat chat; chat.mFromID = from_id; @@ -849,6 +850,10 @@ void LLFloaterIMSession::updateMessages() chat.mFromName = from; chat.mTimeStr = time; chat.mChatStyle = is_history ? CHAT_STYLE_HISTORY : chat.mChatStyle; + if (is_region_msg) + { + chat.mSourceType = CHAT_SOURCE_REGION; + } // process offer notification if (msg.has("notification_id")) diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index 93a0b39e02..204cd03b09 100644 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -253,7 +253,6 @@ BOOL LLFloaterIMSessionTab::postBuild() mGearBtn = getChild<LLButton>("gear_btn"); mAddBtn = getChild<LLButton>("add_btn"); mVoiceButton = getChild<LLButton>("voice_call_btn"); - mTranslationCheckBox = getChild<LLUICtrl>("translate_chat_checkbox_lp"); mParticipantListPanel = getChild<LLLayoutPanel>("speakers_list_panel"); mRightPartPanel = getChild<LLLayoutPanel>("right_part_holder"); @@ -811,8 +810,6 @@ void LLFloaterIMSessionTab::updateHeaderAndToolbar() mCloseBtn->setVisible(is_not_torn_off && !mIsNearbyChat); enableDisableCallBtn(); - - showTranslationCheckbox(); } void LLFloaterIMSessionTab::forceReshape() @@ -829,11 +826,6 @@ void LLFloaterIMSessionTab::reshapeChatLayoutPanel() mChatLayoutPanel->reshape(mChatLayoutPanel->getRect().getWidth(), mInputEditor->getRect().getHeight() + mInputEditorPad, FALSE); } -void LLFloaterIMSessionTab::showTranslationCheckbox(BOOL show) -{ - mTranslationCheckBox->setVisible(mIsNearbyChat && show); -} - // static void LLFloaterIMSessionTab::processChatHistoryStyleUpdate(bool clean_messages/* = false*/) { diff --git a/indra/newview/llfloaterimsessiontab.h b/indra/newview/llfloaterimsessiontab.h index 375461cfc1..9f00917647 100644 --- a/indra/newview/llfloaterimsessiontab.h +++ b/indra/newview/llfloaterimsessiontab.h @@ -71,8 +71,6 @@ public: static LLFloaterIMSessionTab* findConversation(const LLUUID& uuid); static LLFloaterIMSessionTab* getConversation(const LLUUID& uuid); - // show/hide the translation check box - void showTranslationCheckbox(const BOOL visible = FALSE); bool isNearbyChat() {return mIsNearbyChat;} @@ -187,7 +185,6 @@ protected: LLButton* mGearBtn; LLButton* mAddBtn; LLButton* mVoiceButton; - LLUICtrl* mTranslationCheckBox; private: // Handling selection and contextual menu diff --git a/indra/newview/llfloateroutfitsnapshot.cpp b/indra/newview/llfloateroutfitsnapshot.cpp deleted file mode 100644 index ad5e97e067..0000000000 --- a/indra/newview/llfloateroutfitsnapshot.cpp +++ /dev/null @@ -1,372 +0,0 @@ -/** - * @file llfloateroutfitsnapshot.cpp - * @brief Snapshot preview window for saving as an outfit thumbnail in visual outfit gallery - * - * $LicenseInfo:firstyear=2004&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2016, 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$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "llfloatersnapshot.h" -#include "llfloateroutfitsnapshot.h" - -#include "llagent.h" -#include "llfloaterreg.h" -#include "llimagefiltersmanager.h" -#include "llcheckboxctrl.h" -#include "llcombobox.h" -#include "llpostcard.h" -#include "llresmgr.h" // LLLocale -#include "llsdserialize.h" -#include "llsidetraypanelcontainer.h" -#include "llspinctrl.h" -#include "llviewercontrol.h" -#include "lltoolfocus.h" -#include "lltoolmgr.h" - -///---------------------------------------------------------------------------- -/// Local function declarations, constants, enums, and typedefs -///---------------------------------------------------------------------------- -LLOutfitSnapshotFloaterView* gOutfitSnapshotFloaterView = NULL; - -const S32 OUTFIT_SNAPSHOT_WIDTH = 256; -const S32 OUTFIT_SNAPSHOT_HEIGHT = 256; - -static LLDefaultChildRegistry::Register<LLOutfitSnapshotFloaterView> r("snapshot_outfit_floater_view"); - -///---------------------------------------------------------------------------- -/// Class LLFloaterOutfitSnapshot::Impl -///---------------------------------------------------------------------------- - -// virtual -LLPanelSnapshot* LLFloaterOutfitSnapshot::Impl::getActivePanel(LLFloaterSnapshotBase* floater, bool ok_if_not_found) -{ - LLPanel* panel = floater->getChild<LLPanel>("panel_outfit_snapshot_inventory"); - LLPanelSnapshot* active_panel = dynamic_cast<LLPanelSnapshot*>(panel); - if (!ok_if_not_found) - { - llassert_always(active_panel != NULL); - } - return active_panel; -} - -// virtual -LLSnapshotModel::ESnapshotFormat LLFloaterOutfitSnapshot::Impl::getImageFormat(LLFloaterSnapshotBase* floater) -{ - return LLSnapshotModel::SNAPSHOT_FORMAT_PNG; -} - -// virtual -LLSnapshotModel::ESnapshotLayerType LLFloaterOutfitSnapshot::Impl::getLayerType(LLFloaterSnapshotBase* floater) -{ - return LLSnapshotModel::SNAPSHOT_TYPE_COLOR; -} - -// This is the main function that keeps all the GUI controls in sync with the saved settings. -// It should be called anytime a setting is changed that could affect the controls. -// No other methods should be changing any of the controls directly except for helpers called by this method. -// The basic pattern for programmatically changing the GUI settings is to first set the -// appropriate saved settings and then call this method to sync the GUI with them. -// FIXME: The above comment seems obsolete now. -// virtual -void LLFloaterOutfitSnapshot::Impl::updateControls(LLFloaterSnapshotBase* floater) -{ - LLSnapshotModel::ESnapshotType shot_type = getActiveSnapshotType(floater); - LLSnapshotModel::ESnapshotFormat shot_format = (LLSnapshotModel::ESnapshotFormat)gSavedSettings.getS32("SnapshotFormat"); - LLSnapshotModel::ESnapshotLayerType layer_type = getLayerType(floater); - - LLSnapshotLivePreview* previewp = getPreviewView(); - BOOL got_snap = previewp && previewp->getSnapshotUpToDate(); - - // *TODO: Separate maximum size for Web images from postcards - LL_DEBUGS() << "Is snapshot up-to-date? " << got_snap << LL_ENDL; - - LLLocale locale(LLLocale::USER_LOCALE); - std::string bytes_string; - if (got_snap) - { - LLResMgr::getInstance()->getIntegerString(bytes_string, (previewp->getDataSize()) >> 10); - } - - // Update displayed image resolution. - LLTextBox* image_res_tb = floater->getChild<LLTextBox>("image_res_text"); - image_res_tb->setVisible(got_snap); - if (got_snap) - { - image_res_tb->setTextArg("[WIDTH]", llformat("%d", previewp->getEncodedImageWidth())); - image_res_tb->setTextArg("[HEIGHT]", llformat("%d", previewp->getEncodedImageHeight())); - } - - floater->getChild<LLUICtrl>("file_size_label")->setTextArg("[SIZE]", got_snap ? bytes_string : floater->getString("unknown")); - floater->getChild<LLUICtrl>("file_size_label")->setColor(LLUIColorTable::instance().getColor("LabelTextColor")); - - updateResolution(floater); - - if (previewp) - { - previewp->setSnapshotType(shot_type); - previewp->setSnapshotFormat(shot_format); - previewp->setSnapshotBufferType(layer_type); - } - - LLPanelSnapshot* current_panel = Impl::getActivePanel(floater); - if (current_panel) - { - LLSD info; - info["have-snapshot"] = got_snap; - current_panel->updateControls(info); - } - LL_DEBUGS() << "finished updating controls" << LL_ENDL; -} - -// virtual -std::string LLFloaterOutfitSnapshot::Impl::getSnapshotPanelPrefix() -{ - return "panel_outfit_snapshot_"; -} - -// Show/hide upload status message. -// virtual -void LLFloaterOutfitSnapshot::Impl::setFinished(bool finished, bool ok, const std::string& msg) -{ - mFloater->setSuccessLabelPanelVisible(finished && ok); - mFloater->setFailureLabelPanelVisible(finished && !ok); - - if (finished) - { - LLUICtrl* finished_lbl = mFloater->getChild<LLUICtrl>(ok ? "succeeded_lbl" : "failed_lbl"); - std::string result_text = mFloater->getString(msg + "_" + (ok ? "succeeded_str" : "failed_str")); - finished_lbl->setValue(result_text); - - LLPanel* snapshot_panel = mFloater->getChild<LLPanel>("panel_outfit_snapshot_inventory"); - snapshot_panel->onOpen(LLSD()); - } -} - -void LLFloaterOutfitSnapshot::Impl::updateResolution(void* data) -{ - LLFloaterOutfitSnapshot *view = (LLFloaterOutfitSnapshot *)data; - - if (!view) - { - llassert(view); - return; - } - - S32 width = OUTFIT_SNAPSHOT_WIDTH; - S32 height = OUTFIT_SNAPSHOT_HEIGHT; - - LLSnapshotLivePreview* previewp = getPreviewView(); - if (previewp) - { - S32 original_width = 0, original_height = 0; - previewp->getSize(original_width, original_height); - - if (gSavedSettings.getBOOL("RenderUIInSnapshot") || gSavedSettings.getBOOL("RenderHUDInSnapshot")) - { //clamp snapshot resolution to window size when showing UI or HUD in snapshot - width = llmin(width, gViewerWindow->getWindowWidthRaw()); - height = llmin(height, gViewerWindow->getWindowHeightRaw()); - } - - - llassert(width > 0 && height > 0); - - // use the resolution from the selected pre-canned drop-down choice - LL_DEBUGS() << "Setting preview res selected from combo: " << width << "x" << height << LL_ENDL; - previewp->setSize(width, height); - - if (original_width != width || original_height != height) - { - // hide old preview as the aspect ratio could be wrong - checkAutoSnapshot(previewp, FALSE); - LL_DEBUGS() << "updating thumbnail" << LL_ENDL; - previewp->updateSnapshot(TRUE); - } - } -} - -///---------------------------------------------------------------------------- -/// Class LLFloaterOutfitSnapshot -///---------------------------------------------------------------------------- - -// Default constructor -LLFloaterOutfitSnapshot::LLFloaterOutfitSnapshot(const LLSD& key) -: LLFloaterSnapshotBase(key), -mOutfitGallery(NULL) -{ - impl = new Impl(this); -} - -LLFloaterOutfitSnapshot::~LLFloaterOutfitSnapshot() -{ -} - -// virtual -BOOL LLFloaterOutfitSnapshot::postBuild() -{ - mRefreshBtn = getChild<LLUICtrl>("new_snapshot_btn"); - childSetAction("new_snapshot_btn", ImplBase::onClickNewSnapshot, this); - mRefreshLabel = getChild<LLUICtrl>("refresh_lbl"); - mSucceessLblPanel = getChild<LLUICtrl>("succeeded_panel"); - mFailureLblPanel = getChild<LLUICtrl>("failed_panel"); - - childSetCommitCallback("ui_check", ImplBase::onClickUICheck, this); - getChild<LLUICtrl>("ui_check")->setValue(gSavedSettings.getBOOL("RenderUIInSnapshot")); - - childSetCommitCallback("hud_check", ImplBase::onClickHUDCheck, this); - getChild<LLUICtrl>("hud_check")->setValue(gSavedSettings.getBOOL("RenderHUDInSnapshot")); - - getChild<LLUICtrl>("freeze_frame_check")->setValue(gSavedSettings.getBOOL("UseFreezeFrame")); - childSetCommitCallback("freeze_frame_check", ImplBase::onCommitFreezeFrame, this); - - getChild<LLUICtrl>("auto_snapshot_check")->setValue(gSavedSettings.getBOOL("AutoSnapshot")); - childSetCommitCallback("auto_snapshot_check", ImplBase::onClickAutoSnap, this); - - getChild<LLButton>("retract_btn")->setCommitCallback(boost::bind(&LLFloaterOutfitSnapshot::onExtendFloater, this)); - getChild<LLButton>("extend_btn")->setCommitCallback(boost::bind(&LLFloaterOutfitSnapshot::onExtendFloater, this)); - - // Filters - LLComboBox* filterbox = getChild<LLComboBox>("filters_combobox"); - std::vector<std::string> filter_list = LLImageFiltersManager::getInstance()->getFiltersList(); - for (U32 i = 0; i < filter_list.size(); i++) - { - filterbox->add(filter_list[i]); - } - childSetCommitCallback("filters_combobox", ImplBase::onClickFilter, this); - - mThumbnailPlaceholder = getChild<LLUICtrl>("thumbnail_placeholder"); - - // create preview window - LLRect full_screen_rect = getRootView()->getRect(); - LLSnapshotLivePreview::Params p; - p.rect(full_screen_rect); - LLSnapshotLivePreview* previewp = new LLSnapshotLivePreview(p); - LLView* parent_view = gSnapshotFloaterView->getParent(); - - parent_view->removeChild(gSnapshotFloaterView); - // make sure preview is below snapshot floater - parent_view->addChild(previewp); - parent_view->addChild(gSnapshotFloaterView); - - //move snapshot floater to special purpose snapshotfloaterview - gFloaterView->removeChild(this); - gSnapshotFloaterView->addChild(this); - - impl->mPreviewHandle = previewp->getHandle(); - previewp->setContainer(this); - impl->updateControls(this); - impl->setAdvanced(gSavedSettings.getBOOL("AdvanceOutfitSnapshot")); - impl->updateLayout(this); - - previewp->mKeepAspectRatio = FALSE; - previewp->setThumbnailPlaceholderRect(getThumbnailPlaceholderRect()); - - return TRUE; -} - -// virtual -void LLFloaterOutfitSnapshot::onOpen(const LLSD& key) -{ - LLSnapshotLivePreview* preview = getPreviewView(); - if (preview) - { - LL_DEBUGS() << "opened, updating snapshot" << LL_ENDL; - preview->updateSnapshot(TRUE); - } - focusFirstItem(FALSE); - gSnapshotFloaterView->setEnabled(TRUE); - gSnapshotFloaterView->setVisible(TRUE); - gSnapshotFloaterView->adjustToFitScreen(this, FALSE); - - impl->updateControls(this); - impl->setAdvanced(gSavedSettings.getBOOL("AdvanceOutfitSnapshot")); - impl->updateLayout(this); - - LLPanel* snapshot_panel = getChild<LLPanel>("panel_outfit_snapshot_inventory"); - snapshot_panel->onOpen(LLSD()); - postPanelSwitch(); - -} - -void LLFloaterOutfitSnapshot::onExtendFloater() -{ - impl->setAdvanced(gSavedSettings.getBOOL("AdvanceOutfitSnapshot")); -} - -// static -void LLFloaterOutfitSnapshot::update() -{ - LLFloaterOutfitSnapshot* inst = findInstance(); - if (inst != NULL) - { - inst->impl->updateLivePreview(); - } -} - - -// static -LLFloaterOutfitSnapshot* LLFloaterOutfitSnapshot::findInstance() -{ - return LLFloaterReg::findTypedInstance<LLFloaterOutfitSnapshot>("outfit_snapshot"); -} - -// static -LLFloaterOutfitSnapshot* LLFloaterOutfitSnapshot::getInstance() -{ - return LLFloaterReg::getTypedInstance<LLFloaterOutfitSnapshot>("outfit_snapshot"); -} - -// virtual -void LLFloaterOutfitSnapshot::saveTexture() -{ - LL_DEBUGS() << "saveTexture" << LL_ENDL; - - LLSnapshotLivePreview* previewp = getPreviewView(); - if (!previewp) - { - llassert(previewp != NULL); - return; - } - - if (mOutfitGallery) - { - mOutfitGallery->onBeforeOutfitSnapshotSave(); - } - previewp->saveTexture(TRUE, getOutfitID().asString()); - if (mOutfitGallery) - { - mOutfitGallery->onAfterOutfitSnapshotSave(); - } - closeFloater(); -} - -///---------------------------------------------------------------------------- -/// Class LLOutfitSnapshotFloaterView -///---------------------------------------------------------------------------- - -LLOutfitSnapshotFloaterView::LLOutfitSnapshotFloaterView(const Params& p) : LLFloaterView(p) -{ -} - -LLOutfitSnapshotFloaterView::~LLOutfitSnapshotFloaterView() -{ -} diff --git a/indra/newview/llfloateroutfitsnapshot.h b/indra/newview/llfloateroutfitsnapshot.h deleted file mode 100644 index bee386ec63..0000000000 --- a/indra/newview/llfloateroutfitsnapshot.h +++ /dev/null @@ -1,123 +0,0 @@ -/** - * @file llfloateroutfitsnapshot.h - * @brief Snapshot preview window for saving as an outfit thumbnail in visual outfit gallery - * - * $LicenseInfo:firstyear=2004&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2016, 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_LLFLOATEROUTFITSNAPSHOT_H -#define LL_LLFLOATEROUTFITSNAPSHOT_H - -#include "llfloater.h" -#include "llfloatersnapshot.h" -#include "lloutfitgallery.h" -#include "llsnapshotlivepreview.h" - -///---------------------------------------------------------------------------- -/// Class LLFloaterOutfitSnapshot -///---------------------------------------------------------------------------- - -class LLFloaterOutfitSnapshot : public LLFloaterSnapshotBase -{ - LOG_CLASS(LLFloaterOutfitSnapshot); - -public: - - LLFloaterOutfitSnapshot(const LLSD& key); - /*virtual*/ ~LLFloaterOutfitSnapshot(); - - /*virtual*/ BOOL postBuild(); - /*virtual*/ void onOpen(const LLSD& key); - - static void update(); - - void onExtendFloater(); - - static LLFloaterOutfitSnapshot* getInstance(); - static LLFloaterOutfitSnapshot* findInstance(); - /*virtual*/ void saveTexture(); - - const LLRect& getThumbnailPlaceholderRect() { return mThumbnailPlaceholder->getRect(); } - - void setOutfitID(LLUUID id) { mOutfitID = id; } - LLUUID getOutfitID() { return mOutfitID; } - void setGallery(LLOutfitGallery* gallery) { mOutfitGallery = gallery; } - - class Impl; - friend class Impl; -private: - - LLUUID mOutfitID; - LLOutfitGallery* mOutfitGallery; -}; - -///---------------------------------------------------------------------------- -/// Class LLFloaterOutfitSnapshot::Impl -///---------------------------------------------------------------------------- - -class LLFloaterOutfitSnapshot::Impl : public LLFloaterSnapshotBase::ImplBase -{ - LOG_CLASS(LLFloaterOutfitSnapshot::Impl); -public: - Impl(LLFloaterSnapshotBase* floater) - : LLFloaterSnapshotBase::ImplBase(floater) - {} - ~Impl() - {} - void updateResolution(void* data); - - static void onSnapshotUploadFinished(LLFloaterSnapshotBase* floater, bool status); - - /*virtual*/ LLPanelSnapshot* getActivePanel(LLFloaterSnapshotBase* floater, bool ok_if_not_found = true); - /*virtual*/ LLSnapshotModel::ESnapshotFormat getImageFormat(LLFloaterSnapshotBase* floater); - /*virtual*/ std::string getSnapshotPanelPrefix(); - - /*virtual*/ void updateControls(LLFloaterSnapshotBase* floater); - -private: - /*virtual*/ LLSnapshotModel::ESnapshotLayerType getLayerType(LLFloaterSnapshotBase* floater); - /*virtual*/ void setFinished(bool finished, bool ok = true, const std::string& msg = LLStringUtil::null); -}; - -///---------------------------------------------------------------------------- -/// Class LLOutfitSnapshotFloaterView -///---------------------------------------------------------------------------- - -class LLOutfitSnapshotFloaterView : public LLFloaterView -{ -public: - struct Params - : public LLInitParam::Block<Params, LLFloaterView::Params> - { - }; - -protected: - LLOutfitSnapshotFloaterView(const Params& p); - friend class LLUICtrlFactory; - -public: - virtual ~LLOutfitSnapshotFloaterView(); -}; - -extern LLOutfitSnapshotFloaterView* gOutfitSnapshotFloaterView; - -#endif // LL_LLFLOATEROUTFITSNAPSHOT_H diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 273810e8d4..6909ad513d 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -512,6 +512,7 @@ void LLFloaterPreference::saveSettings() if (panel) panel->saveSettings(); } + saveIgnoredNotifications(); } void LLFloaterPreference::apply() @@ -628,6 +629,8 @@ void LLFloaterPreference::cancel() gSavedSettings.setString("PresetGraphicActive", mSavedGraphicsPreset); LLPresetsManager::getInstance()->triggerChangeSignal(); } + + restoreIgnoredNotifications(); } void LLFloaterPreference::onOpen(const LLSD& key) @@ -1505,6 +1508,10 @@ void LLFloaterPreference::onClickEnablePopup() } buildPopupLists(); + if (!mFilterEdit->getText().empty()) + { + filterIgnorableNotifications(); + } } void LLFloaterPreference::onClickDisablePopup() @@ -1520,6 +1527,10 @@ void LLFloaterPreference::onClickDisablePopup() } buildPopupLists(); + if (!mFilterEdit->getText().empty()) + { + filterIgnorableNotifications(); + } } void LLFloaterPreference::resetAllIgnored() @@ -3545,11 +3556,24 @@ void LLFloaterPreference::onUpdateFilterTerm(bool force) return; mSearchData->mRootTab->hightlightAndHide( seachValue ); + filterIgnorableNotifications(); + LLTabContainer *pRoot = getChild< LLTabContainer >( "pref core" ); if( pRoot ) pRoot->selectFirstTab(); } +void LLFloaterPreference::filterIgnorableNotifications() +{ + bool visible = getChildRef<LLScrollListCtrl>("enabled_popups").highlightMatchingItems(mFilterEdit->getValue()); + visible |= getChildRef<LLScrollListCtrl>("disabled_popups").highlightMatchingItems(mFilterEdit->getValue()); + + if (visible) + { + getChildRef<LLTabContainer>("pref core").setTabVisibility( getChild<LLPanel>("msgs"), true ); + } +} + void collectChildren( LLView const *aView, ll::prefs::PanelDataPtr aParentPanel, ll::prefs::TabContainerDataPtr aParentTabContainer ) { if( !aView ) @@ -3638,3 +3662,28 @@ void LLFloaterPreference::collectSearchableItems() } mSearchDataDirty = false; } + +void LLFloaterPreference::saveIgnoredNotifications() +{ + for (LLNotifications::TemplateMap::const_iterator iter = LLNotifications::instance().templatesBegin(); + iter != LLNotifications::instance().templatesEnd(); + ++iter) + { + LLNotificationTemplatePtr templatep = iter->second; + LLNotificationFormPtr formp = templatep->mForm; + + LLNotificationForm::EIgnoreType ignore = formp->getIgnoreType(); + if (ignore <= LLNotificationForm::IGNORE_NO) + continue; + + mIgnorableNotifs[templatep->mName] = !formp->getIgnored(); + } +} + +void LLFloaterPreference::restoreIgnoredNotifications() +{ + for (std::map<std::string, bool>::iterator it = mIgnorableNotifs.begin(); it != mIgnorableNotifs.end(); ++it) + { + LLUI::getInstance()->mSettingGroups["ignores"]->setBOOL(it->first, it->second); + } +} diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h index 542df18ddb..e312c35135 100644 --- a/indra/newview/llfloaterpreference.h +++ b/indra/newview/llfloaterpreference.h @@ -143,6 +143,9 @@ public: // cancel() can restore them. void saveSettings(); + void saveIgnoredNotifications(); + void restoreIgnoredNotifications(); + void setCacheLocation(const LLStringExplicit& location); void onClickSetCache(); @@ -223,6 +226,9 @@ private: void onUpdateFilterTerm( bool force = false ); void collectSearchableItems(); + void filterIgnorableNotifications(); + + std::map<std::string, bool> mIgnorableNotifs; }; class LLPanelPreference : public LLPanel diff --git a/indra/newview/llfloatersimpleoutfitsnapshot.cpp b/indra/newview/llfloatersimpleoutfitsnapshot.cpp new file mode 100644 index 0000000000..bab2efbbd5 --- /dev/null +++ b/indra/newview/llfloatersimpleoutfitsnapshot.cpp @@ -0,0 +1,333 @@ +/** +* @file llfloatersimpleoutfitsnapshot.cpp +* @brief Snapshot preview window for saving as an outfit thumbnail in visual outfit gallery +* +* $LicenseInfo:firstyear=2022&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2022, 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$ +*/ + +#include "llviewerprecompiledheaders.h" + +#include "llfloatersimpleoutfitsnapshot.h" + +#include "llfloaterreg.h" +#include "llimagefiltersmanager.h" +#include "llstatusbar.h" // can_afford_transaction() +#include "llnotificationsutil.h" +#include "llagentbenefits.h" +#include "llviewercontrol.h" + +LLSimpleOutfitSnapshotFloaterView* gSimpleOutfitSnapshotFloaterView = NULL; + +const S32 OUTFIT_SNAPSHOT_WIDTH = 256; +const S32 OUTFIT_SNAPSHOT_HEIGHT = 256; + +static LLDefaultChildRegistry::Register<LLSimpleOutfitSnapshotFloaterView> r("simple_snapshot_outfit_floater_view"); + +///---------------------------------------------------------------------------- +/// Class LLFloaterSimpleOutfitSnapshot::Impl +///---------------------------------------------------------------------------- + +LLSnapshotModel::ESnapshotFormat LLFloaterSimpleOutfitSnapshot::Impl::getImageFormat(LLFloaterSnapshotBase* floater) +{ + return LLSnapshotModel::SNAPSHOT_FORMAT_PNG; +} + +LLSnapshotModel::ESnapshotLayerType LLFloaterSimpleOutfitSnapshot::Impl::getLayerType(LLFloaterSnapshotBase* floater) +{ + return LLSnapshotModel::SNAPSHOT_TYPE_COLOR; +} + +void LLFloaterSimpleOutfitSnapshot::Impl::updateControls(LLFloaterSnapshotBase* floater) +{ + LLSnapshotLivePreview* previewp = getPreviewView(); + updateResolution(floater); + if (previewp) + { + previewp->setSnapshotType(LLSnapshotModel::ESnapshotType::SNAPSHOT_TEXTURE); + previewp->setSnapshotFormat(LLSnapshotModel::ESnapshotFormat::SNAPSHOT_FORMAT_PNG); + previewp->setSnapshotBufferType(LLSnapshotModel::ESnapshotLayerType::SNAPSHOT_TYPE_COLOR); + } +} + +std::string LLFloaterSimpleOutfitSnapshot::Impl::getSnapshotPanelPrefix() +{ + return "panel_outfit_snapshot_"; +} + +void LLFloaterSimpleOutfitSnapshot::Impl::updateResolution(void* data) +{ + LLFloaterSimpleOutfitSnapshot *view = (LLFloaterSimpleOutfitSnapshot *)data; + + if (!view) + { + llassert(view); + return; + } + + S32 width = OUTFIT_SNAPSHOT_WIDTH; + S32 height = OUTFIT_SNAPSHOT_HEIGHT; + + LLSnapshotLivePreview* previewp = getPreviewView(); + if (previewp) + { + S32 original_width = 0, original_height = 0; + previewp->getSize(original_width, original_height); + + if (gSavedSettings.getBOOL("RenderHUDInSnapshot")) + { //clamp snapshot resolution to window size when showing UI HUD in snapshot + width = llmin(width, gViewerWindow->getWindowWidthRaw()); + height = llmin(height, gViewerWindow->getWindowHeightRaw()); + } + + llassert(width > 0 && height > 0); + + previewp->setSize(width, height); + + if (original_width != width || original_height != height) + { + // hide old preview as the aspect ratio could be wrong + checkAutoSnapshot(previewp, FALSE); + previewp->updateSnapshot(TRUE); + } + } +} + +void LLFloaterSimpleOutfitSnapshot::Impl::setStatus(EStatus status, bool ok, const std::string& msg) +{ + switch (status) + { + case STATUS_READY: + mFloater->setCtrlsEnabled(true); + break; + case STATUS_WORKING: + mFloater->setCtrlsEnabled(false); + break; + case STATUS_FINISHED: + mFloater->setCtrlsEnabled(true); + break; + } + + mStatus = status; +} + +///----------------------------------------------------------------re------------ +/// Class LLFloaterSimpleOutfitSnapshot +///---------------------------------------------------------------------------- + +LLFloaterSimpleOutfitSnapshot::LLFloaterSimpleOutfitSnapshot(const LLSD& key) + : LLFloaterSnapshotBase(key), + mOutfitGallery(NULL) +{ + impl = new Impl(this); +} + +LLFloaterSimpleOutfitSnapshot::~LLFloaterSimpleOutfitSnapshot() +{ +} + +BOOL LLFloaterSimpleOutfitSnapshot::postBuild() +{ + getChild<LLUICtrl>("save_btn")->setLabelArg("[UPLOAD_COST]", std::to_string(LLAgentBenefitsMgr::current().getTextureUploadCost())); + + childSetAction("new_snapshot_btn", ImplBase::onClickNewSnapshot, this); + childSetAction("save_btn", boost::bind(&LLFloaterSimpleOutfitSnapshot::onSend, this)); + childSetAction("cancel_btn", boost::bind(&LLFloaterSimpleOutfitSnapshot::onCancel, this)); + + mThumbnailPlaceholder = getChild<LLUICtrl>("thumbnail_placeholder"); + + // create preview window + LLRect full_screen_rect = getRootView()->getRect(); + LLSnapshotLivePreview::Params p; + p.rect(full_screen_rect); + LLSnapshotLivePreview* previewp = new LLSnapshotLivePreview(p); + LLView* parent_view = gSnapshotFloaterView->getParent(); + + parent_view->removeChild(gSnapshotFloaterView); + // make sure preview is below snapshot floater + parent_view->addChild(previewp); + parent_view->addChild(gSnapshotFloaterView); + + //move snapshot floater to special purpose snapshotfloaterview + gFloaterView->removeChild(this); + gSnapshotFloaterView->addChild(this); + + impl->mPreviewHandle = previewp->getHandle(); + previewp->setContainer(this); + impl->updateControls(this); + impl->setAdvanced(true); + impl->setSkipReshaping(true); + + previewp->mKeepAspectRatio = FALSE; + previewp->setThumbnailPlaceholderRect(getThumbnailPlaceholderRect()); + previewp->setAllowRenderUI(false); + + return TRUE; +} +const S32 PREVIEW_OFFSET_X = 12; +const S32 PREVIEW_OFFSET_Y = 70; + +void LLFloaterSimpleOutfitSnapshot::draw() +{ + LLSnapshotLivePreview* previewp = getPreviewView(); + + if (previewp && (previewp->isSnapshotActive() || previewp->getThumbnailLock())) + { + // don't render snapshot window in snapshot, even if "show ui" is turned on + return; + } + + LLFloater::draw(); + + if (previewp && !isMinimized() && mThumbnailPlaceholder->getVisible()) + { + if(previewp->getThumbnailImage()) + { + bool working = impl->getStatus() == ImplBase::STATUS_WORKING; + const LLRect& thumbnail_rect = getThumbnailPlaceholderRect(); + const S32 thumbnail_w = previewp->getThumbnailWidth(); + const S32 thumbnail_h = previewp->getThumbnailHeight(); + + S32 offset_x = PREVIEW_OFFSET_X; + S32 offset_y = PREVIEW_OFFSET_Y; + + gGL.matrixMode(LLRender::MM_MODELVIEW); + // Apply floater transparency to the texture unless the floater is focused. + F32 alpha = getTransparencyType() == TT_ACTIVE ? 1.0f : getCurrentTransparency(); + LLColor4 color = working ? LLColor4::grey4 : LLColor4::white; + gl_draw_scaled_image(offset_x, offset_y, + thumbnail_w, thumbnail_h, + previewp->getThumbnailImage(), color % alpha); +#if LL_DARWIN + std::string alpha_color = getTransparencyType() == TT_ACTIVE ? "OutfitSnapshotMacMask" : "OutfitSnapshotMacMask2"; +#else + std::string alpha_color = getTransparencyType() == TT_ACTIVE ? "FloaterFocusBackgroundColor" : "DkGray"; +#endif + + previewp->drawPreviewRect(offset_x, offset_y, LLUIColorTable::instance().getColor(alpha_color)); + + gGL.pushUIMatrix(); + LLUI::translate((F32) thumbnail_rect.mLeft, (F32) thumbnail_rect.mBottom); + mThumbnailPlaceholder->draw(); + gGL.popUIMatrix(); + } + } + impl->updateLayout(this); +} + +void LLFloaterSimpleOutfitSnapshot::onOpen(const LLSD& key) +{ + LLSnapshotLivePreview* preview = getPreviewView(); + if (preview) + { + preview->updateSnapshot(TRUE); + } + focusFirstItem(FALSE); + gSnapshotFloaterView->setEnabled(TRUE); + gSnapshotFloaterView->setVisible(TRUE); + gSnapshotFloaterView->adjustToFitScreen(this, FALSE); + + impl->updateControls(this); + impl->setStatus(ImplBase::STATUS_READY); +} + +void LLFloaterSimpleOutfitSnapshot::onCancel() +{ + closeFloater(); +} + +void LLFloaterSimpleOutfitSnapshot::onSend() +{ + S32 expected_upload_cost = LLAgentBenefitsMgr::current().getTextureUploadCost(); + if (can_afford_transaction(expected_upload_cost)) + { + saveTexture(); + postSave(); + } + else + { + LLSD args; + args["COST"] = llformat("%d", expected_upload_cost); + LLNotificationsUtil::add("ErrorPhotoCannotAfford", args); + inventorySaveFailed(); + } +} + +void LLFloaterSimpleOutfitSnapshot::postSave() +{ + impl->setStatus(ImplBase::STATUS_WORKING); +} + +// static +void LLFloaterSimpleOutfitSnapshot::update() +{ + LLFloaterSimpleOutfitSnapshot* inst = findInstance(); + if (inst != NULL) + { + inst->impl->updateLivePreview(); + } +} + + +// static +LLFloaterSimpleOutfitSnapshot* LLFloaterSimpleOutfitSnapshot::findInstance() +{ + return LLFloaterReg::findTypedInstance<LLFloaterSimpleOutfitSnapshot>("simple_outfit_snapshot"); +} + +// static +LLFloaterSimpleOutfitSnapshot* LLFloaterSimpleOutfitSnapshot::getInstance() +{ + return LLFloaterReg::getTypedInstance<LLFloaterSimpleOutfitSnapshot>("simple_outfit_snapshot"); +} + +void LLFloaterSimpleOutfitSnapshot::saveTexture() +{ + LLSnapshotLivePreview* previewp = getPreviewView(); + if (!previewp) + { + llassert(previewp != NULL); + return; + } + + if (mOutfitGallery) + { + mOutfitGallery->onBeforeOutfitSnapshotSave(); + } + previewp->saveTexture(TRUE, getOutfitID().asString()); + if (mOutfitGallery) + { + mOutfitGallery->onAfterOutfitSnapshotSave(); + } + closeFloater(); +} + +///---------------------------------------------------------------------------- +/// Class LLSimpleOutfitSnapshotFloaterView +///---------------------------------------------------------------------------- + +LLSimpleOutfitSnapshotFloaterView::LLSimpleOutfitSnapshotFloaterView(const Params& p) : LLFloaterView(p) +{ +} + +LLSimpleOutfitSnapshotFloaterView::~LLSimpleOutfitSnapshotFloaterView() +{ +} diff --git a/indra/newview/llfloatersimpleoutfitsnapshot.h b/indra/newview/llfloatersimpleoutfitsnapshot.h new file mode 100644 index 0000000000..cc9a6c5d1e --- /dev/null +++ b/indra/newview/llfloatersimpleoutfitsnapshot.h @@ -0,0 +1,129 @@ +/** +* @file llfloatersimpleoutfitsnapshot.h +* @brief Snapshot preview window for saving as an outfit thumbnail in visual outfit gallery +* +* $LicenseInfo:firstyear=2022&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2022, 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_LLFLOATERSIMPLEOUTFITSNAPSHOT_H +#define LL_LLFLOATERSIMPLEOUTFITSNAPSHOT_H + +#include "llfloater.h" +#include "llfloatersnapshot.h" +#include "lloutfitgallery.h" +#include "llsnapshotlivepreview.h" + +///---------------------------------------------------------------------------- +/// Class LLFloaterSimpleOutfitSnapshot +///---------------------------------------------------------------------------- + +class LLFloaterSimpleOutfitSnapshot : public LLFloaterSnapshotBase +{ + LOG_CLASS(LLFloaterSimpleOutfitSnapshot); + +public: + + LLFloaterSimpleOutfitSnapshot(const LLSD& key); + ~LLFloaterSimpleOutfitSnapshot(); + + BOOL postBuild(); + void onOpen(const LLSD& key); + void draw(); + + static void update(); + + static LLFloaterSimpleOutfitSnapshot* getInstance(); + static LLFloaterSimpleOutfitSnapshot* findInstance(); + void saveTexture(); + + const LLRect& getThumbnailPlaceholderRect() { return mThumbnailPlaceholder->getRect(); } + + void setOutfitID(LLUUID id) { mOutfitID = id; } + LLUUID getOutfitID() { return mOutfitID; } + void setGallery(LLOutfitGallery* gallery) { mOutfitGallery = gallery; } + + void postSave(); + + class Impl; + friend class Impl; + +private: + void onSend(); + void onCancel(); + + LLUUID mOutfitID; + LLOutfitGallery* mOutfitGallery; +}; + +///---------------------------------------------------------------------------- +/// Class LLFloaterSimpleOutfitSnapshot::Impl +///---------------------------------------------------------------------------- + +class LLFloaterSimpleOutfitSnapshot::Impl : public LLFloaterSnapshotBase::ImplBase +{ + LOG_CLASS(LLFloaterSimpleOutfitSnapshot::Impl); +public: + Impl(LLFloaterSnapshotBase* floater) + : LLFloaterSnapshotBase::ImplBase(floater) + {} + ~Impl() + {} + void updateResolution(void* data); + + static void onSnapshotUploadFinished(LLFloaterSnapshotBase* floater, bool status); + + LLPanelSnapshot* getActivePanel(LLFloaterSnapshotBase* floater, bool ok_if_not_found = true) { return NULL; } + LLSnapshotModel::ESnapshotFormat getImageFormat(LLFloaterSnapshotBase* floater); + std::string getSnapshotPanelPrefix(); + + void updateControls(LLFloaterSnapshotBase* floater); + + void setStatus(EStatus status, bool ok = true, const std::string& msg = LLStringUtil::null); + +private: + LLSnapshotModel::ESnapshotLayerType getLayerType(LLFloaterSnapshotBase* floater); + void setFinished(bool finished, bool ok = true, const std::string& msg = LLStringUtil::null) {}; +}; + +///---------------------------------------------------------------------------- +/// Class LLSimpleOutfitSnapshotFloaterView +///---------------------------------------------------------------------------- + +class LLSimpleOutfitSnapshotFloaterView : public LLFloaterView +{ +public: + struct Params + : public LLInitParam::Block<Params, LLFloaterView::Params> + { + }; + +protected: + LLSimpleOutfitSnapshotFloaterView(const Params& p); + friend class LLUICtrlFactory; + +public: + virtual ~LLSimpleOutfitSnapshotFloaterView(); +}; + +extern LLSimpleOutfitSnapshotFloaterView* gSimpleOutfitSnapshotFloaterView; + +#endif // LL_LLFLOATERSIMPLEOUTFITSNAPSHOT_H diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index 83212230e5..6b9d4580dc 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -176,16 +176,20 @@ void LLFloaterSnapshotBase::ImplBase::updateLayout(LLFloaterSnapshotBase* floate LLUICtrl* thumbnail_placeholder = floaterp->getChild<LLUICtrl>("thumbnail_placeholder"); thumbnail_placeholder->setVisible(mAdvanced); - thumbnail_placeholder->reshape(panel_width, thumbnail_placeholder->getRect().getHeight()); + floaterp->getChild<LLUICtrl>("image_res_text")->setVisible(mAdvanced); floaterp->getChild<LLUICtrl>("file_size_label")->setVisible(mAdvanced); if (floaterp->hasChild("360_label", TRUE)) { floaterp->getChild<LLUICtrl>("360_label")->setVisible(mAdvanced); } - if(!floaterp->isMinimized()) + if (!mSkipReshaping) { - floaterp->reshape(floater_width, floaterp->getRect().getHeight()); + thumbnail_placeholder->reshape(panel_width, thumbnail_placeholder->getRect().getHeight()); + if (!floaterp->isMinimized()) + { + floaterp->reshape(floater_width, floaterp->getRect().getHeight()); + } } bool use_freeze_frame = floaterp->getChild<LLUICtrl>("freeze_frame_check")->getValue().asBoolean(); @@ -1193,7 +1197,7 @@ S32 LLFloaterSnapshotBase::notify(const LLSD& info) // The refresh button is initially hidden. We show it after the first update, // i.e. when preview appears. - if (!mRefreshBtn->getVisible()) + if (mRefreshBtn && !mRefreshBtn->getVisible()) { mRefreshBtn->setVisible(true); } diff --git a/indra/newview/llfloatersnapshot.h b/indra/newview/llfloatersnapshot.h index 7ec133ff45..7fc62a2746 100644 --- a/indra/newview/llfloatersnapshot.h +++ b/indra/newview/llfloatersnapshot.h @@ -59,9 +59,9 @@ public: const LLRect& getThumbnailPlaceholderRect() { return mThumbnailPlaceholder->getRect(); } - void setRefreshLabelVisible(bool value) { mRefreshLabel->setVisible(value); } - void setSuccessLabelPanelVisible(bool value) { mSucceessLblPanel->setVisible(value); } - void setFailureLabelPanelVisible(bool value) { mFailureLblPanel->setVisible(value); } + void setRefreshLabelVisible(bool value) { if (mRefreshLabel) mRefreshLabel->setVisible(value); } + void setSuccessLabelPanelVisible(bool value) { if (mSucceessLblPanel) mSucceessLblPanel->setVisible(value); } + void setFailureLabelPanelVisible(bool value) { if (mFailureLblPanel) mFailureLblPanel->setVisible(value); } void inventorySaveFailed(); class ImplBase; @@ -88,6 +88,7 @@ public: mLastToolset(NULL), mAspectRatioCheckOff(false), mNeedRefresh(false), + mSkipReshaping(false), mStatus(STATUS_READY), mFloater(floater) {} @@ -120,6 +121,7 @@ public: static BOOL updatePreviewList(bool initialized); void setAdvanced(bool advanced) { mAdvanced = advanced; } + void setSkipReshaping(bool skip) { mSkipReshaping = skip; } virtual LLSnapshotModel::ESnapshotLayerType getLayerType(LLFloaterSnapshotBase* floater) = 0; virtual void checkAutoSnapshot(LLSnapshotLivePreview* floater, BOOL update_thumbnail = FALSE); @@ -135,6 +137,7 @@ public: bool mAspectRatioCheckOff; bool mNeedRefresh; bool mAdvanced; + bool mSkipReshaping; EStatus mStatus; }; diff --git a/indra/newview/llfloatertranslationsettings.cpp b/indra/newview/llfloatertranslationsettings.cpp index b1316e386d..082bb888b1 100644 --- a/indra/newview/llfloatertranslationsettings.cpp +++ b/indra/newview/llfloatertranslationsettings.cpp @@ -289,7 +289,6 @@ void LLFloaterTranslationSettings::onBtnOK() gSavedSettings.setString("TranslationService", getSelectedService()); gSavedSettings.setString("BingTranslateAPIKey", getEnteredBingKey()); gSavedSettings.setString("GoogleTranslateAPIKey", getEnteredGoogleKey()); - (LLFloaterReg::getTypedInstance<LLFloaterIMNearbyChat>("nearby_chat"))-> - showTranslationCheckbox(LLTranslate::isTranslationConfigured()); + closeFloater(false); } diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index 84a1278767..dbeb157323 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -175,8 +175,7 @@ public: virtual void processGroupData() = 0; protected: LLUUID mGroupId; -private: - bool mRequestProcessed; + bool mRequestProcessed; }; class LLFetchLeaveGroupData: public LLFetchGroupMemberData @@ -189,6 +188,22 @@ public: { LLGroupActions::processLeaveGroupDataResponse(mGroupId); } + void changed(LLGroupChange gc) + { + if (gc == GC_PROPERTIES && !mRequestProcessed) + { + LLGroupMgrGroupData* gdatap = LLGroupMgr::getInstance()->getGroupData(mGroupId); + if (!gdatap) + { + LL_WARNS() << "GroupData was NULL" << LL_ENDL; + } + else + { + processGroupData(); + mRequestProcessed = true; + } + } + } }; LLFetchLeaveGroupData* gFetchLeaveGroupData = NULL; diff --git a/indra/newview/llimprocessing.cpp b/indra/newview/llimprocessing.cpp index 0524313a5c..e6845127e3 100644 --- a/indra/newview/llimprocessing.cpp +++ b/indra/newview/llimprocessing.cpp @@ -55,6 +55,7 @@ #include "llviewerwindow.h" #include "llviewerregion.h" #include "llvoavatarself.h" +#include "llworld.h" #include "boost/lexical_cast.hpp" #if LL_MSVC @@ -520,8 +521,7 @@ void LLIMProcessing::processNewMessage(LLUUID from_id, dialog, parent_estate_id, region_id, - position, - true); + position); if (!gIMMgr->isDNDMessageSend(session_id)) { @@ -572,6 +572,15 @@ void LLIMProcessing::processNewMessage(LLUUID from_id, } if (!mute_im) { + bool region_message = false; + if (region_id.isNull()) + { + LLViewerRegion* regionp = LLWorld::instance().getRegionFromID(from_id); + if (regionp) + { + region_message = true; + } + } gIMMgr->addMessage( session_id, from_id, @@ -583,7 +592,7 @@ void LLIMProcessing::processNewMessage(LLUUID from_id, parent_estate_id, region_id, position, - true); + region_message); } else { @@ -1102,8 +1111,7 @@ void LLIMProcessing::processNewMessage(LLUUID from_id, IM_SESSION_INVITE, parent_estate_id, region_id, - position, - true); + position); } else { @@ -1128,8 +1136,7 @@ void LLIMProcessing::processNewMessage(LLUUID from_id, IM_SESSION_INVITE, parent_estate_id, region_id, - position, - true); + position); } break; diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 4d6ebf9cbb..bf9e226244 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -760,7 +760,7 @@ void LLIMModel::LLIMSession::sessionInitReplyReceived(const LLUUID& new_session_ } } -void LLIMModel::LLIMSession::addMessage(const std::string& from, const LLUUID& from_id, const std::string& utf8_text, const std::string& time, const bool is_history) +void LLIMModel::LLIMSession::addMessage(const std::string& from, const LLUUID& from_id, const std::string& utf8_text, const std::string& time, const bool is_history, bool is_region_msg) { LLSD message; message["from"] = from; @@ -769,6 +769,7 @@ void LLIMModel::LLIMSession::addMessage(const std::string& from, const LLUUID& f message["time"] = time; message["index"] = (LLSD::Integer)mMsgs.size(); message["is_history"] = is_history; + message["is_region_msg"] = is_region_msg; LL_DEBUGS("UIUsage") << "addMessage " << " from " << from << " from_id " << from_id << " utf8_text " << utf8_text << " time " << time << " is_history " << is_history << " session mType " << mType << LL_ENDL; if (from_id == gAgent.getID()) @@ -1149,7 +1150,7 @@ void LLIMModel::sendNoUnreadMessages(const LLUUID& session_id) mNoUnreadMsgsSignal(arg); } -bool LLIMModel::addToHistory(const LLUUID& session_id, const std::string& from, const LLUUID& from_id, const std::string& utf8_text) { +bool LLIMModel::addToHistory(const LLUUID& session_id, const std::string& from, const LLUUID& from_id, const std::string& utf8_text, bool is_region_msg) { LLIMSession* session = findIMSession(session_id); @@ -1159,7 +1160,7 @@ bool LLIMModel::addToHistory(const LLUUID& session_id, const std::string& from, return false; } - session->addMessage(from, from_id, utf8_text, LLLogChat::timestamp(false)); //might want to add date separately + session->addMessage(from, from_id, utf8_text, LLLogChat::timestamp(false), false, is_region_msg); //might want to add date separately return true; } @@ -1197,9 +1198,9 @@ bool LLIMModel::proccessOnlineOfflineNotification( } bool LLIMModel::addMessage(const LLUUID& session_id, const std::string& from, const LLUUID& from_id, - const std::string& utf8_text, bool log2file /* = true */) { + const std::string& utf8_text, bool log2file, bool is_region_msg) { - LLIMSession* session = addMessageSilently(session_id, from, from_id, utf8_text, log2file); + LLIMSession* session = addMessageSilently(session_id, from, from_id, utf8_text, log2file, is_region_msg); if (!session) return false; //good place to add some1 to recent list @@ -1224,7 +1225,7 @@ bool LLIMModel::addMessage(const LLUUID& session_id, const std::string& from, co } LLIMModel::LLIMSession* LLIMModel::addMessageSilently(const LLUUID& session_id, const std::string& from, const LLUUID& from_id, - const std::string& utf8_text, bool log2file /* = true */) + const std::string& utf8_text, bool log2file, bool is_region_msg) { LLIMSession* session = findIMSession(session_id); @@ -1240,7 +1241,7 @@ LLIMModel::LLIMSession* LLIMModel::addMessageSilently(const LLUUID& session_id, from_name = SYSTEM_FROM; } - addToHistory(session_id, from_name, from_id, utf8_text); + addToHistory(session_id, from_name, from_id, utf8_text, is_region_msg); if (log2file) { logToFile(getHistoryFileName(session_id), from_name, from_id, utf8_text); @@ -2663,7 +2664,7 @@ void LLIMMgr::addMessage( U32 parent_estate_id, const LLUUID& region_id, const LLVector3& position, - bool link_name) // If this is true, then we insert the name and link it to a profile + bool is_region_msg) { LLUUID other_participant_id = target_id; @@ -2735,7 +2736,7 @@ void LLIMMgr::addMessage( //<< "*** region_id: " << region_id << std::endl //<< "*** position: " << position << std::endl; - LLIMModel::instance().addMessage(new_session_id, from, other_participant_id, bonus_info.str()); + LLIMModel::instance().addMessage(new_session_id, from, other_participant_id, bonus_info.str(), true, is_region_msg); } // Logically it would make more sense to reject the session sooner, in another area of the @@ -2765,7 +2766,7 @@ void LLIMMgr::addMessage( if (!LLMuteList::getInstance()->isMuted(other_participant_id, LLMute::flagTextChat) && !skip_message) { - LLIMModel::instance().addMessage(new_session_id, from, other_participant_id, msg); + LLIMModel::instance().addMessage(new_session_id, from, other_participant_id, msg, true, is_region_msg); } // Open conversation floater if offline messages are present @@ -3692,8 +3693,7 @@ public: IM_SESSION_INVITE, message_params["parent_estate_id"].asInteger(), message_params["region_id"].asUUID(), - ll_vector3_from_sd(message_params["position"]), - true); + ll_vector3_from_sd(message_params["position"])); if (LLMuteList::getInstance()->isMuted(from_id, name, LLMute::flagTextChat)) { diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h index fdf9806e2e..326e8f22e3 100644 --- a/indra/newview/llimview.h +++ b/indra/newview/llimview.h @@ -81,7 +81,7 @@ public: void sessionInitReplyReceived(const LLUUID& new_session_id); void addMessagesFromHistory(const std::list<LLSD>& history); - void addMessage(const std::string& from, const LLUUID& from_id, const std::string& utf8_text, const std::string& time, const bool is_history = false); + void addMessage(const std::string& from, const LLUUID& from_id, const std::string& utf8_text, const std::string& time, const bool is_history = false, bool is_region_msg = false); void onVoiceChannelStateChanged(const LLVoiceChannel::EState& old_state, const LLVoiceChannel::EState& new_state, const LLVoiceChannel::EDirection& direction); /** @deprecated */ @@ -208,13 +208,13 @@ public: * and also saved into a file if log2file is specified. * It sends new message signal for each added message. */ - bool addMessage(const LLUUID& session_id, const std::string& from, const LLUUID& other_participant_id, const std::string& utf8_text, bool log2file = true); + bool addMessage(const LLUUID& session_id, const std::string& from, const LLUUID& other_participant_id, const std::string& utf8_text, bool log2file = true, bool is_region_msg = false); /** * Similar to addMessage(...) above but won't send a signal about a new message added */ LLIMModel::LLIMSession* addMessageSilently(const LLUUID& session_id, const std::string& from, const LLUUID& from_id, - const std::string& utf8_text, bool log2file = true); + const std::string& utf8_text, bool log2file = true, bool is_region_msg = false); /** * Add a system message to an IM Model @@ -292,7 +292,7 @@ private: /** * Add message to a list of message associated with session specified by session_id */ - bool addToHistory(const LLUUID& session_id, const std::string& from, const LLUUID& from_id, const std::string& utf8_text); + bool addToHistory(const LLUUID& session_id, const std::string& from, const LLUUID& from_id, const std::string& utf8_text, bool is_region_msg = false); }; @@ -334,7 +334,7 @@ public: U32 parent_estate_id = 0, const LLUUID& region_id = LLUUID::null, const LLVector3& position = LLVector3::zero, - bool link_name = false); + bool is_region_msg = false); void addSystemMessage(const LLUUID& session_id, const std::string& message_name, const LLSD& args); diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index a0bc1035bf..7793b71f56 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -614,7 +614,7 @@ BOOL LLInvFVBridge::isClipboardPasteable() const if (cat) { LLFolderBridge cat_br(mInventoryPanel.get(), mRoot, item_id); - if (!cat_br.isItemCopyable()) + if (!cat_br.isItemCopyable(false)) return FALSE; // Skip to the next item in the clipboard continue; @@ -622,7 +622,7 @@ BOOL LLInvFVBridge::isClipboardPasteable() const // Each item must be copyable to be pastable LLItemBridge item_br(mInventoryPanel.get(), mRoot, item_id); - if (!item_br.isItemCopyable()) + if (!item_br.isItemCopyable(false)) { return FALSE; } @@ -654,6 +654,11 @@ BOOL LLInvFVBridge::isClipboardPasteableAsLink() const { return FALSE; } + + if (gInventory.isObjectDescendentOf(item->getUUID(), gInventory.getLibraryRootFolderID())) + { + return FALSE; + } } const LLViewerInventoryCategory *cat = model->getCategory(objects.at(i)); if (cat && LLFolderType::lookupIsProtectedType(cat->getPreferredType())) @@ -729,15 +734,15 @@ void hide_context_entries(LLMenuGL& menu, } bool found = false; - menuentry_vec_t::const_iterator itor2; - for (itor2 = entries_to_show.begin(); itor2 != entries_to_show.end(); ++itor2) - { - if (*itor2 == name) - { - found = true; - break; - } - } + + std::string myinput; + std::vector<std::string> mylist{ "a", "b", "c" }; + + menuentry_vec_t::const_iterator itor2 = std::find(entries_to_show.begin(), entries_to_show.end(), name); + if (itor2 != entries_to_show.end()) + { + found = true; + } // Don't allow multiple separators in a row (e.g. such as if there are no items // between two separators). @@ -755,7 +760,21 @@ void hide_context_entries(LLMenuGL& menu, menu_item->setVisible(FALSE); } - menu_item->setEnabled(FALSE); + if (menu_item->getEnabled()) + { + // These should stay enabled unless specifically disabled + const menuentry_vec_t exceptions = { + "Detach From Yourself", + "Wearable And Object Wear", + "Wearable Add", + }; + + menuentry_vec_t::const_iterator itor2 = std::find(exceptions.begin(), exceptions.end(), name); + if (itor2 == exceptions.end()) + { + menu_item->setEnabled(FALSE); + } + } } else { @@ -882,7 +901,8 @@ void LLInvFVBridge::getClipboardEntries(bool show_asset_id, disabled_items.push_back(std::string("Paste")); } - if (gSavedSettings.getBOOL("InventoryLinking")) + static LLCachedControl<bool> inventory_linking(gSavedSettings, "InventoryLinking", true); + if (inventory_linking) { items.push_back(std::string("Paste As Link")); if (!isClipboardPasteableAsLink() || (flags & FIRST_SELECTED_ITEM) == 0) @@ -2059,7 +2079,8 @@ BOOL LLItemBridge::removeItem() // we can't do this check because we may have items in a folder somewhere that is // not yet in memory, so we don't want false negatives. (If disabled, then we // know we only have links in the Outfits folder which we explicitly fetch.) - if (!gSavedSettings.getBOOL("InventoryLinking")) + static LLCachedControl<bool> inventory_linking(gSavedSettings, "InventoryLinking", true); + if (!inventory_linking) { if (!item->getIsLinkType()) { @@ -2102,22 +2123,24 @@ BOOL LLItemBridge::confirmRemoveItem(const LLSD& notification, const LLSD& respo return FALSE; } -BOOL LLItemBridge::isItemCopyable() const +bool LLItemBridge::isItemCopyable(bool can_copy_as_link) const { - LLViewerInventoryItem* item = getItem(); - if (item) - { - // Can't copy worn objects. - // Worn objects are tied to their inworld conterparts - // Copy of modified worn object will return object with obsolete asset and inventory - if(get_is_item_worn(mUUID)) - { - return FALSE; - } + LLViewerInventoryItem* item = getItem(); + if (!item) + { + return false; + } + // Can't copy worn objects. + // Worn objects are tied to their inworld conterparts + // Copy of modified worn object will return object with obsolete asset and inventory + if (get_is_item_worn(mUUID)) + { + return false; + } - return item->getPermissions().allowCopyBy(gAgent.getID()) || gSavedSettings.getBOOL("InventoryLinking"); - } - return FALSE; + static LLCachedControl<bool> inventory_linking(gSavedSettings, "InventoryLinking", true); + return (can_copy_as_link && inventory_linking) + || item->getPermissions().allowCopyBy(gAgent.getID()); } LLViewerInventoryItem* LLItemBridge::getItem() const @@ -2321,7 +2344,7 @@ BOOL LLFolderBridge::isUpToDate() const return category->getVersion() != LLViewerInventoryCategory::VERSION_UNKNOWN; } -BOOL LLFolderBridge::isItemCopyable() const +bool LLFolderBridge::isItemCopyable(bool can_copy_as_link) const { // Folders are copyable if items in them are, recursively, copyable. @@ -2336,22 +2359,26 @@ BOOL LLFolderBridge::isItemCopyable() const { LLInventoryItem* item = *iter; LLItemBridge item_br(mInventoryPanel.get(), mRoot, item->getUUID()); - if (!item_br.isItemCopyable()) - return FALSE; -} + if (!item_br.isItemCopyable(false)) + { + return false; + } + } // Check the folders LLInventoryModel::cat_array_t cat_array_copy = *cat_array; for (LLInventoryModel::cat_array_t::iterator iter = cat_array_copy.begin(); iter != cat_array_copy.end(); iter++) -{ + { LLViewerInventoryCategory* category = *iter; LLFolderBridge cat_br(mInventoryPanel.get(), mRoot, category->getUUID()); - if (!cat_br.isItemCopyable()) - return FALSE; - } - - return TRUE; - } + if (!cat_br.isItemCopyable(false)) + { + return false; + } + } + + return true; +} BOOL LLFolderBridge::isClipboardPasteable() const { @@ -3768,6 +3795,7 @@ void LLFolderBridge::perform_pasteFromClipboard() LLInventoryObject *obj = model->getObject(item_id); if (obj) { + if (move_is_into_lost_and_found) { if (LLAssetType::AT_CATEGORY == obj->getType()) @@ -4296,7 +4324,7 @@ void LLFolderBridge::buildContextMenuFolderOptions(U32 flags, menuentry_vec_t& items.push_back(std::string("IM All Contacts In Folder")); } - if (((flags & ITEM_IN_MULTI_SELECTION) == 0) && hasChildren()) + if (((flags & ITEM_IN_MULTI_SELECTION) == 0) && hasChildren() && (type != LLFolderType::FT_OUTFIT)) { items.push_back(std::string("Ungroup folder items")); } diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h index 0b0ef273e1..bdffecf1c6 100644 --- a/indra/newview/llinventorybridge.h +++ b/indra/newview/llinventorybridge.h @@ -119,7 +119,7 @@ public: //virtual BOOL removeItem() = 0; virtual void removeBatch(std::vector<LLFolderViewModelItem*>& batch); virtual void move(LLFolderViewModelItem* new_parent_bridge) {} - virtual BOOL isItemCopyable() const { return FALSE; } + virtual bool isItemCopyable(bool can_copy_as_link = true) const { return false; } virtual BOOL copyToClipboard() const; virtual BOOL cutToClipboard(); virtual bool isCutToClipboard(); @@ -245,7 +245,7 @@ public: virtual BOOL isItemRenameable() const; virtual BOOL renameItem(const std::string& new_name); virtual BOOL removeItem(); - virtual BOOL isItemCopyable() const; + virtual bool isItemCopyable(bool can_copy_as_link = true) const; virtual bool hasChildren() const { return FALSE; } virtual BOOL isUpToDate() const { return TRUE; } virtual LLUIImagePtr getIconOverlay() const; @@ -318,7 +318,7 @@ public: virtual BOOL isItemRemovable() const; virtual BOOL isItemMovable() const ; virtual BOOL isUpToDate() const; - virtual BOOL isItemCopyable() const; + virtual bool isItemCopyable(bool can_copy_as_link = true) const; virtual BOOL isClipboardPasteable() const; virtual BOOL isClipboardPasteableAsLink() const; diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 27edc8148e..5755bc692e 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -862,6 +862,9 @@ LLUUID create_folder_for_item(LLInventoryItem* item, const LLUUID& destFolderId) S32 depth_nesting_in_marketplace(LLUUID cur_uuid) { // Get the marketplace listings root, exit with -1 (i.e. not under the marketplace listings root) if none + // Todo: findCategoryUUIDForType is somewhat expensive with large + // flat root folders yet we use depth_nesting_in_marketplace at + // every turn, find a way to correctly cache this id. const LLUUID marketplace_listings_uuid = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false); if (marketplace_listings_uuid.isNull()) { @@ -1504,7 +1507,12 @@ void dump_trace(std::string& message, S32 depth, LLError::ELevel log_level) // This function does no deletion of listings but a mere audit and raises issues to the user (through the // optional callback cb). It also returns a boolean, true if things validate, false if issues are raised. // The only inventory changes that are done is to move and sort folders containing no-copy items to stock folders. -bool validate_marketplacelistings(LLInventoryCategory* cat, validation_callback_t cb, bool fix_hierarchy, S32 depth) +bool validate_marketplacelistings( + LLInventoryCategory* cat, + validation_callback_t cb, + bool fix_hierarchy, + S32 depth, + bool notify_observers) { #if 0 // Used only for debug @@ -1570,7 +1578,7 @@ bool validate_marketplacelistings(LLInventoryCategory* cat, validation_callback_ LLUUID folder_uuid = gInventory.createNewCategory(parent_uuid, LLFolderType::FT_NONE, cat->getName()); LLInventoryCategory* new_cat = gInventory.getCategory(folder_uuid); gInventory.changeCategoryParent(viewer_cat, folder_uuid, false); - result &= validate_marketplacelistings(new_cat, cb, fix_hierarchy, depth + 1); + result &= validate_marketplacelistings(new_cat, cb, fix_hierarchy, depth + 1, notify_observers); return result; } else @@ -1740,7 +1748,10 @@ bool validate_marketplacelistings(LLInventoryCategory* cat, validation_callback_ // Next type update_marketplace_category(parent_uuid); update_marketplace_category(folder_uuid); - gInventory.notifyObservers(); + if (notify_observers) + { + gInventory.notifyObservers(); + } items_vector_it++; } } @@ -1754,7 +1765,7 @@ bool validate_marketplacelistings(LLInventoryCategory* cat, validation_callback_ { LLViewerInventoryCategory * viewer_cat = (LLViewerInventoryCategory *) (*iter); gInventory.changeCategoryParent(viewer_cat, parent_uuid, false); - result &= validate_marketplacelistings(viewer_cat, cb, fix_hierarchy, depth); + result &= validate_marketplacelistings(viewer_cat, cb, fix_hierarchy, depth, false); } } } @@ -1826,7 +1837,10 @@ bool validate_marketplacelistings(LLInventoryCategory* cat, validation_callback_ cb(message,depth,LLError::LEVEL_WARN); } gInventory.removeCategory(cat->getUUID()); - gInventory.notifyObservers(); + if (notify_observers) + { + gInventory.notifyObservers(); + } return result && !has_bad_items; } } @@ -1840,11 +1854,14 @@ bool validate_marketplacelistings(LLInventoryCategory* cat, validation_callback_ for (LLInventoryModel::cat_array_t::iterator iter = cat_array_copy.begin(); iter != cat_array_copy.end(); iter++) { LLInventoryCategory* category = *iter; - result &= validate_marketplacelistings(category, cb, fix_hierarchy, depth + 1); + result &= validate_marketplacelistings(category, cb, fix_hierarchy, depth + 1, false); } update_marketplace_category(cat->getUUID(), true, true); - gInventory.notifyObservers(); + if (notify_observers) + { + gInventory.notifyObservers(); + } return result && !has_bad_items; } @@ -2583,8 +2600,62 @@ void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root } std::set<LLUUID> selected_uuid_set = LLAvatarActions::getInventorySelectedUUIDs(); + + // copy list of applicable items into a vector for bulk handling uuid_vec_t ids; - std::copy(selected_uuid_set.begin(), selected_uuid_set.end(), std::back_inserter(ids)); + if (action == "wear" || action == "wear_add") + { + const LLUUID trash_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_TRASH); + const LLUUID mp_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false); + std::copy_if(selected_uuid_set.begin(), + selected_uuid_set.end(), + std::back_inserter(ids), + [trash_id, mp_id](LLUUID id) + { + if (get_is_item_worn(id) + || LLAppearanceMgr::instance().getIsInCOF(id) + || gInventory.isObjectDescendentOf(id, trash_id)) + { + return false; + } + if (mp_id.notNull() && gInventory.isObjectDescendentOf(id, mp_id)) + { + return false; + } + LLInventoryObject* obj = (LLInventoryObject*)gInventory.getObject(id); + if (!obj) + { + return false; + } + if (obj->getIsLinkType() && gInventory.isObjectDescendentOf(obj->getLinkedUUID(), trash_id)) + { + return false; + } + if (obj->getIsLinkType() && LLAssetType::lookupIsLinkType(obj->getType())) + { + // missing + return false; + } + return true; + } + ); + } + else if (isRemoveAction(action)) + { + std::copy_if(selected_uuid_set.begin(), + selected_uuid_set.end(), + std::back_inserter(ids), + [](LLUUID id) + { + return get_is_item_worn(id); + } + ); + } + else + { + std::copy(selected_uuid_set.begin(), selected_uuid_set.end(), std::back_inserter(ids)); + } + // Check for actions that get handled in bulk if (action == "wear") { diff --git a/indra/newview/llinventoryfunctions.h b/indra/newview/llinventoryfunctions.h index ba9f157e47..56ad6f6496 100644 --- a/indra/newview/llinventoryfunctions.h +++ b/indra/newview/llinventoryfunctions.h @@ -87,7 +87,7 @@ bool can_move_item_to_marketplace(const LLInventoryCategory* root_folder, LLInve bool can_move_folder_to_marketplace(const LLInventoryCategory* root_folder, LLInventoryCategory* dest_folder, LLInventoryCategory* inv_cat, std::string& tooltip_msg, S32 bundle_size = 1, bool check_items = true, bool from_paste = false); bool move_item_to_marketplacelistings(LLInventoryItem* inv_item, LLUUID dest_folder, bool copy = false); bool move_folder_to_marketplacelistings(LLInventoryCategory* inv_cat, const LLUUID& dest_folder, bool copy = false, bool move_no_copy_items = false); -bool validate_marketplacelistings(LLInventoryCategory* inv_cat, validation_callback_t cb = NULL, bool fix_hierarchy = true, S32 depth = -1); +bool validate_marketplacelistings(LLInventoryCategory* inv_cat, validation_callback_t cb = NULL, bool fix_hierarchy = true, S32 depth = -1, bool notify_observers = true); S32 depth_nesting_in_marketplace(LLUUID cur_uuid); LLUUID nested_parent_id(LLUUID cur_uuid, S32 depth); S32 compute_stock_count(LLUUID cat_uuid, bool force_count = false); diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index fab7ae8f1a..6ba04cdff2 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -1851,9 +1851,13 @@ void LLInventoryModel::addChangedMask(U32 mask, const LLUUID& referent) mChangedItemIDs.insert(referent); } - // Fix me: From DD-81, probably shouldn't be here, instead - // should be somewhere in an observer - update_marketplace_category(referent, false); + if (mask != LLInventoryObserver::LABEL) + { + // Fix me: From DD-81, probably shouldn't be here, instead + // should be somewhere in an observer or in + // LLMarketplaceInventoryObserver::onIdleProcessQueue + update_marketplace_category(referent, false); + } if (mask & LLInventoryObserver::ADD) { diff --git a/indra/newview/lllandmarklist.cpp b/indra/newview/lllandmarklist.cpp index 31e76267e6..d790c6f95e 100644 --- a/indra/newview/lllandmarklist.cpp +++ b/indra/newview/lllandmarklist.cpp @@ -39,12 +39,6 @@ // Globals LLLandmarkList gLandmarkList; -// number is mostly arbitrary, but it should be below DEFAULT_QUEUE_SIZE pool size, -// which is 4096, to not overfill the pool if user has more than 4K of landmarks -// and it should leave some space for other potential simultaneous asset request -const S32 MAX_SIMULTANEOUS_REQUESTS = 512; - - //////////////////////////////////////////////////////////////////////////// // LLLandmarkList @@ -83,12 +77,6 @@ LLLandmark* LLLandmarkList::getAsset(const LLUUID& asset_uuid, loaded_callback_t loaded_callback_map_t::value_type vt(asset_uuid, cb); mLoadedCallbackMap.insert(vt); } - - if ( mWaitList.find(asset_uuid) != mWaitList.end() ) - { - // Landmark is sheduled for download, but not requested yet - return NULL; - } landmark_requested_list_t::iterator iter = mRequestedList.find(asset_uuid); if (iter != mRequestedList.end()) @@ -100,17 +88,6 @@ LLLandmark* LLLandmarkList::getAsset(const LLUUID& asset_uuid, loaded_callback_t } } - if (mRequestedList.size() > MAX_SIMULTANEOUS_REQUESTS) - { - // Workarounds for corutines pending list size limit: - // Postpone download till queue is emptier. - // Coroutines have own built in 'pending' list, but unfortunately - // it is too small compared to potential amount of landmarks - // or assets. - mWaitList.insert(asset_uuid); - return NULL; - } - mRequestedList[asset_uuid] = gFrameTimeSeconds; // Note that getAssetData can callback immediately and cleans mRequestedList @@ -197,33 +174,6 @@ void LLLandmarkList::processGetAssetReply( gLandmarkList.mRequestedList.erase(uuid); //mBadList effectively blocks any load, so no point keeping id in requests gLandmarkList.eraseCallbacks(uuid); } - - // getAssetData can fire callback immediately, causing - // a recursion which is suboptimal for very large wait list. - // 'scheduling' indicates that we are inside request and - // shouldn't be launching more requests. - static bool scheduling = false; - if (!scheduling && !gLandmarkList.mWaitList.empty()) - { - scheduling = true; - while (!gLandmarkList.mWaitList.empty() && gLandmarkList.mRequestedList.size() < MAX_SIMULTANEOUS_REQUESTS) - { - // start new download from wait list - landmark_uuid_list_t::iterator iter = gLandmarkList.mWaitList.begin(); - LLUUID asset_uuid = *iter; - gLandmarkList.mWaitList.erase(iter); - - // add to mRequestedList before calling getAssetData() - gLandmarkList.mRequestedList[asset_uuid] = gFrameTimeSeconds; - - // Note that getAssetData can callback immediately and cleans mRequestedList - gAssetStorage->getAssetData(asset_uuid, - LLAssetType::AT_LANDMARK, - LLLandmarkList::processGetAssetReply, - NULL); - } - scheduling = false; - } } BOOL LLLandmarkList::isAssetInLoadedCallbackMap(const LLUUID& asset_uuid) diff --git a/indra/newview/lllandmarklist.h b/indra/newview/lllandmarklist.h index f5fa958204..b50332b215 100644 --- a/indra/newview/lllandmarklist.h +++ b/indra/newview/lllandmarklist.h @@ -72,7 +72,6 @@ protected: typedef std::set<LLUUID> landmark_uuid_list_t; landmark_uuid_list_t mBadList; - landmark_uuid_list_t mWaitList; typedef std::map<LLUUID,F32> landmark_requested_list_t; landmark_requested_list_t mRequestedList; diff --git a/indra/newview/llmarketplacefunctions.cpp b/indra/newview/llmarketplacefunctions.cpp index dd4ae4d201..2d726409c6 100644 --- a/indra/newview/llmarketplacefunctions.cpp +++ b/indra/newview/llmarketplacefunctions.cpp @@ -30,6 +30,7 @@ #include "llagent.h" #include "llbufferstream.h" +#include "llcallbacklist.h" #include "llinventoryfunctions.h" #include "llinventoryobserver.h" #include "llnotificationsutil.h" @@ -605,20 +606,67 @@ public: LLMarketplaceInventoryObserver() {} virtual ~LLMarketplaceInventoryObserver() {} virtual void changed(U32 mask); + +private: + static void onIdleProcessQueue(void *userdata); + + // doesn't hold just marketplace related ids + static std::set<LLUUID> sAddQueue; + static std::set<LLUUID> sStructureQueue; + static bool sProcessingQueue; }; +std::set<LLUUID> LLMarketplaceInventoryObserver::sAddQueue; +std::set<LLUUID> LLMarketplaceInventoryObserver::sStructureQueue; +bool LLMarketplaceInventoryObserver::sProcessingQueue = false; + void LLMarketplaceInventoryObserver::changed(U32 mask) { - // When things are added to the marketplace, we might need to re-validate and fix the containing listings - if (mask & LLInventoryObserver::ADD) + if (mask & LLInventoryObserver::ADD && LLMarketplaceData::instance().hasValidationWaiting()) { + // When things are added to the marketplace, we might need to re-validate and fix the containing listings + // just add whole list even if it contains items and non-marketplace folders const std::set<LLUUID>& changed_items = gInventory.getChangedIDs(); - - std::set<LLUUID>::const_iterator id_it = changed_items.begin(); - std::set<LLUUID>::const_iterator id_end = changed_items.end(); + sAddQueue.insert(changed_items.begin(), changed_items.end()); + } + + if (mask & (LLInventoryObserver::INTERNAL | LLInventoryObserver::STRUCTURE)) + { + // When things are changed in the inventory, this can trigger a host of changes in the marketplace listings folder: + // * stock counts changing : no copy items coming in and out will change the stock count on folders + // * version and listing folders : moving those might invalidate the marketplace data itself + // Since we should cannot raise inventory change while the observer is called (the list will be cleared + // once observers are called) we need to raise a flag in the inventory to signal that things have been dirtied. + const std::set<LLUUID>& changed_items = gInventory.getChangedIDs(); + sStructureQueue.insert(changed_items.begin(), changed_items.end()); + } + + if (!sProcessingQueue && (!sAddQueue.empty() || !sStructureQueue.empty())) + { + gIdleCallbacks.addFunction(onIdleProcessQueue, NULL); + // can do without sProcessingQueue, but it's usufull for simplicity and reliability + sProcessingQueue = true; + } +} + +void LLMarketplaceInventoryObserver::onIdleProcessQueue(void *userdata) +{ + U64 start_time = LLTimer::getTotalTime(); // microseconds + const U64 MAX_PROCESSING_TIME = 1000; + U64 stop_time = start_time + MAX_PROCESSING_TIME; + + if (!sAddQueue.empty()) + { + // Make a copy of sAddQueue since decrementValidationWaiting + // can theoretically add more items + std::set<LLUUID> add_queue(sAddQueue); + sAddQueue.clear(); + + std::set<LLUUID>::const_iterator id_it = add_queue.begin(); + std::set<LLUUID>::const_iterator id_end = add_queue.end(); // First, count the number of items in this list... S32 count = 0; - for (;id_it != id_end; ++id_it) + for (; id_it != id_end; ++id_it) { LLInventoryObject* obj = gInventory.getObject(*id_it); if (obj && (LLAssetType::AT_CATEGORY != obj->getType())) @@ -629,56 +677,58 @@ void LLMarketplaceInventoryObserver::changed(U32 mask) // Then, decrement the folders of that amount // Note that of all of those, only one folder will be a listing folder (if at all). // The other will be ignored by the decrement method. - id_it = changed_items.begin(); - for (;id_it != id_end; ++id_it) + id_it = add_queue.begin(); + for (; id_it != id_end; ++id_it) { LLInventoryObject* obj = gInventory.getObject(*id_it); if (obj && (LLAssetType::AT_CATEGORY == obj->getType())) { - LLMarketplaceData::instance().decrementValidationWaiting(obj->getUUID(),count); + // can trigger notifyObservers + LLMarketplaceData::instance().decrementValidationWaiting(obj->getUUID(), count); } } - } - - // When things are changed in the inventory, this can trigger a host of changes in the marketplace listings folder: - // * stock counts changing : no copy items coming in and out will change the stock count on folders - // * version and listing folders : moving those might invalidate the marketplace data itself - // Since we should cannot raise inventory change while the observer is called (the list will be cleared - // once observers are called) we need to raise a flag in the inventory to signal that things have been dirtied. - - if (mask & (LLInventoryObserver::INTERNAL | LLInventoryObserver::STRUCTURE)) - { - const std::set<LLUUID>& changed_items = gInventory.getChangedIDs(); - - std::set<LLUUID>::const_iterator id_it = changed_items.begin(); - std::set<LLUUID>::const_iterator id_end = changed_items.end(); - for (;id_it != id_end; ++id_it) + } + + while (!sStructureQueue.empty() && LLTimer::getTotalTime() < stop_time) + { + std::set<LLUUID>::const_iterator id_it = sStructureQueue.begin(); + LLInventoryObject* obj = gInventory.getObject(*id_it); + if (obj) { - LLInventoryObject* obj = gInventory.getObject(*id_it); - if (obj) + if (LLAssetType::AT_CATEGORY == obj->getType()) { - if (LLAssetType::AT_CATEGORY == obj->getType()) + // If it's a folder known to the marketplace, let's check it's in proper shape + if (LLMarketplaceData::instance().isListed(*id_it) || LLMarketplaceData::instance().isVersionFolder(*id_it)) { - // If it's a folder known to the marketplace, let's check it's in proper shape - if (LLMarketplaceData::instance().isListed(*id_it) || LLMarketplaceData::instance().isVersionFolder(*id_it)) - { - LLInventoryCategory* cat = (LLInventoryCategory*)(obj); - validate_marketplacelistings(cat); - } + LLInventoryCategory* cat = (LLInventoryCategory*)(obj); + // can trigger notifyObservers + // can cause more structural changes + validate_marketplacelistings(cat); } - else + } + else + { + // If it's not a category, it's an item... + LLInventoryItem* item = (LLInventoryItem*)(obj); + // If it's a no copy item, we may need to update the label count of marketplace listings + if (!item->getPermissions().allowOperationBy(PERM_COPY, gAgent.getID(), gAgent.getGroupID())) { - // If it's not a category, it's an item... - LLInventoryItem* item = (LLInventoryItem*)(obj); - // If it's a no copy item, we may need to update the label count of marketplace listings - if (!item->getPermissions().allowOperationBy(PERM_COPY, gAgent.getID(), gAgent.getGroupID())) - { - LLMarketplaceData::instance().setDirtyCount(); - } + LLMarketplaceData::instance().setDirtyCount(); } } } - } + + // sStructureQueue could have been modified in validate_marketplacelistings + // adding items does not invalidate existing iterator + sStructureQueue.erase(id_it); + } + + if (LLApp::isExiting() || (sAddQueue.empty() && sStructureQueue.empty())) + { + // Nothing to do anymore + gIdleCallbacks.deleteFunction(onIdleProcessQueue, NULL); + sProcessingQueue = false; + } } // Tuple == Item diff --git a/indra/newview/llmarketplacefunctions.h b/indra/newview/llmarketplacefunctions.h index 088507d850..24fdc5e0ad 100644 --- a/indra/newview/llmarketplacefunctions.h +++ b/indra/newview/llmarketplacefunctions.h @@ -242,6 +242,7 @@ public: void setUpdating(const LLUUID& folder_id, bool isUpdating); // Used to decide when to run a validation on listing folders + bool hasValidationWaiting() { return mValidationWaitingList.size() > 0; } void setValidationWaiting(const LLUUID& folder_id, S32 count); void decrementValidationWaiting(const LLUUID& folder_id, S32 count = 1); diff --git a/indra/newview/lloutfitgallery.cpp b/indra/newview/lloutfitgallery.cpp index f419e2e06d..1facbbf37c 100644 --- a/indra/newview/lloutfitgallery.cpp +++ b/indra/newview/lloutfitgallery.cpp @@ -41,7 +41,7 @@ #include "llfilepicker.h" #include "llfloaterperms.h" #include "llfloaterreg.h" -#include "llfloateroutfitsnapshot.h" +#include "llfloatersimpleoutfitsnapshot.h" #include "llimagedimensionsinfo.h" #include "llinventoryfunctions.h" #include "llinventorymodel.h" @@ -1386,8 +1386,8 @@ void LLOutfitGallery::onSelectPhoto(LLUUID selected_outfit_id) void LLOutfitGallery::onTakeSnapshot(LLUUID selected_outfit_id) { - LLFloaterReg::toggleInstanceOrBringToFront("outfit_snapshot"); - LLFloaterOutfitSnapshot* snapshot_floater = LLFloaterOutfitSnapshot::getInstance(); + LLFloaterReg::toggleInstanceOrBringToFront("simple_outfit_snapshot"); + LLFloaterSimpleOutfitSnapshot* snapshot_floater = LLFloaterSimpleOutfitSnapshot::getInstance(); if (snapshot_floater) { snapshot_floater->setOutfitID(selected_outfit_id); diff --git a/indra/newview/llpanelmediasettingsgeneral.cpp b/indra/newview/llpanelmediasettingsgeneral.cpp index e1818cc68b..416857bd30 100644 --- a/indra/newview/llpanelmediasettingsgeneral.cpp +++ b/indra/newview/llpanelmediasettingsgeneral.cpp @@ -454,7 +454,8 @@ bool LLPanelMediaSettingsGeneral::navigateHomeSelectedFace(bool only_if_current_ LLViewerMedia::getInstance()->getMediaImplFromTextureID(object->getTE(face)->getMediaData()->getMediaID()); if(media_impl) { - media_impl->navigateHome(); + media_impl->setPriority(LLPluginClassMedia::PRIORITY_NORMAL); + media_impl->navigateHome(); return true; } } diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index 0bfc1297d3..bc7933d84b 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -93,6 +93,8 @@ enum { MI_HOLE_COUNT }; +const F32 MAX_ATTACHMENT_DIST = 3.5f; // meters + //static const std::string LEGACY_FULLBRIGHT_DESC =LLTrans::getString("Fullbright"); BOOL LLPanelObject::postBuild() @@ -1685,6 +1687,16 @@ void LLPanelObject::sendPosition(BOOL btn_down) mCtrlPosZ->set(LLWorld::getInstance()->resolveLandHeightAgent(newpos) + 1.f); } } + else + { + if (newpos.length() > MAX_ATTACHMENT_DIST) + { + newpos.clampLength(MAX_ATTACHMENT_DIST); + mCtrlPosX->set(newpos.mV[VX]); + mCtrlPosY->set(newpos.mV[VY]); + mCtrlPosZ->set(newpos.mV[VZ]); + } + } // Make sure new position is in a valid region, so the object // won't get dumped by the simulator. @@ -2191,6 +2203,10 @@ void LLPanelObject::onPastePos() mClipboardPos.mV[VY] = llclamp(mClipboardPos.mV[VY], 0.f, max_width); //height will get properly clamped by sendPosition } + else + { + mClipboardPos.clampLength(MAX_ATTACHMENT_DIST); + } mCtrlPosX->set( mClipboardPos.mV[VX] ); mCtrlPosY->set( mClipboardPos.mV[VY] ); diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index cfaa9456be..fff25c6c61 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -131,7 +131,7 @@ public: virtual BOOL removeItem(); virtual void removeBatch(std::vector<LLFolderViewModelItem*>& batch); virtual void move(LLFolderViewModelItem* parent_listener); - virtual BOOL isItemCopyable() const; + virtual bool isItemCopyable(bool can_copy_as_link = true) const; virtual BOOL copyToClipboard() const; virtual BOOL cutToClipboard(); virtual BOOL isClipboardPasteable() const; @@ -439,10 +439,10 @@ void LLTaskInvFVBridge::move(LLFolderViewModelItem* parent_listener) { } -BOOL LLTaskInvFVBridge::isItemCopyable() const +bool LLTaskInvFVBridge::isItemCopyable(bool can_link) const { LLInventoryItem* item = findItem(); - if(!item) return FALSE; + if(!item) return false; return gAgent.allowOperation(PERM_COPY, item->getPermissions(), GP_OBJECT_MANIPULATE); } diff --git a/indra/newview/llpanelpresetscamerapulldown.cpp b/indra/newview/llpanelpresetscamerapulldown.cpp index 183123e534..4c9c30160c 100644 --- a/indra/newview/llpanelpresetscamerapulldown.cpp +++ b/indra/newview/llpanelpresetscamerapulldown.cpp @@ -127,7 +127,10 @@ void LLPanelPresetsCameraPulldown::onRowClick(const LLSD& user_data) LL_DEBUGS() << "selected '" << name << "'" << LL_ENDL; LLFloaterCamera::switchToPreset(name); - setVisible(FALSE); + // Scroll grabbed focus, drop it to prevent selection of parent menu + setFocus(FALSE); + + setVisible(FALSE); } else { diff --git a/indra/newview/llpanelpresetspulldown.cpp b/indra/newview/llpanelpresetspulldown.cpp index d52ad8056f..23e4fa8887 100644 --- a/indra/newview/llpanelpresetspulldown.cpp +++ b/indra/newview/llpanelpresetspulldown.cpp @@ -122,6 +122,9 @@ void LLPanelPresetsPulldown::onRowClick(const LLSD& user_data) LL_DEBUGS() << "selected '" << name << "'" << LL_ENDL; LLPresetsManager::getInstance()->loadPreset(PRESETS_GRAPHIC, name); + // Scroll grabbed focus, drop it to prevent selection of parent menu + setFocus(FALSE); + setVisible(FALSE); } else diff --git a/indra/newview/llpanelpulldown.cpp b/indra/newview/llpanelpulldown.cpp index 4de6ee8182..075278f44c 100644 --- a/indra/newview/llpanelpulldown.cpp +++ b/indra/newview/llpanelpulldown.cpp @@ -51,6 +51,7 @@ void LLPanelPulldown::onMouseEnter(S32 x, S32 y, MASK mask) /*virtual*/ void LLPanelPulldown::onTopLost() { + setFocus(FALSE); // drop focus to prevent transfer to parent setVisible(FALSE); } @@ -113,6 +114,7 @@ void LLPanelPulldown::draw() if (alpha == 0.f) { + setFocus(FALSE); // drop focus to prevent transfer to parent setVisible(FALSE); } } diff --git a/indra/newview/llscripteditor.cpp b/indra/newview/llscripteditor.cpp index c6bb2f19dd..140cbbedbe 100644 --- a/indra/newview/llscripteditor.cpp +++ b/indra/newview/llscripteditor.cpp @@ -187,82 +187,8 @@ void LLScriptEditor::drawSelectionBackground() // Draw selection even if we don't have keyboard focus for search/replace if( hasSelection() && !mLineInfoList.empty()) { - std::vector<LLRect> selection_rects; - - S32 selection_left = llmin( mSelectionStart, mSelectionEnd ); - S32 selection_right = llmax( mSelectionStart, mSelectionEnd ); - - // Skip through the lines we aren't drawing. - LLRect content_display_rect = getVisibleDocumentRect(); - - // binary search for line that starts before top of visible buffer - line_list_t::const_iterator line_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), content_display_rect.mTop, LLTextBase::compare_bottom()); - line_list_t::const_iterator end_iter = std::upper_bound(mLineInfoList.begin(), mLineInfoList.end(), content_display_rect.mBottom, LLTextBase::compare_top()); - - bool done = false; - - // Find the coordinates of the selected area - for (;line_iter != end_iter && !done; ++line_iter) - { - // is selection visible on this line? - if (line_iter->mDocIndexEnd > selection_left && line_iter->mDocIndexStart < selection_right) - { - segment_set_t::iterator segment_iter; - S32 segment_offset; - getSegmentAndOffset(line_iter->mDocIndexStart, &segment_iter, &segment_offset); - - LLRect selection_rect; - selection_rect.mLeft = line_iter->mRect.mLeft; - selection_rect.mRight = line_iter->mRect.mLeft; - selection_rect.mBottom = line_iter->mRect.mBottom; - selection_rect.mTop = line_iter->mRect.mTop; - - for(;segment_iter != mSegments.end(); ++segment_iter, segment_offset = 0) - { - LLTextSegmentPtr segmentp = *segment_iter; - - S32 segment_line_start = segmentp->getStart() + segment_offset; - S32 segment_line_end = llmin(segmentp->getEnd(), line_iter->mDocIndexEnd); - - if (segment_line_start > segment_line_end) break; - - S32 segment_width = 0; - S32 segment_height = 0; - - // if selection after beginning of segment - if(selection_left >= segment_line_start) - { - S32 num_chars = llmin(selection_left, segment_line_end) - segment_line_start; - segmentp->getDimensions(segment_offset, num_chars, segment_width, segment_height); - selection_rect.mLeft += segment_width; - } - - // if selection_right == segment_line_end then that means we are the first character of the next segment - // or first character of the next line, in either case we want to add the length of the current segment - // to the selection rectangle and continue. - // if selection right > segment_line_end then selection spans end of current segment... - if (selection_right >= segment_line_end) - { - // extend selection slightly beyond end of line - // to indicate selection of newline character (use "n" character to determine width) - S32 num_chars = segment_line_end - segment_line_start; - segmentp->getDimensions(segment_offset, num_chars, segment_width, segment_height); - selection_rect.mRight += segment_width; - } - // else if selection ends on current segment... - else - { - S32 num_chars = selection_right - segment_line_start; - segmentp->getDimensions(segment_offset, num_chars, segment_width, segment_height); - selection_rect.mRight += segment_width; - - break; - } - } - selection_rects.push_back(selection_rect); - } - } - + std::vector<LLRect> selection_rects = getSelctionRects(); + gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); const LLColor4& color = mReadOnly ? mReadOnlyFgColor : mFgColor; F32 alpha = hasFocus() ? 0.7f : 0.3f; @@ -272,6 +198,7 @@ void LLScriptEditor::drawSelectionBackground() (1.f + color.mV[VGREEN]) * 0.5f, (1.f + color.mV[VBLUE]) * 0.5f, alpha); + LLRect content_display_rect = getVisibleDocumentRect(); for (std::vector<LLRect>::iterator rect_it = selection_rects.begin(); rect_it != selection_rects.end(); diff --git a/indra/newview/llsky.h b/indra/newview/llsky.h index 8c0d70c16c..ec0de1fbfd 100644 --- a/indra/newview/llsky.h +++ b/indra/newview/llsky.h @@ -39,7 +39,6 @@ class LLViewerCamera; class LLVOWLSky; -class LLVOWLClouds; class LLSky diff --git a/indra/newview/llsnapshotlivepreview.cpp b/indra/newview/llsnapshotlivepreview.cpp index 8134187c21..ed7e18fadc 100644 --- a/indra/newview/llsnapshotlivepreview.cpp +++ b/indra/newview/llsnapshotlivepreview.cpp @@ -233,7 +233,7 @@ bool LLSnapshotLivePreview::setSnapshotQuality(S32 quality, bool set_by_user) return false; } -void LLSnapshotLivePreview::drawPreviewRect(S32 offset_x, S32 offset_y) +void LLSnapshotLivePreview::drawPreviewRect(S32 offset_x, S32 offset_y, LLColor4 alpha_color) { F32 line_width ; glGetFloatv(GL_LINE_WIDTH, &line_width) ; @@ -246,7 +246,6 @@ void LLSnapshotLivePreview::drawPreviewRect(S32 offset_x, S32 offset_y) //draw four alpha rectangles to cover areas outside of the snapshot image if(!mKeepAspectRatio) { - LLColor4 alpha_color(0.5f, 0.5f, 0.5f, 0.8f) ; S32 dwl = 0, dwr = 0 ; if(mThumbnailWidth > mPreviewRect.getWidth()) { diff --git a/indra/newview/llsnapshotlivepreview.h b/indra/newview/llsnapshotlivepreview.h index 683cd016d8..1f81307976 100644 --- a/indra/newview/llsnapshotlivepreview.h +++ b/indra/newview/llsnapshotlivepreview.h @@ -112,7 +112,7 @@ public: BOOL setThumbnailImageSize() ; void generateThumbnailImage(BOOL force_update = FALSE) ; void resetThumbnailImage() { mThumbnailImage = NULL ; } - void drawPreviewRect(S32 offset_x, S32 offset_y) ; + void drawPreviewRect(S32 offset_x, S32 offset_y, LLColor4 alpha_color = LLColor4(0.5f, 0.5f, 0.5f, 0.8f)); void prepareFreezeFrame(); LLViewerTexture* getBigThumbnailImage(); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 054e9530d4..1dd5c5cbe5 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1285,9 +1285,6 @@ bool idle_startup() // Initialize classes w/graphics stuff. // LLViewerStatsRecorder::instance(); // Since textures work in threads - gTextureList.doPrefetchImages(); - display_startup(); - LLSurface::initClasses(); display_startup(); @@ -1432,6 +1429,15 @@ bool idle_startup() if (STATE_SEED_CAP_GRANTED == LLStartUp::getStartupState()) { display_startup(); + + // These textures are not warrantied to be cached, so needs + // to hapen with caps granted + gTextureList.doPrefetchImages(); + + // will init images, should be done with caps, but before gSky.init() + LLEnvironment::getInstance()->initSingleton(); + + display_startup(); update_texture_fetch(); display_startup(); @@ -2526,8 +2532,6 @@ void use_circuit_callback(void**, S32 result) void register_viewer_callbacks(LLMessageSystem* msg) { msg->setHandlerFuncFast(_PREHASH_LayerData, process_layer_data ); - msg->setHandlerFuncFast(_PREHASH_ImageData, LLViewerTextureList::receiveImageHeader ); - msg->setHandlerFuncFast(_PREHASH_ImagePacket, LLViewerTextureList::receiveImagePacket ); msg->setHandlerFuncFast(_PREHASH_ObjectUpdate, process_object_update ); msg->setHandlerFunc("ObjectUpdateCompressed", process_compressed_object_update ); msg->setHandlerFunc("ObjectUpdateCached", process_cached_object_update ); @@ -2913,6 +2917,7 @@ void reset_login() gAgentWearables.cleanup(); gAgentCamera.cleanup(); gAgent.cleanup(); + gSky.cleanup(); // mVOSkyp is an inworld object. LLWorld::getInstance()->resetClass(); if ( gViewerWindow ) diff --git a/indra/newview/llsurfacepatch.cpp b/indra/newview/llsurfacepatch.cpp index aeefcd6fb8..449d3d95c8 100644 --- a/indra/newview/llsurfacepatch.cpp +++ b/indra/newview/llsurfacepatch.cpp @@ -714,7 +714,7 @@ BOOL LLSurfacePatch::updateTexture() { mVObjp->dirtyGeom(); gPipeline.markGLRebuild(mVObjp); - return TRUE; + return !mSTexUpdate; } } } diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index 67da311493..5c6f7254f2 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -1646,6 +1646,12 @@ void LLTextureCache::purgeAllTextures(bool purge_directories) { gDirUtilp->deleteFilesInDir(dirname, mask); } +#if LL_WINDOWS + // Texture cache can be large and can take a while to remove + // assure OS that processes is alive and not hanging + MSG msg; + PeekMessage(&msg, 0, 0, 0, PM_NOREMOVE | PM_NOYIELD); +#endif } gDirUtilp->deleteFilesInDir(mTexturesDirName, mask); // headers, fast cache if (purge_directories) diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 8923f53cf5..6f6ca2be9b 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -282,7 +282,6 @@ static const char* e_state_name[] = "LOAD_FROM_TEXTURE_CACHE", "CACHE_POST", "LOAD_FROM_NETWORK", - "LOAD_FROM_SIMULATOR", "WAIT_HTTP_RESOURCE", "WAIT_HTTP_RESOURCE2", "SEND_HTTP_REQ", @@ -456,7 +455,6 @@ public: LOAD_FROM_TEXTURE_CACHE, CACHE_POST, LOAD_FROM_NETWORK, - LOAD_FROM_SIMULATOR, WAIT_HTTP_RESOURCE, // Waiting for HTTP resources WAIT_HTTP_RESOURCE2, // Waiting for HTTP resources SEND_HTTP_REQ, // Commit to sending as HTTP @@ -497,8 +495,6 @@ private: // Locks: Mw void clearPackets(); - // Locks: Mw - void setupPacketData(); // Locks: Mw (ctor invokes without lock) U32 calcWorkPriority(); @@ -507,10 +503,6 @@ private: void removeFromCache(); // Threads: Ttf - // Locks: Mw - bool processSimulatorPackets(); - - // Threads: Ttf bool writeToCacheComplete(); // Threads: Ttf @@ -612,8 +604,7 @@ private: BOOL mHaveAllData; BOOL mInLocalCache; BOOL mInCache; - bool mCanUseHTTP, - mCanUseNET ; //can get from asset server. + bool mCanUseHTTP; S32 mRetryAttempt; S32 mActiveCount; LLCore::HttpStatus mGetStatus; @@ -885,7 +876,6 @@ const char* sStateDescs[] = { "LOAD_FROM_TEXTURE_CACHE", "CACHE_POST", "LOAD_FROM_NETWORK", - "LOAD_FROM_SIMULATOR", "WAIT_HTTP_RESOURCE", "WAIT_HTTP_RESOURCE2", "SEND_HTTP_REQ", @@ -897,7 +887,7 @@ const char* sStateDescs[] = { "DONE" }; -const std::set<S32> LOGGED_STATES = { LLTextureFetchWorker::LOAD_FROM_TEXTURE_CACHE, LLTextureFetchWorker::LOAD_FROM_NETWORK, LLTextureFetchWorker::LOAD_FROM_SIMULATOR, +const std::set<S32> LOGGED_STATES = { LLTextureFetchWorker::LOAD_FROM_TEXTURE_CACHE, LLTextureFetchWorker::LOAD_FROM_NETWORK, LLTextureFetchWorker::WAIT_HTTP_REQ, LLTextureFetchWorker::DECODE_IMAGE_UPDATE, LLTextureFetchWorker::WAIT_ON_WRITE }; // static @@ -972,8 +962,6 @@ LLTextureFetchWorker::LLTextureFetchWorker(LLTextureFetch* fetcher, mResourceWaitCount(0U), mFetchRetryPolicy(10.0,3600.0,2.0,10) { - mCanUseNET = mUrl.empty() ; - calcWorkPriority(); mType = host.isOk() ? LLImageBase::TYPE_AVATAR_BAKE : LLImageBase::TYPE_NORMAL; // LL_INFOS(LOG_TXT) << "Create: " << mID << " mHost:" << host << " Discard=" << discard << LL_ENDL; @@ -1037,39 +1025,6 @@ void LLTextureFetchWorker::clearPackets() mFirstPacket = 0; } -// Locks: Mw -void LLTextureFetchWorker::setupPacketData() -{ - S32 data_size = 0; - if (mFormattedImage.notNull()) - { - data_size = mFormattedImage->getDataSize(); - } - if (data_size > 0) - { - // Only used for simulator requests - mFirstPacket = (data_size - FIRST_PACKET_SIZE) / MAX_IMG_PACKET_SIZE + 1; - if (FIRST_PACKET_SIZE + (mFirstPacket-1) * MAX_IMG_PACKET_SIZE != data_size) - { - LL_WARNS(LOG_TXT) << "Bad CACHED TEXTURE size: " << data_size << " removing." << LL_ENDL; - removeFromCache(); - resetFormattedData(); - clearPackets(); - } - else if (mFileSize > 0) - { - mLastPacket = mFirstPacket-1; - mTotalPackets = (mFileSize - FIRST_PACKET_SIZE + MAX_IMG_PACKET_SIZE-1) / MAX_IMG_PACKET_SIZE + 1; - } - else - { - // This file was cached using HTTP so we have to refetch the first packet - resetFormattedData(); - clearPackets(); - } - } -} - // Locks: Mw (ctor invokes without lock) U32 LLTextureFetchWorker::calcWorkPriority() { @@ -1177,13 +1132,13 @@ bool LLTextureFetchWorker::doWork(S32 param) if(mImagePriority < F_ALMOST_ZERO) { - if (mState == INIT || mState == LOAD_FROM_NETWORK || mState == LOAD_FROM_SIMULATOR) + if (mState == INIT || mState == LOAD_FROM_NETWORK) { LL_DEBUGS(LOG_TXT) << mID << " abort: mImagePriority < F_ALMOST_ZERO" << LL_ENDL; return true; // abort } } - if(mState > CACHE_POST && !mCanUseNET && !mCanUseHTTP) + if(mState > CACHE_POST && !mCanUseHTTP) { //nowhere to get data, abort. LL_WARNS(LOG_TXT) << mID << " abort, nowhere to get data" << LL_ENDL; @@ -1387,10 +1342,14 @@ bool LLTextureFetchWorker::doWork(S32 param) if ( use_http && mCanUseHTTP && mUrl.empty())//get http url. { LLViewerRegion* region = NULL; - if (mHost.isInvalid()) - region = gAgent.getRegion(); - else - region = LLWorld::getInstance()->getRegion(mHost); + if (mHost.isInvalid()) + { + region = gAgent.getRegion(); + } + else if (LLWorld::instanceExists()) + { + region = LLWorld::getInstance()->getRegion(mHost); + } if (region) { @@ -1408,14 +1367,14 @@ bool LLTextureFetchWorker::doWork(S32 param) else { mCanUseHTTP = false ; - LL_DEBUGS(LOG_TXT) << "Texture not available via HTTP: empty URL." << LL_ENDL; + LL_WARNS(LOG_TXT) << "Texture not available via HTTP: empty URL." << LL_ENDL; } } else { // This will happen if not logged in or if a region deoes not have HTTP Texture enabled //LL_WARNS(LOG_TXT) << "Region not found for host: " << mHost << LL_ENDL; - LL_DEBUGS(LOG_TXT) << "Texture not available via HTTP: no region " << mUrl << LL_ENDL; + LL_WARNS(LOG_TXT) << "Texture not available via HTTP: no region " << mUrl << LL_ENDL; mCanUseHTTP = false; } } @@ -1434,84 +1393,12 @@ bool LLTextureFetchWorker::doWork(S32 param) } // don't return, fall through to next state } - else if (mSentRequest == UNSENT && mCanUseNET) - { - // Add this to the network queue and sit here. - // LLTextureFetch::update() will send off a request which will change our state - mWriteToCacheState = CAN_WRITE ; - mRequestedSize = mDesiredSize; - mRequestedDiscard = mDesiredDiscard; - mSentRequest = QUEUED; - mFetcher->addToNetworkQueue(this); - recordTextureStart(false); - setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority); - - return false; - } else { - // Shouldn't need to do anything here - //llassert_always(mFetcher->mNetworkQueue.find(mID) != mFetcher->mNetworkQueue.end()); - // Make certain this is in the network queue - //mFetcher->addToNetworkQueue(this); - //recordTextureStart(false); - //setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority); - return false; } } - if (mState == LOAD_FROM_SIMULATOR) - { - if (mFormattedImage.isNull()) - { - mFormattedImage = new LLImageJ2C; - } - if (processSimulatorPackets()) - { - // Capture some measure of total size for metrics - F64 byte_count = 0; - if (mLastPacket >= mFirstPacket) - { - for (S32 i=mFirstPacket; i<=mLastPacket; i++) - { - llassert_always((i>=0) && (i<mPackets.size())); - if (mPackets[i]) - { - byte_count += mPackets[i]->mSize; - } - } - } - - LL_DEBUGS(LOG_TXT) << mID << ": Loaded from Sim. Bytes: " << mFormattedImage->getDataSize() << LL_ENDL; - mFetcher->removeFromNetworkQueue(this, false); - if (mFormattedImage.isNull() || !mFormattedImage->getDataSize()) - { - // processSimulatorPackets() failed -// LL_WARNS(LOG_TXT) << "processSimulatorPackets() failed to load buffer" << LL_ENDL; - LL_WARNS(LOG_TXT) << mID << " processSimulatorPackets() failed to load buffer" << LL_ENDL; - return true; // failed - } - setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority); - if (mLoadedDiscard < 0) - { - LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard - << ", should be >=0" << LL_ENDL; - } - setState(DECODE_IMAGE); - mWriteToCacheState = SHOULD_WRITE; - - recordTextureDone(false, byte_count); - } - else - { - mFetcher->addToNetworkQueue(this); // failsafe - setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority); - recordTextureStart(false); - } - return false; - } - if (mState == WAIT_HTTP_RESOURCE) { // NOTE: @@ -1553,8 +1440,6 @@ bool LLTextureFetchWorker::doWork(S32 param) LL_WARNS(LOG_TXT) << mID << " abort: SEND_HTTP_REQ but !mCanUseHTTP" << LL_ENDL; return true; // abort } - - mFetcher->removeFromNetworkQueue(this, false); S32 cur_size = 0; if (mFormattedImage.notNull()) @@ -1701,17 +1586,6 @@ bool LLTextureFetchWorker::doWork(S32 param) } return true; } - - // roll back to try UDP - if (mCanUseNET) - { - setState(INIT); - mCanUseHTTP = false; - mUrl.clear(); - setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority); - releaseHttpSemaphore(); - return false; - } } else if (http_service_unavail == mGetStatus) { @@ -2284,69 +2158,6 @@ void LLTextureFetchWorker::removeFromCache() // Threads: Ttf // Locks: Mw -bool LLTextureFetchWorker::processSimulatorPackets() -{ - if (mFormattedImage.isNull() || mRequestedSize < 0) - { - // not sure how we got here, but not a valid state, abort! - llassert_always(mDecodeHandle == 0); - mFormattedImage = NULL; - return true; - } - - if (mLastPacket >= mFirstPacket) - { - S32 buffer_size = mFormattedImage->getDataSize(); - for (S32 i = mFirstPacket; i<=mLastPacket; i++) - { - llassert_always((i>=0) && (i<mPackets.size())); - llassert_always(mPackets[i]); - buffer_size += mPackets[i]->mSize; - } - bool have_all_data = mLastPacket >= mTotalPackets-1; - if (mRequestedSize <= 0) - { - // We received a packed but haven't requested anything yet (edge case) - // Return true (we're "done") since we didn't request anything - return true; - } - if (buffer_size >= mRequestedSize || have_all_data) - { - /// We have enough (or all) data - if (have_all_data) - { - mHaveAllData = TRUE; - } - S32 cur_size = mFormattedImage->getDataSize(); - if (buffer_size > cur_size) - { - /// We have new data - U8* buffer = (U8*)ll_aligned_malloc_16(buffer_size); - S32 offset = 0; - if (cur_size > 0 && mFirstPacket > 0) - { - memcpy(buffer, mFormattedImage->getData(), cur_size); - offset = cur_size; - } - for (S32 i=mFirstPacket; i<=mLastPacket; i++) - { - memcpy(buffer + offset, mPackets[i]->mData, mPackets[i]->mSize); - offset += mPackets[i]->mSize; - } - // NOTE: setData releases current data - mFormattedImage->setData(buffer, buffer_size); - } - mLoadedDiscard = mRequestedDiscard; - return true; - } - } - return false; -} - -////////////////////////////////////////////////////////////////////////////// - -// Threads: Ttf -// Locks: Mw S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response, bool partial, bool success) { @@ -2813,40 +2624,6 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const } -// Threads: T* (but Ttf in practice) - -// protected -void LLTextureFetch::addToNetworkQueue(LLTextureFetchWorker* worker) -{ - lockQueue(); // +Mfq - bool in_request_map = (mRequestMap.find(worker->mID) != mRequestMap.end()) ; - unlockQueue(); // -Mfq - - LLMutexLock lock(&mNetworkQueueMutex); // +Mfnq - if (in_request_map) - { - // only add to the queue if in the request map - // i.e. a delete has not been requested - mNetworkQueue.insert(worker->mID); - } - for (cancel_queue_t::iterator iter1 = mCancelQueue.begin(); - iter1 != mCancelQueue.end(); ++iter1) - { - iter1->second.erase(worker->mID); - } -} // -Mfnq - -// Threads: T* -void LLTextureFetch::removeFromNetworkQueue(LLTextureFetchWorker* worker, bool cancel) -{ - LLMutexLock lock(&mNetworkQueueMutex); // +Mfnq - size_t erased = mNetworkQueue.erase(worker->mID); - if (cancel && erased > 0) - { - mCancelQueue[worker->mHost].insert(worker->mID); - } -} // -Mfnq - // Threads: T* // // protected @@ -2880,7 +2657,6 @@ void LLTextureFetch::deleteRequest(const LLUUID& id, bool cancel) unlockQueue(); // -Mfq llassert_always(erased_1 > 0) ; - removeFromNetworkQueue(worker, cancel); llassert_always(!(worker->getFlags(LLWorkerClass::WCF_DELETE_REQUESTED))) ; worker->scheduleDelete(); @@ -2908,7 +2684,6 @@ void LLTextureFetch::removeRequest(LLTextureFetchWorker* worker, bool cancel) unlockQueue(); // -Mfq llassert_always(erased_1 > 0) ; - removeFromNetworkQueue(worker, cancel); llassert_always(!(worker->getFlags(LLWorkerClass::WCF_DELETE_REQUESTED))) ; worker->scheduleDelete(); @@ -3197,17 +2972,6 @@ size_t LLTextureFetch::update(F32 max_time_ms) size_t res = LLWorkerThread::update(max_time_ms); - if (!mDebugPause) - { - // this is the startup state when send_complete_agent_movement() message is sent. - // Before this, the RequestImages message sent by sendRequestListToSimulators - // won't work so don't bother trying - if (LLStartUp::getStartupState() > STATE_AGENT_SEND) - { - sendRequestListToSimulators(); - } - } - if (!mThreaded) { commonUpdate(); @@ -3298,202 +3062,6 @@ void LLTextureFetch::threadedUpdate() ////////////////////////////////////////////////////////////////////////////// -// Threads: Tmain -void LLTextureFetch::sendRequestListToSimulators() -{ - // All requests - const F32 REQUEST_DELTA_TIME = 0.10f; // 10 fps - - // Sim requests - const S32 IMAGES_PER_REQUEST = 50; - const F32 SIM_LAZY_FLUSH_TIMEOUT = 10.0f; // temp - const F32 MIN_REQUEST_TIME = 1.0f; - const F32 MIN_DELTA_PRIORITY = 1000.f; - - // Periodically, gather the list of textures that need data from the network - // And send the requests out to the simulators - static LLFrameTimer timer; - if (timer.getElapsedTimeF32() < REQUEST_DELTA_TIME) - { - return; - } - timer.reset(); - - // Send requests - typedef std::set<LLTextureFetchWorker*,LLTextureFetchWorker::Compare> request_list_t; - typedef std::map< LLHost, request_list_t > work_request_map_t; - work_request_map_t requests; - { - LLMutexLock lock2(&mNetworkQueueMutex); // +Mfnq - for (queue_t::iterator iter = mNetworkQueue.begin(); iter != mNetworkQueue.end(); ) - { - queue_t::iterator curiter = iter++; - LLTextureFetchWorker* req = getWorker(*curiter); - if (!req) - { - mNetworkQueue.erase(curiter); - continue; // paranoia - } - if ((req->mState != LLTextureFetchWorker::LOAD_FROM_NETWORK) && - (req->mState != LLTextureFetchWorker::LOAD_FROM_SIMULATOR)) - { - // We already received our URL, remove from the queue - LL_WARNS(LOG_TXT) << "Worker: " << req->mID << " in mNetworkQueue but in wrong state: " << req->mState << LL_ENDL; - mNetworkQueue.erase(curiter); - continue; - } - if (req->mID == mDebugID) - { - mDebugCount++; // for setting breakpoints - } - if (req->mSentRequest == LLTextureFetchWorker::SENT_SIM && - req->mTotalPackets > 0 && - req->mLastPacket >= req->mTotalPackets-1) - { - // We have all the packets... make sure this is high priority -// req->setPriority(LLWorkerThread::PRIORITY_HIGH | req->mWorkPriority); - continue; - } - F32 elapsed = req->mRequestedDeltaTimer.getElapsedTimeF32(); - { - F32 delta_priority = llabs(req->mRequestedPriority - req->mImagePriority); - if ((req->mSimRequestedDiscard != req->mDesiredDiscard) || - (delta_priority > MIN_DELTA_PRIORITY && elapsed >= MIN_REQUEST_TIME) || - (elapsed >= SIM_LAZY_FLUSH_TIMEOUT)) - { - requests[req->mHost].insert(req); - } - } - } - } // -Mfnq - - for (work_request_map_t::iterator iter1 = requests.begin(); - iter1 != requests.end(); ++iter1) - { - LLHost host = iter1->first; - // invalid host = use agent host - if (host.isInvalid()) - { - host = gAgent.getRegionHost(); - } - - S32 sim_request_count = 0; - - for (request_list_t::iterator iter2 = iter1->second.begin(); - iter2 != iter1->second.end(); ++iter2) - { - LLTextureFetchWorker* req = *iter2; - if (gMessageSystem) - { - if (req->mSentRequest != LLTextureFetchWorker::SENT_SIM) - { - // Initialize packet data based on data read from cache - req->lockWorkMutex(); // +Mw - req->setupPacketData(); - req->unlockWorkMutex(); // -Mw - } - if (0 == sim_request_count) - { - gMessageSystem->newMessageFast(_PREHASH_RequestImage); - gMessageSystem->nextBlockFast(_PREHASH_AgentData); - gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); - gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); - } - S32 packet = req->mLastPacket + 1; - gMessageSystem->nextBlockFast(_PREHASH_RequestImage); - gMessageSystem->addUUIDFast(_PREHASH_Image, req->mID); - gMessageSystem->addS8Fast(_PREHASH_DiscardLevel, (S8)req->mDesiredDiscard); - gMessageSystem->addF32Fast(_PREHASH_DownloadPriority, req->mImagePriority); - gMessageSystem->addU32Fast(_PREHASH_Packet, packet); - gMessageSystem->addU8Fast(_PREHASH_Type, req->mType); -// LL_INFOS(LOG_TXT) << "IMAGE REQUEST: " << req->mID << " Discard: " << req->mDesiredDiscard -// << " Packet: " << packet << " Priority: " << req->mImagePriority << LL_ENDL; - - static LLCachedControl<bool> log_to_viewer_log(gSavedSettings,"LogTextureDownloadsToViewerLog", false); - static LLCachedControl<bool> log_to_sim(gSavedSettings,"LogTextureDownloadsToSimulator", false); - if (log_to_viewer_log || log_to_sim) - { - mTextureInfo.setRequestStartTime(req->mID, LLTimer::getTotalTime()); - mTextureInfo.setRequestOffset(req->mID, 0); - mTextureInfo.setRequestSize(req->mID, 0); - mTextureInfo.setRequestType(req->mID, LLTextureInfoDetails::REQUEST_TYPE_UDP); - } - - req->lockWorkMutex(); // +Mw - req->mSentRequest = LLTextureFetchWorker::SENT_SIM; - req->mSimRequestedDiscard = req->mDesiredDiscard; - req->mRequestedPriority = req->mImagePriority; - req->mRequestedDeltaTimer.reset(); - req->unlockWorkMutex(); // -Mw - sim_request_count++; - if (sim_request_count >= IMAGES_PER_REQUEST) - { -// LL_INFOS(LOG_TXT) << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL; - - gMessageSystem->sendSemiReliable(host, NULL, NULL); - sim_request_count = 0; - } - } - } - if (gMessageSystem && sim_request_count > 0 && sim_request_count < IMAGES_PER_REQUEST) - { -// LL_INFOS(LOG_TXT) << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL; - gMessageSystem->sendSemiReliable(host, NULL, NULL); - sim_request_count = 0; - } - } - - // Send cancelations - { - LLMutexLock lock2(&mNetworkQueueMutex); // +Mfnq - if (gMessageSystem && !mCancelQueue.empty()) - { - for (cancel_queue_t::iterator iter1 = mCancelQueue.begin(); - iter1 != mCancelQueue.end(); ++iter1) - { - LLHost host = iter1->first; - if (host.isInvalid()) - { - host = gAgent.getRegionHost(); - } - S32 request_count = 0; - for (queue_t::iterator iter2 = iter1->second.begin(); - iter2 != iter1->second.end(); ++iter2) - { - if (0 == request_count) - { - gMessageSystem->newMessageFast(_PREHASH_RequestImage); - gMessageSystem->nextBlockFast(_PREHASH_AgentData); - gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); - gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); - } - gMessageSystem->nextBlockFast(_PREHASH_RequestImage); - gMessageSystem->addUUIDFast(_PREHASH_Image, *iter2); - gMessageSystem->addS8Fast(_PREHASH_DiscardLevel, -1); - gMessageSystem->addF32Fast(_PREHASH_DownloadPriority, 0); - gMessageSystem->addU32Fast(_PREHASH_Packet, 0); - gMessageSystem->addU8Fast(_PREHASH_Type, 0); -// LL_INFOS(LOG_TXT) << "CANCELING IMAGE REQUEST: " << (*iter2) << LL_ENDL; - - request_count++; - if (request_count >= IMAGES_PER_REQUEST) - { - gMessageSystem->sendSemiReliable(host, NULL, NULL); - request_count = 0; - } - } - if (request_count > 0 && request_count < IMAGES_PER_REQUEST) - { - gMessageSystem->sendSemiReliable(host, NULL, NULL); - } - } - mCancelQueue.clear(); - } - } // -Mfnq -} - -////////////////////////////////////////////////////////////////////////////// - // Threads: T* // Locks: Mw bool LLTextureFetchWorker::insertPacket(S32 index, U8* data, S32 size) @@ -3556,138 +3124,6 @@ void LLTextureFetchWorker::setState(e_state new_state) mState = new_state; } -// Threads: T* -bool LLTextureFetch::receiveImageHeader(const LLHost& host, const LLUUID& id, U8 codec, U16 packets, U32 totalbytes, - U16 data_size, U8* data) -{ - LLTextureFetchWorker* worker = getWorker(id); - bool res = true; - - ++mPacketCount; - - if (!worker) - { -// LL_WARNS(LOG_TXT) << "Received header for non active worker: " << id << LL_ENDL; - res = false; - } - else if (worker->mState != LLTextureFetchWorker::LOAD_FROM_NETWORK || - worker->mSentRequest != LLTextureFetchWorker::SENT_SIM) - { -// LL_WARNS(LOG_TXT) << "receiveImageHeader for worker: " << id -// << " in state: " << LLTextureFetchWorker::sStateDescs[worker->mState] -// << " sent: " << worker->mSentRequest << LL_ENDL; - res = false; - } - else if (worker->mLastPacket != -1) - { - // check to see if we've gotten this packet before -// LL_WARNS(LOG_TXT) << "Received duplicate header for: " << id << LL_ENDL; - res = false; - } - else if (!data_size) - { -// LL_WARNS(LOG_TXT) << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL; - res = false; - } - if (!res) - { - mNetworkQueueMutex.lock(); // +Mfnq - ++mBadPacketCount; - mCancelQueue[host].insert(id); - mNetworkQueueMutex.unlock(); // -Mfnq - return false; - } - - LLViewerStatsRecorder::instance().textureFetch(data_size); - LLViewerStatsRecorder::instance().log(0.1f); - - worker->lockWorkMutex(); - - - // Copy header data into image object - worker->mImageCodec = codec; - worker->mTotalPackets = packets; - worker->mFileSize = (S32)totalbytes; - llassert_always(totalbytes > 0); - llassert_always(data_size == FIRST_PACKET_SIZE || data_size == worker->mFileSize); - res = worker->insertPacket(0, data, data_size); - worker->setPriority(LLWorkerThread::PRIORITY_HIGH | worker->mWorkPriority); - worker->setState(LLTextureFetchWorker::LOAD_FROM_SIMULATOR); - worker->unlockWorkMutex(); // -Mw - return res; -} - - -// Threads: T* -bool LLTextureFetch::receiveImagePacket(const LLHost& host, const LLUUID& id, U16 packet_num, U16 data_size, U8* data) -{ - LLTextureFetchWorker* worker = getWorker(id); - bool res = true; - - ++mPacketCount; - - if (!worker) - { -// LL_WARNS(LOG_TXT) << "Received packet " << packet_num << " for non active worker: " << id << LL_ENDL; - res = false; - } - else if (worker->mLastPacket == -1) - { -// LL_WARNS(LOG_TXT) << "Received packet " << packet_num << " before header for: " << id << LL_ENDL; - res = false; - } - else if (!data_size) - { -// LL_WARNS(LOG_TXT) << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL; - res = false; - } - if (!res) - { - mNetworkQueueMutex.lock(); // +Mfnq - ++mBadPacketCount; - mCancelQueue[host].insert(id); - mNetworkQueueMutex.unlock(); // -Mfnq - return false; - } - - LLViewerStatsRecorder::instance().textureFetch(data_size); - LLViewerStatsRecorder::instance().log(0.1f); - - worker->lockWorkMutex(); - - - res = worker->insertPacket(packet_num, data, data_size); - - if ((worker->mState == LLTextureFetchWorker::LOAD_FROM_SIMULATOR) || - (worker->mState == LLTextureFetchWorker::LOAD_FROM_NETWORK)) - { - worker->setPriority(LLWorkerThread::PRIORITY_HIGH | worker->mWorkPriority); - worker->setState(LLTextureFetchWorker::LOAD_FROM_SIMULATOR); - } - else - { -// LL_WARNS(LOG_TXT) << "receiveImagePacket " << packet_num << "/" << worker->mLastPacket << " for worker: " << id -// << " in state: " << LLTextureFetchWorker::sStateDescs[worker->mState] << LL_ENDL; - removeFromNetworkQueue(worker, true); // failsafe - } - - if (packet_num >= (worker->mTotalPackets - 1)) - { - static LLCachedControl<bool> log_to_viewer_log(gSavedSettings,"LogTextureDownloadsToViewerLog", false); - static LLCachedControl<bool> log_to_sim(gSavedSettings,"LogTextureDownloadsToSimulator", false); - - if (log_to_viewer_log || log_to_sim) - { - U64Microseconds timeNow = LLTimer::getTotalTime(); - mTextureInfoMainThread.setRequestSize(id, worker->mFileSize); - mTextureInfoMainThread.setRequestCompleteTimeAndLog(id, timeNow); - } - } - worker->unlockWorkMutex(); // -Mw - - return res; -} - ////////////////////////////////////////////////////////////////////////////// // Threads: T* @@ -3726,13 +3162,7 @@ S32 LLTextureFetch::getFetchState(const LLUUID& id, F32& data_progress_p, F32& r request_dtime = worker->mRequestedDeltaTimer.getElapsedTimeF32(); if (worker->mFileSize > 0) { - if (state == LLTextureFetchWorker::LOAD_FROM_SIMULATOR) - { - S32 data_size = FIRST_PACKET_SIZE + (worker->mLastPacket-1) * MAX_IMG_PACKET_SIZE; - data_size = llmax(data_size, 0); - data_progress = (F32)data_size / (F32)worker->mFileSize; - } - else if (worker->mFormattedImage.notNull()) + if (worker->mFormattedImage.notNull()) { data_progress = (F32)worker->mFormattedImage->getDataSize() / (F32)worker->mFileSize; } diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h index e2d2aa365c..611a7d6419 100644 --- a/indra/newview/lltexturefetch.h +++ b/indra/newview/lltexturefetch.h @@ -101,12 +101,6 @@ public: // Threads: T* bool updateRequestPriority(const LLUUID& id, F32 priority); - // Threads: T* - bool receiveImageHeader(const LLHost& host, const LLUUID& id, U8 codec, U16 packets, U32 totalbytes, U16 data_size, U8* data); - - // Threads: T* - bool receiveImagePacket(const LLHost& host, const LLUUID& id, U16 packet_num, U16 data_size, U8* data); - // Threads: T* (but not safe) void setTextureBandwidth(F32 bandwidth) { mTextureBandwidth = bandwidth; } @@ -227,12 +221,6 @@ public: // ---------------------------------- protected: - // Threads: T* (but Ttf in practice) - void addToNetworkQueue(LLTextureFetchWorker* worker); - - // Threads: T* - void removeFromNetworkQueue(LLTextureFetchWorker* worker, bool cancel); - // Threads: T* void addToHTTPQueue(const LLUUID& id); @@ -251,9 +239,6 @@ protected: bool runCondition(); private: - // Threads: Tmain - void sendRequestListToSimulators(); - // Threads: Ttf /*virtual*/ void startThread(void); @@ -319,7 +304,7 @@ public: private: LLMutex mQueueMutex; //to protect mRequestMap and mCommands only - LLMutex mNetworkQueueMutex; //to protect mNetworkQueue, mHTTPTextureQueue and mCancelQueue. + LLMutex mNetworkQueueMutex; //to protect mHTTPTextureQueue LLTextureCache* mTextureCache; LLImageDecodeThread* mImageDecodeThread; @@ -330,10 +315,8 @@ private: // Set of requests that require network data typedef std::set<LLUUID> queue_t; - queue_t mNetworkQueue; // Mfnq queue_t mHTTPTextureQueue; // Mfnq typedef std::map<LLHost,std::set<LLUUID> > cancel_queue_t; - cancel_queue_t mCancelQueue; // Mfnq F32 mTextureBandwidth; // <none> F32 mMaxBandwidth; // Mfnq LLTextureInfo mTextureInfo; diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp index b74577315e..cf9211767e 100644 --- a/indra/newview/lltextureview.cpp +++ b/indra/newview/lltextureview.cpp @@ -234,7 +234,6 @@ void LLTextureBar::draw() { "DSK", LLColor4::cyan }, // LOAD_FROM_TEXTURE_CACHE { "DSK", LLColor4::blue }, // CACHE_POST { "NET", LLColor4::green }, // LOAD_FROM_NETWORK - { "SIM", LLColor4::green }, // LOAD_FROM_SIMULATOR { "HTW", LLColor4::green }, // WAIT_HTTP_RESOURCE { "HTW", LLColor4::green }, // WAIT_HTTP_RESOURCE2 { "REQ", LLColor4::yellow },// SEND_HTTP_REQ diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 01d799dcd5..752fc6f3f3 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -44,6 +44,7 @@ #include "llagent.h" // HACK for destinations guide on startup #include "llfloaterreg.h" // HACK for destinations guide on startup #include "llviewercontrol.h" // HACK for destinations guide on startup +#include "llinventorymodel.h" // HACK to disable starter avatars button for NUX #include <boost/foreach.hpp> @@ -319,6 +320,22 @@ bool LLToolBarView::loadToolbars(bool force_default) } } } + + // SL-18581: Don't show the starter avatar toolbar button for NUX users + LLViewerInventoryCategory* my_outfits_cat = gInventory.getCategory(gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS)); + if (gAgent.isFirstLogin() + && my_outfits_cat != NULL + && my_outfits_cat->getDescendentCount() > 0) + { + for (S32 i = LLToolBarEnums::TOOLBAR_FIRST; i <= LLToolBarEnums::TOOLBAR_LAST; i++) + { + if (mToolbars[i]) + { + mToolbars[i]->removeCommand(LLCommandId("avatar")); + } + } + } + mToolbarsLoaded = true; return true; } diff --git a/indra/newview/llviewerassetstorage.cpp b/indra/newview/llviewerassetstorage.cpp index 70065cb5a0..aa9ff012c3 100644 --- a/indra/newview/llviewerassetstorage.cpp +++ b/indra/newview/llviewerassetstorage.cpp @@ -134,14 +134,6 @@ LLViewerAssetStorage::~LLViewerAssetStorage() // This class has dedicated coroutine pool, clean it up, otherwise coroutines will crash later. LLCoprocedureManager::instance().close(VIEWER_ASSET_STORAGE_CORO_POOL); } - - while (mCoroWaitList.size() > 0) - { - CoroWaitList &request = mCoroWaitList.front(); - // Clean up pending downloads, delete request and trigger callbacks - removeAndCallbackPendingDownloads(request.mId, request.mType, request.mId, request.mType, LL_ERR_NOERR, LLExtStat::NONE); - mCoroWaitList.pop_front(); - } } // virtual @@ -346,28 +338,6 @@ void LLViewerAssetStorage::storeAssetData( } } -void LLViewerAssetStorage::checkForTimeouts() -{ - LLAssetStorage::checkForTimeouts(); - - // Restore requests - LLCoprocedureManager* manager = LLCoprocedureManager::getInstance(); - while (mCoroWaitList.size() > 0 - && manager->count(VIEWER_ASSET_STORAGE_CORO_POOL) < (LLCoprocedureManager::DEFAULT_QUEUE_SIZE - 1)) - { - CoroWaitList &request = mCoroWaitList.front(); - - bool with_http = true; - bool is_temp = false; - LLViewerAssetStatsFF::record_enqueue(request.mType, with_http, is_temp); - - manager->enqueueCoprocedure(VIEWER_ASSET_STORAGE_CORO_POOL, "LLViewerAssetStorage::assetRequestCoro", - boost::bind(&LLViewerAssetStorage::assetRequestCoro, this, request.mRequest, request.mId, request.mType, request.mCallback, request.mUserData)); - - mCoroWaitList.pop_front(); - } -} - /** * @brief Allocate and queue an asset fetch request for the viewer * @@ -424,21 +394,18 @@ void LLViewerAssetStorage::queueRequestHttp( // This is the same as the current UDP logic - don't re-request a duplicate. if (!duplicate) { - // Coroutine buffer has fixed size (synchronization buffer, so we have no alternatives), so buffer any request above limit LLCoprocedureManager* manager = LLCoprocedureManager::getInstance(); - if (manager->count(VIEWER_ASSET_STORAGE_CORO_POOL) < (LLCoprocedureManager::DEFAULT_QUEUE_SIZE - 1)) - { - bool with_http = true; - bool is_temp = false; - LLViewerAssetStatsFF::record_enqueue(atype, with_http, is_temp); - - manager->enqueueCoprocedure(VIEWER_ASSET_STORAGE_CORO_POOL, "LLViewerAssetStorage::assetRequestCoro", - boost::bind(&LLViewerAssetStorage::assetRequestCoro, this, req, uuid, atype, callback, user_data)); - } - else - { - mCoroWaitList.emplace_back(req, uuid, atype, callback, user_data); - } + bool with_http = true; + bool is_temp = false; + LLViewerAssetStatsFF::record_enqueue(atype, with_http, is_temp); + manager->enqueueCoprocedure( + VIEWER_ASSET_STORAGE_CORO_POOL, + "LLViewerAssetStorage::assetRequestCoro", + [this, req, uuid, atype, callback, user_data] + (LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t&, const LLUUID&) + { + assetRequestCoro(req, uuid, atype, callback, user_data); + }); } } diff --git a/indra/newview/llviewerassetstorage.h b/indra/newview/llviewerassetstorage.h index 0965a17ce1..c3719d0918 100644 --- a/indra/newview/llviewerassetstorage.h +++ b/indra/newview/llviewerassetstorage.h @@ -65,8 +65,6 @@ public: bool user_waiting=FALSE, F64Seconds timeout=LL_ASSET_STORAGE_TIMEOUT) override; - void checkForTimeouts() override; - protected: void _queueDataRequest(const LLUUID& uuid, LLAssetType::EType type, @@ -118,8 +116,6 @@ protected: LLGetAssetCallback mCallback; void *mUserData; }; - typedef std::list<CoroWaitList> wait_list_t; - wait_list_t mCoroWaitList; std::string mViewerAssetUrl; S32 mCountRequests; diff --git a/indra/newview/llviewerassetupload.cpp b/indra/newview/llviewerassetupload.cpp index 14fae8d035..232b52a3f9 100644 --- a/indra/newview/llviewerassetupload.cpp +++ b/indra/newview/llviewerassetupload.cpp @@ -868,11 +868,6 @@ void LLViewerAssetUpload::AssetInventoryUploadCoproc(LLCoreHttpUtil::HttpCorouti { floater_snapshot->notify(LLSD().with("set-finished", LLSD().with("ok", success).with("msg", "inventory"))); } - LLFloater* floater_outfit_snapshot = LLFloaterReg::findInstance("outfit_snapshot"); - if (uploadInfo->getAssetType() == LLAssetType::AT_TEXTURE && floater_outfit_snapshot && floater_outfit_snapshot->isShown()) - { - floater_outfit_snapshot->notify(LLSD().with("set-finished", LLSD().with("ok", success).with("msg", "inventory"))); - } } //========================================================================= @@ -951,11 +946,5 @@ void LLViewerAssetUpload::HandleUploadError(LLCore::HttpStatus status, LLSD &res floater_snapshot->notify(LLSD().with("set-finished", LLSD().with("ok", false).with("msg", "inventory"))); } } - - LLFloater* floater_outfit_snapshot = LLFloaterReg::findInstance("outfit_snapshot"); - if (uploadInfo->getAssetType() == LLAssetType::AT_TEXTURE && floater_outfit_snapshot && floater_outfit_snapshot->isShown()) - { - floater_outfit_snapshot->notify(LLSD().with("set-finished", LLSD().with("ok", false).with("msg", "inventory"))); - } } diff --git a/indra/newview/llvieweraudio.cpp b/indra/newview/llvieweraudio.cpp index f810e5f4ef..cc73f7ca80 100644 --- a/indra/newview/llvieweraudio.cpp +++ b/indra/newview/llvieweraudio.cpp @@ -496,7 +496,20 @@ void audio_update_listener() if (gAudiop) { // update listener position because agent has moved - LLVector3d lpos_global = gAgentCamera.getCameraPositionGlobal(); + static LLUICachedControl<S32> mEarLocation("MediaSoundsEarLocation", 0); + LLVector3d ear_position; + switch(mEarLocation) + { + case 0: + default: + ear_position = gAgentCamera.getCameraPositionGlobal(); + break; + + case 1: + ear_position = gAgent.getPositionGlobal(); + break; + } + LLVector3d lpos_global = ear_position; LLVector3 lpos_global_f; lpos_global_f.setVec(lpos_global); diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index bc46a61fb0..34c9dae4bb 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -616,7 +616,7 @@ bool toggle_show_navigation_panel(const LLSD& newvalue) LLNavigationBar::getInstance()->setVisible(value); gSavedSettings.setBOOL("ShowMiniLocationPanel", !value); - + gViewerWindow->reshapeStatusBarContainer(); return true; } diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index bc0fafb29f..031f9f6c52 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -236,6 +236,148 @@ void display_stats() } } +static void update_tp_display(bool minimized) +{ + static LLCachedControl<F32> teleport_arrival_delay(gSavedSettings, "TeleportArrivalDelay"); + static LLCachedControl<F32> teleport_local_delay(gSavedSettings, "TeleportLocalDelay"); + + S32 attach_count = 0; + if (isAgentAvatarValid()) + { + attach_count = gAgentAvatarp->getAttachmentCount(); + } + F32 teleport_save_time = TELEPORT_EXPIRY + TELEPORT_EXPIRY_PER_ATTACHMENT * attach_count; + F32 teleport_elapsed = gTeleportDisplayTimer.getElapsedTimeF32(); + F32 teleport_percent = teleport_elapsed * (100.f / teleport_save_time); + if (gAgent.getTeleportState() != LLAgent::TELEPORT_START && teleport_percent > 100.f) + { + // Give up. Don't keep the UI locked forever. + LL_WARNS("Teleport") << "Giving up on teleport. elapsed time " << teleport_elapsed << " exceeds max time " << teleport_save_time << LL_ENDL; + gAgent.setTeleportState(LLAgent::TELEPORT_NONE); + gAgent.setTeleportMessage(std::string()); + } + + // Make sure the TP progress panel gets hidden in case the viewer window + // is minimized *during* a TP. HB + if (minimized) + { + gViewerWindow->setShowProgress(FALSE); + } + + const std::string& message = gAgent.getTeleportMessage(); + switch (gAgent.getTeleportState()) + { + case LLAgent::TELEPORT_PENDING: + { + gTeleportDisplayTimer.reset(); + const std::string& msg = LLAgent::sTeleportProgressMessages["pending"]; + if (!minimized) + { + gViewerWindow->setShowProgress(TRUE); + gViewerWindow->setProgressPercent(llmin(teleport_percent, 0.0f)); + gViewerWindow->setProgressString(msg); + } + gAgent.setTeleportMessage(msg); + break; + } + + case LLAgent::TELEPORT_START: + { + // Transition to REQUESTED. Viewer has sent some kind + // of TeleportRequest to the source simulator + gTeleportDisplayTimer.reset(); + const std::string& msg = LLAgent::sTeleportProgressMessages["requesting"]; + LL_INFOS("Teleport") << "A teleport request has been sent, setting state to TELEPORT_REQUESTED" << LL_ENDL; + gAgent.setTeleportState(LLAgent::TELEPORT_REQUESTED); + gAgent.setTeleportMessage(msg); + if (!minimized) + { + gViewerWindow->setShowProgress(TRUE); + gViewerWindow->setProgressPercent(llmin(teleport_percent, 0.0f)); + gViewerWindow->setProgressString(msg); + gViewerWindow->setProgressMessage(gAgent.mMOTD); + } + break; + } + + case LLAgent::TELEPORT_REQUESTED: + // Waiting for source simulator to respond + if (!minimized) + { + gViewerWindow->setProgressPercent(llmin(teleport_percent, 37.5f)); + gViewerWindow->setProgressString(message); + } + break; + + case LLAgent::TELEPORT_MOVING: + // Viewer has received destination location from source simulator + if (!minimized) + { + gViewerWindow->setProgressPercent(llmin(teleport_percent, 75.f)); + gViewerWindow->setProgressString(message); + } + break; + + case LLAgent::TELEPORT_START_ARRIVAL: + // Transition to ARRIVING. Viewer has received avatar update, etc., + // from destination simulator + gTeleportArrivalTimer.reset(); + LL_INFOS("Teleport") << "Changing state to TELEPORT_ARRIVING" << LL_ENDL; + gAgent.setTeleportState(LLAgent::TELEPORT_ARRIVING); + gAgent.setTeleportMessage(LLAgent::sTeleportProgressMessages["arriving"]); + gAgent.sheduleTeleportIM(); + gTextureList.mForceResetTextureStats = TRUE; + gAgentCamera.resetView(TRUE, TRUE); + if (!minimized) + { + gViewerWindow->setProgressCancelButtonVisible(FALSE, LLTrans::getString("Cancel")); + gViewerWindow->setProgressPercent(75.f); + } + break; + + case LLAgent::TELEPORT_ARRIVING: + // Make the user wait while content "pre-caches" + { + F32 arrival_fraction = (gTeleportArrivalTimer.getElapsedTimeF32() / teleport_arrival_delay()); + if (arrival_fraction > 1.f) + { + arrival_fraction = 1.f; + //LLFirstUse::useTeleport(); + LL_INFOS("Teleport") << "arrival_fraction is " << arrival_fraction << " changing state to TELEPORT_NONE" << LL_ENDL; + gAgent.setTeleportState(LLAgent::TELEPORT_NONE); + } + if (!minimized) + { + gViewerWindow->setProgressCancelButtonVisible(FALSE, LLTrans::getString("Cancel")); + gViewerWindow->setProgressPercent(arrival_fraction * 25.f + 75.f); + gViewerWindow->setProgressString(message); + } + break; + } + + case LLAgent::TELEPORT_LOCAL: + // Short delay when teleporting in the same sim (progress screen active but not shown - did not + // fall-through from TELEPORT_START) + { + if (gTeleportDisplayTimer.getElapsedTimeF32() > teleport_local_delay()) + { + //LLFirstUse::useTeleport(); + LL_INFOS("Teleport") << "State is local and gTeleportDisplayTimer " << gTeleportDisplayTimer.getElapsedTimeF32() + << " exceeds teleport_local_delete " << teleport_local_delay + << "; setting state to TELEPORT_NONE" + << LL_ENDL; + gAgent.setTeleportState(LLAgent::TELEPORT_NONE); + } + break; + } + + case LLAgent::TELEPORT_NONE: + // No teleport in progress + gViewerWindow->setShowProgress(FALSE); + gTeleportDisplay = FALSE; + } +} + static LLTrace::BlockTimerStatHandle FTM_PICK("Picking"); static LLTrace::BlockTimerStatHandle FTM_RENDER("Render"); static LLTrace::BlockTimerStatHandle FTM_RENDER_HUD("Render HUD"); @@ -326,6 +468,15 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) stop_glerror(); gViewerWindow->returnEmptyPicks(); stop_glerror(); + + // We still need to update the teleport progress (to get changes done + // in TP states, else the sim does not get the messages signaling the + // agent's arrival). This fixes BUG-230616. HB + if (gTeleportDisplay) + { + // true = minimized, do not show/update the TP screen. HB + update_tp_display(true); + } return; } @@ -413,116 +564,8 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) { LL_RECORD_BLOCK_TIME(FTM_TELEPORT_DISPLAY); LLAppViewer::instance()->pingMainloopTimeout("Display:Teleport"); - static LLCachedControl<F32> teleport_arrival_delay(gSavedSettings, "TeleportArrivalDelay"); - static LLCachedControl<F32> teleport_local_delay(gSavedSettings, "TeleportLocalDelay"); - - S32 attach_count = 0; - if (isAgentAvatarValid()) - { - attach_count = gAgentAvatarp->getAttachmentCount(); - } - F32 teleport_save_time = TELEPORT_EXPIRY + TELEPORT_EXPIRY_PER_ATTACHMENT * attach_count; - F32 teleport_elapsed = gTeleportDisplayTimer.getElapsedTimeF32(); - F32 teleport_percent = teleport_elapsed * (100.f / teleport_save_time); - if( (gAgent.getTeleportState() != LLAgent::TELEPORT_START) && (teleport_percent > 100.f) ) - { - // Give up. Don't keep the UI locked forever. - LL_WARNS("Teleport") << "Giving up on teleport. elapsed time " << teleport_elapsed << " exceeds max time " << teleport_save_time << LL_ENDL; - gAgent.setTeleportState( LLAgent::TELEPORT_NONE ); - gAgent.setTeleportMessage(std::string()); - } - - const std::string& message = gAgent.getTeleportMessage(); - switch( gAgent.getTeleportState() ) - { - case LLAgent::TELEPORT_PENDING: - gTeleportDisplayTimer.reset(); - gViewerWindow->setShowProgress(TRUE); - gViewerWindow->setProgressPercent(llmin(teleport_percent, 0.0f)); - gAgent.setTeleportMessage(LLAgent::sTeleportProgressMessages["pending"]); - gViewerWindow->setProgressString(LLAgent::sTeleportProgressMessages["pending"]); - break; - - case LLAgent::TELEPORT_START: - // Transition to REQUESTED. Viewer has sent some kind - // of TeleportRequest to the source simulator - gTeleportDisplayTimer.reset(); - gViewerWindow->setShowProgress(TRUE); - gViewerWindow->setProgressPercent(llmin(teleport_percent, 0.0f)); - LL_INFOS("Teleport") << "A teleport request has been sent, setting state to TELEPORT_REQUESTED" << LL_ENDL; - gAgent.setTeleportState( LLAgent::TELEPORT_REQUESTED ); - gAgent.setTeleportMessage( - LLAgent::sTeleportProgressMessages["requesting"]); - gViewerWindow->setProgressString(LLAgent::sTeleportProgressMessages["requesting"]); - gViewerWindow->setProgressMessage(gAgent.mMOTD); - break; - - case LLAgent::TELEPORT_REQUESTED: - // Waiting for source simulator to respond - gViewerWindow->setProgressPercent( llmin(teleport_percent, 37.5f) ); - gViewerWindow->setProgressString(message); - break; - - case LLAgent::TELEPORT_MOVING: - // Viewer has received destination location from source simulator - gViewerWindow->setProgressPercent( llmin(teleport_percent, 75.f) ); - gViewerWindow->setProgressString(message); - break; - - case LLAgent::TELEPORT_START_ARRIVAL: - // Transition to ARRIVING. Viewer has received avatar update, etc., from destination simulator - gTeleportArrivalTimer.reset(); - gViewerWindow->setProgressCancelButtonVisible(FALSE, LLTrans::getString("Cancel")); - gViewerWindow->setProgressPercent(75.f); - LL_INFOS("Teleport") << "Changing state to TELEPORT_ARRIVING" << LL_ENDL; - gAgent.setTeleportState( LLAgent::TELEPORT_ARRIVING ); - gAgent.setTeleportMessage( - LLAgent::sTeleportProgressMessages["arriving"]); - gAgent.sheduleTeleportIM(); - gTextureList.mForceResetTextureStats = TRUE; - gAgentCamera.resetView(TRUE, TRUE); - - break; - - case LLAgent::TELEPORT_ARRIVING: - // Make the user wait while content "pre-caches" - { - F32 arrival_fraction = (gTeleportArrivalTimer.getElapsedTimeF32() / teleport_arrival_delay()); - if( arrival_fraction > 1.f ) - { - arrival_fraction = 1.f; - //LLFirstUse::useTeleport(); - LL_INFOS("Teleport") << "arrival_fraction is " << arrival_fraction << " changing state to TELEPORT_NONE" << LL_ENDL; - gAgent.setTeleportState( LLAgent::TELEPORT_NONE ); - } - gViewerWindow->setProgressCancelButtonVisible(FALSE, LLTrans::getString("Cancel")); - gViewerWindow->setProgressPercent( arrival_fraction * 25.f + 75.f); - gViewerWindow->setProgressString(message); - } - break; - - case LLAgent::TELEPORT_LOCAL: - // Short delay when teleporting in the same sim (progress screen active but not shown - did not - // fall-through from TELEPORT_START) - { - if( gTeleportDisplayTimer.getElapsedTimeF32() > teleport_local_delay() ) - { - //LLFirstUse::useTeleport(); - LL_INFOS("Teleport") << "State is local and gTeleportDisplayTimer " << gTeleportDisplayTimer.getElapsedTimeF32() - << " exceeds teleport_local_delete " << teleport_local_delay - << "; setting state to TELEPORT_NONE" - << LL_ENDL; - gAgent.setTeleportState( LLAgent::TELEPORT_NONE ); - } - } - break; - - case LLAgent::TELEPORT_NONE: - // No teleport in progress - gViewerWindow->setShowProgress(FALSE); - gTeleportDisplay = FALSE; - break; - } + // Note: false = not minimized, do update the TP screen. HB + update_tp_display(false); } else if(LLAppViewer::instance()->logoutRequestSent()) { diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 06a6c5e373..59654350e4 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -103,7 +103,7 @@ #include "llfloaterobjectweights.h" #include "llfloateropenobject.h" #include "llfloateroutfitphotopreview.h" -#include "llfloateroutfitsnapshot.h" +#include "llfloatersimpleoutfitsnapshot.h" #include "llfloaterpathfindingcharacters.h" #include "llfloaterpathfindingconsole.h" #include "llfloaterpathfindinglinksets.h" @@ -170,6 +170,7 @@ // *NOTE: Please add files in alphabetical order to keep merges easy. // handle secondlife:///app/openfloater/{NAME} URLs +const std::string FLOATER_PROFILE("profile"); class LLFloaterOpenHandler : public LLCommandHandler { public: @@ -185,7 +186,12 @@ public: } const std::string floater_name = LLURI::unescape(params[0].asString()); - LLFloaterReg::showInstance(floater_name); + LLSD key; + if (floater_name == FLOATER_PROFILE) + { + key["id"] = gAgentID; + } + LLFloaterReg::showInstance(floater_name, key); return true; } @@ -368,7 +374,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("scene_load_stats", "floater_scene_load_stats.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSceneLoadStats>); LLFloaterReg::add("stop_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotRunQueue>); LLFloaterReg::add("snapshot", "floater_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSnapshot>); - LLFloaterReg::add("outfit_snapshot", "floater_outfit_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterOutfitSnapshot>); + LLFloaterReg::add("simple_outfit_snapshot", "floater_simple_outfit_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSimpleOutfitSnapshot>); LLFloaterReg::add("search", "floater_search.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSearch>); LLFloaterReg::add("profile", "floater_profile.xml",(LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterProfile>); LLFloaterReg::add("guidebook", "floater_how_to.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterHowTo>); diff --git a/indra/newview/llviewerjointattachment.cpp b/indra/newview/llviewerjointattachment.cpp index fd314ed3dc..b3bfb86b99 100644 --- a/indra/newview/llviewerjointattachment.cpp +++ b/indra/newview/llviewerjointattachment.cpp @@ -45,7 +45,7 @@ #include "llglheaders.h" extern LLPipeline gPipeline; -const F32 MAX_ATTACHMENT_DIST = 3.5f; // meters? +const F32 MAX_ATTACHMENT_DIST = 3.5f; // meters //----------------------------------------------------------------------------- // LLViewerJointAttachment() diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index a1cb152e1e..8570c0cd5d 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -3581,7 +3581,20 @@ void LLViewerMediaImpl::calculateInterest() LLVector3d global_delta = agent_global - obj_global ; mProximityDistance = global_delta.magVecSquared(); // use distance-squared because it's cheaper and sorts the same. - LLVector3d camera_delta = gAgentCamera.getCameraPositionGlobal() - obj_global; + static LLUICachedControl<S32> mEarLocation("MediaSoundsEarLocation", 0); + LLVector3d ear_position; + switch(mEarLocation) + { + case 0: + default: + ear_position = gAgentCamera.getCameraPositionGlobal(); + break; + + case 1: + ear_position = agent_global; + break; + } + LLVector3d camera_delta = ear_position - obj_global; mProximityCamera = camera_delta.magVec(); } } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 3573af40cb..c796ed30f7 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -4334,6 +4334,10 @@ class LLLandSit : public view_listener_t { bool handleEvent(const LLSD& userdata) { + if (gAgent.isSitting()) + { + gAgent.standUp(); + } LLVector3d posGlobal = LLToolPie::getInstance()->getPick().mPosGlobal; LLQuaternion target_rot; diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp index f1e2c06e0c..fdf1d04c09 100644 --- a/indra/newview/llviewermenufile.cpp +++ b/indra/newview/llviewermenufile.cpp @@ -38,7 +38,7 @@ #include "llfloatermap.h" #include "llfloatermodelpreview.h" #include "llfloatersnapshot.h" -#include "llfloateroutfitsnapshot.h" +#include "llfloatersimpleoutfitsnapshot.h" #include "llimage.h" #include "llimagebmp.h" #include "llimagepng.h" @@ -664,7 +664,7 @@ class LLFileEnableCloseAllWindows : public view_listener_t bool handleEvent(const LLSD& userdata) { LLFloaterSnapshot* floater_snapshot = LLFloaterSnapshot::findInstance(); - LLFloaterOutfitSnapshot* floater_outfit_snapshot = LLFloaterOutfitSnapshot::findInstance(); + LLFloaterSimpleOutfitSnapshot* floater_outfit_snapshot = LLFloaterSimpleOutfitSnapshot::findInstance(); bool is_floaters_snapshot_opened = (floater_snapshot && floater_snapshot->isInVisibleChain()) || (floater_outfit_snapshot && floater_outfit_snapshot->isInVisibleChain()); bool open_children = gFloaterView->allChildrenClosed() && !is_floaters_snapshot_opened; @@ -681,7 +681,7 @@ class LLFileCloseAllWindows : public view_listener_t LLFloaterSnapshot* floater_snapshot = LLFloaterSnapshot::findInstance(); if (floater_snapshot) floater_snapshot->closeFloater(app_quitting); - LLFloaterOutfitSnapshot* floater_outfit_snapshot = LLFloaterOutfitSnapshot::findInstance(); + LLFloaterSimpleOutfitSnapshot* floater_outfit_snapshot = LLFloaterSimpleOutfitSnapshot::findInstance(); if (floater_outfit_snapshot) floater_outfit_snapshot->closeFloater(app_quitting); if (gMenuHolder) gMenuHolder->hideMenus(); diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index aad6c14b4d..7ac1df8e31 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -316,7 +316,8 @@ LLViewerObject::LLViewerObject(const LLUUID &id, const LLPCode pcode, LLViewerRe mLastUpdateType(OUT_UNKNOWN), mLastUpdateCached(FALSE), mCachedMuteListUpdateTime(0), - mCachedOwnerInMuteList(false) + mCachedOwnerInMuteList(false), + mRiggedAttachedWarned(false) { if (!is_global) { diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h index bef8e3e7e3..0005cdf14e 100644 --- a/indra/newview/llviewerobject.h +++ b/indra/newview/llviewerobject.h @@ -702,6 +702,8 @@ public: // Replace textures with web pages on this object while drawing BOOL mRenderMedia; + bool mRiggedAttachedWarned; + // In bits S32 mBestUpdatePrecision; diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index 75eb16c085..97dc916bfe 100644 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -1974,7 +1974,7 @@ void LLViewerParcelMgr::optionallyStartMusic(const std::string &music_url, const static LLCachedControl<bool> tentative_autoplay(gSavedSettings, "MediaTentativeAutoPlay", true); // only play music when you enter a new parcel if the UI control for this // was not *explicitly* stopped by the user. (part of SL-4878) - LLPanelNearByMedia* nearby_media_panel = gStatusBar->getNearbyMediaPanel(); + LLPanelNearByMedia* nearby_media_panel = gStatusBar ? gStatusBar->getNearbyMediaPanel() : NULL; LLViewerAudio* viewer_audio = LLViewerAudio::getInstance(); // ask mode //todo constants diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index e3ac56d0d3..8a11c5cf8f 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1118,7 +1118,7 @@ void LLViewerFetchedTexture::init(bool firstinit) mLoadedCallbackDesiredDiscardLevel = S8_MAX; mPauseLoadedCallBacks = FALSE; - mNeedsCreateTexture = FALSE; + mNeedsCreateTexture = false; mIsRawImageValid = FALSE; mRawDiscardLevel = INVALID_DISCARD_LEVEL; @@ -1400,12 +1400,12 @@ void LLViewerFetchedTexture::addToCreateTexture() { //just update some variables, not to create a real GL texture. createGLTexture(mRawDiscardLevel, mRawImage, 0, FALSE); - mNeedsCreateTexture = FALSE; + mNeedsCreateTexture = false; destroyRawImage(); } else if(!force_update && getDiscardLevel() > -1 && getDiscardLevel() <= mRawDiscardLevel) { - mNeedsCreateTexture = FALSE; + mNeedsCreateTexture = false; destroyRawImage(); } else @@ -1441,7 +1441,7 @@ void LLViewerFetchedTexture::addToCreateTexture() mRawDiscardLevel += i; if(mRawDiscardLevel >= getDiscardLevel() && getDiscardLevel() > 0) { - mNeedsCreateTexture = FALSE; + mNeedsCreateTexture = false; destroyRawImage(); return; } @@ -1473,7 +1473,7 @@ BOOL LLViewerFetchedTexture::preCreateTexture(S32 usename/*= 0*/) destroyRawImage(); return FALSE; } - mNeedsCreateTexture = FALSE; + mNeedsCreateTexture = false; if (mRawImage.isNull()) { @@ -1609,14 +1609,14 @@ void LLViewerFetchedTexture::postCreateTexture() destroyRawImage(); } - mNeedsCreateTexture = FALSE; + mNeedsCreateTexture = false; } void LLViewerFetchedTexture::scheduleCreateTexture() { if (!mNeedsCreateTexture) { - mNeedsCreateTexture = TRUE; + mNeedsCreateTexture = true; if (preCreateTexture()) { #if LL_IMAGEGL_THREAD_CHECK @@ -1630,7 +1630,7 @@ void LLViewerFetchedTexture::scheduleCreateTexture() memcpy(data_copy, data, size); } #endif - mNeedsCreateTexture = TRUE; + mNeedsCreateTexture = true; auto mainq = LLImageGLThread::sEnabled ? mMainQueue.lock() : nullptr; if (mainq) { diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h index b953d7006b..2f5e0d01df 100644 --- a/indra/newview/llviewertexture.h +++ b/indra/newview/llviewertexture.h @@ -27,6 +27,7 @@ #ifndef LL_LLVIEWERTEXTURE_H #define LL_LLVIEWERTEXTURE_H +#include "llatomic.h" #include "llgltexture.h" #include "lltimer.h" #include "llframetimer.h" @@ -528,7 +529,9 @@ protected: LLFrameTimer mStopFetchingTimer; // Time since mDecodePriority == 0.f. BOOL mInImageList; // TRUE if image is in list (in which case don't reset priority!) - BOOL mNeedsCreateTexture; + // This needs to be atomic, since it is written both in the main thread + // and in the GL image worker thread... HB + LLAtomicBool mNeedsCreateTexture; BOOL mForSculpt ; //a flag if the texture is used as sculpt data. BOOL mIsFetched ; //is loaded from remote or from cache, not generated locally. diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index da3c860ddb..93ae1670c8 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -45,11 +45,13 @@ #include "llxmltree.h" #include "message.h" +#include "lldrawpoolbump.h" // to init bumpmap images #include "lltexturecache.h" #include "lltexturefetch.h" #include "llviewercontrol.h" #include "llviewertexture.h" #include "llviewermedia.h" +#include "llviewernetwork.h" #include "llviewerregion.h" #include "llviewerstats.h" #include "pipeline.h" @@ -139,9 +141,6 @@ void LLViewerTextureList::doPreloadImages() //uv_test->setClamp(FALSE, FALSE); //uv_test->setMipFilterNearest(TRUE, TRUE); - // prefetch specific UUIDs - LLViewerTextureManager::getFetchedTexture(IMG_SHOT); - LLViewerTextureManager::getFetchedTexture(IMG_SMOKE_POOF); LLViewerFetchedTexture* image = LLViewerTextureManager::getFetchedTextureFromFile("silhouette.j2c", FTT_LOCAL_FILE, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI); if (image) { @@ -160,12 +159,6 @@ void LLViewerTextureList::doPreloadImages() image->setAddressMode(LLTexUnit::TAM_WRAP); mImagePreloads.insert(image); } - image = LLViewerTextureManager::getFetchedTexture(DEFAULT_WATER_NORMAL, FTT_DEFAULT, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI); - if (image) - { - image->setAddressMode(LLTexUnit::TAM_WRAP); - mImagePreloads.insert(image); - } image = LLViewerTextureManager::getFetchedTextureFromFile("transparent.j2c", FTT_LOCAL_FILE, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI, LLViewerTexture::FETCHED_TEXTURE, 0, 0, IMG_TRANSPARENT); if (image) @@ -198,7 +191,18 @@ void LLViewerTextureList::doPreloadImages() static std::string get_texture_list_name() { - return gDirUtilp->getExpandedFilename(LL_PATH_CACHE, "texture_list_" + gSavedSettings.getString("LoginLocation") + "." + gDirUtilp->getUserName() + ".xml"); + if (LLGridManager::getInstance()->isInProductionGrid()) + { + return gDirUtilp->getExpandedFilename(LL_PATH_CACHE, + "texture_list_" + gSavedSettings.getString("LoginLocation") + "." + gDirUtilp->getUserName() + ".xml"); + } + else + { + const std::string& grid_id_str = LLGridManager::getInstance()->getGridId(); + const std::string& grid_id_lower = utf8str_tolower(grid_id_str); + return gDirUtilp->getExpandedFilename(LL_PATH_CACHE, + "texture_list_" + gSavedSettings.getString("LoginLocation") + "." + gDirUtilp->getUserName() + "." + grid_id_lower + ".xml"); + } } void LLViewerTextureList::doPrefetchImages() @@ -207,6 +211,26 @@ void LLViewerTextureList::doPrefetchImages() gTextureTimer.start(); gTextureTimer.pause(); + // todo: do not load without getViewerAssetUrl() + // either fail login without caps or provide this + // in some other way, textures won't load otherwise + LLViewerFetchedTexture *imagep = findImage(DEFAULT_WATER_NORMAL, TEX_LIST_STANDARD); + if (!imagep) + { + // add it to mImagePreloads only once + imagep = LLViewerTextureManager::getFetchedTexture(DEFAULT_WATER_NORMAL, FTT_DEFAULT, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI); + if (imagep) + { + imagep->setAddressMode(LLTexUnit::TAM_WRAP); + mImagePreloads.insert(imagep); + } + } + + LLViewerTextureManager::getFetchedTexture(IMG_SHOT); + LLViewerTextureManager::getFetchedTexture(IMG_SMOKE_POOF); + + LLStandardBumpmap::addstandard(); + if (LLAppViewer::instance()->getPurgeCache()) { // cache was purged, no point @@ -1501,152 +1525,6 @@ void LLViewerTextureList::updateMaxResidentTexMem(S32Megabytes mem) /////////////////////////////////////////////////////////////////////////////// -// static -void LLViewerTextureList::receiveImageHeader(LLMessageSystem *msg, void **user_data) -{ - static LLCachedControl<bool> log_texture_traffic(gSavedSettings,"LogTextureNetworkTraffic", false) ; - - LL_PROFILE_ZONE_SCOPED_CATEGORY_TEXTURE; - - // Receive image header, copy into image object and decompresses - // if this is a one-packet image. - - LLUUID id; - - char ip_string[256]; - u32_to_ip_string(msg->getSenderIP(),ip_string); - - U32Bytes received_size ; - if (msg->getReceiveCompressedSize()) - { - received_size = (U32Bytes)msg->getReceiveCompressedSize() ; - } - else - { - received_size = (U32Bytes)msg->getReceiveSize() ; - } - add(LLStatViewer::TEXTURE_NETWORK_DATA_RECEIVED, received_size); - add(LLStatViewer::TEXTURE_PACKETS, 1); - - U8 codec; - U16 packets; - U32 totalbytes; - msg->getUUIDFast(_PREHASH_ImageID, _PREHASH_ID, id); - msg->getU8Fast(_PREHASH_ImageID, _PREHASH_Codec, codec); - msg->getU16Fast(_PREHASH_ImageID, _PREHASH_Packets, packets); - msg->getU32Fast(_PREHASH_ImageID, _PREHASH_Size, totalbytes); - - S32 data_size = msg->getSizeFast(_PREHASH_ImageData, _PREHASH_Data); - if (!data_size) - { - return; - } - if (data_size < 0) - { - // msg->getSizeFast() is probably trying to tell us there - // was an error. - LL_ERRS() << "image header chunk size was negative: " - << data_size << LL_ENDL; - return; - } - - // this buffer gets saved off in the packet list - U8 *data = new U8[data_size]; - msg->getBinaryDataFast(_PREHASH_ImageData, _PREHASH_Data, data, data_size); - - LLViewerFetchedTexture *image = LLViewerTextureManager::getFetchedTexture(id, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE); - if (!image) - { - delete [] data; - return; - } - if(log_texture_traffic) - { - gTotalTextureBytesPerBoostLevel[image->getBoostLevel()] += received_size ; - } - - //image->getLastPacketTimer()->reset(); - bool res = LLAppViewer::getTextureFetch()->receiveImageHeader(msg->getSender(), id, codec, packets, totalbytes, data_size, data); - if (!res) - { - delete[] data; - } -} - -// static -void LLViewerTextureList::receiveImagePacket(LLMessageSystem *msg, void **user_data) -{ - static LLCachedControl<bool> log_texture_traffic(gSavedSettings,"LogTextureNetworkTraffic", false) ; - - LL_PROFILE_ZONE_SCOPED_CATEGORY_TEXTURE; - - // Receives image packet, copy into image object, - // checks if all packets received, decompresses if so. - - LLUUID id; - U16 packet_num; - - char ip_string[256]; - u32_to_ip_string(msg->getSenderIP(),ip_string); - - U32Bytes received_size ; - if (msg->getReceiveCompressedSize()) - { - received_size = (U32Bytes)msg->getReceiveCompressedSize() ; - } - else - { - received_size = (U32Bytes)msg->getReceiveSize() ; - } - - add(LLStatViewer::TEXTURE_NETWORK_DATA_RECEIVED, F64Bytes(received_size)); - add(LLStatViewer::TEXTURE_PACKETS, 1); - - //llprintline("Start decode, image header..."); - msg->getUUIDFast(_PREHASH_ImageID, _PREHASH_ID, id); - msg->getU16Fast(_PREHASH_ImageID, _PREHASH_Packet, packet_num); - S32 data_size = msg->getSizeFast(_PREHASH_ImageData, _PREHASH_Data); - - if (!data_size) - { - return; - } - if (data_size < 0) - { - // msg->getSizeFast() is probably trying to tell us there - // was an error. - LL_ERRS() << "image data chunk size was negative: " - << data_size << LL_ENDL; - return; - } - if (data_size > MTUBYTES) - { - LL_ERRS() << "image data chunk too large: " << data_size << " bytes" << LL_ENDL; - return; - } - U8 *data = new U8[data_size]; - msg->getBinaryDataFast(_PREHASH_ImageData, _PREHASH_Data, data, data_size); - - LLViewerFetchedTexture *image = LLViewerTextureManager::getFetchedTexture(id, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE); - if (!image) - { - delete [] data; - return; - } - if(log_texture_traffic) - { - gTotalTextureBytesPerBoostLevel[image->getBoostLevel()] += received_size ; - } - - //image->getLastPacketTimer()->reset(); - bool res = LLAppViewer::getTextureFetch()->receiveImagePacket(msg->getSender(), id, packet_num, data_size, data); - if (!res) - { - delete[] data; - } -} - - // We've been that the asset server does not contain the requested image id. // static void LLViewerTextureList::processImageNotInDatabase(LLMessageSystem *msg,void **user_data) diff --git a/indra/newview/llviewertexturelist.h b/indra/newview/llviewertexturelist.h index 6fb0d3552e..0018e78d45 100644 --- a/indra/newview/llviewertexturelist.h +++ b/indra/newview/llviewertexturelist.h @@ -98,8 +98,6 @@ public: const S32 max_image_dimentions = LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT); static LLPointer<LLImageJ2C> convertToUploadFile(LLPointer<LLImageRaw> raw_image, const S32 max_image_dimentions = LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT); static void processImageNotInDatabase( LLMessageSystem *msg, void **user_data ); - static void receiveImageHeader(LLMessageSystem *msg, void **user_data); - static void receiveImagePacket(LLMessageSystem *msg, void **user_data); public: LLViewerTextureList(); @@ -133,7 +131,9 @@ public: void updateMaxResidentTexMem(S32Megabytes mem); + // Local UI images void doPreloadImages(); + // Network images. Needs caps and cache to work void doPrefetchImages(); void clearFetchingRequests(); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 8a7d5f12d0..3b391e311a 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -262,6 +262,8 @@ static const F32 MIN_UI_SCALE = 0.75f; static const F32 MAX_UI_SCALE = 7.0f; static const F32 MIN_DISPLAY_SCALE = 0.75f; +static const char KEY_MOUSELOOK = 'M'; + static LLCachedControl<std::string> sSnapshotBaseName(LLCachedControl<std::string>(gSavedPerAccountSettings, "SnapshotBaseName", "Snapshot")); static LLCachedControl<std::string> sSnapshotDir(LLCachedControl<std::string>(gSavedPerAccountSettings, "SnapshotBaseDir", "")); @@ -2232,31 +2234,36 @@ void LLViewerWindow::initWorldUI() // Force gFloaterTools to initialize LLFloaterReg::getInstance("build"); - // Status bar LLPanel* status_bar_container = getRootView()->getChild<LLPanel>("status_bar_container"); gStatusBar = new LLStatusBar(status_bar_container->getLocalRect()); - gStatusBar->setFollowsAll(); + gStatusBar->setFollows(FOLLOWS_LEFT | FOLLOWS_TOP | FOLLOWS_RIGHT); gStatusBar->setShape(status_bar_container->getLocalRect()); // sync bg color with menu bar gStatusBar->setBackgroundColor( gMenuBarView->getBackgroundColor().get() ); // add InBack so that gStatusBar won't be drawn over menu - status_bar_container->addChildInBack(gStatusBar); - status_bar_container->setVisible(TRUE); + status_bar_container->addChildInBack(gStatusBar, 2/*tab order, after menu*/); + status_bar_container->setVisible(TRUE); // Navigation bar - LLPanel* nav_bar_container = getRootView()->getChild<LLPanel>("nav_bar_container"); + LLView* nav_bar_container = getRootView()->getChild<LLView>("nav_bar_container"); LLNavigationBar* navbar = LLNavigationBar::getInstance(); navbar->setShape(nav_bar_container->getLocalRect()); navbar->setBackgroundColor(gMenuBarView->getBackgroundColor().get()); nav_bar_container->addChild(navbar); nav_bar_container->setVisible(TRUE); - + + if (!gSavedSettings.getBOOL("ShowNavbarNavigationPanel")) { navbar->setVisible(FALSE); } + else + { + reshapeStatusBarContainer(); + } + // Top Info bar LLPanel* topinfo_bar_container = getRootView()->getChild<LLPanel>("topinfo_bar_container"); @@ -2883,6 +2890,13 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask) if (keyboard_focus && !gFocusMgr.getKeystrokesOnly()) { + //Most things should fall through, but mouselook is an exception, + //don't switch to mouselook if any floater has focus + if ((key == KEY_MOUSELOOK) && !(mask & (MASK_CONTROL | MASK_ALT))) + { + return TRUE; + } + LLUICtrl* cur_focus = dynamic_cast<LLUICtrl*>(keyboard_focus); if (cur_focus && cur_focus->acceptsTextInput()) { @@ -5842,6 +5856,27 @@ LLRect LLViewerWindow::getChatConsoleRect() return console_rect; } + +void LLViewerWindow::reshapeStatusBarContainer() +{ + LLPanel* status_bar_container = getRootView()->getChild<LLPanel>("status_bar_container"); + LLView* nav_bar_container = getRootView()->getChild<LLView>("nav_bar_container"); + + S32 new_height = status_bar_container->getRect().getHeight(); + S32 new_width = status_bar_container->getRect().getWidth(); + + if (gSavedSettings.getBOOL("ShowNavbarNavigationPanel")) + { + // Navigation bar is outside visible area, expand status_bar_container to show it + new_height += nav_bar_container->getRect().getHeight(); + } + else + { + // collapse status_bar_container + new_height -= nav_bar_container->getRect().getHeight(); + } + status_bar_container->reshape(new_width, new_height, TRUE); +} //---------------------------------------------------------------------------- diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index 979a560508..1927e01ddb 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -177,6 +177,8 @@ public: bool getUIVisibility(); void handlePieMenu(S32 x, S32 y, MASK mask); + void reshapeStatusBarContainer(); + BOOL handleAnyMouseClick(LLWindow *window, LLCoordGL pos, MASK mask, EMouseClickType clicktype, BOOL down); // diff --git a/indra/newview/llvlcomposition.cpp b/indra/newview/llvlcomposition.cpp index 46beac8255..0e6734f6e0 100644 --- a/indra/newview/llvlcomposition.cpp +++ b/indra/newview/llvlcomposition.cpp @@ -287,6 +287,12 @@ BOOL LLVLComposition::generateTexture(const F32 x, const F32 y, BOOL delete_raw = (mDetailTextures[i]->reloadRawImage(ddiscard) != NULL) ; if(mDetailTextures[i]->getRawImageLevel() != ddiscard)//raw iamge is not ready, will enter here again later. { + if (mDetailTextures[i]->getDecodePriority() <= 0.0f && !mDetailTextures[i]->hasSavedRawImage()) + { + mDetailTextures[i]->setBoostLevel(LLGLTexture::BOOST_MAP); + mDetailTextures[i]->forceToRefetchTexture(ddiscard); + } + if(delete_raw) { mDetailTextures[i]->destroyRawImage() ; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 42550ed48d..176528cb56 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -10636,7 +10636,7 @@ void LLVOAvatar::updateVisualComplexity() // with an avatar. This will be either an attached object or an animated // object. void LLVOAvatar::accountRenderComplexityForObject( - const LLViewerObject *attached_object, + LLViewerObject *attached_object, const F32 max_attachment_complexity, LLVOVolume::texture_cost_t& textures, U32& cost, @@ -10708,7 +10708,7 @@ void LLVOAvatar::accountRenderComplexityForObject( && attached_object->mDrawable) { textures.clear(); - + BOOL is_rigged_mesh = attached_object->isRiggedMesh(); mAttachmentSurfaceArea += attached_object->recursiveGetScaledSurfaceArea(); const LLVOVolume* volume = attached_object->mDrawable->getVOVolume(); @@ -10729,6 +10729,7 @@ void LLVOAvatar::accountRenderComplexityForObject( iter != child_list.end(); ++iter) { LLViewerObject* childp = *iter; + is_rigged_mesh |= childp->isRiggedMesh(); const LLVOVolume* chld_volume = dynamic_cast<LLVOVolume*>(childp); if (chld_volume) { @@ -10737,6 +10738,16 @@ void LLVOAvatar::accountRenderComplexityForObject( hud_object_complexity.objectsCount++; } } + if (is_rigged_mesh && !attached_object->mRiggedAttachedWarned) + { + LLSD args; + LLViewerInventoryItem* itemp = gInventory.getItem(attached_object->getAttachmentItemID()); + args["NAME"] = itemp ? itemp->getName() : LLTrans::getString("Unknown"); + args["POINT"] = LLTrans::getString(getTargetAttachmentPoint(attached_object)->getName()); + LLNotificationsUtil::add("RiggedMeshAttachedToHUD", args); + + attached_object->mRiggedAttachedWarned = true; + } hud_object_complexity.texturesCount += textures.size(); @@ -10841,7 +10852,7 @@ void LLVOAvatar::calculateUpdateRenderComplexity() attachment_iter != attachment->mAttachedObjects.end(); ++attachment_iter) { - const LLViewerObject* attached_object = attachment_iter->get(); + LLViewerObject* attached_object = attachment_iter->get(); accountRenderComplexityForObject(attached_object, max_attachment_complexity, textures, cost, hud_complexity_list); } diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 8d1dcbcda2..56f2b73bef 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -293,7 +293,7 @@ public: void addNameTagLine(const std::string& line, const LLColor4& color, S32 style, const LLFontGL* font, const bool use_ellipses = false); void idleUpdateRenderComplexity(); void idleUpdateDebugInfo(); - void accountRenderComplexityForObject(const LLViewerObject *attached_object, + void accountRenderComplexityForObject(LLViewerObject *attached_object, const F32 max_attachment_complexity, LLVOVolume::texture_cost_t& textures, U32& cost, diff --git a/indra/newview/llvoground.h b/indra/newview/llvoground.h index a53f309e46..e7033290c7 100644 --- a/indra/newview/llvoground.h +++ b/indra/newview/llvoground.h @@ -49,7 +49,6 @@ public: /*virtual*/ LLDrawable* createDrawable(LLPipeline *pipeline); /*virtual*/ BOOL updateGeometry(LLDrawable *drawable); - void cleanupGL(); }; #endif // LL_LLVOGROUND_H diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index ac6369e4e2..ab90f2e482 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -1247,8 +1247,8 @@ bool LLVivoxVoiceClient::establishVoiceConnection() if (result.has("connector")) { - LLVoiceVivoxStats::getInstance()->establishAttemptEnd(connected); connected = LLSD::Boolean(result["connector"]); + LLVoiceVivoxStats::getInstance()->establishAttemptEnd(connected); if (!connected) { if (result.has("retry") && ++retries <= CONNECT_RETRY_MAX && !sShuttingDown) @@ -4551,9 +4551,7 @@ void LLVivoxVoiceClient::messageEvent( IM_NOTHING_SPECIAL, // default arg 0, // default arg LLUUID::null, // default arg - LLVector3::zero, // default arg - true); // prepend name and make it a link to the user's profile - + LLVector3::zero); // default arg } } } @@ -6229,7 +6227,7 @@ void LLVivoxVoiceClient::clearSessionHandle(const sessionStatePtr_t &session) { if (session) { - if (session->mHandle.empty()) + if (!session->mHandle.empty()) { sessionMap::iterator iter = mSessionsByHandle.find(session->mHandle); if (iter != mSessionsByHandle.end()) diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index aa32ef04b2..55bcbf8aa5 100644 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -93,7 +93,7 @@ LLWorld::LLWorld() : mLastPacketsLost(0), mSpaceTimeUSec(0) { - for (S32 i = 0; i < 8; i++) + for (S32 i = 0; i < EDGE_WATER_OBJECTS_COUNT; i++) { mEdgeWaterObjects[i] = NULL; } @@ -126,7 +126,7 @@ void LLWorld::resetClass() LLViewerPartSim::getInstance()->destroyClass(); mDefaultWaterTexturep = NULL ; - for (S32 i = 0; i < 8; i++) + for (S32 i = 0; i < EDGE_WATER_OBJECTS_COUNT; i++) { mEdgeWaterObjects[i] = NULL; } @@ -753,6 +753,8 @@ void LLWorld::clearAllVisibleObjects() //clear all cached visible objects. (*iter)->clearCachedVisibleObjects(); } + clearHoleWaterObjects(); + clearEdgeWaterObjects(); } void LLWorld::updateParticles() @@ -920,7 +922,7 @@ void LLWorld::precullWaterObjects(LLCamera& camera, LLCullResult* cull, bool inc } S32 dir; - for (dir = 0; dir < 8; dir++) + for (dir = 0; dir < EDGE_WATER_OBJECTS_COUNT; dir++) { LLVOWater* waterp = mEdgeWaterObjects[dir]; if (waterp && waterp->mDrawable) @@ -931,6 +933,26 @@ void LLWorld::precullWaterObjects(LLCamera& camera, LLCullResult* cull, bool inc } } +void LLWorld::clearHoleWaterObjects() +{ + for (std::list<LLPointer<LLVOWater> >::iterator iter = mHoleWaterObjects.begin(); + iter != mHoleWaterObjects.end(); ++iter) + { + LLVOWater* waterp = (*iter).get(); + gObjectList.killObject(waterp); + } + mHoleWaterObjects.clear(); +} + +void LLWorld::clearEdgeWaterObjects() +{ + for (S32 i = 0; i < EDGE_WATER_OBJECTS_COUNT; i++) + { + gObjectList.killObject(mEdgeWaterObjects[i]); + mEdgeWaterObjects[i] = NULL; + } +} + void LLWorld::updateWaterObjects() { if (!gAgent.getRegion()) @@ -974,13 +996,7 @@ void LLWorld::updateWaterObjects() } } - for (std::list<LLPointer<LLVOWater> >::iterator iter = mHoleWaterObjects.begin(); - iter != mHoleWaterObjects.end(); ++ iter) - { - LLVOWater* waterp = (*iter).get(); - gObjectList.killObject(waterp); - } - mHoleWaterObjects.clear(); + clearHoleWaterObjects(); // Use the water height of the region we're on for areas where there is no region F32 water_height = gAgent.getRegion()->getWaterHeight(); @@ -1021,7 +1037,7 @@ void LLWorld::updateWaterObjects() (S32)(512 - (region_y - min_y)) }; S32 dir; - for (dir = 0; dir < 8; dir++) + for (dir = 0; dir < EDGE_WATER_OBJECTS_COUNT; dir++) { S32 dim[2] = { 0 }; switch (gDirAxes[dir][0]) diff --git a/indra/newview/llworld.h b/indra/newview/llworld.h index 5c43cdf4e2..5dee8eea0f 100644 --- a/indra/newview/llworld.h +++ b/indra/newview/llworld.h @@ -122,12 +122,9 @@ public: void updateRegions(F32 max_update_time); void updateVisibilities(); void updateParticles(); - void updateClouds(const F32 dt); - LLCloudGroup * findCloudGroup(const LLCloudPuff &puff); void renderPropertyLines(); - void resetStats(); void updateNetStats(); // Update network statistics for all the regions... void printPacketsLost(); @@ -140,7 +137,7 @@ public: void setLandFarClip(const F32 far_clip); LLViewerTexture *getDefaultWaterTexture(); - void updateWaterObjects(); + void updateWaterObjects(); void precullWaterObjects(LLCamera& camera, LLCullResult* cull, bool include_void_water); @@ -175,6 +172,9 @@ public: bool isRegionListed(const LLViewerRegion* region) const; private: + void clearHoleWaterObjects(); + void clearEdgeWaterObjects(); + region_list_t mActiveRegionList; region_list_t mRegionList; region_list_t mVisibleRegionList; @@ -198,15 +198,14 @@ private: U32 mNumOfActiveCachedObjects; U64MicrosecondsImplicit mSpaceTimeUSec; - BOOL mClassicCloudsEnabled; - //////////////////////////// // // Data for "Fake" objects // std::list<LLPointer<LLVOWater> > mHoleWaterObjects; - LLPointer<LLVOWater> mEdgeWaterObjects[8]; + static const S32 EDGE_WATER_OBJECTS_COUNT = 8; + LLPointer<LLVOWater> mEdgeWaterObjects[EDGE_WATER_OBJECTS_COUNT]; LLPointer<LLViewerTexture> mDefaultWaterTexturep; }; diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 96ba80dacc..13d6966723 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -685,7 +685,9 @@ void LLPipeline::cleanup() mFaceSelectImagep = NULL; - mMovedBridge.clear(); + mMovedList.clear(); + mMovedBridge.clear(); + mShiftList.clear(); mInitialized = false; @@ -1773,15 +1775,20 @@ void LLPipeline::unlinkDrawable(LLDrawable *drawable) void LLPipeline::removeMutedAVsLights(LLVOAvatar* muted_avatar) { LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE; - for (light_set_t::iterator iter = gPipeline.mNearbyLights.begin(); - iter != gPipeline.mNearbyLights.end(); iter++) - { - if (iter->drawable->getVObj()->isAttachment() && iter->drawable->getVObj()->getAvatar() == muted_avatar) - { - gPipeline.mLights.erase(iter->drawable); - gPipeline.mNearbyLights.erase(iter); - } - } + light_set_t::iterator iter = gPipeline.mNearbyLights.begin(); + + while (iter != gPipeline.mNearbyLights.end()) + { + if (iter->drawable->getVObj()->isAttachment() && iter->drawable->getVObj()->getAvatar() == muted_avatar) + { + gPipeline.mLights.erase(iter->drawable); + iter = gPipeline.mNearbyLights.erase(iter); + } + else + { + iter++; + } + } } U32 LLPipeline::addObject(LLViewerObject *vobj) @@ -2817,6 +2824,14 @@ void LLPipeline::clearRebuildDrawables() drawablep->clearState(LLDrawable::EARLY_MOVE | LLDrawable::MOVE_UNDAMPED | LLDrawable::ON_MOVE_LIST | LLDrawable::ANIMATED_CHILD); } mMovedList.clear(); + + for (LLDrawable::drawable_vector_t::iterator iter = mShiftList.begin(); + iter != mShiftList.end(); ++iter) + { + LLDrawable *drawablep = *iter; + drawablep->clearState(LLDrawable::EARLY_MOVE | LLDrawable::MOVE_UNDAMPED | LLDrawable::ON_MOVE_LIST | LLDrawable::ANIMATED_CHILD | LLDrawable::ON_SHIFT_LIST); + } + mShiftList.clear(); } void LLPipeline::rebuildPriorityGroups() @@ -10906,6 +10921,8 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar) if (preview_avatar) { // Only show rigged attachments for preview + // For the sake of performance and so that static + // objects won't obstruct previewing changes LLVOAvatar::attachment_map_t::iterator iter; for (iter = avatar->mAttachmentPoints.begin(); iter != avatar->mAttachmentPoints.end(); @@ -10917,9 +10934,27 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar) ++attachment_iter) { LLViewerObject* attached_object = attachment_iter->get(); - if (attached_object && attached_object->isRiggedMesh()) + if (attached_object) { - markVisible(attached_object->mDrawable->getSpatialBridge(), *viewer_camera); + if (attached_object->isRiggedMesh()) + { + markVisible(attached_object->mDrawable->getSpatialBridge(), *viewer_camera); + } + else + { + // sometimes object is a linkset and rigged mesh is a child + LLViewerObject::const_child_list_t& child_list = attached_object->getChildren(); + for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin(); + iter != child_list.end(); iter++) + { + LLViewerObject* child = *iter; + if (child->isRiggedMesh()) + { + markVisible(attached_object->mDrawable->getSpatialBridge(), *viewer_camera); + break; + } + } + } } } } diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index 62d3ae7a39..0830d4a2ea 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -465,7 +465,7 @@ public: RENDER_TYPE_PASS_SIMPLE_RIGGED = LLRenderPass::PASS_SIMPLE_RIGGED, RENDER_TYPE_PASS_GRASS = LLRenderPass::PASS_GRASS, RENDER_TYPE_PASS_FULLBRIGHT = LLRenderPass::PASS_FULLBRIGHT, - RENDER_TYPE_PASS_FULLBRIGHT_RIGGED = LLRenderPass::PASS_FULLBRIGHT, + RENDER_TYPE_PASS_FULLBRIGHT_RIGGED = LLRenderPass::PASS_FULLBRIGHT_RIGGED, RENDER_TYPE_PASS_INVISIBLE = LLRenderPass::PASS_INVISIBLE, RENDER_TYPE_PASS_INVISIBLE_RIGGED = LLRenderPass::PASS_INVISIBLE_RIGGED, RENDER_TYPE_PASS_INVISI_SHINY = LLRenderPass::PASS_INVISI_SHINY, diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index c3ce83e834..8bb3feaeb0 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -985,4 +985,10 @@ <color name="AddPaymentPanel" value="0.27 0.27 0.27 1" /> + <color + name="OutfitSnapshotMacMask" + value="0.115 0.115 0.115 1"/> + <color + name="OutfitSnapshotMacMask2" + value="0.1 0.1 0.1 1"/> </colors> diff --git a/indra/newview/skins/default/xui/da/floater_hardware_settings.xml b/indra/newview/skins/default/xui/da/floater_hardware_settings.xml deleted file mode 100644 index a5942eb625..0000000000 --- a/indra/newview/skins/default/xui/da/floater_hardware_settings.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="HARDWARE OPSÆTNING"> - <text name="Filtering:"> - Filtrering: - </text> - <check_box label="Anisotropic filtrering (langsommere når aktiveret)" name="ani"/> - <text name="Antialiasing:"> - Antialiasing: - </text> - <combo_box label="Antialiasing" name="fsaa" width="100"> - <combo_box.item label="Slået fra" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (kræver genstart af din Second Life klient) - </text> - <spinner label="Gamma:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (Lysstyrke, lavere er lysere, 0=benyt standard) - </text> - <text name="Enable VBO:"> - Aktivér VBO: - </text> - <check_box initial_value="true" label="Aktivér OpenGL Vertex Buffer objekter" name="vbo" tool_tip="Aktivér af dette på nyere hardware giver performance forbedring. På ældre hardware kan aktivering medfø nedbrud."/> - <slider label="Tekstur hukommelse (MB):" name="GraphicsCardTextureMemory" tool_tip="Mængde hukommelse der skal allokeres til teksturer (textures). Standardindstilling er hukommelse på grafikkortet. Reduktion kan medfø bedre ydeevne, men kan samtidig gøre teksturer mere udflydende."/> - <spinner label="Tåge: afstandsforhold:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/da/panel_edit_classified.xml b/indra/newview/skins/default/xui/da/panel_edit_classified.xml deleted file mode 100644 index fc4780a34e..0000000000 --- a/indra/newview/skins/default/xui/da/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Redigér annoncer" name="panel_edit_classified"> - <panel.string name="location_notice"> - (vil blive opdateret efter gemning) - </panel.string> - <string name="publish_label"> - Publicér - </string> - <string name="save_label"> - Gem - </string> - <text name="title"> - Rediger annonce - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Klik for at vælge et billede"/> - </panel> - <text name="Name:"> - Titel: - </text> - <text name="description_label"> - Beskrivelse: - </text> - <text name="location_label"> - Lokation: - </text> - <text name="classified_location"> - henter... - </text> - <button label="Sæt til nuværende lokation" name="set_to_curr_location_btn"/> - <text name="category_label" value="Kategori:"/> - <text name="content_type_label" value="Indholdstype:"/> - <icons_combo_box label="Generelt" name="content_type"> - <icons_combo_box.item label="Moderat" name="mature_ci" value="Voksent"/> - <icons_combo_box.item label="Generelt" name="pg_ci" value="PG"/> - </icons_combo_box> - <check_box label="Forny automatisk hver uge" name="auto_renew"/> - <text name="price_for_listing_label" value="Pris for optagelse:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Pris for optagelse." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Annullér" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_edit_pick.xml b/indra/newview/skins/default/xui/da/panel_edit_pick.xml deleted file mode 100644 index 3036f30240..0000000000 --- a/indra/newview/skins/default/xui/da/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Redigér Pick" name="panel_edit_pick"> - <panel.string name="location_notice"> - (vil blive opdateret ved gemning) - </panel.string> - <text name="title"> - Redigér favorit - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Klik for at vælge billede"/> - <text name="Name:"> - Titel: - </text> - <text name="description_label"> - Beskrivelse: - </text> - <text name="location_label"> - Lokation: - </text> - <text name="pick_location"> - henter... - </text> - <button label="Sæt til nuværende lokation" name="set_to_curr_location_btn"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Gem valgte" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Annullér" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_edit_profile.xml b/indra/newview/skins/default/xui/da/panel_edit_profile.xml deleted file mode 100644 index 14fd48ba2f..0000000000 --- a/indra/newview/skins/default/xui/da/panel_edit_profile.xml +++ /dev/null @@ -1,62 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Redigér profil" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Beboer"/> - <string name="AcctTypeTrial" value="På prøve"/> - <string name="AcctTypeCharterMember" value="æresmedlem"/> - <string name="AcctTypeEmployee" value="Linden Lab medarbejder"/> - <string name="PaymentInfoUsed" value="Betalende medlem"/> - <string name="PaymentInfoOnFile" value="Registreret betalende"/> - <string name="NoPaymentInfoOnFile" value="Ingen betalingsinfo"/> - <string name="AgeVerified" value="Alders-checket"/> - <string name="NotAgeVerified" value="Ikke alders-checket"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=da - </string> - <string name="no_partner_text" value="Ingen"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Visningsnavn:"/> - <text name="solo_username_label" value="Bugernavn:"/> - <button name="set_name" tool_tip="Sæt visningsnavn"/> - <text name="user_label" value="Brugernavn:"/> - <panel name="lifes_images_panel"> - <icon label="" name="2nd_life_edit_icon" tool_tip="Klik for at vælge et billede"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Real World:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Klik for at vælge et billede"/> - <text name="title_homepage_text"> - Hjemmeside: - </text> - <check_box label="Vis mig i søgeresultater" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Min konto:"/> - <text_editor name="acc_status_text" value="Beboer. Ingen betalingsinfo."/> - <text name="my_account_link" value="[[URL] Go to My Dashboard]"/> - <text name="title_partner_text" value="Min partner:"/> - <panel name="partner_data_panel"> - <text initial_value="(henter)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Edit]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Gem ændringer" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Annullér" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_pick_info.xml b/indra/newview/skins/default/xui/da/panel_pick_info.xml deleted file mode 100644 index 8a5141f967..0000000000 --- a/indra/newview/skins/default/xui/da/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Favorit info"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[name]"/> - <text_editor name="pick_location" value="[loading...]"/> - <text_editor name="pick_desc" value="[description]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teleport" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Kort" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Rediger" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_picks.xml b/indra/newview/skins/default/xui/da/panel_picks.xml deleted file mode 100644 index 8af68ee69a..0000000000 --- a/indra/newview/skins/default/xui/da/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Favoritter" name="panel_picks"> - <string name="no_picks" value="Ingen favoritter"/> - <string name="no_classifieds" value="Ingen annoncer"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Favoritter"/> - <accordion_tab name="tab_classifieds" title="Annoncer"/> - </accordion> - <panel label="bottom_panel" name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="Opret favorit eller annonce på nuværende lokation"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Info" name="info_btn" tool_tip="Vis favoritinformation"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleport" name="teleport_btn" tool_tip="Teleportér til tilsvarende område"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Kort" name="show_on_map_btn" tool_tip="Vis tilsvarende område på verdenskort"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/de/floater_edit_day_cycle.xml deleted file mode 100644 index 8b29428c24..0000000000 --- a/indra/newview/skins/default/xui/de/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Tageszyklus bearbeiten"> - <string name="title_new"> - Neuen Tageszyklus erstellen - </string> - <string name="title_edit"> - Tageszyklus bearbeiten - </string> - <string name="hint_new"> - Geben Sie einen Namen für den Tageszyklus ein, passen Sie die Steuerungen an, um den Tageszyklus zu erstellen, und klicken Sie auf „Speichern“. - </string> - <string name="hint_edit"> - Um den Tageszyklus zu bearbeiten, passen Sie die Steuerungen unten an und klicken Sie auf „Speichern“. - </string> - <string name="combo_label"> - -Voreinstellung auswählen- - </string> - <text name="label"> - Name der Voreinstellung: - </text> - <text name="note"> - Hinweis: Wenn Sie den Namen Ihrer Voreinstellung ändern, entsteht eine neue Voreinstellung; die vorhandene Voreinstellung wird nicht geändert. - </text> - <text name="hint_item1"> - - Klicken Sie auf eine Registerkarte, um die Himmeleinstellungen und die Uhrzeit zu bearbeiten. - </text> - <text name="hint_item2"> - - Klicken und ziehen Sie die Registerkarten, um die Übergangszeiten einzustellen. - </text> - <text name="hint_item3"> - - Anhand des Scrubbers können Sie eine Vorschau Ihres Tageszyklus anzeigen. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Schlüssel hinzufügen" label_selected="Schlüssel hinzufügen" name="WLAddKey"/> - <button label="Schlüssel löschen" label_selected="Schlüssel löschen" name="WLDeleteKey"/> - <text name="WL12am"> - 0:00 - </text> - <text name="WL3am"> - 3:00 - </text> - <text name="WL6am"> - 6:00 - </text> - <text name="WL9amHash"> - 9:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL3pm"> - 15:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL9pm"> - 21:00 - </text> - <text name="WL12am2"> - 0:00 - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Himmeleinstellung: - </text> - <combo_box label="Voreinstellung" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - Uhrzeit: - </text> - <time name="time" value="6:00"/> - <check_box label="Zu meinem neuen Tageszyklus machen" name="make_default_cb"/> - <button label="Speichern" name="save"/> - <button label="Abbrechen" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/de/floater_edit_sky_preset.xml deleted file mode 100644 index adb7e5e479..0000000000 --- a/indra/newview/skins/default/xui/de/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Himmel-Voreinstellung bearbeiten"> - <string name="title_new"> - Neue Himmel-Voreinstellung erstellen - </string> - <string name="title_edit"> - Himmel-Voreinstellung bearbeiten - </string> - <string name="hint_new"> - Geben Sie einen Namen für die Voreinstellung ein, passen Sie die Steuerungen an, um die Voreinstellung zu erstellen, und klicken Sie dann auf „Speichern“. - </string> - <string name="hint_edit"> - Um Ihre Himmel-Voreinstellung zu bearbeiten, passen Sie die Steuerungen an und klicken Sie auf „Speichern“. - </string> - <string name="combo_label"> - -Voreinstellung auswählen- - </string> - <text name="hint"> - Um Ihre Voreinstellung zu bearbeiten, passen Sie die Steuerungen an und klicken Sie auf „Speichern“. - </text> - <text name="label"> - Name der Voreinstellung: - </text> - <text name="note"> - Hinweis: Wenn Sie den Namen Ihrer Voreinstellung ändern, erstellen Sie eine neue Voreinstellung. Die vorhandene Voreinstellung wird nicht geändert. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSPHÄRE" name="Atmosphere"> - <text name="BHText"> - Blauer Horizont - </text> - <text name="BDensText"> - Horizonttrübung - </text> - <text name="BDensText2"> - Farbintensität - </text> - <text name="HDText"> - Trübungsintensität - </text> - <text name="DensMultText"> - Dichtemultiplikator - </text> - <text name="WLDistanceMultText"> - Entfernungsmultiplikator - </text> - <text name="MaxAltText"> - Max. Höhe - </text> - </panel> - <panel label="BELEUCHTUNG" name="Lighting"> - <text name="SLCText"> - Sonne/Mond-Farbe - </text> - <text name="WLAmbientText"> - Umgebung - </text> - <text name="SunGlowText"> - Sonnenleuchtkraft - </text> - <slider label="Fokus" name="WLGlowB"/> - <slider label="Größe" name="WLGlowR"/> - <text name="WLStarText"> - Sternenleuchtkraft - </text> - <text name="SceneGammaText"> - Gamma in Szene - </text> - <text name="TODText"> - Sonne/Mond-Stand - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 0:00 - </text> - <text name="WL6am"> - 6:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL12am2"> - 0:00 - </text> - <time name="WLDayTime" value="6:00"/> - <text name="WLEastAngleText"> - Ostausrichtung - </text> - </panel> - <panel label="WOLKEN" name="Clouds"> - <text name="WLCloudColorText"> - Wolkenfarbe - </text> - <text name="WLCloudColorText2"> - Wolken-XY/Dichte - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Wolkendichte - </text> - <text name="WLCloudScaleText"> - Wolkenskalierung - </text> - <text name="WLCloudDetailText"> - Wolkendetails (XY/Dichte) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Wolkenbewegung X - </text> - <check_box label="Sperren" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Wolkenbewegung Y - </text> - <check_box label="Sperren" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Diese Voreinstellung zu meiner neuen Himmeleinstellung machen" name="make_default_cb"/> - <button label="Speichern" name="save"/> - <button label="Abbrechen" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/de/floater_edit_water_preset.xml deleted file mode 100644 index dc7a18acb8..0000000000 --- a/indra/newview/skins/default/xui/de/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Wasser-Voreinstellung bearbeiten"> - <string name="title_new"> - Neue Wasser-Voreinstellung erstellen - </string> - <string name="title_edit"> - Wasser-Voreinstellung bearbeiten - </string> - <string name="hint_new"> - Geben Sie einen Namen für die Voreinstellung ein, passen Sie die Steuerungen an, um die Voreinstellung zu erstellen, und klicken Sie dann auf „Speichern“. - </string> - <string name="hint_edit"> - Um Ihre Wasser-Voreinstellung zu bearbeiten, passen Sie die Steuerungen an und klicken Sie auf „Speichern“. - </string> - <string name="combo_label"> - -Voreinstellung auswählen- - </string> - <text name="hint"> - Um Ihre Voreinstellung zu bearbeiten, passen Sie die Steuerungen an und klicken Sie auf „Speichern“. - </text> - <text name="label"> - Name der Voreinstellung: - </text> - <text name="note"> - Hinweis: Wenn Sie den Namen Ihrer Voreinstellung ändern, erstellen Sie eine neue Voreinstellung. Die vorhandene Voreinstellung wird nicht geändert. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Trübungsfarbe - </text> - <text name="water_fog_density_label"> - Exponent für Trübungsdichte - </text> - <text name="underwater_fog_modifier_label"> - Modifikator für Wassertrübung - </text> - <text name="BHText"> - Richtung für große Wellen - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Reflexionswellengröße - </text> - <text name="HDText"> - Fresnel-Skalierung - </text> - <text name="FresnelOffsetText"> - Fresnel-Versatz - </text> - <text name="BHText2"> - Richtung für kleine Wellen - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Brechungsstärke oben - </text> - <text name="WaterScaleBelowText"> - Brechungsstärke unten - </text> - <text name="MaxAltText"> - Mischungsmultiplikator - </text> - <text name="BHText3"> - Normal-Map - </text> - </panel> - <check_box label="Diese Voreinstellung zu meiner neuen Wassereinstellung machen" name="make_default_cb"/> - <button label="Speichern" name="save"/> - <button label="Abbrechen" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_environment_settings.xml b/indra/newview/skins/default/xui/de/floater_environment_settings.xml deleted file mode 100644 index 7ad26b23b5..0000000000 --- a/indra/newview/skins/default/xui/de/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="UMGEBUNGSEINSTELLUNGEN"> - <text name="note"> - Anhand der nachstehenden Optionen können Sie die Umgebungseinstellungen für Ihren Viewer anpassen. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Regionseinstellungen verwenden" name="use_region_settings"/> - <radio_item label="Meine Umgebung anpassen" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Hinweis: Ihre benutzerdefinierten Einstellungen sind für andere Benutzer nicht sichtbar. - </text> - <text name="water_settings_title"> - Wassereinstellung - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Voreinstellung auswählen-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Himmel/Tageszyklus - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Fester Himmel" name="my_sky_settings"/> - <radio_item label="Tageszyklus" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Voreinstellung auswählen-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Voreinstellung auswählen-" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="Abbrechen" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_facebook.xml b/indra/newview/skins/default/xui/de/floater_facebook.xml deleted file mode 100644 index 32d6d02c7a..0000000000 --- a/indra/newview/skins/default/xui/de/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="AUF FACEBOOK POSTEN"> - <tab_container name="tabs"> - <panel label="STATUS" name="panel_facebook_status"/> - <panel label="FOTO" name="panel_facebook_photo"/> - <panel label="EINCHECKEN" name="panel_facebook_place"/> - <panel label="FREUNDE" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Fehler - </text> - <text name="connection_loading_text"> - Laden... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_flickr.xml b/indra/newview/skins/default/xui/de/floater_flickr.xml deleted file mode 100644 index 525d015c2b..0000000000 --- a/indra/newview/skins/default/xui/de/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="AUF FLICKR TEILEN"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="FOTO" name="panel_flickr_photo"/> - <panel label="KONTO" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Fehler - </text> - <text name="connection_loading_text"> - Laden... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_hardware_settings.xml b/indra/newview/skins/default/xui/de/floater_hardware_settings.xml deleted file mode 100644 index fd6c9a0875..0000000000 --- a/indra/newview/skins/default/xui/de/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="HARDWARE-EINSTELLUNGEN"> - <text name="Filtering:"> - Filtern: - </text> - <check_box label="Anisotropische Filterung (langsamer, wenn aktiviert)" name="ani"/> - <text name="antialiasing label"> - Antialiasing: - </text> - <combo_box label="Antialiasing" name="fsaa"> - <combo_box.item label="Deaktiviert" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (Neustart des Viewers erforderlich) - </text> - <spinner label="Gamma:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = Standard-Helligkeit, weniger = heller) - </text> - <text name="Enable VBO:"> - VBO aktivieren: - </text> - <check_box initial_value="true" label="OpenGL Vertex-Buffer-Objekte aktivieren" name="vbo" tool_tip="Wenn Sie über moderne Grafikhardware verfügen, können Sie durch Aktivieren dieser Option die Geschwindigkeit verbessern. Bei alter Hardware sind die VBO oft schlecht implementiert, was zu Abstürzen führen kann, wenn diese Option aktiviert ist."/> - <text name="tc label"> - S3TC aktivieren: - </text> - <check_box initial_value="true" label="Texturkomprimierung aktivieren (Neustart erforderlich)" name="texture compression" tool_tip="Komprimiert Texturen im Videospeicher, damit höher auflösende Texturen geladen werden können (leichte Beeinträchtigung der Farbqualität)."/> - <slider label="Texturen-Cache (MB):" name="GraphicsCardTextureMemory" tool_tip="Speicherplatz, der für Texturen zur Verfügung steht. In der Regel handelt es sich um Grafikkartenspeicher. Ein kleinerer Wert kann die Geschwindigkeit erhöhen, aber auch zu Texturunschärfen führen."/> - <spinner label="Nebeldistanzverhältnis:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_twitter.xml b/indra/newview/skins/default/xui/de/floater_twitter.xml deleted file mode 100644 index 483641c260..0000000000 --- a/indra/newview/skins/default/xui/de/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="ERSTELLEN" name="panel_twitter_photo"/> - <panel label="KONTO" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Fehler - </text> - <text name="connection_loading_text"> - Laden... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/de/panel_edit_classified.xml b/indra/newview/skins/default/xui/de/panel_edit_classified.xml deleted file mode 100644 index 8adacb4a5f..0000000000 --- a/indra/newview/skins/default/xui/de/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Anzeige bearbeiten" name="panel_edit_classified"> - <panel.string name="location_notice"> - (wird nach Speichern aktualisiert) - </panel.string> - <string name="publish_label"> - Veröffentlichen - </string> - <string name="save_label"> - Speichern - </string> - <text name="title"> - Anzeige bearbeiten - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Klicken, um ein Bild auszuwählen"/> - </panel> - <text name="Name:"> - Titel: - </text> - <text name="description_label"> - Beschreibung: - </text> - <text name="location_label"> - Standort: - </text> - <text name="classified_location"> - wird geladen... - </text> - <button label="Aktuellen Standort verwenden" name="set_to_curr_location_btn"/> - <text name="category_label" value="Kategorie:"/> - <text name="content_type_label" value="Inhaltsart:"/> - <icons_combo_box label="Genereller Inhalt" name="content_type"> - <icons_combo_box.item label="Moderater Inhalt" name="mature_ci" value="Moderat"/> - <icons_combo_box.item label="Genereller Inhalt" name="pg_ci" value="G"/> - </icons_combo_box> - <check_box label="Jede Woche automatisch erneuern" name="auto_renew"/> - <text name="price_for_listing_label" value="Preis für Anzeige:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Preis für Anzeige." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Abbrechen" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_edit_pick.xml b/indra/newview/skins/default/xui/de/panel_edit_pick.xml deleted file mode 100644 index aafffc7ae3..0000000000 --- a/indra/newview/skins/default/xui/de/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Auswahl bearbeiten" name="panel_edit_pick"> - <panel.string name="location_notice"> - (wird nach Speichern aktualisiert) - </panel.string> - <text name="title"> - Auswahl bearbeiten - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Klicken, um ein Bild auszuwählen"/> - <text name="Name:"> - Titel: - </text> - <text name="description_label"> - Beschreibung: - </text> - <text name="location_label"> - Standort: - </text> - <text name="pick_location"> - wird geladen... - </text> - <button label="Aktuellen Standort verwenden" name="set_to_curr_location_btn"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Auswahl speichern" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Abbrechen" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_edit_profile.xml b/indra/newview/skins/default/xui/de/panel_edit_profile.xml deleted file mode 100644 index 03974e7f7f..0000000000 --- a/indra/newview/skins/default/xui/de/panel_edit_profile.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil bearbeiten" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Einwohner"/> - <string name="AcctTypeTrial" value="Test"/> - <string name="AcctTypeCharterMember" value="Charta-Mitglied"/> - <string name="AcctTypeEmployee" value="Linden Lab-Mitarbeiter"/> - <string name="PaymentInfoUsed" value="Zahlungsinfo verwendet"/> - <string name="PaymentInfoOnFile" value="Zahlungsinfo archiviert"/> - <string name="NoPaymentInfoOnFile" value="Keine Zahlungsinfo archiviert"/> - <string name="AgeVerified" value="Altersgeprüft"/> - <string name="NotAgeVerified" value="Nicht altersgeprüft"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=de - </string> - <string name="my_account_link_url"> - http://de.secondlife.com/my - </string> - <string name="no_partner_text" value="Keiner"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Anzeigename:"/> - <text name="solo_username_label" value="Benutzername:"/> - <button name="set_name" tool_tip="Anzeigenamen festlegen"/> - <text name="user_label" value="Benutzername:"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="Klicken, um ein Bild auszuwählen"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Echtes Leben:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Klicken, um ein Bild auszuwählen"/> - <text name="title_homepage_text"> - Webseite: - </text> - <line_editor name="homepage_edit" value="http://"/> - <check_box label="In Suchergebnissen anzeigen" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Mein Konto:"/> - <text_editor name="acc_status_text" value="Einwohner. Keine Zahlungsinfo archiviert."/> - <text name="my_account_link" value="[[URL] Meine Startseite aufrufen]"/> - <text name="title_partner_text" value="Mein Partner:"/> - <panel name="partner_data_panel"> - <text initial_value="(wird in Datenbank gesucht)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] bearbeiten]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Änderungen speichern" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Abbrechen" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_facebook_friends.xml b/indra/newview/skins/default/xui/de/panel_facebook_friends.xml deleted file mode 100644 index 1a0bbc7d30..0000000000 --- a/indra/newview/skins/default/xui/de/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Sie haben gegenwärtig keine Facebook-Freunde, die ebenfalls Second Life-Einwohner sind. Laden Sie Ihre Facebook-Freunde ein, Second Life beizutreten!"/> - <string name="facebook_friends_no_connected" value="Sie sind gegenwärtig nicht mit Facebook verbunden. Um eine Verbindung herzustellen und diese Funktion zu aktivieren, wechseln Sie zur Registerkarte "Status"."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="SL-Freunde"/> - <accordion_tab name="tab_suggested_friends" title="Diese Personen als SL-Freunde hinzufügen"/> - </accordion> - <text name="facebook_friends_status"> - Nicht mit Facebook verbunden. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_facebook_photo.xml b/indra/newview/skins/default/xui/de/panel_facebook_photo.xml deleted file mode 100644 index fac9fe9984..0000000000 --- a/indra/newview/skins/default/xui/de/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Bildauflösung"> - <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/> - <combo_box.item label="640 x 480" name="640x480"/> - <combo_box.item label="800 x 600" name="800x600"/> - <combo_box.item label="1024 x 768" name="1024x768"/> - <combo_box.item label="1200 x 630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Bildfilter"> - <combo_box.item label="Kein Filter" name="NoFilter"/> - </combo_box> - <button label="Aktualisieren" name="new_snapshot_btn" tool_tip="Zum Aktualisieren klicken"/> - <button label="Vorschau" name="big_preview_btn" tool_tip="Klicken, um Vorschau ein-/auszuschalten"/> - <text name="caption_label"> - Kommentar (optional): - </text> - <button label="Posten" name="post_photo_btn"/> - <button label="Abbrechen" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_facebook_place.xml b/indra/newview/skins/default/xui/de/panel_facebook_place.xml deleted file mode 100644 index 102be80502..0000000000 --- a/indra/newview/skins/default/xui/de/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Details zu Ihrem aktuellen Standort: - </text> - <check_box initial_value="false" label="Draufsicht des Standorts einschließen" name="add_place_view_cb"/> - <button label="Posten" name="post_place_btn"/> - <button label="Abbrechen" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_facebook_status.xml b/indra/newview/skins/default/xui/de/panel_facebook_status.xml deleted file mode 100644 index 1fefef548e..0000000000 --- a/indra/newview/skins/default/xui/de/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Sie sind mit Facebook verbunden als:"/> - <string name="facebook_disconnected" value="Nicht mit Facebook verbunden"/> - <text name="account_caption_label"> - Nicht mit Facebook verbunden. - </text> - <panel name="panel_buttons"> - <button label="Verbinden..." name="connect_btn"/> - <button label="Trennen" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Anweisungen zum Posten auf Facebook] - </text> - </panel> - <text name="status_caption_label"> - Was machen Sie gerade? - </text> - <button label="Posten" name="post_status_btn"/> - <button label="Abbrechen" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_flickr_account.xml b/indra/newview/skins/default/xui/de/panel_flickr_account.xml deleted file mode 100644 index 416761f0da..0000000000 --- a/indra/newview/skins/default/xui/de/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Sie sind mit Flickr verbunden als:"/> - <string name="flickr_disconnected" value="Nicht mit Flickr verbunden"/> - <text name="account_caption_label"> - Nicht mit Flickr verbunden. - </text> - <panel name="panel_buttons"> - <button label="Verbinden..." name="connect_btn"/> - <button label="Trennen" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Anweisungen zum Posten auf Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_flickr_photo.xml b/indra/newview/skins/default/xui/de/panel_flickr_photo.xml deleted file mode 100644 index d8bc1f310d..0000000000 --- a/indra/newview/skins/default/xui/de/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Bildauflösung"> - <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Bildfilter"> - <combo_box.item label="Kein Filter" name="NoFilter"/> - </combo_box> - <button label="Aktualisieren" name="new_snapshot_btn" tool_tip="Zum Aktualisieren klicken"/> - <button label="Vorschau" name="big_preview_btn" tool_tip="Klicken, um Vorschau ein-/auszuschalten"/> - <text name="title_label"> - Titel: - </text> - <text name="description_label"> - Beschreibung: - </text> - <check_box initial_value="true" label="SL-Standort am Ende der Beschreibung hinzufügen" name="add_location_cb"/> - <text name="tags_label"> - Markierungen: - </text> - <text name="tags_help_label"> - Markierungen durch Leerzeichen trennen. -Für Markierungen, die aus mehreren Wörtern bestehen, "" verwenden. - </text> - <combo_box name="rating_combobox" tool_tip="Flickr-Inhaltseinstufung"> - <combo_box.item label="Sichere Flickr-Einstufung" name="SafeRating"/> - <combo_box.item label="Moderate Flickr-Einstufung" name="ModerateRating"/> - <combo_box.item label="Beschränkte Flickr-Einstufung" name="RestrictedRating"/> - </combo_box> - <button label="Teilen" name="post_photo_btn"/> - <button label="Abbrechen" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_pick_info.xml b/indra/newview/skins/default/xui/de/panel_pick_info.xml deleted file mode 100644 index f215c43a3d..0000000000 --- a/indra/newview/skins/default/xui/de/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Auswahl-Info"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[name]"/> - <text_editor name="pick_location" value="[wird geladen...]"/> - <text_editor name="pick_desc" value="[description]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teleportieren" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Karte" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Bearbeiten" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_picks.xml b/indra/newview/skins/default/xui/de/panel_picks.xml deleted file mode 100644 index 6aaa3151a8..0000000000 --- a/indra/newview/skins/default/xui/de/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Auswahl" name="panel_picks"> - <string name="no_picks" value="Keine Auswahl"/> - <string name="no_classifieds" value="Keine Anzeigen"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Auswahl"/> - <accordion_tab name="tab_classifieds" title="Anzeigen"/> - </accordion> - <panel label="bottom_panel" name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="An aktuellem Standort neue Auswahl oder Anzeige erstellen"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Info" name="info_btn" tool_tip="Informationen zur Auswahl anzeigen"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportieren" name="teleport_btn" tool_tip="Zu entsprechendem Standort teleportieren"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Karte" name="show_on_map_btn" tool_tip="Den entsprechenden Standort auf der Karte anzeigen"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_twitter_account.xml b/indra/newview/skins/default/xui/de/panel_twitter_account.xml deleted file mode 100644 index f2cbf3eb55..0000000000 --- a/indra/newview/skins/default/xui/de/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Sie sind mit Twitter verbunden als:"/> - <string name="twitter_disconnected" value="Nicht mit Twitter verbunden"/> - <text name="account_caption_label"> - Nicht mit Twitter verbunden. - </text> - <panel name="panel_buttons"> - <button label="Verbinden..." name="connect_btn"/> - <button label="Trennen" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Anweisungen zum Posten auf Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_twitter_photo.xml b/indra/newview/skins/default/xui/de/panel_twitter_photo.xml deleted file mode 100644 index e637253983..0000000000 --- a/indra/newview/skins/default/xui/de/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Was ist los? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="SL-Standort hinzufügen" name="add_location_cb"/> - <check_box initial_value="true" label="Foto hinzufügen" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Bildauflösung"> - <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Bildfilter"> - <combo_box.item label="Kein Filter" name="NoFilter"/> - </combo_box> - <button label="Aktualisieren" name="new_snapshot_btn" tool_tip="Zum Aktualisieren klicken"/> - <button label="Vorschau" name="big_preview_btn" tool_tip="Klicken, um Vorschau ein-/auszuschalten"/> - <button label="Tweeten" name="post_photo_btn"/> - <button label="Abbrechen" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/en/floater_360capture.xml b/indra/newview/skins/default/xui/en/floater_360capture.xml index c89489d145..23d054105f 100644 --- a/indra/newview/skins/default/xui/en/floater_360capture.xml +++ b/indra/newview/skins/default/xui/en/floater_360capture.xml @@ -24,6 +24,7 @@ height="16" layout="topleft" left="10" + name="quality_level_label" top="10" width="100"> Quality level diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 4678d65b85..4985d07eb9 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -2,13 +2,16 @@ <floater positioning="cascading" can_tear_off="false" - height="396" + can_resize="true" layout="topleft" name="floaterland" help_topic="floaterland" save_rect="true" title="ABOUT LAND" - width="634"> + height="396" + width="634" + min_height="420" + min_width="634"> <floater.string name="maturity_icon_general"> "Parcel_PG_Dark" @@ -659,10 +662,11 @@ type="string" length="1" enabled="false" - follows="top|left" + follows="top|left|right" height="175" layout="topleft" left="10" + right="-10" max_length="65535" name="covenant_editor" width="470" @@ -1129,25 +1133,25 @@ top_delta="-6"/> <button enabled="false" - follows="left|top" + follows="top|right" height="23" label="Return Objects" layout="topleft" left_pad="6" name="Return objects..." top_delta="0" - right="-154" + right="-10" width="164" /> <name_list column_padding="0" draw_heading="true" - follows="top|left" + follows="all" height="150" layout="topleft" left="10" name="owner list" name_column="name" - width="470"> + right="-10"> <name_list.columns label="Type" name="type" @@ -1341,9 +1345,9 @@ Only large parcels can be listed in search. <panel bevel_style="none" border="true" - top="121" - bottom="121" - follows="left|bottom|right" + top="116" + bottom="116" + follows="left|top|right" left="20" right="-20"/> <check_box @@ -1377,9 +1381,10 @@ Only large parcels can be listed in search. enabled="true" height="23" layout="topleft" - left="164" + left="18" top="194" name="land category" + follows="left|top" visible="true" width="140"> <combo_box.item @@ -1508,18 +1513,18 @@ Only large parcels can be listed in search. Landing Point: [LANDING] </text> <button - follows="right|top" + follows="left|top" top_pad="0" height="23" label="Set" label_selected="Set" layout="topleft" name="Set" - left="399" + left_delta="0" tool_tip="Sets the landing point where visitors arrive. Sets to your avatar's location inside this parcel." width="50" /> <button - follows="right|top" + follows="left|top" height="23" label="Clear" label_selected="Clear" @@ -1546,7 +1551,8 @@ Only large parcels can be listed in search. layout="topleft" name="landing type" top_pad="0" - left="399" + left_delta="0" + follows="left|top" tool_tip="Teleport Routing -- select how to handle teleports onto your land" width="120"> <combo_box.item @@ -1590,7 +1596,8 @@ Only large parcels can be listed in search. <combo_box height="23" layout="topleft" - left_pad="144" + left_pad="0" + follows="left|top" name="media type" tool_tip="Specify if the URL is a movie, web page, or other media" width="120" @@ -1625,11 +1632,11 @@ Only large parcels can be listed in search. width="300" top_delta="0"/> <button - follows="right|top" + follows="left|top" height="23" label="Set" layout="topleft" - left_pad="149" + left_pad="3" name="set_media_url" width="70" top_delta="0"/> @@ -1908,7 +1915,7 @@ Only large parcels can be listed in search. </text> <check_box height="16" - label="Obscure MOAP" + label="Restrict MOAP to this parcel" layout="topleft" left="110" left_pad="0" @@ -1985,7 +1992,8 @@ Only large parcels can be listed in search. <combo_box height="23" layout="topleft" - left_pad="166" + follows="left|top" + left_pad="22" name="pass_combo" top_delta="0" width="100"> @@ -2039,14 +2047,21 @@ Only large parcels can be listed in search. top_pad="5" width="400"> (The estate owner may have limited these choices) - </text> - <panel - name="Allowed_layout_panel" - follows="top|left" - left="10" - height="170" - top_pad="8" - width="240"> + </text> + <layout_stack name="access_stack" + height="170" + follows="all" + animate="false" + left="10" + right="-10" + top_pad="8" + orientation="horizontal"> + <layout_panel + auto_resize="true" + user_resize="false" + name="Allowed_layout_panel" + height="170" + width="240"> <text type="string" length="1" @@ -2062,7 +2077,7 @@ Only large parcels can be listed in search. </text> <name_list column_padding="0" - follows="top|bottom" + follows="all" heading_height="14" height="125" layout="topleft" @@ -2070,7 +2085,7 @@ Only large parcels can be listed in search. multi_select="true" name="AccessList" tool_tip="([LISTED] listed, [MAX] max)" - width="230" /> + width="228" /> <button follows="bottom" height="23" @@ -2080,22 +2095,21 @@ Only large parcels can be listed in search. name="add_allowed" width="100" /> <button - follows="bottom" + follows="right|bottom" height="23" label="Remove" label_selected="Remove" layout="topleft" - left_pad="10" + left_pad="28" name="remove_allowed" - right="-10" width="100" /> - </panel> - <panel + </layout_panel> + <layout_panel + auto_resize="true" + user_resize="false" name="Banned_layout_panel" - follows="top|right" height="170" - width="240" - left_pad="146"> + width="240"> <text type="string" length="1" @@ -2103,7 +2117,7 @@ Only large parcels can be listed in search. height="16" label="Ban" layout="topleft" - left="0" + left="1" name="BanCheck" top="0" width="200"> @@ -2111,11 +2125,11 @@ Only large parcels can be listed in search. </text> <name_list column_padding="0" - follows="top|bottom" + follows="all" heading_height="16" height="125" layout="topleft" - left="0" + left="1" multi_select="true" draw_heading="true" name="BannedList" @@ -2135,21 +2149,21 @@ Only large parcels can be listed in search. height="23" label="Add" layout="topleft" - left="0" + left="1" name="add_banned" width="100" /> <button enabled="false" - follows="bottom" + follows="right|bottom" height="23" label="Remove" label_selected="Remove" layout="topleft" - left_pad="10" + left_pad="29" name="remove_banned" - right="-10" width="100" /> - </panel> + </layout_panel> + </layout_stack> </panel> <panel border="true" diff --git a/indra/newview/skins/default/xui/en/floater_adjust_environment.xml b/indra/newview/skins/default/xui/en/floater_adjust_environment.xml index f4a686bae1..bf97d32a5c 100644 --- a/indra/newview/skins/default/xui/en/floater_adjust_environment.xml +++ b/indra/newview/skins/default/xui/en/floater_adjust_environment.xml @@ -33,6 +33,7 @@ animate="false" orientation="horizontal"> <layout_panel border="false" + name="lp_1" bevel_style="in" auto_resize="false" user_resize="false" @@ -40,6 +41,7 @@ width="160" height="150"> <text follows="left|top" + name="ambient_lbl" height="10" layout="topleft" left="10" @@ -55,6 +57,7 @@ top_pad="5" width="60"/> <text follows="left|top" + name="blue_horizon_lbl" height="10" layout="topleft" left_delta="0" @@ -70,6 +73,7 @@ top_pad="5" width="60"/> <text follows="left|top" + name="blue_density_lbl" height="10" layout="topleft" left_delta="0" @@ -95,6 +99,7 @@ top_pad="10" width="100"/> <text follows="right|top" + name="sun_color_lbl" height="10" layout="topleft" right="-12" @@ -110,6 +115,7 @@ top_pad="5" width="60"/> <text follows="left|top" + name="cloud_color_lbl" height="10" layout="topleft" left_delta="0" @@ -142,7 +148,7 @@ layout="topleft" left_delta="0" top_pad="-13" - name="cloud_map_label" + name="water_map_label" width="80">Water Image:</text> <texture_picker height="63" layout="topleft" @@ -152,6 +158,7 @@ width="60"/> </layout_panel> <layout_panel border="false" + name="lp_2" bevel_style="in" auto_resize="false" user_resize="false" @@ -159,6 +166,7 @@ width="200" height="150"> <text follows="left|top" + name="haze_horizon_label" height="10" layout="topleft" left_delta="5" @@ -178,6 +186,7 @@ width="185" can_edit_text="true"/> <text follows="left|top" + name="haze_density_label" height="10" layout="topleft" left_delta="-5" @@ -197,6 +206,7 @@ width="185" can_edit_text="true"/> <text follows="left|top" + name="cloud_coverage_label" height="10" layout="topleft" left_delta="-5" @@ -216,6 +226,7 @@ width="185" can_edit_text="true"/> <text follows="left|top" + name="cloud_scale_label" height="10" layout="topleft" left_delta="-5" @@ -235,6 +246,7 @@ width="185" can_edit_text="true"/> <text follows="left|top" + name="scene_gamma_label" height="10" layout="topleft" left_delta="-5" @@ -254,6 +266,7 @@ can_edit_text="true"/> </layout_panel> <layout_panel border="false" + name="lp_3" bevel_style="in" auto_resize="false" user_resize="false" @@ -277,6 +290,7 @@ width="150" thumb_mode="sun"/> <text follows="left|top" + name="sun_azimuth_label" height="10" layout="topleft" left_delta="0" @@ -296,6 +310,7 @@ width="130" can_edit_text="true"/> <text follows="left|top" + name="sun_elevation_label" height="10" layout="topleft" left_delta="-5" @@ -324,6 +339,7 @@ top_pad="8" follows="left|top"/> <text follows="left|top" + name="scale_label" height="10" layout="topleft" left_pad="95" @@ -343,6 +359,7 @@ width="130" can_edit_text="true"/> <text follows="left|top" + name="glow_focus_label" height="10" layout="topleft" left_delta="-5" @@ -362,6 +379,7 @@ width="130" can_edit_text="true"/> <text follows="left|top" + name="glow_size_label" height="10" layout="topleft" left_delta="-5" @@ -381,6 +399,7 @@ width="130" can_edit_text="true"/> <text follows="left|top" + name="star_brightness_label" height="10" layout="topleft" left_delta="-5" @@ -401,6 +420,7 @@ can_edit_text="true"/> </layout_panel> <layout_panel border="false" + name="lp_4" bevel_style="in" auto_resize="false" user_resize="false" @@ -424,6 +444,7 @@ width="150" thumb_mode="moon"/> <text follows="left|top" + name="moon_azimuth_label" height="10" layout="topleft" left_delta="0" @@ -443,6 +464,7 @@ width="130" can_edit_text="true"/> <text follows="left|top" + name="moon_elevation_label" height="10" layout="topleft" left_delta="-5" diff --git a/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml index 31c524c38a..f3d7c38a76 100644 --- a/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml +++ b/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml @@ -270,6 +270,7 @@ word_wrap="true"/> <layout_stack + name="track_options_ls" follows="all" height="200" animate="false" @@ -277,6 +278,7 @@ left="0" orientation="horizontal"> <layout_panel + name="track_options_lp" border="false" bevel_style="in" auto_resize="false" @@ -312,6 +314,7 @@ </layout_panel> <layout_panel + name="track_progress_lp" border="false" bevel_style="in" auto_resize="false" @@ -457,6 +460,7 @@ </layout_stack> </layout_panel> <layout_panel + name="frames_lp" border="false" bevel_style="in" auto_resize="false" diff --git a/indra/newview/skins/default/xui/en/floater_experienceprofile.xml b/indra/newview/skins/default/xui/en/floater_experienceprofile.xml index f275fec066..588aca38e6 100644 --- a/indra/newview/skins/default/xui/en/floater_experienceprofile.xml +++ b/indra/newview/skins/default/xui/en/floater_experienceprofile.xml @@ -1,6 +1,7 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <floater + name="experience_profile" positioning="cascading" can_close="true" enabled="true" @@ -88,6 +89,7 @@ animate="false" top="0" orientation="vertical" + name="ls1" width="315"> <layout_panel follows="all" @@ -264,6 +266,7 @@ auto_resize="false" name="marketplace panel"> <text + name="Marketplace" type="string" length="1" follows="left|top" @@ -287,6 +290,7 @@ </text> </layout_panel> <layout_panel + name="owner panel" follows="left|top|right" height="18" left="0" @@ -613,6 +617,7 @@ name="clear_btn" label="Clear Location"/> <text + name="edit_marketplace" type="string" length="1" follows="left|top|right" diff --git a/indra/newview/skins/default/xui/en/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/en/floater_fixedenvironment.xml index a6e20880a9..45f3880a15 100644 --- a/indra/newview/skins/default/xui/en/floater_fixedenvironment.xml +++ b/indra/newview/skins/default/xui/en/floater_fixedenvironment.xml @@ -34,6 +34,7 @@ left_delta="10" width="35" height="20" + name="info_panel_label" font="SansSerif"> Name: </text> diff --git a/indra/newview/skins/default/xui/en/floater_how_to.xml b/indra/newview/skins/default/xui/en/floater_how_to.xml index baff8e1bc0..19e42798af 100644 --- a/indra/newview/skins/default/xui/en/floater_how_to.xml +++ b/indra/newview/skins/default/xui/en/floater_how_to.xml @@ -3,7 +3,6 @@ legacy_header_height="18" can_resize="false" can_minimize="false" - can_close="false" height="525" layout="topleft" name="floater_how_to" diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index 15f02ab9c3..da84fbeea6 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -221,20 +221,6 @@ right="-1" bottom="-1"> <layout_panel - auto_resize="false" - height="26" - name="translate_chat_checkbox_lp"> - <check_box - top="10" - control_name="TranslateChat" - enabled="true" - height="16" - label="Translate chat" - left="5" - name="translate_chat_checkbox" - width="230" /> - </layout_panel> - <layout_panel name="chat_holder"> <chat_history font="SansSerifSmall" diff --git a/indra/newview/skins/default/xui/en/floater_my_environments.xml b/indra/newview/skins/default/xui/en/floater_my_environments.xml index 6aff387dcb..4ff25de5e2 100644 --- a/indra/newview/skins/default/xui/en/floater_my_environments.xml +++ b/indra/newview/skins/default/xui/en/floater_my_environments.xml @@ -17,6 +17,7 @@ min_width="265" width="313"> <layout_stack + name="main_layout" follows="all" layout="topleft" left="5" @@ -126,6 +127,7 @@ auto_resize="false" user_resize="false" tab_group="1" + name="lp_showfolders" height="15"> <check_box follows="left|bottom" diff --git a/indra/newview/skins/default/xui/en/floater_outfit_snapshot.xml b/indra/newview/skins/default/xui/en/floater_outfit_snapshot.xml deleted file mode 100644 index 15c480f144..0000000000 --- a/indra/newview/skins/default/xui/en/floater_outfit_snapshot.xml +++ /dev/null @@ -1,351 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - positioning="cascading" - legacy_header_height="18" - can_minimize="true" - can_resize="false" - can_close="true" - height="455" - layout="topleft" - name="outfit_snapshot" - single_instance="true" - help_topic="snapshot" - save_rect="true" - save_visibility="false" - title="OUTFIT SNAPSHOT" - width="624" - min_height="455"> - <floater.string - name="unknown"> - unknown - </floater.string> - <string - name="inventory_progress_str"> - Saving to Inventory - </string> - <string - name="inventory_succeeded_str"> - Saved to Inventory! - </string> - <string - name="inventory_failed_str"> - Failed to save to inventory. - </string> - <button - follows="left|top" - height="25" - image_overlay="Refresh_Off" - image_hover_unselected="Toolbar_Middle_Over" - image_selected="Toolbar_Middle_Selected" - image_unselected="Toolbar_Middle_Off" - image_overlay_alignment="left" - imgoverlay_label_space="5" - pad_bottom="0" - halign="left" - layout="topleft" - left="10" - label="REFRESH" - name="new_snapshot_btn" - top_pad="26" - width="167" /> - <button - follows="left|top" - control_name="AdvanceOutfitSnapshot" - invisibility_control="AdvanceOutfitSnapshot" - height="25" - is_toggle="true" - layout="topleft" - image_hover_unselected="Toolbar_Middle_Over" - image_selected="Toolbar_Middle_Off" - image_unselected="Toolbar_Middle_Off" - image_overlay="Conv_toolbar_expand" - name="retract_btn" - left_pad="1" - top_delta="0" - width="31" /> - <button - follows="left|top" - control_name="AdvanceOutfitSnapshot" - visibility_control="AdvanceOutfitSnapshot" - height="25" - is_toggle="true" - layout="topleft" - image_overlay="Conv_toolbar_collapse" - image_hover_unselected="Toolbar_Middle_Over" - image_selected="Toolbar_Middle_Off" - image_unselected="Toolbar_Middle_Off" - name="extend_btn" - left_delta="0" - top_delta="0" - width="31" /> - <panel - height="154" - layout="topleft" - follows="top|left" - left="0" - name="advanced_options_panel" - top_pad="-6" - width="210"> - <view_border - bevel_style="in" - follows="left|top|right" - height="1" - left="10" - layout="topleft" - name="advanced_options_hr" - right="-1" - top_pad="5" - /> - <text - type="string" - length="1" - follows="left|top" - height="13" - layout="topleft" - left="10" - name="layer_type_label" - top_pad="10" - width="100"> - Capture: - </text> - <check_box - label="Interface" - layout="topleft" - left="30" - height="16" - top_pad="8" - width="180" - name="ui_check" /> - <check_box - label="HUDs" - layout="topleft" - height="16" - left="30" - top_pad="1" - width="180" - name="hud_check" /> - <check_box - label="Freeze frame (fullscreen)" - layout="topleft" - height="16" - left="10" - top_pad="1" - width="180" - name="freeze_frame_check" /> - <check_box - label="Auto-refresh" - layout="topleft" - height="16" - left="10" - top_pad="1" - width="180" - name="auto_snapshot_check" /> - <text - type="string" - length="1" - follows="left|top" - height="13" - layout="topleft" - left="10" - name="filter_list_label" - top_pad="10" - width="50"> - Filter: - </text> - <combo_box - control_name="PhotoFilters" - follows="left|right|top" - name="filters_combobox" - tool_tip="Image filters" - top_delta="-3" - left="50" - right="-1" - height="21" - width="135"> - <combo_box.item - label="No Filter" - name="NoFilter" - value="NoFilter" /> - </combo_box> - <view_border - bevel_style="in" - follows="left|top|right" - height="1" - left="10" - layout="topleft" - name="advanced_options_hr" - right="-1" - top_pad="7" - /> - </panel> - <panel - class="llpaneloutfitsnapshotinventory" - follows="left|top" - height="230" - layout="topleft" - left="0" - name="panel_outfit_snapshot_inventory" - filename="panel_outfit_snapshot_inventory.xml" - top_pad="10" - width="215" - /> - <view_border - bevel_style="in" - follows="left|top" - height="1" - left="10" - layout="topleft" - name="status_hr" - width="199" - top_pad="-16"/> - <panel - background_visible="false" - follows="left|top" - font="SansSerifLarge" - halign="center" - height="20" - layout="topleft" - left="10" - length="1" - name="succeeded_panel" - width="198" - top_pad="1" - type="string" - visible="false"> - <text - follows="all" - font="SansSerif" - halign="center" - height="18" - layout="topleft" - left="1" - length="1" - name="succeeded_lbl" - right="-1" - text_color="0.2 0.85 0.2 1" - top="4" - translate="false" - type="string"> - Succeeded - </text> - </panel> - <panel - background_visible="false" - follows="left|top" - font="SansSerifLarge" - halign="center" - height="20" - layout="topleft" - left="10" - length="1" - name="failed_panel" - width="198" - top_delta="0" - type="string" - visible="false"> - <text - follows="all" - font="SansSerif" - halign="center" - height="18" - layout="topleft" - left="1" - length="1" - name="failed_lbl" - right="-1" - text_color="0.95 0.4 0.4 1" - top="4" - translate="false" - type="string"> - Failed - </text> - </panel> - <loading_indicator - follows="left|top" - height="24" - layout="topleft" - name="working_indicator" - left="10" - top_delta="0" - visible="false" - width="24" /> - <text - follows="left|top" - font="SansSerifBold" - height="14" - layout="topleft" - left_pad="3" - length="1" - halign="left" - name="working_lbl" - top_delta="5" - translate="false" - type="string" - visible="false" - width="162"> - Working - </text> - <text - follows="left|top" - font="SansSerifBold" - halign="left" - height="18" - layout="topleft" - left="10" - length="1" - name="refresh_lbl" - text_color="0.95 0.4 0.4 1" - top_delta="0" - translate="false" - type="string" - visible="false" - width="130"> - Refresh to save. - </text> - <ui_ctrl - layout="topleft" - name="thumbnail_placeholder" - top="23" - left="215" - width="400" - height="400" - follows="top|left"/> - <view_border - bevel_style="in" - height="21" - layout="topleft" - name="img_info_border" - top_pad="0" - right="-10" - follows="left|top|right" - left_delta="0"/> - <text - type="string" - font="SansSerifSmall" - length="1" - follows="left|top|right" - height="14" - layout="topleft" - left="220" - right="-20" - halign="left" - name="image_res_text" - top_delta="5" - width="200"> - [WIDTH]px (width) x [HEIGHT]px (height) - </text> - <text - follows="right|top" - font="SansSerifSmall" - height="14" - layout="topleft" - left="-65" - length="1" - halign="right" - name="file_size_label" - top_delta="0" - type="string" - width="50"> - [SIZE] KB - </text> -</floater> diff --git a/indra/newview/skins/default/xui/en/floater_simple_outfit_snapshot.xml b/indra/newview/skins/default/xui/en/floater_simple_outfit_snapshot.xml new file mode 100644 index 0000000000..5ece7b85d5 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_simple_outfit_snapshot.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + positioning="cascading" + legacy_header_height="18" + can_minimize="true" + can_resize="false" + can_close="true" + height="305" + layout="topleft" + name="simple_outfit_snapshot" + single_instance="true" + help_topic="snapshot" + save_rect="true" + save_visibility="false" + title="OUTFIT SNAPSHOT" + width="351"> + <ui_ctrl + layout="topleft" + name="thumbnail_placeholder" + top="18" + left="22" + width="335" + height="200" + follows="top|left"/> + <button + follows="left|bottom" + height="22" + layout="topleft" + left="29" + label="Take photo" + name="new_snapshot_btn" + bottom="-15" + width="90" /> + <button + follows="left|bottom" + height="22" + layout="topleft" + left_pad="10" + label="Save (L$[UPLOAD_COST])" + name="save_btn" + width="90" /> + <button + follows="left|bottom" + height="22" + layout="topleft" + left_pad="10" + label="Cancel" + name="cancel_btn" + width="90" /> +</floater> diff --git a/indra/newview/skins/default/xui/en/floater_tos.xml b/indra/newview/skins/default/xui/en/floater_tos.xml index a8db0aca4e..7e172e138a 100644 --- a/indra/newview/skins/default/xui/en/floater_tos.xml +++ b/indra/newview/skins/default/xui/en/floater_tos.xml @@ -76,7 +76,7 @@ word_wrap="true" text_readonly_color="LabelDisabledColor" width="552"> - I have read and agree to the Second Life Terms and Conditions, Privacy Policy, and Terms of Service, including the dispute resolution requirements. + I consent to the Linden Lab Terms of Service, Second Life Terms and Conditions, and acknowledge receipt of the Privacy Policy. </text> <button enabled="false" diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 842184de88..bab37c6258 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -8,16 +8,6 @@ tab_stop="false" name="main_view" width="1024"> - - <!-- At the moment layout_stack is not an LLUICtrl, - but Tab requires focus_root to function and focus_root - functionality is implemented in LLUICtrl --> - <panel follows="all" - height="768" - name="menu_tab_wrapper" - mouse_opaque="false" - focus_root="true" - top="0"> <layout_stack border_size="0" follows="all" mouse_opaque="false" @@ -25,31 +15,35 @@ name="menu_stack" orientation="vertical" top="0"> + <!-- Menu, nav bar and status bar need common focus_root--> <layout_panel mouse_opaque="true" follows="left|right|top" name="status_bar_container" + focus_root="true" height="19" left="0" top="0" width="1024" auto_resize="false" - default_tab_group="1" visible="true"> <view mouse_opaque="false" - follows="all" + follows="top|left|right" name="menu_bar_holder" + tab_group="1" left="0" top="0" width="1024" - tab_group="1" height="19"/> + <view mouse_opaque="false" + follows="top|left|right" + name="nav_bar_container" + tab_group="3" + left="0" + top="19" + width="1024" + height="34" + visible="false"/> </layout_panel> - <layout_panel auto_resize="false" - height="34" - mouse_opaque="false" - name="nav_bar_container" - width="1024" - visible="false"/> <layout_panel auto_resize="true" follows="all" height="500" @@ -109,7 +103,6 @@ tab_stop="false"/> </layout_panel> </layout_stack> - </panel> <!--menu_tab_wrapper--> <panel top="0" follows="all" diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 1ddec93668..d1a99133f0 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -9689,7 +9689,7 @@ Do you wish to continue? The selected object affects the navmesh. Changing it to a Flexible Path will remove it from the navmesh. <tag>confirm</tag> <usetemplate - ignoretext="The selected object affects the navmesh. Changing it to a Flexible Path will remove it from the navmesh." + ignoretext="The selected object affects the navmesh. Changing it to a Flexible Path will remove it from the navmesh." name="okcancelignore" notext="Cancel" yestext="OK"/> @@ -11914,4 +11914,20 @@ Unpacking: [UNPACK_TIME]s [USIZE]KB yestext="OK"/> </notification> + <notification + icon="alertmodal.tga" + name="RiggedMeshAttachedToHUD" + type="alertmodal"> + An object "[NAME]" attached to HUD point "[POINT]" contains rigged mesh. + +Rigged mesh objects are designed for attachment to the avatar. You will see this object but no one else will. + +If you want others to see this object, remove it and re-attach it to an avatar attachment point. + <tag>confirm</tag> + <usetemplate + ignoretext="Warn me when rigged mesh is attached to HUD point." + name="okignore" + yestext="OK"/> + </notification> + </notifications> diff --git a/indra/newview/skins/default/xui/en/panel_experience_info.xml b/indra/newview/skins/default/xui/en/panel_experience_info.xml index 70d8a4fc64..5b6dab3ac6 100644 --- a/indra/newview/skins/default/xui/en/panel_experience_info.xml +++ b/indra/newview/skins/default/xui/en/panel_experience_info.xml @@ -44,6 +44,7 @@ width="315" min_width="315"> <layout_stack + name="ls1" follows="all" height="480" layout="topleft" @@ -73,6 +74,7 @@ width="290" /> </layout_panel> <layout_panel + name="title panel" follows="all" height="19" layout="topleft" @@ -203,6 +205,7 @@ </text> </layout_panel> <layout_panel + name="details panel" follows="left|top|right" height="69" left="0" diff --git a/indra/newview/skins/default/xui/en/panel_experience_list_item.xml b/indra/newview/skins/default/xui/en/panel_experience_list_item.xml index a9777c51e7..58c18b8bb1 100644 --- a/indra/newview/skins/default/xui/en/panel_experience_list_item.xml +++ b/indra/newview/skins/default/xui/en/panel_experience_list_item.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel + name="panel_experience_list_item" layout="topleft" top="100" left="5" diff --git a/indra/newview/skins/default/xui/en/panel_experience_log.xml b/indra/newview/skins/default/xui/en/panel_experience_log.xml index 6869a135d8..bf7295b187 100644 --- a/indra/newview/skins/default/xui/en/panel_experience_log.xml +++ b/indra/newview/skins/default/xui/en/panel_experience_log.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel + name="panel_experience_log" layout="topleft" top="3" left="3" @@ -16,6 +17,7 @@ name="loading" value="loading..."/> <layout_stack + name="ls1" layout="topleft" top="0" left="4" @@ -24,6 +26,7 @@ orientation="vertical" follows="all"> <layout_panel + name="list panel" layout="topleft" top="0" left="1" diff --git a/indra/newview/skins/default/xui/en/panel_experience_search.xml b/indra/newview/skins/default/xui/en/panel_experience_search.xml index 99ad3e7fe3..c2fe9fb085 100644 --- a/indra/newview/skins/default/xui/en/panel_experience_search.xml +++ b/indra/newview/skins/default/xui/en/panel_experience_search.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel + name="panel_experience_search" layout="topleft" top="18" left="0" @@ -44,6 +45,7 @@ top="0" name="search_panel"> <text + name="lbl name part" left="0" follows="top|left|right" right="-1"> @@ -63,6 +65,7 @@ height="18" name="find"/> <text + name="lbl max content rating" top_pad="6" left="0" follows="top|left" diff --git a/indra/newview/skins/default/xui/en/panel_experiences.xml b/indra/newview/skins/default/xui/en/panel_experiences.xml index 7691e684c0..9d30615442 100644 --- a/indra/newview/skins/default/xui/en/panel_experiences.xml +++ b/indra/newview/skins/default/xui/en/panel_experiences.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel + name="panel_experiences" layout="topleft" top="3" left="3" diff --git a/indra/newview/skins/default/xui/en/panel_nearby_chat.xml b/indra/newview/skins/default/xui/en/panel_nearby_chat.xml index 4de56b424e..edc1fb21e7 100644 --- a/indra/newview/skins/default/xui/en/panel_nearby_chat.xml +++ b/indra/newview/skins/default/xui/en/panel_nearby_chat.xml @@ -18,26 +18,6 @@ orientation="vertical" width="242"> <layout_panel - auto_resize="false" - height="26" - layout="topleft" - left_delta="0" - name="translate_chat_checkbox_lp" - top_delta="0" - visible="true" - width="230"> - <check_box - top="10" - control_name="TranslateChat" - enabled="true" - height="16" - label="Translate chat" - layout="topleft" - left="5" - name="translate_chat_checkbox" - width="230" /> - </layout_panel> - <layout_panel auto_resize="true" height="138" left_delta="0" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml index 42a34d171a..ab2e9c72f3 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml @@ -322,154 +322,161 @@ name="enable_voice_check" width="110"/> <!-- --> - <text - follows="left|top" - layout="topleft" - height="15" - left="0" - top_pad="3" - width="120" - halign="right" - name="media_autoplay_label"> - Media auto-play - </text> - <combo_box + <text + type="string" + length="1" + follows="left|top" + layout="topleft" + left="23" + top_delta="22" + name="Listen media from" + height="15" + word_wrap="true" + width="112"> + Hear media and sounds from: + </text> + <radio_group + control_name="MediaSoundsEarLocation" + follows="left|top" + top_delta="-6" + layout="topleft" + left_pad="20" + width="360" + height="40" + name="media_ear_location"> + <radio_item + height="19" + label="Camera position" + follows="left|top" + layout="topleft" + name="0" + width="200"/> + <radio_item + height="19" + follows="left|top" + label="Avatar position" + layout="topleft" + left_delta="0" + name="1" + top_delta ="18" + width="200" /> + </radio_group> + <check_box + name="media_show_on_others_btn" + control_name="MediaShowOnOthers" + value="true" + follows="left|top" + layout="topleft" + height="15" + top_pad="8" + tool_tip="Uncheck this to hide media attached to other avatars nearby" + label="Play media attached to other avatars" + left="20" + width="230"/> + <text + follows="left|top" + layout="topleft" + height="15" + left="23" + top_pad="8" + width="120" + name="media_autoplay_label"> + Auto-play media + </text> + <combo_box control_name="ParcelMediaAutoPlayEnable" enabled_control="AudioStreamingMedia" follows="left|top" layout="topleft" height="23" - left_pad="7" + left_pad="-15" top_delta="-4" name="media_auto_play_combo" - width="100"> - <item - label="No" - name="autoplay_disabled" - value="0"/> - <item - label="Yes" - name="autoplay_enabled" - value="1"/> - <item - label="Ask" - name="autoplay_ask" - value="2"/> - </combo_box> - <check_box - name="media_show_on_others_btn" - control_name="MediaShowOnOthers" - value="true" - follows="left|bottom|right" - height="15" - tool_tip="Uncheck this to hide media attached to other avatars nearby" - label="Play media attached to other avatars" - left="25" - width="230"/> - <check_box - name="gesture_audio_play_btn" - control_name="EnableGestureSounds" - disabled_control="MuteAudio" - value="true" - follows="left|bottom|right" - height="15" - tool_tip="Check this to hear sounds from gestures" - label="Play sounds from gestures" - top_pad="1" - left="25"/> - <text - type="string" - length="1" - follows="left|top" - height="20" - layout="topleft" - left="25" - name="voice_chat_settings" - width="200" - top_pad="16"> - Voice Chat Settings - </text> - <text - type="string" - length="1" - follows="left|top" - layout="topleft" - left="46" - top_delta="16" - name="Listen from" - width="112"> - Listen from: - </text> - <icon - follows="left|top" - height="18" - image_name="Cam_FreeCam_Off" - layout="topleft" - name="camera_icon" - mouse_opaque="false" - visible="true" - width="18" - left_pad="-4" - top_delta="-5"/> - <icon - follows="left|top" - height="18" - image_name="Move_Walk_Off" - layout="topleft" - left_pad="170" - name="avatar_icon" - mouse_opaque="false" - visible="true" - width="18" - top_delta="0" /> - <radio_group - enabled_control="EnableVoiceChat" - control_name="VoiceEarLocation" - follows="left|top" - layout="topleft" - left_delta="-168" - width="360" - height="20" - name="ear_location"> - <radio_item - height="19" - label="Camera position" - follows="left|top" - layout="topleft" - name="0" - width="200"/> - <radio_item - height="19" - follows="left|top" - label="Avatar position" - layout="topleft" - left_pad="-16" - name="1" - top_delta ="0" - width="200" /> - </radio_group> + width="115"> + <item + label="Never" + name="autoplay_disabled" + value="0"/> + <item + label="Always" + name="autoplay_enabled" + value="1"/> + <item + label="Ask" + name="autoplay_ask" + value="2"/> + </combo_box> + <text + type="string" + length="1" + follows="left|top" + layout="topleft" + left="23" + top_delta="30" + name="Listen from" + width="112"> + Hear voice from: + </text> + <radio_group + enabled_control="EnableVoiceChat" + control_name="VoiceEarLocation" + follows="left|top" + layout="topleft" + left_pad="20" + top_delta="-6" + width="360" + height="40" + name="ear_location"> + <radio_item + height="19" + label="Camera position" + follows="left|top" + layout="topleft" + name="0" + width="200"/> + <radio_item + height="19" + follows="left|top" + label="Avatar position" + layout="topleft" + left_delta="0" + name="1" + top_delta ="18" + width="200" /> + </radio_group> <check_box control_name="LipSyncEnabled" follows="left|top" height="15" label="Move avatar lips when speaking" layout="topleft" - left="44" + left="20" name="enable_lip_sync" - top_pad="5" + top_pad="10" width="237"/> - <check_box - follows="top|left" - enabled_control="EnableVoiceChat" - control_name="PushToTalkToggle" - height="15" - label="Toggle speak on/off when I press button in toolbar" - layout="topleft" - left="44" - name="push_to_talk_toggle_check" - width="237" - tool_tip="When in toggle mode, press and release the trigger key ONCE to switch your microphone on or off. When not in toggle mode, the microphone broadcasts your voice only while the trigger is being held down." - top_pad="3"/> + <check_box + follows="top|left" + enabled_control="EnableVoiceChat" + control_name="PushToTalkToggle" + height="15" + label="Toggle speak on/off when I press button in toolbar" + layout="topleft" + left="20" + name="push_to_talk_toggle_check" + width="237" + tool_tip="When in toggle mode, press and release the trigger key ONCE to switch your microphone on or off. When not in toggle mode, the microphone broadcasts your voice only while the trigger is being held down." + top_pad="5"/> + <check_box + name="gesture_audio_play_btn" + control_name="EnableGestureSounds" + disabled_control="MuteAudio" + value="true" + follows="left|bottom|right" + height="15" + tool_tip="Check this to hear sounds from gestures" + label="Play sounds from gestures" + top_pad="5" + left="20"/> <button control_name="ShowDeviceSettings" follows="left|top" @@ -478,7 +485,7 @@ label="Voice Input/Output devices" layout="topleft" left="20" - top_pad="6" + top_pad="9" name="device_settings_btn" width="230"> </button> diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml index 6f82a0efa1..5647fd27db 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml @@ -8,6 +8,7 @@ name="panel_settings_sky_atmos" top="0"> <layout_stack + name="main_ls" follows="all" layout="topleft" left="5" @@ -16,6 +17,7 @@ bottom="-5" orientation="vertical"> <layout_panel + name="top_lp" border="true" bevel_style="in" auto_resize="false" @@ -24,6 +26,7 @@ height="75"> <text + name="ambient_color_label" follows="left|top" height="10" layout="topleft" @@ -43,6 +46,7 @@ top_pad="5" width="60" /> <text + name="blue_horizon_label" follows="left" height="10" layout="topleft" @@ -62,6 +66,7 @@ top_pad="5" width="60" /> <text + name="blue_density_label" follows="left" height="10" layout="topleft" @@ -82,6 +87,7 @@ width="60" /> </layout_panel> <layout_panel + name="bottom_lp" border="true" bevel_style="in" auto_resize="true" @@ -95,6 +101,7 @@ follows="left|top|right|bottom" orientation="hoizontal"> <layout_panel + name="left_lp" border="false" bevel_style="in" auto_resize="true" @@ -102,6 +109,7 @@ visible="true" min_width="225"> <text + name="haze_horizon_label" follows="left|top" height="10" layout="topleft" @@ -125,6 +133,7 @@ width="207" can_edit_text="true"/> <text + name="haze_density_label" follows="left|top" height="10" layout="topleft" @@ -148,6 +157,7 @@ width="207" can_edit_text="true"/> <text + name="moisture_level_label" follows="left|top" height="10" layout="topleft" @@ -171,6 +181,7 @@ width="207" can_edit_text="true"/> <text + name="droplet_radius_label" follows="left|top" height="10" layout="topleft" @@ -194,6 +205,7 @@ width="207" can_edit_text="true"/> <text + name="ice_level_label" follows="left|top" height="10" layout="topleft" @@ -217,6 +229,7 @@ width="207" can_edit_text="true"/> <text + name="scene_gamma_label" follows="left|top" height="10" layout="topleft" @@ -240,6 +253,7 @@ can_edit_text="true"/> </layout_panel> <layout_panel + name="right_lp" border="false" bevel_style="in" auto_resize="true" @@ -247,6 +261,7 @@ visible="true" min_width="225"> <text + name="density_multiplier_label" follows="left|top" height="10" layout="topleft" @@ -270,6 +285,7 @@ width="219" can_edit_text="true"/> <text + name="distance_multiplier_label" follows="left|top" height="10" layout="topleft" @@ -293,6 +309,7 @@ width="219" can_edit_text="true"/> <text + name="maximum_altitude_label" follows="left|top" height="10" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml index ac3b45d24c..9bdfa94a33 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml @@ -9,6 +9,7 @@ name="panel_settings_sky_clouds" top="0"> <layout_stack + name="main_ls" follows="all" layout="topleft" left="5" @@ -17,6 +18,7 @@ bottom="-5" orientation="hoizontal"> <layout_panel + name="left_lp" border="true" bevel_style="in" auto_resize="true" @@ -24,6 +26,7 @@ visible="true" height="75"> <text + name="cloud_color_label" follows="left|top" height="10" layout="topleft" @@ -43,6 +46,7 @@ top_pad="5" width="60" /> <text + name="cloud_coverage_label" follows="left|top" height="10" layout="topleft" @@ -66,6 +70,7 @@ width="214" can_edit_text="true"/> <text + name="cloud_scale_label" follows="left|top" height="10" layout="topleft" @@ -89,6 +94,7 @@ width="214" can_edit_text="true"/> <text + name="cloud_variance_label" follows="left|top" height="10" layout="topleft" @@ -112,6 +118,7 @@ width="214" can_edit_text="true"/> <text + name="cloud_scroll_label" follows="left|top" height="10" layout="topleft" @@ -135,6 +142,7 @@ logarithmic="1"/> <text + name="cloud_image_label" follows="left|top" height="10" layout="topleft" @@ -152,6 +160,7 @@ width="100"/> </layout_panel> <layout_panel + name="right_lp" border="true" bevel_style="in" auto_resize="true" @@ -159,6 +168,7 @@ visible="true" height="75"> <text + name="cloud_density_label" follows="left|top" height="10" layout="topleft" @@ -213,6 +223,7 @@ width="200" can_edit_text="true"/> <text + name="cloud_detail_label" follows="left|top" height="10" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_density.xml index b3a33961bc..9b37896979 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_density.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_density.xml @@ -9,6 +9,7 @@ name="panel_settings_sky_density" top="0"> <layout_stack + name="main_ls" follows="all" layout="topleft" left="5" @@ -17,6 +18,7 @@ bottom="-5" orientation="vertical"> <layout_panel + name="lp_1" border="true" bevel_style="in" auto_resize="true" @@ -96,6 +98,7 @@ can_edit_text="true"/> </layout_panel> <layout_panel + name="lp_2" border="true" bevel_style="in" auto_resize="true" @@ -190,6 +193,7 @@ can_edit_text="true"/> </layout_panel> <layout_panel + name="lp_3" border="true" bevel_style="in" auto_resize="true" diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml index 1ad78dbb13..35adb262bb 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml @@ -8,6 +8,7 @@ name="panel_settings_sky_hbodies" top="0"> <layout_stack + name="main_ls" follows="all" layout="topleft" left="5" @@ -24,6 +25,7 @@ name="sun_layout" height="400"> <text + name="sun_stars_label" follows="left|top" height="10" layout="topleft" @@ -34,6 +36,7 @@ Sun & Stars </text> <text + name="position_label" follows="left|top" height="10" layout="topleft" @@ -51,6 +54,7 @@ width="150" thumb_mode="sun" /> <text + name="image_label" follows="left|top" height="10" layout="topleft" @@ -67,6 +71,7 @@ top_pad="10" width="100"/> <text + name="scale_label" follows="left|top" height="10" layout="topleft" @@ -90,6 +95,7 @@ width="130" can_edit_text="true"/> <text + name="color_label" follows="left|top" height="10" layout="topleft" @@ -110,6 +116,7 @@ width="60" /> <text follows="left|top" + name="sun_azimuth_label" height="10" layout="topleft" left_delta="-235" @@ -133,6 +140,7 @@ can_edit_text="true"/> <text follows="left|top" + name="sun_elevation_label" height="10" layout="topleft" left_delta="-5" @@ -155,6 +163,7 @@ width="215" can_edit_text="true"/> <text + name="glow_focus_label" follows="left|top" height="10" layout="topleft" @@ -178,6 +187,7 @@ width="215" can_edit_text="true"/> <text + name="glow_size_label" follows="left|top" height="10" layout="topleft" @@ -201,6 +211,7 @@ width="215" can_edit_text="true"/> <text + name="star_brightness_label" follows="left|top" height="10" layout="topleft" @@ -237,6 +248,7 @@ </layout_panel> <layout_panel + name="moon_layout" border="false" bevel_style="in" auto_resize="true" @@ -244,6 +256,7 @@ visible="true" height="400"> <layout_stack + name="moon_stack" left="5" top="5" right="-5" @@ -259,6 +272,7 @@ name="moon_layout" height="220"> <text + name="moon_label" follows="left|top" height="10" layout="topleft" @@ -269,6 +283,7 @@ Moon </text> <text + name="position_label" follows="left|top" height="10" layout="topleft" @@ -286,6 +301,7 @@ width="150" thumb_mode="moon" /> <text + name="moon_image_label" follows="left|top" height="10" layout="topleft" @@ -302,6 +318,7 @@ top_pad="10" width="100"/> <text + name="scale_label" follows="left|top" height="10" layout="topleft" @@ -326,6 +343,7 @@ can_edit_text="true"/> <text follows="left|top" + name="moon_azimuth_label" height="10" layout="topleft" left_delta="-170" @@ -349,6 +367,7 @@ can_edit_text="true"/> <text follows="left|top" + name="moon_elevation_label" height="10" layout="topleft" left_delta="-5" @@ -371,6 +390,7 @@ width="215" can_edit_text="true"/> <text + name="brightness_label" follows="left|top" height="10" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_settings_water.xml b/indra/newview/skins/default/xui/en/panel_settings_water.xml index 991ce25bec..1aa42af3a8 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_water.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_water.xml @@ -17,6 +17,7 @@ bottom="-5" orientation="vertical"> <layout_panel + name="lp_top" border="true" bevel_style="in" auto_resize="false" @@ -24,6 +25,7 @@ visible="true" height="105"> <text + name="water_fog_label" follows="left|top" height="20" font="SansSerif" @@ -34,6 +36,7 @@ Water Fog: </text> <text + name="color_label" follows="left|top" height="10" layout="left|top" @@ -53,6 +56,7 @@ top_pad="5" width="60" /> <text + name="density_exponent_label" follows="left|top" height="10" top_delta="-15" @@ -75,6 +79,7 @@ width="150" can_edit_text="true"/> <text + name="underwater_modifier_label" follows="left|top" height="10" top_delta="25" @@ -101,6 +106,7 @@ height="10" layout="topleft" left_delta="165" + name="FresnelScaleText" top_delta="-53" width="150"> Fresnel Scale: @@ -141,6 +147,7 @@ </layout_panel> <layout_panel + name="lp_bottom" auto_resize="true" user_resize="false" visible="true"> @@ -152,6 +159,7 @@ follows="left|top|right|bottom" orientation="horizontal"> <layout_panel + name="lp_left" border="true" bevel_style="in" auto_resize="true" @@ -160,6 +168,7 @@ min_width="460" width="50"> <text + name="normal_map_label" follows="left|top|right" height="16" layout="topleft" @@ -177,6 +186,7 @@ width="61"/> <text + name="large_wave_speed_label" follows="left|top" height="16" width="120" @@ -202,6 +212,7 @@ arrow_color="white"/> <text + name="small_wave_speed_label" follows="left|top" height="16" layout="topleft" @@ -226,6 +237,7 @@ arrow_color="white"/> <text + name="reflection_wavelet_scale_label" follows="left|top|right" height="16" layout="topleft" @@ -277,6 +289,7 @@ </layout_panel> <layout_panel + name="lp_right" border="true" bevel_style="in" auto_resize="true" @@ -284,6 +297,7 @@ width="50" visible="true"> <text + name="refraction_and_blur_label" follows="left|top" height="20" font="SansSerif" @@ -294,6 +308,7 @@ Refraction And Blur: </text> <text + name="refraction_scale_above_label" follows="left|top|right" height="16" layout="topleft" @@ -318,6 +333,7 @@ width="200" can_edit_text="true" /> <text + name="refraction_scale_below_label" type="string" length="1" follows="left|top|right" @@ -344,6 +360,7 @@ width="200" can_edit_text="true"/> <text + name="blur_multiplier_label" follows="left|top|right" font="SansSerif" height="16" diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 6f95e282ca..cf5d98aa9a 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -4300,6 +4300,10 @@ name="Command_360_Capture_Tooltip">Capture a 360 equirectangular image</string> <string name="Mav_Details_MAV_CONFIRMATION_DATA_MISMATCH"> The physics shape contains bad confirmation data. Try to correct the physics model. </string> + <!-- MAV_BLOCK_MISSING means server didn't get and couldn't substitute physics_convex, high_lod or BoundingVerts--> + <string name="Mav_Details_MAV_BLOCK_MISSING"> + Missing data. Make sure high lod is present and valid. Set the physics model if not set. + </string> <string name="Mav_Details_MAV_UNKNOWN_VERSION"> The physics shape does not have correct version. Set the correct version for the physics model. </string> diff --git a/indra/newview/skins/default/xui/en/widgets/density_ctrl.xml b/indra/newview/skins/default/xui/en/widgets/density_ctrl.xml index 0f3f0159db..eb665fd3cb 100644 --- a/indra/newview/skins/default/xui/en/widgets/density_ctrl.xml +++ b/indra/newview/skins/default/xui/en/widgets/density_ctrl.xml @@ -13,6 +13,7 @@ follows="left|top" height="11" layout="topleft" + name="exponential_term_label" left="15" top_pad="-5" width="120"> @@ -45,6 +46,7 @@ Exponential Term follows="left|top" height="11" layout="topleft" + name="exponential_scale_factor_label" left="15" top_pad="-5" width="120"> @@ -69,6 +71,7 @@ Exponential Scale Factor follows="left|top" height="11" layout="topleft" + name="linear_term_label" left="15" top_pad="-5" width="120"> @@ -93,6 +96,7 @@ Linear Term follows="left|top" height="11" layout="topleft" + name="constant_term_label" left="15" top_pad="-5" width="120"> @@ -117,6 +121,7 @@ Constant Term follows="left|top" height="11" layout="topleft" + name="max_altitude_label" left="15" top_pad="15" width="80"> diff --git a/indra/newview/skins/default/xui/es/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/es/floater_edit_day_cycle.xml deleted file mode 100644 index 6ac46351db..0000000000 --- a/indra/newview/skins/default/xui/es/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Editar ciclo del día"> - <string name="title_new"> - Crear un ciclo del día nuevo - </string> - <string name="title_edit"> - Editar ciclo del día - </string> - <string name="hint_new"> - Asigna un nombre al ciclo del día, ajusta los controles para crearlo y selecciona "Guardar". - </string> - <string name="hint_edit"> - Para editar el ciclo del día, ajusta los controles siguientes y selecciona "Guardar". - </string> - <string name="combo_label"> - -Selecciona un valor predefinido- - </string> - <text name="label"> - Nombre predefinido: - </text> - <text name="note"> - Nota: Si cambias el nombre del valor predefinido, crearás un predefinido nuevo y el actual no se modificará. - </text> - <text name="hint_item1"> - - Pulsa en una pestaña para editar la configuración y el tiempo de un cielo determinado. - </text> - <text name="hint_item2"> - - Pulsa y arrastra las pestañas para ajustar los tiempos de transición. - </text> - <text name="hint_item3"> - - Usa el depurador para obtener una vista previa del ciclo del día. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Añadir clave" label_selected="Añadir clave" name="WLAddKey"/> - <button label="Eliminar clave" label_selected="Eliminar clave" name="WLDeleteKey"/> - <text name="WL12am"> - 12 AM - </text> - <text name="WL3am"> - 3 AM - </text> - <text name="WL6am"> - 6 AM - </text> - <text name="WL9amHash"> - 9 AM - </text> - <text name="WL12pmHash"> - 12 PM - </text> - <text name="WL3pm"> - 3 PM - </text> - <text name="WL6pm"> - 6 PM - </text> - <text name="WL9pm"> - 9 PM - </text> - <text name="WL12am2"> - 12 AM - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Configuración del cielo: - </text> - <combo_box label="Predefinido" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - Hora: - </text> - <time name="time" value="6 AM"/> - <check_box label="Convertir en mi nuevo ciclo del día" name="make_default_cb"/> - <button label="Guardar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/es/floater_edit_sky_preset.xml deleted file mode 100644 index bbb9d64c6c..0000000000 --- a/indra/newview/skins/default/xui/es/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Editar cielo predefinido"> - <string name="title_new"> - Crear un nuevo cielo predefinido - </string> - <string name="title_edit"> - Editar cielo predefinido - </string> - <string name="hint_new"> - Asigna un nombre al valor predefinido, ajusta los controles para crearlo y selecciona "Guardar". - </string> - <string name="hint_edit"> - Para editar el cielo predefinido, ajusta los controles y selecciona "Guardar". - </string> - <string name="combo_label"> - -Selecciona un valor predefinido- - </string> - <text name="hint"> - Para editar el valor predefinido, ajusta los controles y selecciona "Guardar". - </text> - <text name="label"> - Nombre predefinido: - </text> - <text name="note"> - Nota: Si cambias el nombre del valor predefinido, crearás un predefinido nuevo y el actual no se modificará. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMÓSFERA" name="Atmosphere"> - <text name="BHText"> - Horizonte azul - </text> - <text name="BDensText"> - Cantidad de bruma - </text> - <text name="BDensText2"> - Saturación - </text> - <text name="HDText"> - Densidad de la bruma - </text> - <text name="DensMultText"> - Densidad - </text> - <text name="WLDistanceMultText"> - Distancia - </text> - <text name="MaxAltText"> - Altitud máx. - </text> - </panel> - <panel label="LUZ" name="Lighting"> - <text name="SLCText"> - Color del sol y de la luna - </text> - <text name="WLAmbientText"> - Ambiental - </text> - <text name="SunGlowText"> - Resplandor del sol - </text> - <slider label="Visión" name="WLGlowB"/> - <slider label="Tamaño" name="WLGlowR"/> - <text name="WLStarText"> - Brillo de las estrellas - </text> - <text name="SceneGammaText"> - Gamma de la escena - </text> - <text name="TODText"> - Posición del sol y la luna - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 12 AM - </text> - <text name="WL6am"> - 6 AM - </text> - <text name="WL12pmHash"> - 12 PM - </text> - <text name="WL6pm"> - 6 PM - </text> - <text name="WL12am2"> - 12 AM - </text> - <time name="WLDayTime" value="6 AM"/> - <text name="WLEastAngleText"> - Ángulo de elevación - </text> - </panel> - <panel label="NUBES" name="Clouds"> - <text name="WLCloudColorText"> - Color de las nubes - </text> - <text name="WLCloudColorText2"> - Posición/Densidad de las nubes - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Nubosidad - </text> - <text name="WLCloudScaleText"> - Altitud de las nubes - </text> - <text name="WLCloudDetailText"> - Detalle de las nubes (Posición/Densidad) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Velocidad de las nubes: X - </text> - <check_box label="Bloquear" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Velocidad de las nubes: Y - </text> - <check_box label="Bloquear" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Convertir este valor predefinido en mi nueva configuración de cielo" name="make_default_cb"/> - <button label="Guardar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/es/floater_edit_water_preset.xml deleted file mode 100644 index f90ad59f78..0000000000 --- a/indra/newview/skins/default/xui/es/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Editar el agua predefinida"> - <string name="title_new"> - Crear una nueva agua predefinida - </string> - <string name="title_edit"> - Editar el agua predefinida - </string> - <string name="hint_new"> - Asigna un nombre al valor predefinido, ajusta los controles para crearlo y selecciona "Guardar". - </string> - <string name="hint_edit"> - Para editar el agua predefinida, ajusta los controles y selecciona "Guardar". - </string> - <string name="combo_label"> - -Selecciona un valor predefinido- - </string> - <text name="hint"> - Para editar el valor predefinido, ajusta los controles y selecciona "Guardar". - </text> - <text name="label"> - Nombre predefinido: - </text> - <text name="note"> - Nota: Si cambias el nombre del valor predefinido, crearás un predefinido nuevo y el actual no se modificará. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Color del agua - </text> - <text name="water_fog_density_label"> - Transparencia - </text> - <text name="underwater_fog_modifier_label"> - Modificar la claridad del agua - </text> - <text name="BHText"> - Sentido de las olas grandes - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Tamaño de las ondulaciones - </text> - <text name="HDText"> - Escala de Fresnel - </text> - <text name="FresnelOffsetText"> - Coeficiente de reflexión - </text> - <text name="BHText2"> - Sentido de las olas pequeñas - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Refracción de la superficie - </text> - <text name="WaterScaleBelowText"> - Refracción bajo la superficie - </text> - <text name="MaxAltText"> - Desenfoque - </text> - <text name="BHText3"> - Vista Normal - </text> - </panel> - <check_box label="Convertir este valor predefinido en mi nueva configuración de agua" name="make_default_cb"/> - <button label="Guardar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_environment_settings.xml b/indra/newview/skins/default/xui/es/floater_environment_settings.xml deleted file mode 100644 index 7f48a26def..0000000000 --- a/indra/newview/skins/default/xui/es/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="CONFIGURACIÓN DE ENTORNO"> - <text name="note"> - Puedes personalizar la configuración del entorno de tu visor con las opciones siguientes. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Usar configuración de región" name="use_region_settings"/> - <radio_item label="Personalizar mi entorno" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Nota: Tu configuración personalizada no estará visible para otros usuarios. - </text> - <text name="water_settings_title"> - Configuración de agua - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Selecciona un valor predefinido-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Cielo/Ciclo del día - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Cielo invariable" name="my_sky_settings"/> - <radio_item label="Ciclo del día" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Selecciona un valor predefinido-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Selecciona un valor predefinido-" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="Cancelar" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_facebook.xml b/indra/newview/skins/default/xui/es/floater_facebook.xml deleted file mode 100644 index 4bccc6ee57..0000000000 --- a/indra/newview/skins/default/xui/es/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="PUBLICAR EN FACEBOOK"> - <tab_container name="tabs"> - <panel label="ESTADO" name="panel_facebook_status"/> - <panel label="FOTO" name="panel_facebook_photo"/> - <panel label="ESTOY AQUÍ" name="panel_facebook_place"/> - <panel label="AMIGOS" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Error - </text> - <text name="connection_loading_text"> - Cargando... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_flickr.xml b/indra/newview/skins/default/xui/es/floater_flickr.xml deleted file mode 100644 index e254d8ba77..0000000000 --- a/indra/newview/skins/default/xui/es/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="COMPARTIR EN FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="FOTO" name="panel_flickr_photo"/> - <panel label="CUENTA" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Error - </text> - <text name="connection_loading_text"> - Cargando... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_hardware_settings.xml b/indra/newview/skins/default/xui/es/floater_hardware_settings.xml deleted file mode 100644 index c2327c96c4..0000000000 --- a/indra/newview/skins/default/xui/es/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="CONFIGURACIÓN DEL HARDWARE"> - <text name="Filtering:"> - Filtrado: - </text> - <check_box label="Filtrado anisotrópico (más lento si se activa)" name="ani"/> - <text name="antialiasing label"> - Antialiasing: - </text> - <combo_box label="Antialiasing" name="fsaa" width="94"> - <combo_box.item label="Desactivado" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (requiere reiniciar el visor) - </text> - <spinner label="Gamma:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = brillo por defecto, más bajo = más brillo) - </text> - <text name="Enable VBO:"> - Activar VBO: - </text> - <check_box initial_value="true" label="Activar OpenGL Vertex Buffer Objects" name="vbo" tool_tip="En hardware moderno, habilitar esta opción mejora el rendimiento. Pero en hardware antiguo, el habilitarlo hace que, frecuentemente, se obtenga una implementación pobre de VBO, lo que puede provocarle caídas."/> - <text name="tc label"> - Activar S3TC: - </text> - <check_box initial_value="true" label="Activar la compresión de texturas (requiere reiniciar)" name="texture compression" tool_tip="Comprime las texturas de la memoria de vídeo, lo cual permite cargar texturas de una resolución más alta, pero con una cierta pérdida de calidad del color."/> - <slider label="Memoria para texturas (MB):" name="GraphicsCardTextureMemory" tool_tip="Cantidad de memoria asignada a las texturas. Por defecto es la memoria de la tarjeta de vídeo. Reducir esta cantidad puede mejorar el rendimiento, pero también hacer que las texturas se vean borrosas."/> - <spinner label="Intensidad de la niebla:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_twitter.xml b/indra/newview/skins/default/xui/es/floater_twitter.xml deleted file mode 100644 index 92f4fc5bba..0000000000 --- a/indra/newview/skins/default/xui/es/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="REDACTAR" name="panel_twitter_photo"/> - <panel label="CUENTA" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Error - </text> - <text name="connection_loading_text"> - Cargando... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/es/panel_edit_classified.xml b/indra/newview/skins/default/xui/es/panel_edit_classified.xml deleted file mode 100644 index 09f87015cc..0000000000 --- a/indra/newview/skins/default/xui/es/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar el clasificado" name="panel_edit_classified"> - <panel.string name="location_notice"> - (se actualizará tras guardarlo) - </panel.string> - <string name="publish_label"> - Publicar - </string> - <string name="save_label"> - Guardar - </string> - <text name="title"> - Editar el clasificado - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Pulsa para elegir una imagen"/> - </panel> - <text name="Name:"> - Título: - </text> - <text name="description_label"> - Descripción: - </text> - <text name="location_label"> - Localización: - </text> - <text name="classified_location"> - cargando... - </text> - <button label="Configurar en esta posición" name="set_to_curr_location_btn"/> - <text name="category_label" value="Categoría:"/> - <text name="content_type_label" value="Tipo de contenido:"/> - <icons_combo_box label="Contenido general" name="content_type"> - <icons_combo_box.item label="Contenido moderado" name="mature_ci" value="Moderado"/> - <icons_combo_box.item label="Contenido general" name="pg_ci" value="General"/> - </icons_combo_box> - <check_box label="Renovar automáticamente cada semana" name="auto_renew"/> - <text name="price_for_listing_label" value="Precio por publicarlo:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Precio por publicarlo." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_edit_pick.xml b/indra/newview/skins/default/xui/es/panel_edit_pick.xml deleted file mode 100644 index cda465da9c..0000000000 --- a/indra/newview/skins/default/xui/es/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar el destacado" name="panel_edit_pick"> - <panel.string name="location_notice"> - (se actualizará tras guardarlo) - </panel.string> - <text name="title"> - Editar el destacado - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Pulsa para elegir una imagen"/> - <text name="Name:"> - Título: - </text> - <text name="description_label"> - Descripción: - </text> - <text name="location_label"> - Posición: - </text> - <text name="pick_location"> - cargando... - </text> - <button label="Configurar en mi posición" name="set_to_curr_location_btn"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Guardar" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_edit_profile.xml b/indra/newview/skins/default/xui/es/panel_edit_profile.xml deleted file mode 100644 index 8e5e09cfec..0000000000 --- a/indra/newview/skins/default/xui/es/panel_edit_profile.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar el perfil" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] [PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Residente"/> - <string name="AcctTypeTrial" value="Prueba"/> - <string name="AcctTypeCharterMember" value="Miembro fundador"/> - <string name="AcctTypeEmployee" value="Empleado de Linden Lab"/> - <string name="PaymentInfoUsed" value="Ha usado una forma de pago"/> - <string name="PaymentInfoOnFile" value="Hay infor. de la forma de pago"/> - <string name="NoPaymentInfoOnFile" value="Sin infor. de la forma de pago"/> - <string name="AgeVerified" value="Edad verificada"/> - <string name="NotAgeVerified" value="Edad no verificada"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=es - </string> - <string name="no_partner_text" value="Ninguno"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Nombre mostrado:"/> - <text name="solo_username_label" value="Nombre de usuario:"/> - <button name="set_name" tool_tip="Configurar nombre mostrado"/> - <text name="user_label" value="Nombre de usuario:"/> - <panel name="lifes_images_panel"> - <icon label="" name="2nd_life_edit_icon" tool_tip="Pulsa para elegir una imagen"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Mundo real:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Pulsa para elegir una imagen"/> - <text name="title_homepage_text"> - Web: - </text> - <check_box label="Mostrarme en los resultados de la búsqueda" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Mi cuenta:"/> - <text_editor name="acc_status_text" value="Residente. No ha aportado información de pago."/> - <text name="my_account_link" value="[[URL] Ir a mi Panel de Control]"/> - <text name="title_partner_text" value="Mi compañero/a:"/> - <panel name="partner_data_panel"> - <text initial_value="(obteniendo)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Editar]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Guardar cambios" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_facebook_friends.xml b/indra/newview/skins/default/xui/es/panel_facebook_friends.xml deleted file mode 100644 index 5557c0a73c..0000000000 --- a/indra/newview/skins/default/xui/es/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Actualmente no tienes amigos en Facebook que también sean residentes de Second Life. Invita a tus amigos de Facebook a que se unan a Second Life."/> - <string name="facebook_friends_no_connected" value="Actualmente no estás conectado a Facebook. Selecciona la pestaña Estado para conectarte y habilitar esta función."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Amigos de SL"/> - <accordion_tab name="tab_suggested_friends" title="Agregar estas personas como amigos de SL"/> - </accordion> - <text name="facebook_friends_status"> - No conectado a Facebook. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_facebook_photo.xml b/indra/newview/skins/default/xui/es/panel_facebook_photo.xml deleted file mode 100644 index 5a533f8bcb..0000000000 --- a/indra/newview/skins/default/xui/es/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Resolución de imagen"> - <combo_box.item label="Ventana actual" name="CurrentWindow"/> - <combo_box.item label="640 × 480" name="640x480"/> - <combo_box.item label="800 × 600" name="800x600"/> - <combo_box.item label="1024 × 768" name="1024x768"/> - <combo_box.item label="1200 × 630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagen"> - <combo_box.item label="Sin filtro" name="NoFilter"/> - </combo_box> - <button label="Actualizar" name="new_snapshot_btn" tool_tip="Pulsa para actualizar"/> - <button label="Vista previa" name="big_preview_btn" tool_tip="Pulsa para alternar entre vista previa sí/no"/> - <text name="caption_label"> - Comentario (opcional): - </text> - <button label="Publicar" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_facebook_place.xml b/indra/newview/skins/default/xui/es/panel_facebook_place.xml deleted file mode 100644 index 29f6147f23..0000000000 --- a/indra/newview/skins/default/xui/es/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Cuenta algo del lugar donde te encuentras: - </text> - <check_box initial_value="false" label="Incluye una vista general del lugar" name="add_place_view_cb"/> - <button label="Publicar" name="post_place_btn"/> - <button label="Cancelar" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_facebook_status.xml b/indra/newview/skins/default/xui/es/panel_facebook_status.xml deleted file mode 100644 index e6f137b750..0000000000 --- a/indra/newview/skins/default/xui/es/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Estás conectado a Facebook como:"/> - <string name="facebook_disconnected" value="No conectado a Facebook"/> - <text name="account_caption_label"> - No conectado a Facebook. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Aprende a publicar en Facebook] - </text> - </panel> - <text name="status_caption_label"> - ¿En qué estás pensando? - </text> - <button label="Publicar" name="post_status_btn"/> - <button label="Cancelar" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_flickr_account.xml b/indra/newview/skins/default/xui/es/panel_flickr_account.xml deleted file mode 100644 index 7dcf5b5595..0000000000 --- a/indra/newview/skins/default/xui/es/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Estás conectado a Flickr como:"/> - <string name="flickr_disconnected" value="No conectado a Flickr"/> - <text name="account_caption_label"> - No estás conectado a Flickr. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Aprende a publicar en Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_flickr_photo.xml b/indra/newview/skins/default/xui/es/panel_flickr_photo.xml deleted file mode 100644 index f8cc8c1de7..0000000000 --- a/indra/newview/skins/default/xui/es/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Resolución de imagen"> - <combo_box.item label="Ventana actual" name="CurrentWindow"/> - <combo_box.item label="640 × 480" name="640x480"/> - <combo_box.item label="800 × 600" name="800x600"/> - <combo_box.item label="1024 × 768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagen"> - <combo_box.item label="Sin filtro" name="NoFilter"/> - </combo_box> - <button label="Actualizar" name="new_snapshot_btn" tool_tip="Pulsa para actualizar"/> - <button label="Vista previa" name="big_preview_btn" tool_tip="Pulsa para alternar entre vista previa sí/no"/> - <text name="title_label"> - Título: - </text> - <text name="description_label"> - Descripción: - </text> - <check_box initial_value="true" label="Incluir la ubicación de SL al final de la descripción" name="add_location_cb"/> - <text name="tags_label"> - Etiquetas: - </text> - <text name="tags_help_label"> - Separa las etiquetas con espacios -Usa "" para las etiquetas con varias palabras - </text> - <combo_box name="rating_combobox" tool_tip="Calificación de contenido de Flickr"> - <combo_box.item label="Calificación segura de Flickr" name="SafeRating"/> - <combo_box.item label="Calificación moderada de Flickr" name="ModerateRating"/> - <combo_box.item label="Calificación restringida de Flickr" name="RestrictedRating"/> - </combo_box> - <button label="Compartir" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_pick_info.xml b/indra/newview/skins/default/xui/es/panel_pick_info.xml deleted file mode 100644 index 3450279b4a..0000000000 --- a/indra/newview/skins/default/xui/es/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Datos del destacado"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[nombre]"/> - <text_editor name="pick_location" value="[cargando...]"/> - <text_editor name="pick_desc" value="[descripción]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teleporte" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Editar" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_picks.xml b/indra/newview/skins/default/xui/es/panel_picks.xml deleted file mode 100644 index 904cdd12f1..0000000000 --- a/indra/newview/skins/default/xui/es/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Destacados" name="panel_picks"> - <string name="no_picks" value="No hay destacados"/> - <string name="no_classifieds" value="No hay clasificados"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Destacados"/> - <accordion_tab name="tab_classifieds" title="Clasificados"/> - </accordion> - <panel label="bottom_panel" name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="Crear un nuevo destacado o clasificado de la posición actual"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Información" name="info_btn" tool_tip="Mostrar la información del destacado"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleporte" name="teleport_btn" tool_tip="Teleportar a esta zona"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn" tool_tip="Mostrar esta zona en el mapa del mundo"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_twitter_account.xml b/indra/newview/skins/default/xui/es/panel_twitter_account.xml deleted file mode 100644 index f51af64b05..0000000000 --- a/indra/newview/skins/default/xui/es/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Estás conectado a Twitter como:"/> - <string name="twitter_disconnected" value="No conectado a Twitter"/> - <text name="account_caption_label"> - No estás conectado a Twitter. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Aprende a publicar en Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_twitter_photo.xml b/indra/newview/skins/default/xui/es/panel_twitter_photo.xml deleted file mode 100644 index 0ae790514a..0000000000 --- a/indra/newview/skins/default/xui/es/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - ¿Qué está ocurriendo? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="Incluir ubicación de SL" name="add_location_cb"/> - <check_box initial_value="true" label="Incluir una foto" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Resolución de imagen"> - <combo_box.item label="Ventana actual" name="CurrentWindow"/> - <combo_box.item label="640 × 480" name="640x480"/> - <combo_box.item label="800 × 600" name="800x600"/> - <combo_box.item label="1024 × 768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagen"> - <combo_box.item label="Sin filtro" name="NoFilter"/> - </combo_box> - <button label="Actualizar" name="new_snapshot_btn" tool_tip="Pulsa para actualizar"/> - <button label="Vista previa" name="big_preview_btn" tool_tip="Pulsa para alternar entre vista previa sí/no"/> - <button label="Tuitear" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/fr/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/fr/floater_edit_day_cycle.xml deleted file mode 100644 index 5ec68458e1..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Modifier un cycle du jour"> - <string name="title_new"> - Créer un nouveau cycle du jour - </string> - <string name="title_edit"> - Modifier un cycle du jour - </string> - <string name="hint_new"> - Donnez un nom au cycle du jour, ajustez les contrôles afin de le créer, puis cliquez sur Enregistrer. - </string> - <string name="hint_edit"> - Pour modifier le cycle du jour, ajustez les contrôles ci-dessous, puis cliquez sur Enregistrer. - </string> - <string name="combo_label"> - -Effectuer une sélection- - </string> - <text name="label"> - Nom du préréglage : - </text> - <text name="note"> - Remarque : si vous changez votre préréglage de nom, un nouveau préréglage sera créé et celui existant restera tel quel. - </text> - <text name="hint_item1"> - - Modifier un réglage de ciel/heure : clic sur le repère - </text> - <text name="hint_item2"> - - Heures de transition : clic-glissement des repères - </text> - <text name="hint_item3"> - - Aperçu du cycle du jour : déplacement du triangle - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Ajouter clé" label_selected="Ajouter clé" name="WLAddKey"/> - <button label="Supprimer clé" label_selected="Supprimer clé" name="WLDeleteKey"/> - <text name="WL12am"> - Min. - </text> - <text name="WL3am"> - 3h - </text> - <text name="WL6am"> - 6h - </text> - <text name="WL9amHash"> - 9h - </text> - <text name="WL12pmHash"> - Midi - </text> - <text name="WL3pm"> - 15h - </text> - <text name="WL6pm"> - 18h - </text> - <text name="WL9pm"> - 21h - </text> - <text name="WL12am2"> - Min. - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Régl. ciel : - </text> - <combo_box label="Préréglage" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - H. : - </text> - <time name="time" value="6h"/> - <check_box label="Appliquer ce nouveau cycle du jour" name="make_default_cb"/> - <button label="Enregistrer" name="save"/> - <button label="Annuler" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/fr/floater_edit_sky_preset.xml deleted file mode 100644 index 47293a6342..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Modifier un préréglage du ciel"> - <string name="title_new"> - Créer un nouveau préréglage du ciel - </string> - <string name="title_edit"> - Modifier un préréglage du ciel - </string> - <string name="hint_new"> - Donnez un nom à votre préréglage, ajustez les contrôles afin de le créer, puis cliquez sur "Enregistrer". - </string> - <string name="hint_edit"> - Pour modifier le préréglage du ciel, ajustez les contrôles, puis cliquez sur "Enregistrer". - </string> - <string name="combo_label"> - -Sélectionner un préréglage- - </string> - <text name="hint"> - Pour modifier le préréglage, ajustez les contrôles, puis cliquez sur "Enregistrer". - </text> - <text name="label"> - Nom du préréglage : - </text> - <text name="note"> - Remarque : Si vous changez votre préréglage de nom, un nouveau préréglage sera créé et celui existant restera tel quel. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSPHÈRE" name="Atmosphere"> - <text name="BHText"> - Horizon bleu - </text> - <text name="BDensText"> - Horizon brumeux - </text> - <text name="BDensText2"> - Densité bleue - </text> - <text name="HDText"> - Densité brumeuse - </text> - <text name="DensMultText"> - Multiplicateur de densité - </text> - <text name="WLDistanceMultText"> - Multiplicateur de distance - </text> - <text name="MaxAltText"> - Altitude maximum - </text> - </panel> - <panel label="LUMIÈRE" name="Lighting"> - <text name="SLCText"> - Couleur soleil/lune - </text> - <text name="WLAmbientText"> - Ambiante - </text> - <text name="SunGlowText"> - Rayonnement du soleil - </text> - <slider label="Netteté" name="WLGlowB"/> - <slider label="Taille" name="WLGlowR"/> - <text name="WLStarText"> - Éclat des étoiles - </text> - <text name="SceneGammaText"> - Gamma de la scène - </text> - <text name="TODText"> - Position soleil/lune - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - Min. - </text> - <text name="WL6am"> - 6h - </text> - <text name="WL12pmHash"> - Midi - </text> - <text name="WL6pm"> - 18h - </text> - <text name="WL12am2"> - Min. - </text> - <time name="WLDayTime" value="6h"/> - <text name="WLEastAngleText"> - Angle du levant - </text> - </panel> - <panel label="NUAGES" name="Clouds"> - <text name="WLCloudColorText"> - Couleur des nuages - </text> - <text name="WLCloudColorText2"> - Nuages - XY/Densité - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Couverture nuageuse - </text> - <text name="WLCloudScaleText"> - Altitude des nuages - </text> - <text name="WLCloudDetailText"> - Détails des nuages (XY/Densité) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Défilement des nuages X - </text> - <check_box label="Verrouillage" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Défilement des nuages Y - </text> - <check_box label="Verrouillage" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Appliquer ce nouveau préréglage pour le ciel" name="make_default_cb"/> - <button label="Enregistrer" name="save"/> - <button label="Annuler" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/fr/floater_edit_water_preset.xml deleted file mode 100644 index 08dced834d..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Modifier un préréglage de l'eau"> - <string name="title_new"> - Créer un nouveau préréglage de l'eau - </string> - <string name="title_edit"> - Modifier un préréglage de l'eau - </string> - <string name="hint_new"> - Donnez un nom à votre préréglage, ajustez les contrôles afin de le créer, puis cliquez sur "Enregistrer". - </string> - <string name="hint_edit"> - Pour modifier le préréglage de l'eau, ajustez les contrôles, puis cliquez sur "Enregistrer". - </string> - <string name="combo_label"> - -Sélectionner un préréglage- - </string> - <text name="hint"> - Pour modifier le préréglage, ajustez les contrôles, puis cliquez sur "Enregistrer". - </text> - <text name="label"> - Nom du préréglage : - </text> - <text name="note"> - Remarque : Si vous changez votre préréglage de nom, un nouveau préréglage sera créé et celui existant restera tel quel. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Couleur du brouillard dans l'eau - </text> - <text name="water_fog_density_label"> - Exposant densité de brouillard - </text> - <text name="underwater_fog_modifier_label"> - Modificateurs de brouillard sous-marin - </text> - <text name="BHText"> - Direction grande vague - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Échelle d'ondelettes à réflexion - </text> - <text name="HDText"> - Échelle Fresnel - </text> - <text name="FresnelOffsetText"> - Décalage Fresnel - </text> - <text name="BHText2"> - Direction petite vague - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Échelle de réfraction au-dessus - </text> - <text name="WaterScaleBelowText"> - Échelle de réfraction en-dessous - </text> - <text name="MaxAltText"> - Multiplicateur de flou - </text> - <text name="BHText3"> - Carte normale - </text> - </panel> - <check_box label="Appliquer ce nouveau préréglage pour l'eau" name="make_default_cb"/> - <button label="Enregistrer" name="save"/> - <button label="Annuler" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_environment_settings.xml b/indra/newview/skins/default/xui/fr/floater_environment_settings.xml deleted file mode 100644 index e438fcbf42..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="PARAMÈTRES D'ENVIRONNEMENT"> - <text name="note"> - Utilisez les options ci-dessous pour personnaliser l'environnement de votre client. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Utiliser les réglages de la région" name="use_region_settings"/> - <radio_item label="Personnaliser mon environnement" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Remarque : Les autres utilisateurs ne pourront pas voir votre configuration personnalisée. - </text> - <text name="water_settings_title"> - Réglage de l'eau - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Sélectionner un préréglage-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Ciel / Cycle du jour - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Ciel fixe" name="my_sky_settings"/> - <radio_item label="Cycle du jour" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Sélectionner un préréglage-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Sélectionner un préréglage-" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="Annuler" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_facebook.xml b/indra/newview/skins/default/xui/fr/floater_facebook.xml deleted file mode 100644 index f6e8696e53..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="PUBLIER SUR FACEBOOK"> - <tab_container name="tabs"> - <panel label="STATUT" name="panel_facebook_status"/> - <panel label="PHOTO" name="panel_facebook_photo"/> - <panel label="INDIQUER VOTRE PRÉSENCE" name="panel_facebook_place"/> - <panel label="AMIS" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Erreur - </text> - <text name="connection_loading_text"> - En cours de chargement... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_flickr.xml b/indra/newview/skins/default/xui/fr/floater_flickr.xml deleted file mode 100644 index 721d6aa6bf..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="PARTAGER SUR FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="PHOTO" name="panel_flickr_photo"/> - <panel label="COMPTE" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Erreur - </text> - <text name="connection_loading_text"> - Chargement... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml b/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml deleted file mode 100644 index bb146556ba..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="PARAMÈTRES MATÉRIELS"> - <text name="Filtering:"> - Filtres : - </text> - <check_box label="Filtre anisotrope (plus lent si activé)" name="ani"/> - <text name="antialiasing label"> - Anti-aliasing : - </text> - <combo_box label="Anti-aliasing" name="fsaa" width="84"> - <combo_box.item label="Désactivé" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (redémarrage du client requis) - </text> - <spinner label="Gamma :" name="gamma"/> - <text left="217" name="(brightness, lower is brighter)"> - (0 = défaut, valeur faible = plus lumineux) - </text> - <text name="Enable VBO:"> - Activer le VBO : - </text> - <check_box initial_value="true" label="Activer OpenGL Vertex Buffer Objects" name="vbo" tool_tip="Sur un matériel moderne, cette option permet une meilleure performance. Par contre, sur un matériel plus ancien, les VBO sont souvent mal implémentés et peuvent causer des crashs lorsqu'ils sont activés."/> - <text name="tc label"> - Activer S3TC : - </text> - <check_box initial_value="true" label="Activer la compression des textures (redémarrage requis)" name="texture compression" tool_tip="Comprime les textures en mémoire vidéo afin de permettre de charger des textures de résolution plus élevée au prix d'une certaine qualité de couleur."/> - <slider label="Mémoire textures (Mo) :" name="GraphicsCardTextureMemory" tool_tip="Quantité de mémoire à affecter aux textures. Utilise la mémoire de la carte vidéo par défaut. Si vous réduisez ce paramètre, cela peut améliorer les performances, mais les textures risquent d'être floues."/> - <spinner label="Indice du brouillard :" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_twitter.xml b/indra/newview/skins/default/xui/fr/floater_twitter.xml deleted file mode 100644 index 608b02dced..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="COMPOSER" name="panel_twitter_photo"/> - <panel label="COMPTE" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Erreur - </text> - <text name="connection_loading_text"> - Chargement... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/fr/panel_edit_classified.xml b/indra/newview/skins/default/xui/fr/panel_edit_classified.xml deleted file mode 100644 index b892d25f26..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modifier la petite annonce" name="panel_edit_classified"> - <panel.string name="location_notice"> - (mise à jour après l'enregistrement) - </panel.string> - <string name="publish_label"> - Publier - </string> - <string name="save_label"> - Enregistrer - </string> - <text name="title"> - Modifier la petite annonce - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Cliquer pour sélectionner une image"/> - </panel> - <text name="Name:"> - Titre : - </text> - <text name="description_label"> - Description : - </text> - <text name="location_label"> - Lieu : - </text> - <text name="classified_location"> - en cours de chargement... - </text> - <button label="Définir sur l'emplacement actuel" name="set_to_curr_location_btn"/> - <text name="category_label" value="Catégorie :"/> - <text name="content_type_label" value="Type de contenu :"/> - <icons_combo_box label="Contenu Général" name="content_type"> - <icons_combo_box.item label="Contenu Modéré" name="mature_ci" value="Mature"/> - <icons_combo_box.item label="Contenu Général" name="pg_ci" value="PG"/> - </icons_combo_box> - <check_box label="Renouvellement auto toutes les semaines" name="auto_renew"/> - <text name="price_for_listing_label" value="Coût de l'annonce :"/> - <spinner label="L$" name="price_for_listing" tool_tip="Coût de l'annonce." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Annuler" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_edit_pick.xml b/indra/newview/skins/default/xui/fr/panel_edit_pick.xml deleted file mode 100644 index 247e18da82..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modifier le favori" name="panel_edit_pick"> - <panel.string name="location_notice"> - (mise à jour après enregistrement) - </panel.string> - <text name="title"> - Modifier le favori - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Cliquez pour sélectionner une image"/> - <text name="Name:"> - Titre : - </text> - <text name="description_label"> - Description : - </text> - <text name="location_label"> - Lieu : - </text> - <text name="pick_location"> - en cours de chargement... - </text> - <button label="Définir sur l'emplacement actuel" name="set_to_curr_location_btn"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Enregistrer" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Annuler" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_edit_profile.xml b/indra/newview/skins/default/xui/fr/panel_edit_profile.xml deleted file mode 100644 index 9e63c88221..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_edit_profile.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modification du profil" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Résident"/> - <string name="AcctTypeTrial" value="Essai"/> - <string name="AcctTypeCharterMember" value="Membre originaire"/> - <string name="AcctTypeEmployee" value="Employé(e) de Linden Lab"/> - <string name="PaymentInfoUsed" value="Infos de paiement utilisées"/> - <string name="PaymentInfoOnFile" value="Infos de paiement enregistrées"/> - <string name="NoPaymentInfoOnFile" value="Aucune info de paiement enregistrée"/> - <string name="AgeVerified" value="Personne dont l'âge a été vérifié"/> - <string name="NotAgeVerified" value="Personne dont l'âge n'a pas été vérifié"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=fr - </string> - <string name="my_account_link_url"> - http://secondlife.com/my - </string> - <string name="no_partner_text" value="Aucun"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Nom d'affichage :"/> - <text name="solo_username_label" value="Nom d'utilisateur :"/> - <button name="set_name" tool_tip="Définir un nom d'affichage"/> - <text name="user_label" value="Nom d'utilisateur :"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="Cliquez pour sélectionner une image"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Vie réelle :"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Cliquez pour sélectionner une image"/> - <text name="title_homepage_text"> - Page d'accueil : - </text> - <line_editor name="homepage_edit" value="http://"/> - <check_box label="Afficher avec la recherche" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Mon compte :"/> - <text_editor name="acc_status_text" value="Résident. Aucune info de paiement enregistrée."/> - <text name="my_account_link" value="[[URL] Accéder à ma Page d'accueil]"/> - <text name="title_partner_text" value="Mon partenaire :"/> - <panel name="partner_data_panel"> - <text initial_value="(récupération en cours)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Modifier]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Enregistrer" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Annuler" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_facebook_friends.xml b/indra/newview/skins/default/xui/fr/panel_facebook_friends.xml deleted file mode 100644 index 0e36c2092c..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Vous n'avez actuellement aucun ami Facebook qui est également résident de Second Life. Invitez vos amis Facebook à rejoindre Second Life aujourd'hui !"/> - <string name="facebook_friends_no_connected" value="Vous n'êtes pas connecté(e) à Facebook. Allez à l'onglet Statut pour vous connecter et activer cette fonctionnalité."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Amis SL"/> - <accordion_tab name="tab_suggested_friends" title="Ajouter ces personnes en tant qu'amis SL"/> - </accordion> - <text name="facebook_friends_status"> - Pas connecté(e) à Facebook. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_facebook_photo.xml b/indra/newview/skins/default/xui/fr/panel_facebook_photo.xml deleted file mode 100644 index cc4045bc74..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Résolution d’image"> - <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/> - <combo_box.item label="640 x 480" name="640x480"/> - <combo_box.item label="800 x 600" name="800x600"/> - <combo_box.item label="1024 x 768" name="1024x768"/> - <combo_box.item label="1200 x 630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtres d’image"> - <combo_box.item label="Aucun filtre" name="NoFilter"/> - </combo_box> - <button label="Actualiser" name="new_snapshot_btn" tool_tip="Cliquer pour actualiser"/> - <button label="Aperçu" name="big_preview_btn" tool_tip="Cliquer pour basculer l'aperçu"/> - <text name="caption_label"> - Commentaire (facultatif) : - </text> - <button label="Publier" name="post_photo_btn"/> - <button label="Annuler" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_facebook_place.xml b/indra/newview/skins/default/xui/fr/panel_facebook_place.xml deleted file mode 100644 index f8e597450b..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Dites quelque chose au sujet du lieu où vous vous trouvez : - </text> - <check_box initial_value="false" label="Inclure la vue aérienne du lieu" name="add_place_view_cb"/> - <button label="Publier" name="post_place_btn"/> - <button label="Annuler" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_facebook_status.xml b/indra/newview/skins/default/xui/fr/panel_facebook_status.xml deleted file mode 100644 index dc8e4b9ecc..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Vous êtes connecté(e) à Facebook en tant que :"/> - <string name="facebook_disconnected" value="Pas connecté(e) à Facebook"/> - <text name="account_caption_label"> - Pas connecté(e) à Facebook. - </text> - <panel name="panel_buttons"> - <button label="Connexion en cours..." name="connect_btn"/> - <button label="Déconnexion" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Apprenez comment publier sur Facebook] - </text> - </panel> - <text name="status_caption_label"> - À quoi pensez-vous ? - </text> - <button label="Publier" name="post_status_btn"/> - <button label="Annuler" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_flickr_account.xml b/indra/newview/skins/default/xui/fr/panel_flickr_account.xml deleted file mode 100644 index 7082223b14..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Vous êtes connecté(e) à Flickr en tant que :"/> - <string name="flickr_disconnected" value="Pas connecté(e) à Flickr"/> - <text name="account_caption_label"> - Pas connecté(e) à Flickr. - </text> - <panel name="panel_buttons"> - <button label="Connexion..." name="connect_btn"/> - <button label="Déconnexion" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Apprenez comment publier sur Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_flickr_photo.xml b/indra/newview/skins/default/xui/fr/panel_flickr_photo.xml deleted file mode 100644 index 9dac26b165..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Résolution d’image"> - <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/> - <combo_box.item label="640 x 480" name="640x480"/> - <combo_box.item label="800 x 600" name="800x600"/> - <combo_box.item label="1 024 x 768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtres d'image"> - <combo_box.item label="Aucun filtre" name="NoFilter"/> - </combo_box> - <button label="Actualiser" name="new_snapshot_btn" tool_tip="Cliquer pour actualiser"/> - <button label="Aperçu" name="big_preview_btn" tool_tip="Cliquer pour activer/désactiver l'aperçu"/> - <text name="title_label"> - Titre : - </text> - <text name="description_label"> - Description : - </text> - <check_box initial_value="true" label="Inclure l'emplacement SL à la fin de la description" name="add_location_cb"/> - <text name="tags_label"> - Balises : - </text> - <text name="tags_help_label"> - Séparer les balises par des espaces -Utiliser "" pour les balises contenant plusieurs mots - </text> - <combo_box name="rating_combobox" tool_tip="Catégorie de contenu Flickr"> - <combo_box.item label="Catégorie de contenu Flickr sûr" name="SafeRating"/> - <combo_box.item label="Catégorie de contenu Flickr modéré" name="ModerateRating"/> - <combo_box.item label="Catégorie de contenu Flickr réservé aux adultes" name="RestrictedRating"/> - </combo_box> - <button label="Partager" name="post_photo_btn"/> - <button label="Annuler" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_pick_info.xml b/indra/newview/skins/default/xui/fr/panel_pick_info.xml deleted file mode 100644 index 1de9b243f1..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Infos"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[name]"/> - <text_editor name="pick_location" value="[loading...]"/> - <text_editor name="pick_desc" value="[description]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Téléportation" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Carte" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Modifier" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_picks.xml b/indra/newview/skins/default/xui/fr/panel_picks.xml deleted file mode 100644 index fb277f653f..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Favoris" name="panel_picks"> - <string name="no_picks" value="Pas de favoris"/> - <string name="no_classifieds" value="Pas de petites annonces"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Favoris"/> - <accordion_tab name="tab_classifieds" title="Petites annonces"/> - </accordion> - <panel label="bottom_panel" name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="Créer un nouveau favori ou une nouvelle petite annonce à l’endroit actuel"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Infos" name="info_btn" tool_tip="Afficher les informations du favori"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Téléportation" name="teleport_btn" tool_tip="Me téléporter jusqu'à la zone correspondante"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Carte" name="show_on_map_btn" tool_tip="Afficher la zone correspondante sur la carte du monde"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_twitter_account.xml b/indra/newview/skins/default/xui/fr/panel_twitter_account.xml deleted file mode 100644 index ed2208c69f..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Vous êtes connecté(e) à Twitter en tant que :"/> - <string name="twitter_disconnected" value="Pas connecté(e) à Twitter"/> - <text name="account_caption_label"> - Pas connecté(e) à Twitter. - </text> - <panel name="panel_buttons"> - <button label="Connexion..." name="connect_btn"/> - <button label="Déconnexion" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Apprenez comment publier sur Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_twitter_photo.xml b/indra/newview/skins/default/xui/fr/panel_twitter_photo.xml deleted file mode 100644 index 3e23e5d577..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Que se passe-t-il ? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="Inclure l'emplacement SL" name="add_location_cb"/> - <check_box initial_value="true" label="Inclure une photo" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Résolution d’image"> - <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/> - <combo_box.item label="640 x 480" name="640x480"/> - <combo_box.item label="800 x 600" name="800x600"/> - <combo_box.item label="1 024 x 768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtres d'image"> - <combo_box.item label="Aucun filtre" name="NoFilter"/> - </combo_box> - <button label="Actualiser" name="new_snapshot_btn" tool_tip="Cliquer pour actualiser"/> - <button label="Aperçu" name="big_preview_btn" tool_tip="Cliquer pour activer/désactiver l'aperçu"/> - <button label="Envoyer tweet" name="post_photo_btn"/> - <button label="Annuler" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/it/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/it/floater_edit_day_cycle.xml deleted file mode 100644 index c922b2e4f7..0000000000 --- a/indra/newview/skins/default/xui/it/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Modifica ciclo giornata"> - <string name="title_new"> - Crea un nuovo ciclo giornata - </string> - <string name="title_edit"> - Modifica ciclo giornata - </string> - <string name="hint_new"> - Dai un nome al ciclo della giornata, modifica i controlli per crearlo e fai clic su "Salva". - </string> - <string name="hint_edit"> - Per modificare il ciclo della giornata, modifica i controlli seguenti e fai clic su "Salva". - </string> - <string name="combo_label"> - -Seleziona un valore predefinito- - </string> - <text name="label"> - Nome predefinito: - </text> - <text name="note"> - Nota: se cambi il nome del valore predefinito, in realtà ne crei uno nuovo e quello esistente non viene cambiato. - </text> - <text name="hint_item1"> - - Fai clic su una scheda per modificare gli orari e le impostazioni cielo specifiche. - </text> - <text name="hint_item2"> - - Fai clic e trascina le schede per impostare i tempi di transizione. - </text> - <text name="hint_item3"> - - Usa lo scrubber per visualizzare in anteprima il ciclo giornata. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Aggiungi chiave" label_selected="Aggiungi chiave" name="WLAddKey"/> - <button label="Tasto cancella" label_selected="Tasto cancella" name="WLDeleteKey"/> - <text name="WL12am"> - 00:00 - </text> - <text name="WL3am"> - 03:00:00 - </text> - <text name="WL6am"> - 06:00:00 - </text> - <text name="WL9amHash"> - 09:00:00 - </text> - <text name="WL12pmHash"> - 12:00:00 - </text> - <text name="WL3pm"> - 15:00:00 - </text> - <text name="WL6pm"> - 18:00:00 - </text> - <text name="WL9pm"> - 21:00:00 - </text> - <text name="WL12am2"> - 00:00 - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Impostazioni cielo: - </text> - <combo_box label="Valori predefiniti" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - Giorno/ora: - </text> - <time name="time" value="06:00:00"/> - <check_box label="Usa come nuovo ciclo giornata" name="make_default_cb"/> - <button label="Salva" name="save"/> - <button label="Annulla" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/it/floater_edit_sky_preset.xml deleted file mode 100644 index e2dda7da9d..0000000000 --- a/indra/newview/skins/default/xui/it/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Modifica valore predefinito cielo"> - <string name="title_new"> - Crea un nuovo valore predefinito cielo - </string> - <string name="title_edit"> - Modifica valore predefinito cielo - </string> - <string name="hint_new"> - Dai un nome al valore predefinito, regola i comandi per crearlo e fai clic su "Salva". - </string> - <string name="hint_edit"> - Per modificare il valore predefinito cielo, regola i comandi e fai clic su "Salva". - </string> - <string name="combo_label"> - -Seleziona un valore predefinito- - </string> - <text name="hint"> - Per modificare il valore predefinito, regola i comandi e quindi fai clic su "Salva" - </text> - <text name="label"> - Nome predefinito: - </text> - <text name="note"> - Nota: se cambi il nome del valore predefinito, in realtà ne crei uno nuovo e quello esistente non viene cambiato. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSFERA" name="Atmosphere"> - <text name="BHText"> - Orizzonte blu - </text> - <text name="BDensText"> - Orizzonte foschia - </text> - <text name="BDensText2"> - Densità blu - </text> - <text name="HDText"> - Densità foschia - </text> - <text name="DensMultText"> - Fattore moltiplicativo densità - </text> - <text name="WLDistanceMultText"> - Fattore moltiplicativo distanza - </text> - <text name="MaxAltText"> - Altitudine massima - </text> - </panel> - <panel label="ILLUMINAZIONE" name="Lighting"> - <text name="SLCText"> - Colore sole/luna - </text> - <text name="WLAmbientText"> - Ambiente - </text> - <text name="SunGlowText"> - Bagliore sole - </text> - <slider label="Centro focale" name="WLGlowB"/> - <slider label="Dimensioni" name="WLGlowR"/> - <text name="WLStarText"> - Luminosità stella - </text> - <text name="SceneGammaText"> - Gamma scena - </text> - <text name="TODText"> - Posizione sole/luna - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 00:00 - </text> - <text name="WL6am"> - 06.00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL12am2"> - 00:00 - </text> - <time name="WLDayTime" value="06:00"/> - <text name="WLEastAngleText"> - Angolo est - </text> - </panel> - <panel label="NUVOLE" name="Clouds"> - <text name="WLCloudColorText"> - Colore nuvole - </text> - <text name="WLCloudColorText2"> - XY/Densità nuvole - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Copertura nuvole - </text> - <text name="WLCloudScaleText"> - Scala nuvole - </text> - <text name="WLCloudDetailText"> - Dettaglio nuvole (XY/Densità) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Scorrimento nuvole X - </text> - <check_box label="Blocca" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Scorrimento nuvole Y - </text> - <check_box label="Blocca" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Usa questo valore predefinito come nuova impostazione per il cielo" name="make_default_cb"/> - <button label="Salva" name="save"/> - <button label="Annulla" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/it/floater_edit_water_preset.xml deleted file mode 100644 index 19eb6566c9..0000000000 --- a/indra/newview/skins/default/xui/it/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Modifica valore predefinito acqua"> - <string name="title_new"> - Crea un nuovo valore predefinito per l'acqua - </string> - <string name="title_edit"> - Modifica un valore predefinito per l'acqua - </string> - <string name="hint_new"> - Dai un nome al valore predefinito, regola i comandi per crearlo e fai clic su "Salva". - </string> - <string name="hint_edit"> - Per modificare il valore predefinito per l’acqua, regola i comandi e fai clic su "Salva". - </string> - <string name="combo_label"> - -Seleziona un valore predefinito- - </string> - <text name="hint"> - Per modificare il valore predefinito, regola i comandi e quindi fai clic su "Salva" - </text> - <text name="label"> - Nome predefinito: - </text> - <text name="note"> - Nota: se cambi il nome del valore predefinito, in realtà ne crei uno nuovo e quello esistente non viene cambiato. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Colore nebbia acqua - </text> - <text name="water_fog_density_label"> - Esponente densità nebbia - </text> - <text name="underwater_fog_modifier_label"> - Modificatore nebbia sott'acqua - </text> - <text name="BHText"> - Direzione onda grande - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Scala wavelet riflesso - </text> - <text name="HDText"> - Scala Fresnel - </text> - <text name="FresnelOffsetText"> - Spostamento Fresnel - </text> - <text name="BHText2"> - Direzione onda piccola - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Scala wavelet sopra - </text> - <text name="WaterScaleBelowText"> - Scala wavelet sotto - </text> - <text name="MaxAltText"> - Fattore moltiplicativo sfocatura - </text> - <text name="BHText3"> - Mappa normale - </text> - </panel> - <check_box label="Usa questo valore predefinito come nuova impostazione per l'acqua" name="make_default_cb"/> - <button label="Salva" name="save"/> - <button label="Annulla" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_environment_settings.xml b/indra/newview/skins/default/xui/it/floater_environment_settings.xml deleted file mode 100644 index a7ed5f9e67..0000000000 --- a/indra/newview/skins/default/xui/it/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="IMPOSTAZIONI AMBIENTE"> - <text name="note"> - Usa le opzioni seguenti per personalizzare le impostazioni dell'ambiente per il tuo viewer. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Usa impostazioni regione" name="use_region_settings"/> - <radio_item label="Personalizza il mio ambiente" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Nota: gli altri utenti non vedranno le tue impostazioni personalizzate. - </text> - <text name="water_settings_title"> - Impostazione Acqua - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Seleziona un valore predefinito-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Ciclo cielo / giornata - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Cielo fisso" name="my_sky_settings"/> - <radio_item label="Ciclo giornata" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Seleziona un valore predefinito-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Seleziona un valore predefinito-" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="Annulla" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_facebook.xml b/indra/newview/skins/default/xui/it/floater_facebook.xml deleted file mode 100644 index cb700f00e1..0000000000 --- a/indra/newview/skins/default/xui/it/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="PUBBLICA SU FACEBOOK"> - <tab_container name="tabs"> - <panel label="STATO" name="panel_facebook_status"/> - <panel label="FOTO" name="panel_facebook_photo"/> - <panel label="REGISTRATI" name="panel_facebook_place"/> - <panel label="AMICI" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Errore - </text> - <text name="connection_loading_text"> - Caricamento in corso... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_flickr.xml b/indra/newview/skins/default/xui/it/floater_flickr.xml deleted file mode 100644 index 85482a44a4..0000000000 --- a/indra/newview/skins/default/xui/it/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="CONDIVIDI SU FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="FOTO" name="panel_flickr_photo"/> - <panel label="ACCOUNT" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Errore - </text> - <text name="connection_loading_text"> - Caricamento... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_hardware_settings.xml b/indra/newview/skins/default/xui/it/floater_hardware_settings.xml deleted file mode 100644 index edbbc354cf..0000000000 --- a/indra/newview/skins/default/xui/it/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="OPZIONI HARDWARE"> - <text name="Filtering:"> - Filtraggio: - </text> - <check_box label="Filtraggio Anisotropico (rallenta se attivato)" name="ani"/> - <text name="antialiasing label"> - Antialiasing: - </text> - <combo_box label="Antialiasing" name="fsaa" width="94"> - <combo_box.item label="Disattivato" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (richiede il riavvio del viewer) - </text> - <spinner label="Gamma:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = luminosità default, più basso = più luminoso) - </text> - <text name="Enable VBO:"> - Attiva VBO: - </text> - <check_box initial_value="true" label="Attiva oggetti OpenGL Vertex Buffer" name="vbo" tool_tip="Attivandolo su un hardware moderno aumenta la performance. Ma, su un vecchio hardware, spesso l'implementazione dei VBO è scarsa e potresti avere dei crash quando è attivato."/> - <text name="tc label"> - Attiva S3TC: - </text> - <check_box initial_value="true" label="Attiva compressione texture (richiede riavvio)" name="texture compression" tool_tip="Comprime le texture nella memoria video, consentendo il caricamento di texture a risoluzione maggiore al prezzo di ua perdita di qualit' del colore."/> - <slider label="Memoria texture (MB):" name="GraphicsCardTextureMemory" tool_tip="Spazio di memoria da ssegnare alle textures. Utilizza la memoria della scheda video come impostazione predefinita. La riduzione di questa impostazione potrebbe migliorare il rendimento ma potrebbe anche rendere le texture poco definite."/> - <spinner label="Indice della distanza della nebbia:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_twitter.xml b/indra/newview/skins/default/xui/it/floater_twitter.xml deleted file mode 100644 index a34052a620..0000000000 --- a/indra/newview/skins/default/xui/it/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="COMPONI" name="panel_twitter_photo"/> - <panel label="ACCOUNT" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Errore - </text> - <text name="connection_loading_text"> - Caricamento in corso... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/it/panel_edit_classified.xml b/indra/newview/skins/default/xui/it/panel_edit_classified.xml deleted file mode 100644 index 57e422a25b..0000000000 --- a/indra/newview/skins/default/xui/it/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modifica inserzione" name="panel_edit_classified"> - <panel.string name="location_notice"> - (si aggiornerà dopo il salvataggio) - </panel.string> - <string name="publish_label"> - Pubblica - </string> - <string name="save_label"> - Salva - </string> - <text name="title"> - Modifica inserzione - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Clicca per selezionare un'immagine"/> - </panel> - <text name="Name:"> - Titolo: - </text> - <text name="description_label"> - Descrizione: - </text> - <text name="location_label"> - Luogo: - </text> - <text name="classified_location"> - caricamento... - </text> - <button label="Imposta come luogo attuale" name="set_to_curr_location_btn"/> - <text name="category_label" value="Categoria:"/> - <text name="content_type_label" value="Tipo di contenuto:"/> - <icons_combo_box label="Contenuto generale" name="content_type"> - <icons_combo_box.item label="Contenuto moderato" name="mature_ci" value="Moderato"/> - <icons_combo_box.item label="Contenuto generale" name="pg_ci" value="Generale"/> - </icons_combo_box> - <check_box label="Rinnovo automatico ogni settimana" name="auto_renew"/> - <text name="price_for_listing_label" value="Prezzo per inserzione:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Prezzo per inserzione:" value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Annulla" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_edit_pick.xml b/indra/newview/skins/default/xui/it/panel_edit_pick.xml deleted file mode 100644 index 145b8cf4e3..0000000000 --- a/indra/newview/skins/default/xui/it/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modifica preferito" name="panel_edit_pick"> - <panel.string name="location_notice"> - (si aggiornerà dopo il salvataggio) - </panel.string> - <text name="title"> - Modifica preferito - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Clicca per selezionare un'immagine"/> - <text name="Name:"> - Titolo: - </text> - <text name="description_label"> - Descrizione: - </text> - <text name="location_label"> - Luogo: - </text> - <text name="pick_location"> - caricamento... - </text> - <button label="Imposta come luogo attuale" name="set_to_curr_location_btn"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Salva luogo preferito" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Annulla" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_edit_profile.xml b/indra/newview/skins/default/xui/it/panel_edit_profile.xml deleted file mode 100644 index 545e96a8f1..0000000000 --- a/indra/newview/skins/default/xui/it/panel_edit_profile.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modifica profilo" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] [PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Residente"/> - <string name="AcctTypeTrial" value="Prova"/> - <string name="AcctTypeCharterMember" value="Membro privilegiato"/> - <string name="AcctTypeEmployee" value="Impiegato della Linden Lab"/> - <string name="PaymentInfoUsed" value="Info. di pagamento usate"/> - <string name="PaymentInfoOnFile" value="Info. di pagamento in archivio"/> - <string name="NoPaymentInfoOnFile" value="Nessuna info. di pagamento"/> - <string name="AgeVerified" value="Età verificata"/> - <string name="NotAgeVerified" value="Età non verificata"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=it - </string> - <string name="no_partner_text" value="Nessuno"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Nome visualizzato:"/> - <text name="solo_username_label" value="Nome utente:"/> - <button name="set_name" tool_tip="Imposta nome visualizzato"/> - <text name="solo_user_name" value="Hamilton Hitchings"/> - <text name="user_name" value="Hamilton Hitchings"/> - <text name="user_name_small" value="Hamilton Hitchings"/> - <text name="user_label" value="Nome utente:"/> - <text name="user_slid" value="hamilton.linden"/> - <panel name="lifes_images_panel"> - <icon label="" name="2nd_life_edit_icon" tool_tip="Clicca per selezionare un'immagine"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Mondo reale:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Clicca per selezionare un'immagine"/> - <text name="title_homepage_text"> - Home page: - </text> - <check_box label="Mostrami nei risultati della ricerca" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Il mio account:"/> - <text_editor name="acc_status_text" value="Residente. Nessuna informazione di pagamento disponibile."/> - <text name="my_account_link" value="[[URL] Go to My Dashboard]"/> - <text name="title_partner_text" value="Il mio partner:"/> - <panel name="partner_data_panel"> - <text initial_value="(recupero)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Edit]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Salva modifiche" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Annulla" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_facebook_friends.xml b/indra/newview/skins/default/xui/it/panel_facebook_friends.xml deleted file mode 100644 index 28769a010f..0000000000 --- a/indra/newview/skins/default/xui/it/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Attualmente non hai amici su Facebook che sono anche residenti Second Life. Invita ora i tuoi amici di Facebook a unirsi a Second Life!"/> - <string name="facebook_friends_no_connected" value="Non sei connesso a Facebook. Accedi alla scheda Stato per collegarti e attivare questa funzionalità."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Amici SL"/> - <accordion_tab name="tab_suggested_friends" title="Aggiungi queste persone come amici SL"/> - </accordion> - <text name="facebook_friends_status"> - Non connesso a Facebook. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_facebook_photo.xml b/indra/newview/skins/default/xui/it/panel_facebook_photo.xml deleted file mode 100644 index 8d66f35c3c..0000000000 --- a/indra/newview/skins/default/xui/it/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Risoluzione immagine"> - <combo_box.item label="Finestra attuale" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - <combo_box.item label="1200x630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtri immagine"> - <combo_box.item label="Nessun filtro" name="NoFilter"/> - </combo_box> - <button label="Aggiorna" name="new_snapshot_btn" tool_tip="Fai clic per aggiornare"/> - <button label="Anteprima" name="big_preview_btn" tool_tip="Fai clic per alternare l'anteprima"/> - <text name="caption_label"> - Commento (facoltativo): - </text> - <button label="Post" name="post_photo_btn"/> - <button label="Annulla" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_facebook_place.xml b/indra/newview/skins/default/xui/it/panel_facebook_place.xml deleted file mode 100644 index 3f1365f12c..0000000000 --- a/indra/newview/skins/default/xui/it/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Racconta dove ti trovi: - </text> - <check_box initial_value="false" label="Includi vista dall'alto del luogo" name="add_place_view_cb"/> - <button label="Post" name="post_place_btn"/> - <button label="Annulla" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_facebook_status.xml b/indra/newview/skins/default/xui/it/panel_facebook_status.xml deleted file mode 100644 index 7fb1cec78e..0000000000 --- a/indra/newview/skins/default/xui/it/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Sei connesso a Facebook come:"/> - <string name="facebook_disconnected" value="Non connesso a Facebook"/> - <text name="account_caption_label"> - Non connesso a Facebook. - </text> - <panel name="panel_buttons"> - <button label="Connessione in corso..." name="connect_btn"/> - <button label="Disconnetti" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Come pubblicare su Facebook] - </text> - </panel> - <text name="status_caption_label"> - A cosa stai pensando? - </text> - <button label="Post" name="post_status_btn"/> - <button label="Annulla" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_flickr_account.xml b/indra/newview/skins/default/xui/it/panel_flickr_account.xml deleted file mode 100644 index 573754a68e..0000000000 --- a/indra/newview/skins/default/xui/it/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Sei in collegamento con Flickr come:"/> - <string name="flickr_disconnected" value="Non in collegamento con Flickr"/> - <text name="account_caption_label"> - Non in collegamento con Flickr. - </text> - <panel name="panel_buttons"> - <button label="Collegamento..." name="connect_btn"/> - <button label="Interrompi collegamento" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Come pubblicare su Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_flickr_photo.xml b/indra/newview/skins/default/xui/it/panel_flickr_photo.xml deleted file mode 100644 index f6700b6150..0000000000 --- a/indra/newview/skins/default/xui/it/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Risoluzione immagini"> - <combo_box.item label="Finestra attuale" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtri immagini"> - <combo_box.item label="Nessun filtro" name="NoFilter"/> - </combo_box> - <button label="Aggiorna" name="new_snapshot_btn" tool_tip="Fai clic per aggiornare"/> - <button label="Anteprima" name="big_preview_btn" tool_tip="Fai clic per alternare l'anteprima"/> - <text name="title_label"> - Titolo: - </text> - <text name="description_label"> - Descrizione: - </text> - <check_box initial_value="true" label="Includi il luogo SL al termine della descrizione" name="add_location_cb"/> - <text name="tags_label"> - Tag: - </text> - <text name="tags_help_label"> - Separa tag con spazi -Usa "" per tag con più di una parola - </text> - <combo_box name="rating_combobox" tool_tip="Categoria del contenuto di Flickr"> - <combo_box.item label="Categoria Flickr Sicuro" name="SafeRating"/> - <combo_box.item label="Categoria Flickr Moderato" name="ModerateRating"/> - <combo_box.item label="Categoria Flickr Censurato" name="RestrictedRating"/> - </combo_box> - <button label="Condividi" name="post_photo_btn"/> - <button label="Annulla" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_pick_info.xml b/indra/newview/skins/default/xui/it/panel_pick_info.xml deleted file mode 100644 index ca9959a581..0000000000 --- a/indra/newview/skins/default/xui/it/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Scegli Info"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[nome]"/> - <text_editor name="pick_location" value="[caricamento...]"/> - <text_editor name="pick_desc" value="[descrizione]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teleport" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mappa" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Modifica" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_picks.xml b/indra/newview/skins/default/xui/it/panel_picks.xml deleted file mode 100644 index 3faf28a948..0000000000 --- a/indra/newview/skins/default/xui/it/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Preferiti" name="panel_picks"> - <string name="no_picks" value="Nessun luogo preferito"/> - <string name="no_classifieds" value="Nessun annuncio"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Preferiti"/> - <accordion_tab name="tab_classifieds" title="Annunci pubblicitari"/> - </accordion> - <panel label="bottom_panel" name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="Crea un nuovo luogo preferito o annuncio in questo luogo"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Informazioni" name="info_btn" tool_tip="Mostra informazioni sul luogo preferito"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleport" name="teleport_btn" tool_tip="Teleport alla zona corrispondente"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mappa" name="show_on_map_btn" tool_tip="Mostra la zona corrispondente nella mappa del Mondo"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_twitter_account.xml b/indra/newview/skins/default/xui/it/panel_twitter_account.xml deleted file mode 100644 index 7eb3968f75..0000000000 --- a/indra/newview/skins/default/xui/it/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Sei in collegamento con Twitter come:"/> - <string name="twitter_disconnected" value="Non in collegamento con Twitter"/> - <text name="account_caption_label"> - Non in collegamento con Twitter. - </text> - <panel name="panel_buttons"> - <button label="Collegamento..." name="connect_btn"/> - <button label="Interrompi collegamento" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Come pubblicare su Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_twitter_photo.xml b/indra/newview/skins/default/xui/it/panel_twitter_photo.xml deleted file mode 100644 index 69596784bd..0000000000 --- a/indra/newview/skins/default/xui/it/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Cosa sta succedendo? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="Includi il luogo in SL" name="add_location_cb"/> - <check_box initial_value="true" label="Includi una foto" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Risoluzione immagini"> - <combo_box.item label="Finestra attuale" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtri immagini"> - <combo_box.item label="Nessun filtro" name="NoFilter"/> - </combo_box> - <button label="Aggiorna" name="new_snapshot_btn" tool_tip="Fai clic per aggiornare"/> - <button label="Anteprima" name="big_preview_btn" tool_tip="Fai clic per alternare l'anteprima"/> - <button label="Tweetta" name="post_photo_btn"/> - <button label="Annulla" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ja/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/ja/floater_edit_day_cycle.xml deleted file mode 100644 index fd601672b6..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="デイサイクルを編集"> - <string name="title_new"> - 新たなデイサイクルを作成 - </string> - <string name="title_edit"> - デイサイクルを編集 - </string> - <string name="hint_new"> - 新しいデイサイクルに名前をつけ、希望の設定に調節して、「保存」をクリックします。 - </string> - <string name="hint_edit"> - 自分で作成したデイサイクルを編集するには、希望の設定に調節して、「保存」をクリックします。 - </string> - <string name="combo_label"> - - 事前設定を選択 - - </string> - <text name="label"> - 事前設定の名前: - </text> - <text name="note"> - 注意:自分で作成した事前設定の名前を変更すると、新しい事前設定が別に作成されるだけで、元の事前設定は変更されません。 - </text> - <text name="hint_item1"> - - 特定の空の設定や時間を編集するにはタブを1つクリックします。 - </text> - <text name="hint_item2"> - - 移行時間を設定するにはタブをクリックしてドラッグします。 - </text> - <text name="hint_item3"> - - デイサイクルをプレビューするにはスクラバーを使います。 - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="キーの追加" label_selected="キーの追加" name="WLAddKey"/> - <button label="キーの削除" label_selected="キーの削除" name="WLDeleteKey"/> - <text name="WL12am"> - 12am - </text> - <text name="WL3am"> - 3am - </text> - <text name="WL6am"> - 6am - </text> - <text name="WL9amHash"> - 9am - </text> - <text name="WL12pmHash"> - 12pm - </text> - <text name="WL3pm"> - 3pm - </text> - <text name="WL6pm"> - 6pm - </text> - <text name="WL9pm"> - 9pm - </text> - <text name="WL12am2"> - 12am - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - 空の設定: - </text> - <combo_box label="事前設定" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - 時間: - </text> - <time name="time" value="6:00 AM"/> - <check_box label="これを新しいデイサイクルにする" name="make_default_cb"/> - <button label="保存" name="save"/> - <button label="取り消し" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/ja/floater_edit_sky_preset.xml deleted file mode 100644 index 2d74bdeeb9..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="空の事前設定を編集"> - <string name="title_new"> - 新しい空の事前設定を作成 - </string> - <string name="title_edit"> - 空の事前設定を編集 - </string> - <string name="hint_new"> - 新しい事前設定に名前をつけ、希望の設定に調節して、「保存」をクリックします。 - </string> - <string name="hint_edit"> - 空の事前設定を編集するには、希望の設定に調節して、「保存」をクリックします。 - </string> - <string name="combo_label"> - - 事前設定を選択 - - </string> - <text name="hint"> - 事前設定を編集するには、希望の設定に調節して、「保存」をクリックします。 - </text> - <text name="label"> - 事前設定の名前: - </text> - <text name="note"> - 注記: 自分で作成した事前設定の名前を変更すると、新しい事前設定が別に作成されるだけで、元の事前設定は変更されません。 - </text> - <tab_container name="WindLight Tabs"> - <panel label="大気" name="Atmosphere"> - <text name="BHText"> - 空の配色 - </text> - <text name="BDensText"> - 空と遠景の露光 - </text> - <text name="BDensText2"> - 空の配色と濃度 - </text> - <text name="HDText"> - 大気の不透明度 - </text> - <text name="DensMultText"> - 大気の不透明度の増幅 - </text> - <text name="WLDistanceMultText"> - 視界の増幅 - </text> - <text name="MaxAltText"> - 最大高度 - </text> - </panel> - <panel label="ライティング" name="Lighting"> - <text name="SLCText"> - 太陽/月の色 - </text> - <text name="WLAmbientText"> - アンビエント - </text> - <text name="SunGlowText"> - 太陽の輝き - </text> - <slider label="焦点" name="WLGlowB"/> - <slider label="サイズ" name="WLGlowR"/> - <text name="WLStarText"> - 星の輝き - </text> - <text name="SceneGammaText"> - 風景ガンマ - </text> - <text name="TODText"> - 太陽/月の位置 - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 12am - </text> - <text name="WL6am"> - 6am - </text> - <text name="WL12pmHash"> - 12pm - </text> - <text name="WL6pm"> - 6pm - </text> - <text name="WL12am2"> - 12am - </text> - <time name="WLDayTime" value="6:00 AM"/> - <text name="WLEastAngleText"> - 東の角度 - </text> - </panel> - <panel label="雲" name="Clouds"> - <text name="WLCloudColorText"> - 雲の色 - </text> - <text name="WLCloudColorText2"> - 雲のXY/密度 - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - 雲の量 - </text> - <text name="WLCloudScaleText"> - 雲のスケール - </text> - <text name="WLCloudDetailText"> - 雲の詳細(XY/密度) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - 雲の移動速度(X方向) - </text> - <check_box label="ロック" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - 雲の移動速度(Y方向) - </text> - <check_box label="ロック" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="この事前設定を新しい空の設定にする" name="make_default_cb"/> - <button label="保存" name="save"/> - <button label="キャンセル" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/ja/floater_edit_water_preset.xml deleted file mode 100644 index 691aed35d0..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="水の事前設定を編集"> - <string name="title_new"> - 新しい水の事前設定を作成 - </string> - <string name="title_edit"> - 水の事前設定を編集 - </string> - <string name="hint_new"> - 新しい事前設定に名前をつけ、希望の設定に調節して、「保存」をクリックします。 - </string> - <string name="hint_edit"> - 水の事前設定を編集するには、希望の設定に調節して、「保存」をクリックします。 - </string> - <string name="combo_label"> - - 事前設定を選択 - - </string> - <text name="hint"> - 事前設定を編集するには、希望の設定に調節して、「保存」をクリックします。 - </text> - <text name="label"> - 事前設定の名前: - </text> - <text name="note"> - 注記: 自分で作成した事前設定の名前を変更すると、新しい事前設定が別に作成されるだけで、元の事前設定は変更されません。 - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - 水中のフォグ効果の色 - </text> - <text name="water_fog_density_label"> - 水中の透明度指数 - </text> - <text name="underwater_fog_modifier_label"> - 水中のフォグ効果加減 - </text> - <text name="BHText"> - 大波の方向 - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - さざ波の反射スケール - </text> - <text name="HDText"> - フレネル・スケール - </text> - <text name="FresnelOffsetText"> - フレネル・オフセット - </text> - <text name="BHText2"> - 小波の方向 - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - 水面の屈折スケール - </text> - <text name="WaterScaleBelowText"> - 水中の屈折スケール - </text> - <text name="MaxAltText"> - 不透明度の増幅 - </text> - <text name="BHText3"> - ノーマル・マップ - </text> - </panel> - <check_box label="この事前設定を新しい水の設定にする" name="make_default_cb"/> - <button label="保存" name="save"/> - <button label="キャンセル" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_environment_settings.xml b/indra/newview/skins/default/xui/ja/floater_environment_settings.xml deleted file mode 100644 index f9290971c6..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="自然環境の設定"> - <text name="note"> - ビューワの自然環境の設定は以下のオプションを使ってカスタマイズできます。 - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="リージョンの設定を使用" name="use_region_settings"/> - <radio_item label="自然環境をカスタマイズ" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - 注記: カスタム設定は他のユーザーには見えません。 - </text> - <text name="water_settings_title"> - 水の設定 - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="- 事前設定を選択 -" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - 空 / デイサイクル - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="空の固定" name="my_sky_settings"/> - <radio_item label="デイサイクル" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="- 事前設定を選択 -" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="- 事前設定を選択 -" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="キャンセル" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_facebook.xml b/indra/newview/skins/default/xui/ja/floater_facebook.xml deleted file mode 100644 index 76149a875e..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="FACEBOOK に投稿"> - <tab_container name="tabs"> - <panel label="ステータス" name="panel_facebook_status"/> - <panel label="写真" name="panel_facebook_photo"/> - <panel label="チェックイン" name="panel_facebook_place"/> - <panel label="フレンド" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - エラー - </text> - <text name="connection_loading_text"> - ロード中... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_flickr.xml b/indra/newview/skins/default/xui/ja/floater_flickr.xml deleted file mode 100644 index 77df22c9a0..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="FLICKR で共有する"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="写真" name="panel_flickr_photo"/> - <panel label="アカウント" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - エラー - </text> - <text name="connection_loading_text"> - ロード中... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml b/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml deleted file mode 100644 index c8b8e918e0..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="ハードウェア設定"> - <text name="Filtering:"> - フィルタリング: - </text> - <check_box label="異方的フィルタリング(有効にすると速度が低下します)" name="ani"/> - <text name="antialiasing label"> - アンチエイリアシング: - </text> - <combo_box label="アンチエイリアシング" name="fsaa"> - <combo_box.item label="無効" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (ビューワの再起動が必要) - </text> - <spinner label="ガンマ:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 でデフォルト、低いほど明るい) - </text> - <text name="Enable VBO:"> - VBO を有効化: - </text> - <check_box initial_value="true" label="OpenGL Vertex Buffer Objectsを有効化" name="vbo" tool_tip="最新のハードウェアでこの設定を有効にすると、パフォーマンスが向上します。 しかし、旧型のハードウェアでは VBO の実装が貧弱な場合が多く、この設定を有効にすることでクラッシュにつながるおそれがあります。"/> - <text name="tc label"> - S3TC を有効にする: - </text> - <check_box initial_value="true" label="テクスチャ圧縮を有効にする(再起動が必要)" name="texture compression" tool_tip="ビデオメモリ内でテクスチャを圧縮することにより、色の質を多少犠牲にしながら、より高解像度のテクスチャを読み込めるようにします。"/> - <slider label="テクスチャメモリ(MB):" name="GraphicsCardTextureMemory" tool_tip="テクスチャに割り当てられたメモリの量。 ビデオカードのメモリに既定。 数値を下げるとパフォーマンスが向上しますが、テクスチャの精度が落ちることがあります。"/> - <spinner label="フォグの距離比率:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_twitter.xml b/indra/newview/skins/default/xui/ja/floater_twitter.xml deleted file mode 100644 index 6df2045554..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="作成" name="panel_twitter_photo"/> - <panel label="アカウント" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - エラー - </text> - <text name="connection_loading_text"> - ロード中... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/ja/panel_edit_classified.xml b/indra/newview/skins/default/xui/ja/panel_edit_classified.xml deleted file mode 100644 index 619e9de65a..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="クラシファイド広告の編集" name="panel_edit_classified"> - <panel.string name="location_notice"> - (掲載後更新) - </panel.string> - <string name="publish_label"> - 掲載 - </string> - <string name="save_label"> - 保存 - </string> - <text name="title"> - クラシファイド広告の編集 - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="クリックして画像を選択"/> - </panel> - <text name="Name:"> - タイトル: - </text> - <text name="description_label"> - 説明: - </text> - <text name="location_label"> - 位置: - </text> - <text name="classified_location"> - ローディング... - </text> - <button label="現在地に設定" name="set_to_curr_location_btn"/> - <text name="category_label" value="カテゴリ:"/> - <text name="content_type_label" value="内容の種類:"/> - <icons_combo_box label="「General」コンテンツ" name="content_type"> - <icons_combo_box.item label="「Moderate」コンテンツ" name="mature_ci" value="Mature"/> - <icons_combo_box.item label="「General」コンテンツ" name="pg_ci" value="PG"/> - </icons_combo_box> - <check_box label="毎週自動更新" name="auto_renew"/> - <text name="price_for_listing_label" value="掲載価格:"/> - <spinner label="L$" name="price_for_listing" tool_tip="掲載価格" value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="キャンセル" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_edit_pick.xml b/indra/newview/skins/default/xui/ja/panel_edit_pick.xml deleted file mode 100644 index 39ea1df1e3..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="ピック編集" name="panel_edit_pick"> - <panel.string name="location_notice"> - (掲載後更新) - </panel.string> - <text name="title"> - ピック編集 - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="クリックして画像を選択"/> - <text name="Name:"> - タイトル: - </text> - <text name="description_label"> - 説明: - </text> - <text name="location_label"> - 場所: - </text> - <text name="pick_location"> - ローディング... - </text> - <button label="現在地に設定" name="set_to_curr_location_btn"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="ピックを保存" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="取り消し" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_edit_profile.xml b/indra/newview/skins/default/xui/ja/panel_edit_profile.xml deleted file mode 100644 index 4cbd7f793b..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_edit_profile.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="プロフィールの編集" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="住人"/> - <string name="AcctTypeTrial" value="トライアル"/> - <string name="AcctTypeCharterMember" value="創立メンバー"/> - <string name="AcctTypeEmployee" value="Linden Lab 従業員"/> - <string name="PaymentInfoUsed" value="支払情報使用履歴あり"/> - <string name="PaymentInfoOnFile" value="支払情報登録済"/> - <string name="NoPaymentInfoOnFile" value="支払情報未登録"/> - <string name="AgeVerified" value="年齢確認済"/> - <string name="NotAgeVerified" value="年齢未確認"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=ja - </string> - <string name="my_account_link_url"> - http://jp.secondlife.com/my - </string> - <string name="no_partner_text" value="なし"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="表示名:"/> - <text name="solo_username_label" value="ユーザー名:"/> - <button name="set_name" tool_tip="表示名を設定"/> - <text name="solo_user_name" value="Hamilton Hitchings"/> - <text name="user_name" value="Hamilton Hitchings"/> - <text name="user_name_small" value="Hamilton Hitchings"/> - <text name="user_label" value="ユーザー名:"/> - <text name="user_slid" value="hamilton.linden"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="クリックして画像を選択"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="現実世界:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="クリックして画像を選択"/> - <text name="title_homepage_text"> - Web サイト: - </text> - <line_editor name="homepage_edit" value="http://"/> - <check_box label="検索結果に表示" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="マイアカウント:"/> - <text_editor name="acc_status_text" value="住人。 支払情報未登録。"/> - <text name="my_account_link" value="[[URL] マイアカウントに移動]"/> - <text name="title_partner_text" value="マイパートナー:"/> - <panel name="partner_data_panel"> - <text initial_value="(取得中)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] 編集]" width="100"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="変更を保存" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="取り消し" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_facebook_friends.xml b/indra/newview/skins/default/xui/ja/panel_facebook_friends.xml deleted file mode 100644 index 17c628a190..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Second Life の住人にもなっている Facebook の友だちがいません。今すぐ Facebook の友だちに Second Life に参加してもらいましょう!"/> - <string name="facebook_friends_no_connected" value="現在 Facebook に接続されていません。「ステータス」タブに進んで、この機能を有効にしてください。"/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="SL の友だち"/> - <accordion_tab name="tab_suggested_friends" title="これらの人を SL の友だちとして追加"/> - </accordion> - <text name="facebook_friends_status"> - Facebook に接続していません。 - </text> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_facebook_photo.xml b/indra/newview/skins/default/xui/ja/panel_facebook_photo.xml deleted file mode 100644 index ee57d178e8..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="画像解像度"> - <combo_box.item label="現在のウィンドウ" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - <combo_box.item label="1200x630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="画像フィルター"> - <combo_box.item label="フィルターなし" name="NoFilter"/> - </combo_box> - <button label="更新" name="new_snapshot_btn" tool_tip="クリックして更新"/> - <button label="プレビュー" name="big_preview_btn" tool_tip="クリックしてプレビューを切り替える"/> - <text name="caption_label"> - コメント (オプション): - </text> - <button label="投稿" name="post_photo_btn"/> - <button label="キャンセル" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_facebook_place.xml b/indra/newview/skins/default/xui/ja/panel_facebook_place.xml deleted file mode 100644 index e97422a9df..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - 自分がいる場所について何か言ってください: - </text> - <check_box initial_value="false" label="場所の俯瞰図を含める" name="add_place_view_cb"/> - <button label="投稿" name="post_place_btn"/> - <button label="キャンセル" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_facebook_status.xml b/indra/newview/skins/default/xui/ja/panel_facebook_status.xml deleted file mode 100644 index 1f48c9c8c7..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="次のユーザーとして Facebook に接続:"/> - <string name="facebook_disconnected" value="Facebook に接続していません"/> - <text name="account_caption_label"> - Facebook に接続していません。 - </text> - <panel name="panel_buttons"> - <button label="接続..." name="connect_btn"/> - <button label="切断" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Facebook への投稿について] - </text> - </panel> - <text name="status_caption_label"> - 今、何を考えている? - </text> - <button label="投稿" name="post_status_btn"/> - <button label="キャンセル" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_flickr_account.xml b/indra/newview/skins/default/xui/ja/panel_flickr_account.xml deleted file mode 100644 index bd2e96d58c..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="次のユーザーとして Flickr に接続:"/> - <string name="flickr_disconnected" value="Flickr に接続していない"/> - <text name="account_caption_label"> - Flickr に接続していません。 - </text> - <panel name="panel_buttons"> - <button label="接続..." name="connect_btn"/> - <button label="切断" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Flickr への投稿について] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_flickr_photo.xml b/indra/newview/skins/default/xui/ja/panel_flickr_photo.xml deleted file mode 100644 index 6a484b8e59..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="画像解像度"> - <combo_box.item label="現在のウィンドウ" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="画像フィルター"> - <combo_box.item label="フィルターなし" name="NoFilter"/> - </combo_box> - <button label="更新" name="new_snapshot_btn" tool_tip="クリックして更新"/> - <button label="プレビュー" name="big_preview_btn" tool_tip="クリックしてプレビューを切り替える"/> - <text name="title_label"> - タイトル: - </text> - <text name="description_label"> - 説明: - </text> - <check_box initial_value="true" label="SL の場所を説明の最後に含める" name="add_location_cb"/> - <text name="tags_label"> - タグ: - </text> - <text name="tags_help_label"> - タグをスペースで区切る -複数単語のタグに "" を使用 - </text> - <combo_box name="rating_combobox" tool_tip="Flickr コンテンツのレーティング区分"> - <combo_box.item label="Flickr レーティング区分「Safe」" name="SafeRating"/> - <combo_box.item label="Flickr レーティング区分「Moderate」" name="ModerateRating"/> - <combo_box.item label="Flickr レーティング区分「Restricted」" name="RestrictedRating"/> - </combo_box> - <button label="共有" name="post_photo_btn"/> - <button label="取り消し" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_pick_info.xml b/indra/newview/skins/default/xui/ja/panel_pick_info.xml deleted file mode 100644 index e7b5d1929d..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="ピックの情報"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[name]"/> - <text_editor name="pick_location" value="[loading...]"/> - <text_editor name="pick_desc" value="[description]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="テレポート" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="地図" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="編集" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_picks.xml b/indra/newview/skins/default/xui/ja/panel_picks.xml deleted file mode 100644 index c6eaaeef41..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="ピック" name="panel_picks"> - <string name="no_picks" value="ピックなし"/> - <string name="no_classifieds" value="クラシファイド広告なし"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="ピック"/> - <accordion_tab name="tab_classifieds" title="クラシファイド広告"/> - </accordion> - <panel label="bottom_panel" name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="現在地の新しいピック、またはクラシファイド広告を作成します"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="情報" name="info_btn" tool_tip="ピックの情報を表示"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="テレポート" name="teleport_btn" tool_tip="該当するエリアにテレポート"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="地図" name="show_on_map_btn" tool_tip="世界地図に該当するエリアを表示"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_twitter_account.xml b/indra/newview/skins/default/xui/ja/panel_twitter_account.xml deleted file mode 100644 index b140b7463f..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="次のユーザーとして Twitter に接続:"/> - <string name="twitter_disconnected" value="Twitter に接続していない"/> - <text name="account_caption_label"> - Twitter に接続していません。 - </text> - <panel name="panel_buttons"> - <button label="接続..." name="connect_btn"/> - <button label="切断" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Twitter への投稿について] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_twitter_photo.xml b/indra/newview/skins/default/xui/ja/panel_twitter_photo.xml deleted file mode 100644 index cdb45e1853..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - 何が起きているのでしょうか? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="SL の場所を含む" name="add_location_cb"/> - <check_box initial_value="true" label="写真を含める" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="画像解像度"> - <combo_box.item label="現在のウィンドウ" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="画像フィルター"> - <combo_box.item label="フィルターなし" name="NoFilter"/> - </combo_box> - <button label="更新" name="new_snapshot_btn" tool_tip="クリックして更新"/> - <button label="プレビュー" name="big_preview_btn" tool_tip="クリックしてプレビューを切り替える"/> - <button label="ツイート" name="post_photo_btn"/> - <button label="取り消し" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/pl/control_table_contents_camera.xml b/indra/newview/skins/default/xui/pl/control_table_contents_camera.xml new file mode 100644 index 0000000000..95a2e0acee --- /dev/null +++ b/indra/newview/skins/default/xui/pl/control_table_contents_camera.xml @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<contents> + <rows name="camera_actions"> + <columns label="Kamera" name="lst_action" /> + </rows> + <rows name="look_up"> + <columns name="lst_action" value="Patrz w górę" /> + </rows> + <rows name="look_down"> + <columns name="lst_action" value="Patrz w dół" /> + </rows> + <rows name="move_forward"> + <columns name="lst_action" value="Kamera w przód" /> + </rows> + <rows name="move_backward"> + <columns name="lst_action" value="Kamera w tył" /> + </rows> + <rows name="move_forward_fast"> + <columns name="lst_action" value="Kamera szybko w przód" /> + </rows> + <rows name="move_backward_fast"> + <columns name="lst_action" value="Kamera szybko w tył" /> + </rows> + <rows name="spin_over"> + <columns name="lst_action" value="Obrót kamery w górę" /> + </rows> + <rows name="spin_under"> + <columns name="lst_action" value="Obrót kamery w dół" /> + </rows> + <rows name="pan_up"> + <columns name="lst_action" value="Przesuń kamerę w górę" /> + </rows> + <rows name="pan_down"> + <columns name="lst_action" value="Przesuń kamerę w dół" /> + </rows> + <rows name="pan_left"> + <columns name="lst_action" value="Przesuń kamerę w lewo" /> + </rows> + <rows name="pan_right"> + <columns name="lst_action" value="Przesuń kamerę w prawo" /> + </rows> + <rows name="pan_in"> + <columns name="lst_action" value="Przybliż kamerę" /> + </rows> + <rows name="pan_out"> + <columns name="lst_action" value="Oddal kamerę" /> + </rows> + <rows name="spin_around_ccw"> + <columns name="lst_action" tool_tip="Obrót kamery w kierunku przeciwnym do ruchu wskazówek zegara." value="Obrót kamery w prawo" /> + </rows> + <rows name="spin_around_cw"> + <columns name="lst_action" tool_tip="Obrót kamery zgodnie z ruchem wskazówek zegara." value="Obrót kamery w lewo" /> + </rows> + <rows name="move_forward_sitting"> + <columns name="lst_action" value="Kamera w przód siedząc" /> + </rows> + <rows name="move_backward_sitting"> + <columns name="lst_action" value="Kamera w tył siedząc" /> + </rows> + <rows name="spin_over_sitting"> + <columns name="lst_action" value="Obrót kamery w górę siedząc" /> + </rows> + <rows name="spin_under_sitting"> + <columns name="lst_action" value="Obrót kamery w dół siedząc" /> + </rows> + <rows name="spin_around_ccw_sitting"> + <columns name="lst_action" tool_tip="Obrót kamery w kierunku przeciwnym do ruchu wskazówek zegara - siedząc." value="Obrót kamery w prawo siedząc" /> + </rows> + <rows name="spin_around_cw_sitting"> + <columns name="lst_action" tool_tip="Obrót kamery zgodnie z ruchem wskazówek zegara - siedząc." value="Obrót kamery w lewo siedząc" /> + </rows> +</contents> diff --git a/indra/newview/skins/default/xui/pl/control_table_contents_columns_basic.xml b/indra/newview/skins/default/xui/pl/control_table_contents_columns_basic.xml new file mode 100644 index 0000000000..5f995b4128 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/control_table_contents_columns_basic.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<contents> + <columns label="Akcja" name="lst_action" /> + <columns label="Wyzwalacz" name="lst_ctrl1" /> + <columns label="Alternatywny 1" name="lst_ctrl2" /> + <columns label="Alternatywny 2" name="lst_ctrl3" /> +</contents> diff --git a/indra/newview/skins/default/xui/pl/control_table_contents_editing.xml b/indra/newview/skins/default/xui/pl/control_table_contents_editing.xml new file mode 100644 index 0000000000..568b7dcf6d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/control_table_contents_editing.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<contents> + <rows name="editing_actions"> + <columns label="Edytowanie" name="lst_action" /> + </rows> + <rows name="edit_avatar_spin_ccw"> + <columns name="lst_action" tool_tip="Obrót kamery wokół awatara w kierunku przeciwnym do ruchu wskazówek zegara." value="Obrót kamery w prawo" /> + </rows> + <rows name="edit_avatar_spin_cw"> + <columns name="lst_action" tool_tip="Obrót kamery wokół awatara zgodnie z ruchem wskazówek zegara." value="Obrót kamery w lewo" /> + </rows> + <rows name="edit_avatar_spin_over"> + <columns name="lst_action" tool_tip="Obrót kamery ponad awatarem" value="Obrót kamery w górę" /> + </rows> + <rows name="edit_avatar_spin_under"> + <columns name="lst_action" tool_tip="Obrót kamery pod awatarem" value="Obrót kamery w dół" /> + </rows> + <rows name="edit_avatar_move_forward"> + <columns name="lst_action" value="Kamera w przód" /> + </rows> + <rows name="edit_avatar_move_backward"> + <columns name="lst_action" value="Kamera w tył" /> + </rows> +</contents> diff --git a/indra/newview/skins/default/xui/pl/control_table_contents_media.xml b/indra/newview/skins/default/xui/pl/control_table_contents_media.xml new file mode 100644 index 0000000000..042e37963d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/control_table_contents_media.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<contents> + <rows name="media_actions"> + <columns label="Dźwięk i media" name="lst_action" /> + </rows> + <rows name="toggle_pause_media"> + <columns name="lst_action" value="Odtwórz / wstrzymaj media" /> + </rows> + <rows name="toggle_enable_media"> + <columns name="lst_action" value="Odtwórz / zatrzymaj wszystkie media" /> + </rows> + <rows name="voice_follow_key"> + <columns name="lst_action" value="Głos" /> + </rows> + <rows name="toggle_voice"> + <columns name="lst_action" value="Przełącz głos" /> + </rows> + <rows name="start_chat"> + <columns name="lst_action" value="Rozpocznij czat" /> + </rows> + <rows name="start_gesture"> + <columns name="lst_action" value="Odtwórz gest" /> + </rows> + <rows name="script_trigger_lbutton"> + <columns name="lst_action" value="Interakcja (LMB)" /> + </rows> +</contents> diff --git a/indra/newview/skins/default/xui/pl/control_table_contents_movement.xml b/indra/newview/skins/default/xui/pl/control_table_contents_movement.xml new file mode 100644 index 0000000000..93dd24f0d5 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/control_table_contents_movement.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<contents> + <rows name="move_actions"> + <columns label="Ruch" name="lst_action" /> + </rows> + <rows name="walk_to"> + <columns name="lst_action" tool_tip="Podejdź do miejsca, której wskazuje kursor myszy." value="Podejdź do" /> + </rows> + <rows name="teleport_to"> + <columns name="lst_action" tool_tip="Teleportuj się do miejsca, które wskazuje kursor myszy - nie wszystkie lokalizacje pozwalają na bezpośrednią teleportację, więc zamiast tego możesz zostać teleportowana/y w pobliże celu." value="Teleportuj do" /> + </rows> + <rows name="push_forward"> + <columns name="lst_action" value="Idź w przód" /> + </rows> + <rows name="push_backward"> + <columns name="lst_action" value="Idź do tyłu" /> + </rows> + <rows name="turn_left"> + <columns name="lst_action" value="Obrót w lewo" /> + </rows> + <rows name="turn_right"> + <columns name="lst_action" value="Obrót w prawo" /> + </rows> + <rows name="slide_left"> + <columns name="lst_action" value="Idź w lewo" /> + </rows> + <rows name="slide_right"> + <columns name="lst_action" value="Idź w prawo" /> + </rows> + <rows name="jump"> + <columns name="lst_action" value="Skok / W górę" /> + </rows> + <rows name="push_down"> + <columns name="lst_action" value="W dół" /> + </rows> + <rows name="run_forward"> + <columns name="lst_action" value="Bieg w przód" /> + </rows> + <rows name="run_backward"> + <columns name="lst_action" value="Bieg w tył" /> + </rows> + <rows name="run_left"> + <columns name="lst_action" value="Bieg w lewo" /> + </rows> + <rows name="run_right"> + <columns name="lst_action" value="Bieg w prawo" /> + </rows> + <rows name="toggle_run"> + <columns name="lst_action" value="Zawsze biegaj" /> + </rows> + <rows name="toggle_fly"> + <columns name="lst_action" value="Lataj / Przestań" /> + </rows> + <rows name="toggle_sit"> + <columns name="lst_action" value="Usiądź / Wstań" /> + </rows> + <rows name="stop_moving"> + <columns name="lst_action" value="Wstrzymaj ruch" /> + </rows> +</contents> diff --git a/indra/newview/skins/default/xui/pl/floater_360capture.xml b/indra/newview/skins/default/xui/pl/floater_360capture.xml new file mode 100644 index 0000000000..d0a49d1bde --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_360capture.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<floater name="360capture" title="Zdjęcie 360°"> + <panel name="ui_panel_left"> + <text name="quality_level_label"> + Poziom detali + </text> + <radio_group name="360_quality_selection"> + <radio_item label="Podgląd (szybkie)" name="preview_quality" tool_tip="Najsłabsza jakość" /> + <radio_item label="Średni" name="medium_quality" tool_tip="Średnia jakość" /> + <radio_item label="Wysoki" name="high_quality" tool_tip="Wysoka jakość" /> + <radio_item label="Maksymalny" name="maximum_quality" tool_tip="Maksymalna jakość" /> + </radio_group> + <check_box label="Ukryj awatary" name="360_hide_avatar" /> + <button label="Stwórz obraz 360" name="capture_button" /> + <button label="Zapisz jako..." name="save_local_button" /> + </panel> + <panel name="ui_panel_right"> + <text name="statusbar"> + Przeciągaj obraz, aby przesunąć widok + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_add_payment_method.xml b/indra/newview/skins/default/xui/pl/floater_add_payment_method.xml new file mode 100644 index 0000000000..2ef78d3d35 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_add_payment_method.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="floater_add_payment_method"> + <panel name="wrapper_panel"> + <text name="title_txt"> + Dodaj metodę płatności, aby kupić Lindeny i lepiej doświadczać Second Life. + </text> + <button label="Rozpocznij" name="continue_btn" /> + <button label="Później" name="close_btn" /> + <text name="image_left_desc"> + Stwórz awatara, którego pokochasz. Wybieraj spośród milionów sklepów i Second Life Marketplace. Twój styl jest tutaj. + </text> + <text name="image_center_desc"> + Wspieraj swoich ulubionych wykonawców i gospodarzy. Pomożesz im tworzyć wspaniałe doświadczenia. + </text> + <text name="image_right_desc"> + Stwórz dom swoich marzeń. Miliony przedmiotów dostępnych do kupienia mogą uczynić Twoje gniazdko wyjątkowym. + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_adjust_environment.xml b/indra/newview/skins/default/xui/pl/floater_adjust_environment.xml new file mode 100644 index 0000000000..33dd99e491 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_adjust_environment.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="env_adjust_snapshot" title="Własne oświetlenie"> + <layout_stack name="outer_stack"> + <layout_panel name="env_controls"> + <layout_stack name="settings_stack"> + <layout_panel name="lp_1"> + <text name="ambient_lbl"> + Otoczenie: + </text> + <text name="blue_horizon_lbl"> + Hor. błękitu: + </text> + <text name="blue_density_lbl"> + Gęst. błękitu: + </text> + <button label="Reset" tool_tip="Zamknij i zresetuj do otoczenia współdzielonego" name="btn_reset" /> + <text name="sun_color_lbl"> + Kolor Słońca: + </text> + <text name="cloud_color_lbl"> + Kolor chmur: + </text> + <text name="cloud_map_label"> + Obraz chmur: + </text> + <text name="water_map_label"> + Obraz wody: + </text> + </layout_panel> + <layout_panel name="lp_2"> + <text name="haze_horizon_label"> + Horyzont mgły: + </text> + <text name="haze_density_label"> + Gęstość mgły: + </text> + <text name="cloud_coverage_label"> + Zachmurzenie: + </text> + <text name="cloud_scale_label"> + Rozmiar chmur: + </text> + <text name="scene_gamma_label"> + Gamma sceny: + </text> + </layout_panel> + <layout_panel name="lp_3"> + <text name="label"> + Słońce: + </text> + <text name="sun_azimuth_label"> + Azymut: + </text> + <text name="sun_elevation_label"> + Elewacja: + </text> + <check_box label="Pokaż emiter" name="sunbeacon" /> + <text name="scale_label"> + Rozmiar: + </text> + <text name="glow_focus_label"> + Ostrość blasku: + </text> + <text name="glow_size_label"> + Rozmiar blasku: + </text> + <text name="star_brightness_label"> + Jasność gwiazd: + </text> + </layout_panel> + <layout_panel name="lp_4"> + <text name="label"> + Księżyc: + </text> + <text name="moon_azimuth_label"> + Azymut: + </text> + <text name="moon_elevation_label"> + Elewacja: + </text> + <check_box label="Pokaż emiter" name="moonbeacon" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_avatar_render_settings.xml b/indra/newview/skins/default/xui/pl/floater_avatar_render_settings.xml new file mode 100644 index 0000000000..fcf39b94ff --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_avatar_render_settings.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<floater name="floater_avatar_render_settings" title="USTAWIENIA RENDEROWANIA AWATARÓW"> + <string name="av_never_render" value="Nigdy" /> + <string name="av_always_render" value="Zawsze" /> + <filter_editor label="Filtruj ludzi" name="people_filter_input" /> + <menu_button name="plus_btn" tool_tip="Działania na wybranej osobie" /> + <name_list name="render_settings_list"> + <name_list.columns label="Imię" name="name" /> + <name_list.columns label="Renderowanie" name="setting" /> + <name_list.columns label="Dodano" name="timestamp" /> + </name_list> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_ban_duration.xml b/indra/newview/skins/default/xui/pl/floater_ban_duration.xml new file mode 100644 index 0000000000..c4768960d3 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_ban_duration.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="ban_duration" title="Czas trwania bana"> + <text name="duration_textbox"> + Czas trwania bana: + </text> + <radio_group name="ban_duration_radio"> + <radio_item label="Na zawsze" name="always_radio"> + Na zawsze + </radio_item> + <radio_item label="Tymczasowo" name="temporary_radio"> + Tymczasowo + </radio_item> + </radio_group> + <text name="hours_textbox"> + godzin. + </text> + <button label="Anuluj" name="cancel_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_camera_presets.xml b/indra/newview/skins/default/xui/pl/floater_camera_presets.xml new file mode 100644 index 0000000000..22b46f811f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_camera_presets.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater title="USTAWIENIA KAMERY" name="floater_camera_presets" /> diff --git a/indra/newview/skins/default/xui/pl/floater_classified.xml b/indra/newview/skins/default/xui/pl/floater_classified.xml new file mode 100644 index 0000000000..3fa139983e --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_classified.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<floater name="floater_classified" title="REKLAMA" /> diff --git a/indra/newview/skins/default/xui/pl/floater_create_landmark.xml b/indra/newview/skins/default/xui/pl/floater_create_landmark.xml new file mode 100644 index 0000000000..aef0ba125f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_create_landmark.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="create_landmark"> + <string name="favorites_bar"> + Pasek ulubionych + </string> + <text name="title_label" value="Dodany landmark" /> + <text name="name_label" value="Nazwa" /> + <text name="folder_label" value="Zapisz landmark w:" /> + <text name="new_folder_textbox"> + [secondlife:/// Stwórz nowy folder] + </text> + <text name="notes_label" value="Notatki" /> + <button label="Anuluj" name="cancel_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_delete_pref_preset.xml b/indra/newview/skins/default/xui/pl/floater_delete_pref_preset.xml new file mode 100644 index 0000000000..f9d75ef39d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_delete_pref_preset.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" ?> +<floater name="delete_pref_preset" title="USUŃ USTAWIENIE"> + <string name="title_graphic"> + Usuń ustawienie graficzne + </string> + <string name="title_camera"> + Usuń ustawienie kamery + </string> + <text name="Preset"> + Wybierz ustawienie + </text> + <button label="Usuń" name="delete" /> + <button label="Anuluj" name="cancel" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/pl/floater_edit_day_cycle.xml deleted file mode 100644 index 9d3a070191..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_edit_day_cycle.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Edit Day cycle" title="Edytuj cykl dnia"> - <string name="title_new"> - Stwórz nowy cykl dnia - </string> - <string name="title_edit"> - Edytuj cykl dnia - </string> - <string name="hint_new"> - Nazwij cykl dnia, ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="hint_edit"> - Aby edytować cykl dnia ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="combo_label"> - -Wybierz Ustawienie- - </string> - <text name="label"> - Nazwa: - </text> - <text name="note"> - Uwaga: jeśli zmienisz nazwę Ustawienia, to zaczniesz tworzyć nowe, a obecne pozostanie bez zmian. - </text> - <text name="hint_item1"> - - Kliknij na zakładce, aby edytować ust. nieba i czas. - </text> - <text name="hint_item2"> - - Klikaj i przeciągaj zakładki, aby ustawić czasy przejść. - </text> - <text name="hint_item3"> - - Użyj suwaka, aby podglądać cykl dnia. - </text> - <panel name="day_cycle_slider_panel"> - <button label="Dodaj zakł." label_selected="Dodaj zakł." name="WLAddKey" /> - <button label="Usuń zakł." label_selected="Usuń zakł." name="WLDeleteKey" /> - <text name="WL12am"> - 24:00 - </text> - <text name="WL3am"> - 3:00 - </text> - <text name="WL6am"> - 6:00 - </text> - <text name="WL9amHash"> - 9:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL3pm"> - 15:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL9pm"> - 21:00 - </text> - <text name="WL12am2"> - 24:00 - </text> - </panel> - <text name="WLCurKeyPresetText"> - Niebo: - </text> - <combo_box label="Ustawienie" name="WLSkyPresets" /> - <text name="WLCurKeyTimeText"> - Czas: - </text> - <time name="time" value="6:00" /> - <check_box label="Ustaw jako mój cykl dnia" name="make_default_cb" /> - <button label="Zapisz" name="save" /> - <button label="Anuluj" name="cancel" /> - </floater> diff --git a/indra/newview/skins/default/xui/pl/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/pl/floater_edit_ext_day_cycle.xml new file mode 100644 index 0000000000..3b85cbf26c --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_edit_ext_day_cycle.xml @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="env_edit_extdaycycle" title="Edytuj cykl dnia"> + <string name="title_new">Stwórz nowy cykl dnia</string> + <string name="title_edit">Edytuj cykl dnia</string> + <string name="hint_new">Nazwij cykl dnia, ustaw co trzeba i kliknij na "Zapisz".</string> + <string name="hint_edit">Aby edytować cykl dnia ustaw co trzeba i kliknij na "Zapisz".</string> + <string name="sky_track_label">Niebo [ALT]</string> + <string name="sky_label">Niebo</string> + <string name="water_label">Woda</string> + <string name="commit_parcel">Zastosuj do działki</string> + <string name="commit_region">Zastosuj do regionu</string> + <layout_stack name="outer_stack"> + <layout_panel name="name_and_import"> + <text name="label"> + Nazwa cyklu dnia: + </text> + <button label="Importuj" name="btn_import" tool_tip="Zaimportuj starsze ustawienia z dysku." /> + </layout_panel> + <layout_panel name="content"> + <layout_stack name="content_stack"> + <layout_panel name="timeline_track_selection"> + <panel name="timeline_layers"> + <button label="Niebo 4" name="sky4_track" /> + <button label="Niebo 3" name="sky3_track" /> + <button label="Niebo 2" name="sky2_track" /> + <button label="Poziom ziemi" name="sky1_track" /> + <button label="Woda" name="water_track" /> + </panel> + <panel name="timeline"> + <layout_stack name="track_options_ls"> + <layout_panel name="track_options_lp"> + <button label="Klonuj ścieżkę z" name="copy_track" /> + <button label="Wczytaj ścieżkę z" name="load_track" /> + <button label="Czyść ścieżkę" name="clear_track" /> + </layout_panel> + <layout_panel name="track_progress_lp"> + <layout_stack name="progress_control"> + <layout_panel name="skip_back"> + <button name="skip_back_btn" tool_tip="Krok wstecz" /> + </layout_panel> + <layout_panel name="skip_forward"> + <button name="skip_forward_btn" tool_tip="Krok w przód" /> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel name="frames_lp"> + <button label="Dodaj [FRAME]" name="add_frame" /> + <button label="Wczytaj [FRAME]" name="btn_load_frame" /> + <button label="Usuń [FRAME]" name="delete_frame" /> + </layout_panel> + </layout_stack> + </panel> + </layout_panel> + <layout_panel name="frame_edit_controls"> + <text name="icn_lock_edit"> + Wybierz klatkę kluczową z osi czasu, aby edytować ustawienia. + </text> + </layout_panel> + <layout_panel name="frame_settings_water"> + <tab_container name="water_tabs"> + <panel label="Woda" name="water_panel" /> + </tab_container> + </layout_panel> + <layout_panel name="frame_settings_sky"> + <tab_container name="sky_tabs"> + <panel label="Atmosfera i światła" name="atmosphere_panel" /> + <panel label="Chmury" name="clouds_panel" /> + <panel label="Słońce i Księżyc" name="moon_panel" /> + <!-- <panel label="Gęstość" name="density_panel" /> --> + </tab_container> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel name="buttons"> + <button label="Zapisz" name="save_btn" /> + <button label="Anuluj" name="cancel_btn" /> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/pl/floater_edit_sky_preset.xml deleted file mode 100644 index 6a30ac4ed9..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_edit_sky_preset.xml +++ /dev/null @@ -1,123 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Edit Sky Preset" title="Edytuj ustawienie nieba"> - <string name="title_new"> - Stwórz nowe Ustawienie nieba - </string> - <string name="title_edit"> - Edytuj Ustawienie nieba - </string> - <string name="hint_new"> - Nazwij Ustawienie, ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="hint_edit"> - Aby edytować Ustawienie ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="combo_label"> - -Wybierz Ustawienie- - </string> - <text name="hint"> - Aby edytować Ustawienie ustaw co trzeba i kliknij na "Zapisz". - </text> - <text name="label"> - Nazwa: - </text> - <text name="note"> - Uwaga: jeśli zmienisz nazwę Ustawienia, to zaczniesz tworzyć nowe, a obecne pozostanie bez zmian. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSFERA" name="Atmosphere"> - <text name="BHText"> - Horyzont błękitu - </text> - <text name="BDensText"> - Horyzont mgły - </text> - <text name="BDensText2"> - Gęstość - </text> - <text name="HDText"> - Gęstość mgły - </text> - <text name="DensMultText"> - Mnożnik gęstości - </text> - <text name="WLDistanceMultText"> - Mnożnik odległości - </text> - <text name="MaxAltText"> - Maks. wysokość - </text> - </panel> - <panel label="OŚWIETLENIE" name="Lighting"> - <text name="SLCText"> - Kolor Słońca/Księżyca - </text> - <text name="WLAmbientText"> - Otoczenie - </text> - <text name="SunGlowText"> - Blask Słońca - </text> - <slider label="Skupienie" name="WLGlowB" /> - <slider label="Rozmiar" name="WLGlowR" /> - <text name="WLStarText"> - Jasność gwiazd - </text> - <text name="SceneGammaText"> - Gamma sceny - </text> - <text name="TODText"> - Poz. Słońca/Księżyca - </text> - <text name="WL12am"> - 24:00 - </text> - <text name="WL6am"> - 6:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL12am2"> - 24:00 - </text> - <time name="WLDayTime" value="6:00" /> - <text name="WLEastAngleText"> - Kąt wschodu - </text> - </panel> - <panel label="CHMURY" name="Clouds"> - <text name="WLCloudColorText"> - Kolor chmur - </text> - <text name="WLCloudColorText2"> - Gęstość chmur XY - </text> - <slider label="G" name="WLCloudDensity" /> - <text name="WLCloudCoverageText"> - Zachmurzenie - </text> - <text name="WLCloudScaleText"> - Rozmiar chmur - </text> - <text name="WLCloudDetailText"> - Detale chmur (XY/Gęstość) - </text> - <slider label="G" name="WLCloudDetailDensity" /> - <text name="WLCloudScrollXText"> - Przesuwanie X - </text> - <check_box label="Blokada" name="WLCloudLockX" /> - <text name="WLCloudScrollYText"> - Przesuwanie Y - </text> - <check_box label="Blokada" name="WLCloudLockY" /> - </panel> - </tab_container> - <check_box label="Ustaw jako moje Ustawienie Nieba" name="make_default_cb" /> - <button label="Zapisz" name="save" /> - <button label="Anuluj" name="cancel" /> - </floater> diff --git a/indra/newview/skins/default/xui/pl/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/pl/floater_edit_water_preset.xml deleted file mode 100644 index fb3846cd21..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_edit_water_preset.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Edit Water Preset" title="Edytuj ustawienie wody"> - <string name="title_new"> - Stwórz nowe Ustawienie wody - </string> - <string name="title_edit"> - Edytuj Ustawienie wody - </string> - <string name="hint_new"> - Nazwij Ustawienie, ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="hint_edit"> - Aby edytować Ustawienie ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="combo_label"> - -Wybierz Ustawienie- - </string> - <text name="hint"> - Aby edytować Ustawienie ustaw co trzeba i kliknij na "Zapisz". - </text> - <text name="label"> - Nazwa: - </text> - <text name="note"> - Uwaga: jeśli zmienisz nazwę Ustawienia, to zaczniesz tworzyć nowe, a obecne pozostanie bez zmian. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Kolor mgły wody - </text> - <text name="water_fog_density_label"> - Gęstość mgły - </text> - <text name="underwater_fog_modifier_label"> - Modyfikator mgły pod wodą - </text> - <text name="BHText"> - Kierunek Wielkiej Fali - </text> - <text name="BDensText"> - Skala odbicia falkowego - </text> - <text name="HDText"> - Skala Fresnela - </text> - <text name="FresnelOffsetText"> - Przesun. Fresnela - </text> - <text name="BHText2"> - Kierunek Małej Fali - </text> - <text name="DensMultText"> - Skala załamania ponad - </text> - <text name="WaterScaleBelowText"> - Skala załamania poniżej - </text> - <text name="MaxAltText"> - Mnożnik rozmycia - </text> - <text name="BHText3"> - Mapa normalnych - </text> - </panel> - <check_box label="Ustaw jako moje Ustawienie Wody" name="make_default_cb" /> - <button label="Zapisz" name="save" /> - <button label="Anuluj" name="cancel" /> - </floater> diff --git a/indra/newview/skins/default/xui/pl/floater_environment_settings.xml b/indra/newview/skins/default/xui/pl/floater_environment_settings.xml deleted file mode 100644 index 8a13ece8f5..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Environment Editor Floater" title="USTAWIENIA OTOCZENIA"> - <text name="note"> - Użyj opcji poniżej, aby dostosować ustawienia otoczenia w swojej przeglądarce. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Użyj ustawień regionu" name="use_region_settings" /> - <radio_item label="Dostosuj otoczenie" name="use_my_settings" /> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - UWAGA: Twoje ustawienia będą niewidoczne dla innych. - </text> - <text name="water_settings_title"> - Ustaw. wody - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Wybierz Ustawienie-" name="item0" /> - </combo_box> - <text name="sky_dayc_settings_title"> - Ustaw. nieba (stałe lub cykliczne): - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Stałe" name="my_sky_settings" /> - <radio_item label="Cykl dnia" name="my_dayc_settings" /> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Wybierz Ustawienie-" name="item0" /> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Wybierz Ustawienie-" name="item0" /> - </combo_box> - </panel> - <button label="Gotowe" name="ok_btn" /> - <button label="Anuluj" name="cancel_btn" /> -</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_experience_search.xml b/indra/newview/skins/default/xui/pl/floater_experience_search.xml new file mode 100644 index 0000000000..44955e9e35 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_experience_search.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="experiencepicker" title="Wybierz Przygodę" /> diff --git a/indra/newview/skins/default/xui/pl/floater_experienceprofile.xml b/indra/newview/skins/default/xui/pl/floater_experienceprofile.xml new file mode 100644 index 0000000000..a9b24515e9 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_experienceprofile.xml @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<floater name="experience_profile" title="Profil przygody"> + <floater.string name="empty_slurl"> + (brak) + </floater.string> + <text name="edit_title" value="Profil przygody" /> + <tab_container name="tab_container"> + <panel name="panel_experience_info"> + <scroll_container name="xp_scroll"> + <panel name="scrolling_panel"> + <layout_stack name="ls1"> + <layout_panel name="top panel"> + <button label="Edytuj" name="edit_btn" /> + </layout_panel> + <layout_panel name="maturity panel"> + <text name="ContentRating"> + Treści: + </text> + </layout_panel> + <layout_panel name="location panel"> + <text name="Location"> + Miejsce: + </text> + </layout_panel> + <layout_panel name="marketplace panel"> + <text name="Marketplace"> + Sklep Marketplace: + </text> + </layout_panel> + <layout_panel name="owner panel"> + <text name="Owner"> + Właściciel: + </text> + </layout_panel> + <layout_panel name="group_panel"> + <text name="Group"> + Grupa: + </text> + </layout_panel> + <layout_panel name="perm panel"> + <button label="Zezwól" name="allow_btn" /> + <button label="Zapomnij" name="forget_btn" /> + <button label="Zablokuj" name="block_btn" /> + <text name="privileged"> + Ta przygoda jest włączona dla wszystkich rezydentów. + </text> + <button width="100" left="104" label="Zgłoś nadużycie" name="report_btn" /> + </layout_panel> + </layout_stack> + </panel> + </scroll_container> + </panel> + <panel name="edit_panel_experience_info"> + <scroll_container name="edit_xp_scroll"> + <panel name="edit_scrolling_panel"> + <text name="edit_experience_title_label" value="Nazwa:" /> + <text name="edit_experience_desc_label" value="Opis:" /> + <button name="Group_btn" label="Grupa" /> + <text name="edit_ContentRating"> + Treści: + </text> + <icons_combo_box tool_tip="Zwiększenie poziomu limitu klasyfikacji treści dla przygody zresetuje zezwolenia wszystkim rezydentom, którzy zezwolili na nią." name="edit_ContentRatingText"> + <icons_combo_box.item label="Adult (dla dorosłych)" name="Adult" /> + <icons_combo_box.item label="Moderate (umiarkowane)" name="Mature" /> + <icons_combo_box.item label="General (dla wszystkich)" name="PG" /> + </icons_combo_box> + <text name="edit_Location"> + Miejsce: + </text> + <button name="location_btn" label="Ustaw na obecne" /> + <button name="clear_btn" label="Wyczyść" /> + <text name="edit_marketplace"> + Sklep Marketplace: + </text> + <check_box label="Aktywuj przygodę" name="edit_enable_btn" /> + <check_box label="Ukryj w wyszukiwarce" name="edit_private_btn" /> + <text name="changes" value="Może minąć kilka minut zanim zmiany w przygodzie staną się widoczne w regionach." /> + <button label="Wstecz" name="cancel_btn" /> + <button label="Zapisz" name="save_btn" /> + </panel> + </scroll_container> + </panel> + </tab_container> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_experiences.xml b/indra/newview/skins/default/xui/pl/floater_experiences.xml new file mode 100644 index 0000000000..8dab8adb61 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_experiences.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<floater name="floater_experiences" title="Przygody"/> diff --git a/indra/newview/skins/default/xui/pl/floater_facebook.xml b/indra/newview/skins/default/xui/pl/floater_facebook.xml deleted file mode 100644 index 588285ea7b..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> -<floater name="floater_facebook" title="WYŚLIJ NA FACEBOOKA"> - <tab_container name="tabs"> - <panel label="ZDJĘCIE" name="panel_facebook_photo" /> - <panel label="MIEJSCE" name="panel_facebook_place" /> - <panel label="ZNAJOMI" name="panel_facebook_friends" /> - <panel label="KONTO" name="panel_facebook_account" /> - </tab_container> - <text name="connection_error_text"> - Błąd - </text> - <text name="connection_loading_text"> - Ładowanie... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/pl/floater_fixedenvironment.xml new file mode 100644 index 0000000000..dd5fa4c5d4 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_fixedenvironment.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="Fixed Environment" title="Stałe otoczenie"> + <string name="edit_sky"> + Edytuj niebo: + </string> + <string name="edit_water"> + Edytuj wodę: + </string> + <layout_stack name="floater_stack"> + <layout_panel name="info_panel"> + <text name="info_panel_label"> + Nazwa: + </text> + <button label="Wczytaj" name="btn_load" tool_tip="Wczytaj ustawienia z szafy" /> + <button label="Importuj" name="btn_import" tool_tip="Zaimportuj starsze ustawienia z dysku." /> + </layout_panel> + <layout_panel name="button_panel"> + <layout_stack name="button_bar_ls"> + <layout_panel name="save_btn_lp"> + <button label="Zapisz" name="btn_commit" /> + </layout_panel> + <layout_panel name="revert_btn_lp"> + <button label="Anuluj" name="btn_cancel" tool_tip="Przywróć ostatnią zapisaną wersję" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_flickr.xml b/indra/newview/skins/default/xui/pl/floater_flickr.xml deleted file mode 100644 index 9522695e3c..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> -<floater name="floater_flickr" title="WYŚLIJ NA FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="ZDJĘCIE" name="panel_flickr_photo" /> - <panel label="KONTO" name="panel_flickr_account" /> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Błąd - </text> - <text name="connection_loading_text"> - Ładowanie... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_forget_user.xml b/indra/newview/skins/default/xui/pl/floater_forget_user.xml new file mode 100644 index 0000000000..149342ef6f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_forget_user.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="groups" title="ZAPAMIĘTANI UŻYTKOWNICY"> + <button label="Zapomnij" label_selected="Zapomnij" name="forget" /> + <check_box label="Usuń także dane lokalne tego użytkownika" name="delete_data" tool_tip="Usuwa lokalne pliki: historia czatu, zrzut ekranu z ostatniej sesji, pliki cookie przeglądarki, historia teleportacji, ustawienia paska narzędzi itp. Niektóre pliki lokalne są współdzielone pomiędzy światami."/> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml b/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml deleted file mode 100644 index e908e30705..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Hardware Settings Floater" title="USTAWIENIA SPRZĘTOWE"> - <text name="Filtering:"> - Filtrowanie: - </text> - <check_box label="Filtr anizotropowy (wolniej!)" name="ani" /> - <text name="Antialiasing:"> - Antyaliasing: - </text> - <combo_box label="Antyaliasing" name="fsaa"> - <combo_box.item label="Wyłączony" name="FSAADisabled" /> - </combo_box> - <text name="antialiasing restart"> - (Restart wymagany) - </text> - <text name="(brightness, lower is brighter)"> - (0 = domyślna jasność, niżej = jaśniej) - </text> - <text name="Enable VBO:"> - Włącz VBO: - </text> - <check_box label="Włącz OpenGL VBO" name="vbo" tool_tip="OpenGL Vertex Buffer Object (opis geometrii obiektów). Włączenie tej opcji na nowoczesnym sprzęcie spowoduje wzrost wydajności. Starszy sprzęt jednak ma często słabe wsparcie dla VBO i mogą wystąpić na nim awarie." /> - <text name="tc label"> - Włącz S3TC: - </text> - <check_box label="Włącz kompresję tekstur (wymaga restartu)" name="texture compression" tool_tip="Kompresuje tekstury w pamięci wideo. Umożliwi to ładowanie tekstur w wyższej rozdzielczości / większej ich ilości, ale kosztem jakości obrazu." /> - <slider label="Bufor pamięci tekstur (MB):" name="GraphicsCardTextureMemory" tool_tip="Ilość pamięci przeznaczona na tekstury. Domyślnie jest to maksymalna wielkość pamięci karty graficznej, ale nie więcej niż 512 MB. Zmniejszenie tej wartości może spowodować wzrost wydajności, ale tekstury będą bardziej rozmazane. Zwiększanie tej wartości ponad 512 MB nie jest wskazane nawet, jeśli Twoja karta to obsługuje - ogólna wydajność Przeglądarki związana z pamięcią operacyjną widocznie spadnie." /> - <spinner label="Stosunek odległości dla mgły:" name="fog" /> -</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_linkreplace.xml b/indra/newview/skins/default/xui/pl/floater_linkreplace.xml new file mode 100644 index 0000000000..c17e76eafa --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_linkreplace.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="linkreplace" title="ZASTĄP LINKI W SZAFIE"> + <string name="Ready"> + Gotowy... + </string> + <string name="TargetNotFound"> + Obiekt docelowy nie został znaleziony. + </string> + <string name="ItemsIdentical"> + Obiekty źródłowy i docelowy są identyczne. + </string> + <string name="ItemsFound"> + Znaleziono [NUM] linków w Szafie. + </string> + <string name="ItemsRemaining"> + Linków pozostało: [NUM] + </string> + <string name="ReplaceFinished"> + Zakończono zastępowanie linków. + </string> + <text name="source_label"> + Stary: + </text> + <inventory_link_replace_drop_target name="source_uuid_editor" tool_tip="Przeciągnij i upuść tutaj przedmiot, którego linki chcesz zastąpić." /> + <text name="target_label"> + Nowy: + </text> + <inventory_link_replace_drop_target name="target_uuid_editor" tool_tip="Przeciągnij i upuść tutaj przedmiot, którego linki zastąpią linki do przedmiotu pierwotnego." /> + <text name="status_text"> + Gotowy... + </text> + <button name="btn_refresh" label="Odśwież" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_load_pref_preset.xml b/indra/newview/skins/default/xui/pl/floater_load_pref_preset.xml new file mode 100644 index 0000000000..f9fe6d9ebe --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_load_pref_preset.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" ?> +<floater name="load_pref_preset" title="WCZYTAJ USTAWIENIE"> + <string name="title_graphic"> + Wczytaj ustawienie graficzne + </string> + <string name="title_camera"> + Wczytaj ustawienie kamery + </string> + <text name="Preset"> + Wybierz ustawienie + </text> + <button label="Anuluj" name="cancel" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_mfa.xml b/indra/newview/skins/default/xui/pl/floater_mfa.xml new file mode 100644 index 0000000000..bef6810007 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_mfa.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater title="Wymagany token MFA" name="mfa_challenge"> + <text name="token_prompt_text"> + token + </text> + <button label="Kontynuuj" name="continue_btn" /> + <button label="Anuluj" name="cancel_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_my_environments.xml b/indra/newview/skins/default/xui/pl/floater_my_environments.xml new file mode 100644 index 0000000000..3b64cb42e6 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_my_environments.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<floater name="my_environments" title="MOJE OTOCZENIA" label="Miejsca"> + <layout_stack name="main_layout"> + <layout_panel name="filter_panel" label="Filtr"> + <check_box label="Dzień" name="chk_days" /> + <check_box label="Niebo" name="chk_skies" /> + <check_box label="Woda" name="chk_water" /> + <filter_editor label="Filtruj otoczenia" name="flt_search" /> + </layout_panel> + <layout_panel name="list_panel" label="Otoczenia" /> + <layout_panel name="lp_showfolders"> + <check_box label="Wszystkie foldery" name="chk_showfolders" /> + </layout_panel> + <layout_panel name="pnl_control"> + <panel name="pnl_bottom"> + <menu_button name="btn_gear" tool_tip="Więcej opcji" /> + <menu_button name="btn_newsettings" tool_tip="Stwórz nowe ustawienie" /> + <button name="btn_del" tool_tip="Usuń wybrany element" /> + </panel> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_my_scripts.xml b/indra/newview/skins/default/xui/pl/floater_my_scripts.xml new file mode 100644 index 0000000000..b83a34ec5b --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_my_scripts.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="myscripts" title="SKRYPTY" /> diff --git a/indra/newview/skins/default/xui/pl/floater_notifications_tabbed.xml b/indra/newview/skins/default/xui/pl/floater_notifications_tabbed.xml new file mode 100644 index 0000000000..a02666b6a1 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_notifications_tabbed.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_notifications_tabbed" title="POWIADOMIENIA"> + <floater.string name="system_tab_title"> + Systemowe ([COUNT]) + </floater.string> + <floater.string name="transactions_tab_title"> + Transakcje ([COUNT]) + </floater.string> + <floater.string name="group_invitations_tab_title"> + Zaproszenia ([COUNT]) + </floater.string> + <floater.string name="group_notices_tab_title"> + Grupowe ([COUNT]) + </floater.string> + <string name="title_notification_tabbed_window"> + Powiadomienia + </string> + <layout_stack name="TabButtonsStack"> + <layout_panel name="TabButtonsLayoutPanel"> + <tab_container name="notifications_tab_container"> + <panel label="Systemowe (0)" name="system_notification_list_tab" /> + <panel label="Transakcje (0)" name="transaction_notifications_tab" /> + <panel label="Zaproszenia (0)" name="group_invite_notifications_tab" /> + <panel label="Grupowe (0)" name="group_notice_notifications_tab" /> + </tab_container> + <layout_stack name="ButtonsStack"> + <layout_panel name="CondenseAllButtonPanel"> + <button label="Zwiń wszystkie" name="collapse_all_button" /> + </layout_panel> + <layout_panel name="DeleteAllButtonPanel"> + <button label="Usuń wszystkie" name="delete_all_button" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_outfit_photo_preview.xml b/indra/newview/skins/default/xui/pl/floater_outfit_photo_preview.xml new file mode 100644 index 0000000000..8c7de8e34e --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_outfit_photo_preview.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="outfit_photo_preview"> + <floater.string name="Title"> + Tekstura: [NAME] + </floater.string> + <floater.string name="exceed_limits"> + Maks. rozmiar zdjęcia stroju to [MAX_WIDTH]*[MAX_HEIGHT]. Wybierz inną teksturę. + </floater.string> + <floater.string name="photo_confirmation"> + Ustawić to zdjęcie dla stroju [OUTFIT]? + </floater.string> + <button label="Anuluj" name="cancel_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_pick_track.xml b/indra/newview/skins/default/xui/pl/floater_pick_track.xml new file mode 100644 index 0000000000..a0150e67ea --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_pick_track.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="track picker" title="WYBIERZ ŚCIEŻKĘ"> + <layout_stack name="adjuster"> + <layout_panel name="pnl_desc"> + <text name="select_description"> + Wybierz niebo: + </text> + </layout_panel> + <layout_panel name="pnl_traks"> + <radio_group name="track_selection"> + <radio_item label="Niebo4 [ALT]" name="radio_sky4" /> + <radio_item label="Niebo3 [ALT]" name="radio_sky3" /> + <radio_item label="Niebo2 [ALT]" name="radio_sky2" /> + <radio_item label="Ziemia" name="radio_sky1" /> + </radio_group> + </layout_panel> + <layout_panel name="pnl_ok_cancel"> + <button label="Anuluj" label_selected="Anuluj" name="btn_cancel" /> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_preferences_graphics_advanced.xml b/indra/newview/skins/default/xui/pl/floater_preferences_graphics_advanced.xml new file mode 100644 index 0000000000..eb1411cd42 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_preferences_graphics_advanced.xml @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="prefs_graphics_advanced" title="ZAAWANSOWANE USTAWIENIA GRAFICZNE"> + <text name="GeneralText"> + Ogólne + </text> + <slider label="Pole widzenia:" name="DrawDistance" /> + <slider label="Maks. ilość cząsteczek:" name="MaxParticleCount" /> + <slider label="Jakość post-procesu:" name="RenderPostProcess" /> + <text name="PostProcessText"> + Niska + </text> + <check_box label="Włącz VSync" name="vsync" tool_tip="Synchronizuje liczbę klatek na sekundę z częstotliwością odświeżania monitora, może skutkować zmniejszeniem widocznej płynności i opóźnieniami." /> + <text name="AvatarText"> + Awatar + </text> + <slider tool_tip="Kontroluje w jakim momencie awatar, który jest graficznie złożony zostanie zastąpiony przez mniej obciążającą komputer formę (tzw. JellyDoll)" label="Maks. szczegółowość awatarów:" name="IndirectMaxComplexity" /> + <slider label="Maks. il. wyświetlanych awatarów:" name="IndirectMaxNonImpostors" /> + <slider label="Detale:" name="AvatarMeshDetail" /> + <text name="AvatarMeshDetailText"> + Mało + </text> + <slider label="Fizyka:" name="AvatarPhysicsDetail" /> + <text name="AvatarPhysicsDetailText"> + Mało + </text> + <text name="HardwareText"> + Sprzętowe + </text> + <slider label="Bufor pamięci tekstur (MB):" name="GraphicsCardTextureMemory" tool_tip="Ilość pamięci przeznaczona na tekstury. Domyślnie jest to maksymalna wielkość pamięci karty graficznej, ale nie więcej niż 512 MB na systemach 32 bitowych lub 2048 MB na 64 bitowych. Zmniejszenie tej wartości może spowodować wzrost wydajności, ale tekstury będą bardziej rozmazane." /> + <slider label="Stosunek odległości dla mgły:" name="fog" /> + <text name="(brightness, lower is brighter)"> + (0 = domyślna jasność, niżej = jaśniej) + </text> + <check_box label="Filtrowanie anizotropowe (wolniej, gdy włączone)" name="ani" /> + <check_box label="Włącz stratną kompresję tekstur (wymaga restartu)" name="texture compression" tool_tip="Kompresuje tekstury w pamięci wideo. Umożliwi to ładowanie tekstur w wyższej rozdzielczości / większej ich ilości, ale kosztem jakości obrazu." /> + <check_box label="Włącz wsparcie dla ekranów HiDPI (wymaga restartu)" name="use HiDPI" tool_tip="Włącz funkcje OpenGL dla rysowania w wysokich rozdzielczościach." /> + <text name="antialiasing label"> + Antyaliasing: + </text> + <combo_box label="Antyaliasing" name="fsaa"> + <combo_box.item label="Wyłączony" name="FSAADisabled" /> + </combo_box> + <text name="antialiasing restart"> + (wymaga restartu) + </text> + <text name="MeshText"> + Mesz + </text> + <slider label="Szczegóły terenu:" name="TerrainMeshDetail" /> + <text name="TerrainMeshDetailText"> + Mało + </text> + <slider label="Drzewa:" name="TreeMeshDetail" /> + <text name="TreeMeshDetailText"> + Mało + </text> + <slider label="Obiekty i skulpty:" name="ObjectMeshDetail" /> + <text name="ObjectMeshDetailText"> + Mało + </text> + <slider label="Obiekty elastyczne:" name="FlexibleMeshDetail" /> + <text name="FlexibleMeshDetailText"> + Mało + </text> + <text name="ShadersText"> + Cieniowanie + </text> + <check_box label="Przezroczysta woda" name="TransparentWater" /> + <check_box label="Mapping wypukłości i połysk" name="BumpShiny" /> + <check_box label="Lokalne światła" name="LocalLights" /> + <slider label="Szczegóły terenu:" name="TerrainDetail" /> + <text name="TerrainDetailText"> + Mało + </text> + <check_box label="Elastyczne tkaniny ubrań" name="AvatarCloth" /> + <text name="ReflectionsText"> + Odbicia w wodzie: + </text> + <combo_box name="Reflections"> + <combo_box.item label="Żadne; nieprzezroczyste" name="-2" /> + <combo_box.item label="Żadne; przezroczyste" name="-1" /> + <combo_box.item label="Minimalne" name="0" /> + <combo_box.item label="Teren i drzewa" name="1" /> + <combo_box.item label="Wszystkie obiekty statyczne" name="2" /> + <combo_box.item label="Wszystkie awatary i obiekty" name="3" /> + <combo_box.item label="Wszystko" name="4" /> + </combo_box> + <check_box label="Shadery atmosfery" name="WindLightUseAtmosShaders" /> + <slider label="Niebo:" name="SkyMeshDetail" /> + <text name="SkyMeshDetailText"> + Nisko + </text> + <check_box label="Zaawansowane oświetlenie" name="UseLightShaders" /> + <check_box label="Okluzja otoczenia" name="UseSSAO" /> + <check_box label="Włącz głębię ostrości" name="UseDoF" /> + <check_box label="Zaawansowana atmosfera" name="UseAdvancedAtmo" /> + <text name="RenderShadowDetailText"> + Cienie: + </text> + <combo_box name="ShadowDetail"> + <combo_box.item label="Brak" name="0" /> + <combo_box.item label="Słońce/Księżyc" name="1" /> + <combo_box.item label="Słońce/Księżyc + inne źródła" name="2" /> + </combo_box> + <button label="Zresetuj wartości ustawień grafiki" name="Defaults" /> + <button label="Anuluj" label_selected="Anuluj" name="Cancel" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_preferences_view_advanced.xml b/indra/newview/skins/default/xui/pl/floater_preferences_view_advanced.xml new file mode 100644 index 0000000000..e2e9cba33a --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_preferences_view_advanced.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="floaterpreferencesviewadvanced" title="POZYCJA KAMERY"> + <text name="camera_offset_lbl"> + Przesun. kamery: + </text> + <text name="focus_offset_lbl"> + Przesun. ostrości: + </text> + <text name="offset_scale_lbl"> + Skala przesunięcia kamery: + </text> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_preview_trash.xml b/indra/newview/skins/default/xui/pl/floater_preview_trash.xml new file mode 100644 index 0000000000..4f535e0546 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_preview_trash.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="floater_preview_trash" title="KOSZ"> + <layout_stack name="button_panel_ls"> + <layout_panel name="empty_btn_lp"> + <button label="Opróżnij kosz" name="empty_btn" /> + </layout_panel> + <layout_panel name="share_btn_lp"> + <button label="Anuluj" name="cancel_btn" /> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_profile.xml b/indra/newview/skins/default/xui/pl/floater_profile.xml new file mode 100644 index 0000000000..4992bb2312 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_profile.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="avatarinfo" title="Profil"> + <panel name="panel_profile_view"> + <tab_container name="panel_profile_tabs"> + <panel name="panel_profile_secondlife" label="REZYDENT" /> + <panel name="panel_profile_web" label="SIEĆ" /> + <panel name="panel_profile_picks" label="MIEJSCA" /> + <panel name="panel_profile_classifieds" label="REKLAMY" /> + <panel name="panel_profile_firstlife" label="WIĘCEJ" /> + <panel name="panel_profile_notes" label="NOTATKI" /> + </tab_container> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_profile_permissions.xml b/indra/newview/skins/default/xui/pl/floater_profile_permissions.xml new file mode 100644 index 0000000000..140f688cb1 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_profile_permissions.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="profile_permissions"> + <string name="description_string" value="Zezwól [AGENT_NAME] na:" /> + <text name="perm_description" value="Zezwól tej osobie:" /> + <check_box name="online_check" label="Widzieć gdy jestem online" /> + <check_box name="map_check" label="Znajdować mnie na mapie" /> + <check_box name="objects_check" label="Edytować, usuwać lub zabierać moje obiekty" /> + <button name="perms_btn_cancel" label="Anuluj" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_profile_texture.xml b/indra/newview/skins/default/xui/pl/floater_profile_texture.xml new file mode 100644 index 0000000000..ad1d9a6305 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_profile_texture.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="profile_texture"> + <layout_stack name="preview_stack"> + <layout_panel name="buttons_panel"> + <layout_stack name="buttons_stack"> + <layout_panel name="close_panel"> + <button label="Zamknij" name="close_btn" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_save_camera_preset.xml b/indra/newview/skins/default/xui/pl/floater_save_camera_preset.xml new file mode 100644 index 0000000000..0fbd377139 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_save_camera_preset.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<floater name="save_camera_preset" title="Zapisz ustawienie kamery"> + <string name="btn_label_save"> + Zapisz + </string> + <string name="btn_label_replace"> + Zastąp + </string> + <radio_group name="radio_save_preset"> + <radio_item label="Zapisz jako nowe ustawienie" name="new_preset" /> + <radio_item label="Zastąp ustawienie" name="replace_preset" /> + </radio_group> + <button label="Zapisz" name="save" /> + <button label="Anuluj" name="cancel" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_save_pref_preset.xml b/indra/newview/skins/default/xui/pl/floater_save_pref_preset.xml new file mode 100644 index 0000000000..54841442dd --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_save_pref_preset.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<floater name="save_pref_preset" title="Zapisz ustawienie graficzne"> + <text name="Preset"> + Wpisz nazwę ustawienia lub wybierz już istniejące. + </text> + <button label="Zapisz" name="save" /> + <button label="Anuluj" name="cancel" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_settings_picker.xml b/indra/newview/skins/default/xui/pl/floater_settings_picker.xml new file mode 100644 index 0000000000..8f64d70fab --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_settings_picker.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="settings picker" title="WYBÓR OTOCZENIA"> + <floater.string name="pick title"> + Wybierz: + </floater.string> + <floater.string name="pick_track"> + WYBÓR ŚCIEŻKI + </floater.string> + <floater.string name="pick_settings"> + WYBÓR OTOCZENIA + </floater.string> + <floater.string name="track_water"> + Woda + </floater.string> + <floater.string name="track_ground"> + Ziemia + </floater.string> + <floater.string name="track_sky"> + Niebo[NUM] + </floater.string> + <layout_stack name="test_stack"> + <layout_panel name="inv_list"> + <filter_editor label="Filtruj otoczenia" name="flt_inventory_search" /> + </layout_panel> + <layout_panel name="temp"> + <button label="Anuluj" label_selected="Anuluj" name="btn_cancel" /> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_simple_outfit_snapshot.xml b/indra/newview/skins/default/xui/pl/floater_simple_outfit_snapshot.xml new file mode 100644 index 0000000000..1a60b557b2 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_simple_outfit_snapshot.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="simple_outfit_snapshot" title="ZDJĘCIE STROJU"> + <button label="Zrób zdjęcie" name="new_snapshot_btn" /> + <button label="Zapisz ([UPLOAD_COST]L$)" name="save_btn" /> + <button label="Anuluj" name="cancel_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_twitter.xml b/indra/newview/skins/default/xui/pl/floater_twitter.xml deleted file mode 100644 index 2e228041ab..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> -<floater name="floater_twitter"> - <tab_container name="tabs"> - <panel label="UTWÓRZ" name="panel_twitter_photo" /> - <panel label="KONTO" name="panel_twitter_account" /> - </tab_container> - <text name="connection_error_text"> - Błąd - </text> - <text name="connection_loading_text"> - Ładowanie... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings.xml b/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings.xml new file mode 100644 index 0000000000..4e10aa1155 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<context_menu name="Settings"> + <menu_item_check label="Domyślne" name="default" /> + <menu_item_check label="Zawsze renderuj" name="always_render" /> + <menu_item_check label="Nigdy nie renderuj" name="never_render" /> +</context_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings_add.xml b/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings_add.xml new file mode 100644 index 0000000000..a4f72de93d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings_add.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="menu_settings_add.xml"> + <menu_item_call label="Zawsze renderuj rezydenta..." name="add_avatar_always_render" /> + <menu_item_call label="Nigdy nie renderuj rezydenta..." name="add_avatar_never_render" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_color.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_color.xml new file mode 100644 index 0000000000..cb7da5678d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_color.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Color Menu"> + <menu_item_call label="Kopiuj" name="params_copy" /> + <menu_item_call label="Wklej" name="params_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_features.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_features.xml new file mode 100644 index 0000000000..d578f14a87 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_features.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Features Menu"> + <menu_item_call label="Kopiuj" name="params_copy" /> + <menu_item_call label="Wklej" name="params_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_light.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_light.xml new file mode 100644 index 0000000000..7a94f0dbe9 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_light.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Light Menu"> + <menu_item_call label="Kopiuj" name="params_copy" /> + <menu_item_call label="Wklej" name="params_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_object.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_object.xml new file mode 100644 index 0000000000..9d366c1e59 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_object.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Object Menu"> + <menu_item_call label="Kopiuj" name="params_copy" /> + <menu_item_call label="Wklej" name="params_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_pos.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_pos.xml new file mode 100644 index 0000000000..3665c38f62 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_pos.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Position Menu"> + <menu_item_call label="Kopiuj wszystko" name="psr_copy" /> + <menu_item_call label="Kopiuj pozycję" name="pos_copy" /> + <menu_item_call label="Wklej wszystko" name="psr_paste" /> + <menu_item_call label="Wklej pozycję" name="pos_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_rot.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_rot.xml new file mode 100644 index 0000000000..cee65d7db5 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_rot.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Rotation Menu"> + <menu_item_call label="Kopiuj wszystko" name="psr_copy" /> + <menu_item_call label="Wklej obrót" name="rot_copy" /> + <menu_item_call label="Wklej wszystko" name="psr_paste" /> + <menu_item_call label="Wklej obrót" name="rot_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_size.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_size.xml new file mode 100644 index 0000000000..605eb69a72 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_size.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Size Menu"> + <menu_item_call label="Kopiuj wszystko" name="psr_copy" /> + <menu_item_call label="Wklej rozmiar" name="size_copy" /> + <menu_item_call label="Wklej wszystko" name="psr_paste" /> + <menu_item_call label="Wklej rozmiar" name="size_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_texture.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_texture.xml new file mode 100644 index 0000000000..90444cdb0f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_texture.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Texture Menu"> + <menu_item_call label="Kopiuj" name="params_copy" /> + <menu_item_call label="Wklej" name="params_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_gallery_outfit_tab.xml b/indra/newview/skins/default/xui/pl/menu_gallery_outfit_tab.xml new file mode 100644 index 0000000000..56ee2f02d9 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_gallery_outfit_tab.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<context_menu name="Outfit"> + <menu_item_call label="Załóż - Zastąp obecny strój" name="wear_replace" /> + <menu_item_call label="Załóż - Dodaj do obecnego stroju" name="wear_add" /> + <menu_item_call label="Zdejmij - Usuń z obecnego stroju" name="take_off" /> + <menu_item_call label="Prześlij zdjęcie ([UPLOAD_COST] L$)" name="upload_photo" /> + <menu_item_call label="Wybierz zdjęcie" name="select_photo" /> + <menu_item_call label="Zrób zdjęcie" name="take_snapshot" /> + <menu_item_call label="Usuń zdjęcie" name="remove_photo" /> + <menu label="Nowe ubranie" name="New Clothes"> + <menu_item_call label="Nowa koszula" name="New Shirt"/> + <menu_item_call label="Nowe spodnie" name="New Pants"/> + <menu_item_call label="Nowe buty" name="New Shoes"/> + <menu_item_call label="Nowe skarpetki" name="New Socks"/> + <menu_item_call label="Nowa kurtka" name="New Jacket"/> + <menu_item_call label="Nowa spódnica" name="New Skirt"/> + <menu_item_call label="Nowe rękawiczki" name="New Gloves"/> + <menu_item_call label="Nowy podkoszulek" name="New Undershirt"/> + <menu_item_call label="Nowa bielizna" name="New Underpants"/> + <menu_item_call label="Nowa warstwa alpha" name="New Alpha"/> + <menu_item_call label="Nowa fizyka" name="New Physics"/> + <menu_item_call label="Nowy tatuaż" name="New Tattoo"/> + </menu> + <menu label="Nowe części ciała" name="New Body Parts"> + <menu_item_call label="Nowy kształt" name="New Shape"/> + <menu_item_call label="Nowa skórka" name="New Skin"/> + <menu_item_call label="Nowe włosy" name="New Hair"/> + <menu_item_call label="Nowe oczy" name="New Eyes"/> + </menu> + <menu_item_call label="Edytuj strój" name="edit" /> + <menu_item_call label="Zmień nazwę stroju" name="rename" /> + <menu_item_call label="Usuń strój" name="delete" /> +</context_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_inventory_search_visibility.xml b/indra/newview/skins/default/xui/pl/menu_inventory_search_visibility.xml new file mode 100644 index 0000000000..254c9acb4c --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_inventory_search_visibility.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="menu_search_visibility"> + <menu_item_check label="Szukaj w koszu" name="search_trash" /> + <menu_item_check label="Szukaj w Bibliotece" name="search_library" /> + <menu_item_check label="Uwzględniaj linki" name="include_links" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_places_gear_sorting.xml b/indra/newview/skins/default/xui/pl/menu_places_gear_sorting.xml new file mode 100644 index 0000000000..ccf4af7efb --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_places_gear_sorting.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="menu_sorter_gear"> + <menu_item_call label="Rozwiń wszystkie foldery" name="expand_all" /> + <menu_item_call label="Zwiń wszystkie foldery" name="collapse_all" /> + <menu_item_check label="Sortuj według daty" name="sort_by_date" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_profile_other.xml b/indra/newview/skins/default/xui/pl/menu_profile_other.xml new file mode 100644 index 0000000000..84ef54fc8f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_profile_other.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Avatar Profile Menu"> + <menu_item_call label="Wiadomość IM" name="im" /> + <menu_item_call label="Proponuj teleport" name="offer_teleport" /> + <menu_item_call label="Poproś o teleport" name="request_teleport" /> + <menu_item_call label="Rozmowa głosowa" name="voice_call" /> + <menu_item_call label="Logi czatu..." name="chat_history" /> + <menu_item_call label="Dodaj do znajomych" name="add_friend" /> + <menu_item_call label="Usuń znajomego" name="remove_friend" /> + <menu_item_call label="Zaproś do grupy..." name="invite_to_group" /> + <menu_item_call label="Uprawnienia" name="agent_permissions" /> + <menu_item_call label="Mapa" name="map" /> + <menu_item_call label="Udostępnij" name="share" /> + <menu_item_call label="Zapłać" name="pay" /> + <menu_item_check label="Blokuj/Odblokuj" name="block_unblock" /> + <menu_item_call label="Kopiuj Wyświetlane Imię" name="copy_display_name" /> + <menu_item_call label="Kopiuj imię" name="copy_name" /> + <menu_item_call label="Kopiuj UUID" name="copy_id" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_profile_self.xml b/indra/newview/skins/default/xui/pl/menu_profile_self.xml new file mode 100644 index 0000000000..1da838fafd --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_profile_self.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Avatar Profile Menu Self"> + <menu_item_call label="Edytuj Wyświetlane Imię" name="edit_display_name" /> + <menu_item_call label="Edytuj partnera" name="edit_partner" /> + <menu_item_call label="Prześlij obraz" name="upload_photo" /> + <menu_item_call label="Zmień obraz" name="change_photo" /> + <menu_item_call label="Usuń obraz" name="remove_photo" /> + <menu_item_call label="Kopiuj Wyświetlane Imię" name="copy_display_name" /> + <menu_item_call label="Kopiuj imię" name="copy_name" /> + <menu_item_call label="Kopiuj UUID" name="copy_id" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_save_settings.xml b/indra/newview/skins/default/xui/pl/menu_save_settings.xml new file mode 100644 index 0000000000..918fc75184 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_save_settings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="save_settings_menu"> + <menu_item_check name="save_settings" label="Zapisz" /> + <menu_item_check name="save_as_new_settings" label="Zapisz jako" /> + <menu_item_check name="commit_changes" label="Zastosuj" /> + <menu_item_check name="apply_local" label="Stosuj tylko dla mnie" /> + <menu_item_check name="apply_parcel" label="Stosuj dla działki" /> + <menu_item_check name="apply_region" label="Stosuj dla regionu" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_settings_add.xml b/indra/newview/skins/default/xui/pl/menu_settings_add.xml new file mode 100644 index 0000000000..6cb3a68898 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_settings_add.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="menu_settings_add"> + <menu_item_call label="Nowe niebo" name="New Sky" /> + <menu_item_call label="Nowa woda" name="New Water" /> + <menu_item_call label="Nowy cykl dnia" name="New Day Cycle" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_settings_gear.xml b/indra/newview/skins/default/xui/pl/menu_settings_gear.xml new file mode 100644 index 0000000000..a002d3c236 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_settings_gear.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="menu_settings_gear"> + <menu_item_call label="Edycja" name="edit_settings" /> + <menu_item_call name="Settings Apply Local" label="Stosuj tylko dla mnie" /> + <menu_item_call name="Settings Apply Parcel" label="Stosuj dla działki" /> + <menu_item_call name="Settings Apply Region" label="Stosuj dla regionu" /> + <menu_item_call label="Kopiuj" name="copy_settings" /> + <menu_item_call label="Wklej" name="paste_settings" /> + <menu_item_call label="Kopiuj UUID" name="copy_uuid" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_url_email.xml b/indra/newview/skins/default/xui/pl/menu_url_email.xml new file mode 100644 index 0000000000..e2d1f8c8e3 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_url_email.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<context_menu name="Email Popup"> + <menu_item_call label="Utwórz nowego e-maila w zewnętrznym programie" name="email_open_external" /> + <menu_item_call label="Kopiuj e-mail do schowka" name="email_copy" /> +</context_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_url_experience.xml b/indra/newview/skins/default/xui/pl/menu_url_experience.xml new file mode 100644 index 0000000000..747039e94d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_url_experience.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<context_menu name="Url Popup"> + <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy" /> +</context_menu> diff --git a/indra/newview/skins/default/xui/pl/panel_camera_preset_item.xml b/indra/newview/skins/default/xui/pl/panel_camera_preset_item.xml new file mode 100644 index 0000000000..6d619f2071 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_camera_preset_item.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="camera_preset_item"> + <text name="preset_name" value="Domyślne" /> + <button name="delete_btn" tool_tip="Usuń ustawienie" /> + <button name="reset_btn" tool_tip="Zresetuj ustawienie do wartości domyślnych" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_edit_classified.xml b/indra/newview/skins/default/xui/pl/panel_edit_classified.xml deleted file mode 100644 index 2d442b054d..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_edit_classified.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel label="Edytuj reklamę" name="panel_edit_classified"> - <panel.string name="location_notice"> - (zostanie zaktualizowane po zapisaniu) - </panel.string> - <string name="publish_label"> - Publikuj - </string> - <string name="save_label"> - Zapisz - </string> - <text name="title"> - Edytuj reklamę - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon name="edit_icon" tool_tip="Kliknij by wybrać teksturę" /> - </panel> - <text name="Name:"> - Tytuł: - </text> - <text name="description_label"> - Opis: - </text> - <text name="location_label"> - Lokalizacja: - </text> - <text name="classified_location"> - ładowanie... - </text> - <button label="Ustaw na bieżącą lokalizację" name="set_to_curr_location_btn" /> - <text name="category_label" value="Kategoria:" /> - <text name="content_type_label" value="Typ zawartości:" /> - <icons_combo_box label="Treść General" name="content_type"> - <icons_combo_box.item label="Treść Moderate" name="mature_ci" /> - <icons_combo_box.item label="Treść General" name="pg_ci" /> - </icons_combo_box> - <check_box label="Ponawiaj automatycznie co tydzień" name="auto_renew" /> - <text name="price_for_listing_label" value="Koszt listowania:" /> - <spinner name="price_for_listing" tool_tip="Koszt listowania reklamy." /> - </panel> - </scroll_container> - <panel name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="show_on_map_btn_lp"> - <button label="Anuluj" name="cancel_btn" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_edit_pick.xml b/indra/newview/skins/default/xui/pl/panel_edit_pick.xml deleted file mode 100644 index 15838e53b1..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel label="Edytuj Miejsce" name="panel_edit_pick"> - <panel.string name="location_notice"> - (aktualizacja nastąpi po zapisaniu) - </panel.string> - <text name="title"> - Edytuj Miejsce - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon name="edit_icon" tool_tip="Kliknij aby wybrać teksturę" /> - <text name="Name:"> - Tytuł: - </text> - <text name="description_label"> - Opis: - </text> - <text name="location_label"> - Lokalizacja: - </text> - <text name="pick_location"> - ładowanie... - </text> - <button label="Ustaw na bieżącą lokalizację" name="set_to_curr_location_btn" /> - </panel> - </scroll_container> - <panel name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Zapisz Miejsce" name="save_changes_btn" /> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Anuluj" name="cancel_btn" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_edit_profile.xml b/indra/newview/skins/default/xui/pl/panel_edit_profile.xml deleted file mode 100644 index 4e48c6a27c..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_edit_profile.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel label="Edycja profilu" name="edit_profile_panel"> - <string name="AcctTypeResident" value="Rezydent" /> - <string name="AcctTypeTrial" value="Próbne" /> - <string name="AcctTypeCharterMember" value="Założyciel" /> - <string name="AcctTypeEmployee" value="Pracownik Linden Lab" /> - <string name="PaymentInfoUsed" value="Płatności: Dane użyte" /> - <string name="PaymentInfoOnFile" value="Płatności: Dane znane" /> - <string name="NoPaymentInfoOnFile" value="Płatności: Dane nieznane" /> - <string name="AgeVerified" value="Wiek zweryfikowany" /> - <string name="NotAgeVerified" value="Wiek niezweryfikowany" /> - <string name="no_partner_text" value="Brak" /> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Wyświetlane imię:" /> - <text name="solo_username_label" value="Nazwa użytkownika:" /> - <button name="set_name" tool_tip="Ustaw wyświetlane imię" /> - <text name="user_label" value="Użytkownik:" /> - <panel name="lifes_images_panel"> - <icon name="2nd_life_edit_icon" tool_tip="Kliknij, aby wybrać obrazek" /> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Świat realny:" /> - </panel> - <icon name="real_world_edit_icon" tool_tip="Kliknij, aby wybrać obrazek" /> - <text name="title_homepage_text"> - Strona www: - </text> - <text name="title_acc_status_text" value="Moje konto:" /> - <text_editor name="acc_status_text" value="Rezydent. Płatności: Dane nieznane." /> - <text name="my_account_link" value="[[URL] Idź do Tablicy]" /> - <text name="title_partner_text" value="Mój partner:" /> - <panel name="partner_data_panel"> - <text initial_value="(pobieranie)" name="partner_text" /> - </panel> - <text name="partner_edit_link" value="[[URL] Edytuj]" /> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Zapisz zmiany" name="save_btn" /> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Anuluj" name="cancel_btn" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_edit_universal.xml b/indra/newview/skins/default/xui/pl/panel_edit_universal.xml new file mode 100644 index 0000000000..f98cf92786 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_edit_universal.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="edit_universal_panel"> + <scroll_container name="avatar_universal_scroll"> + <panel name="avatar_universal_color_panel"> + <texture_picker label="Tatuaż głowy" name="Head Universal Tattoo" tool_tip="Kliknij by wybrać grafikę" /> + <texture_picker label="Tatuaż: górny tułów" name="Upper Universal Tattoo" tool_tip="Kliknij by wybrać grafikę" /> + <texture_picker label="Tatuaż: dolny tułów" name="Lower Universal Tattoo" tool_tip="Kliknij by wybrać grafikę" /> + <texture_picker label="Tatuaż: spódnica" name="Skirt Tattoo" tool_tip="Kliknij by wybrać grafikę" /> + <texture_picker label="Tatuaż: włosy" name="Hair Tattoo" tool_tip="Kliknij by wybrać grafikę" /> + <texture_picker label="Tatuaż: oczy" name="Eyes Tattoo" tool_tip="Kliknij by wybrać grafikę" /> + <texture_picker label="Tatuaż: lewe ramię" name="Left Arm Tattoo" tool_tip="Kliknij by wybrać grafikę" /> + <texture_picker label="Tatuaż: lewa noga" name="Left Leg Tattoo" tool_tip="Kliknij by wybrać grafikę" /> + <texture_picker label="Tatuaż: Aux1" name="Aux1 Tattoo" tool_tip="Kliknij by wybrać grafikę" /> + <texture_picker label="Tatuaż: Aux2" name="Aux2 Tattoo" tool_tip="Kliknij by wybrać grafikę" /> + <texture_picker label="Tatuaż: Aux3" name="Aux3 Tattoo" tool_tip="Kliknij by wybrać grafikę" /> + <color_swatch label="Kolor" name="Color/Tint" tool_tip="Kliknij aby wybrać kolor" /> + </panel> + </scroll_container> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_experience_info.xml b/indra/newview/skins/default/xui/pl/panel_experience_info.xml new file mode 100644 index 0000000000..406904e9a2 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experience_info.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_experience_info"> + <text name="title" value="Profil przygody" /> + <scroll_container name="xp_scroll"> + <panel name="scrolling_panel"> + <layout_stack name="ls1"> + <layout_panel name="location panel"> + <text name="Location"> + Miejsce: + </text> + <button label="Teleportuj" name="teleport_btn"/> + <button label="Mapa" name="map_btn"/> + </layout_panel> + <layout_panel name="marketplace panel"> + <text name="Location"> + Sklep Marketplace: + </text> + </layout_panel> + <layout_panel name="details panel"> + <text name="ContentRating"> + Klasyfikacja: + </text> + <text name="Owner"> + Właściciel: + </text> + <button label="Edytuj" name="edit_btn"/> + </layout_panel> + </layout_stack> + </panel> + </scroll_container> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_experience_list_editor.xml b/indra/newview/skins/default/xui/pl/panel_experience_list_editor.xml new file mode 100644 index 0000000000..8c314139a8 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experience_list_editor.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="experince_list_editor"> + <panel.string name="loading"> + wczytywanie... + </panel.string> + <panel.string name="panel_allowed"> + Przygody dozwolone: + </panel.string> + <panel.string name="panel_blocked"> + Przygody blokowane: + </panel.string> + <panel.string name="panel_trusted"> + Przygody kluczowe: + </panel.string> + <panel.string name="no_results"> + (puste) + </panel.string> + <text name="text_name"> + Lista przygód + </text> + <name_list name="experience_list"> + <name_list.columns name="experience_name" label="Nazwa" /> + </name_list> + <button name="btn_add" label="Dodaj" /> + <button name="btn_remove" label="Usuń" /> + <button name="btn_profile" label="Profil" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_experience_list_item.xml b/indra/newview/skins/default/xui/pl/panel_experience_list_item.xml new file mode 100644 index 0000000000..866d3f6112 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experience_list_item.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_experience_list_item" label="Przygody" /> diff --git a/indra/newview/skins/default/xui/pl/panel_experience_log.xml b/indra/newview/skins/default/xui/pl/panel_experience_log.xml new file mode 100644 index 0000000000..5bd5467adc --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experience_log.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_experience_log" label="Zdarzenia"> + <string name="no_events" value="Brak zdarzeń."/> + <string name="loading" value="wczytywanie..."/> + <layout_stack name="ls1"> + <layout_panel name="list panel"> + <scroll_list name="experience_log_list"> + <columns name="time" label="Czas"/> + <columns name="event" label="Zdarzenie"/> + <columns name="experience_name" label="Przygoda"/> + <columns name="object_name" label="Obiekt"/> + </scroll_list> + <button name="btn_notify" label="Powiadom"/> + <button name="btn_profile_xp" label="Profil"/> + <button name="btn_report_xp" label="Zgłoś"/> + </layout_panel> + <layout_panel name="button_panel"> + <check_box width="175" label="Powiadom o wszystkich (dni)" name="notify_all" /> + <button name="btn_clear" label="Wyczyść"/> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_experience_search.xml b/indra/newview/skins/default/xui/pl/panel_experience_search.xml new file mode 100644 index 0000000000..96113c87cf --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experience_search.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_experience_search" label="Wyszukiwanie"> + <string name="not_found"> + Nie znaleziono: '[TEXT]' + </string> + <string name="no_results"> + Brak wyników + </string> + <string name="searching"> + Szukam... + </string> + <string name="loading"> + Wczytywanie... + </string> + <panel name="search_panel"> + <text name="lbl name part"> + Wpisz fragment nazwy: + </text> + <button label="Szukaj" name="find"/> + <text name="lbl max content rating"> + Maksymalna klasyfikacja: + </text> + <icons_combo_box label="Moderate (umiarkowana)" name="maturity"> + <icons_combo_box.item label="Adult (dla dorosłych)" name="Adult" /> + <icons_combo_box.item label="Moderate (umiarkowana)" name="Mature" /> + <icons_combo_box.item label="General (dla wszystkich)" name="PG" /> + </icons_combo_box> + <scroll_list name="search_results"> + <columns name="experience_name" label="Nazwa" /> + <columns name="owner" label="Właściciel" /> + </scroll_list> + <button label="Anuluj" name="cancel_btn" /> + <button label="Pokaż profil" name="profile_btn" /> + </panel> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_experiences.xml b/indra/newview/skins/default/xui/pl/panel_experiences.xml new file mode 100644 index 0000000000..e66fc0a1a2 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experiences.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_experiences" label="Przygody"> + <string name="loading_experiences" value="Ładowanie przygód..." /> + <string name="no_experiences" value="Brak przygód." /> + <string name="acquire" value="Zyskaj przygodę" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_facebook_friends.xml b/indra/newview/skins/default/xui/pl/panel_facebook_friends.xml deleted file mode 100644 index 97e2db704f..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Żaden z Twoich znajomych na Facebooku nie jest w tej chwili rezydentem w Second Life. Poproś swoich facebookowych przyjaciół, aby dołączyli do Second Life!" /> - <string name="facebook_friends_no_connected" value="Brak połączenia z Facebookiem. Przejdź na kartę Status, aby włączyć tą funkcjonalność." /> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Znajomi z Second Life" /> - <accordion_tab name="tab_suggested_friends" title="Dodaj te osoby do znajomych w Second Life" /> - </accordion> - <text name="facebook_friends_status"> - Brak połączenia z Facebookiem. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_facebook_photo.xml b/indra/newview/skins/default/xui/pl/panel_facebook_photo.xml deleted file mode 100644 index 5ecd648209..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_facebook_photo.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Rozdzielczość obrazka"> - <combo_box.item label="Obecne okno" name="CurrentWindow" /> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtry obrazka"> - <combo_box.item label="Bez filtru" name="NoFilter" /> - </combo_box> - <text name="working_lbl"> - Odświeżanie... - </text> - <button label="Odśwież" name="new_snapshot_btn" tool_tip="Kliknij, aby odświeżyć" /> - <button label="Podgląd" name="big_preview_btn" tool_tip="Kliknij, aby przełączyć podgląd" /> - <text name="caption_label"> - Komentarz (opcjonalnie): - </text> - <button label="Wyślij" name="post_photo_btn" /> - <button label="Anuluj" name="cancel_photo_btn" /> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_facebook_place.xml b/indra/newview/skins/default/xui/pl/panel_facebook_place.xml deleted file mode 100644 index 0514f4c326..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Opowiedz coś o miejscu, w którym jesteś: - </text> - <check_box label="Dołącz widok z lotu ptaka" name="add_place_view_cb" /> - <button label="Wyślij" name="post_place_btn" /> - <button label="Anuluj" name="cancel_place_btn" /> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_facebook_status.xml b/indra/newview/skins/default/xui/pl/panel_facebook_status.xml deleted file mode 100644 index 5c0052e1f1..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Połączenie z Facebookiem jako:" /> - <string name="facebook_disconnected" value="Brak połączenia z Facebookiem" /> - <text name="account_caption_label"> - Brak połączenia z Facebookiem. - </text> - <panel name="panel_buttons"> - <button label="Połącz..." name="connect_btn" /> - <button label="Rozłącz" name="disconnect_btn" /> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Więcej o wysyłaniu na Facebooka] - </text> - </panel> - <text name="status_caption_label"> - O czym teraz myślisz? - </text> - <button label="Wyślij" name="post_status_btn" /> - <button label="Anuluj" name="cancel_status_btn" /> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_flickr_account.xml b/indra/newview/skins/default/xui/pl/panel_flickr_account.xml deleted file mode 100644 index 43ce268d77..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Połączenie z Flickr jako:" /> - <string name="flickr_disconnected" value="Brak połączenia z Flickr" /> - <text name="account_caption_label"> - Brak połączenia z Flickr. - </text> - <panel name="panel_buttons"> - <button label="Połącz..." name="connect_btn" /> - <button label="Rozłącz" name="disconnect_btn" /> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Więcej o wysyłaniu na Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_flickr_photo.xml b/indra/newview/skins/default/xui/pl/panel_flickr_photo.xml deleted file mode 100644 index a76d16f743..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Rozdzielczość obrazka"> - <combo_box.item label="Obecne okno" name="CurrentWindow" /> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtry obrazka"> - <combo_box.item label="Bez filtru" name="NoFilter" /> - </combo_box> - <text name="working_lbl"> - Odświeżanie... - </text> - <button label="Odśwież" name="new_snapshot_btn" tool_tip="Kliknij, aby odświeżyć" /> - <button label="Podgląd" name="big_preview_btn" tool_tip="Kliknij, aby przełączyć podgląd" /> - <text name="title_label"> - Tytuł: - </text> - <text name="description_label"> - Opis: - </text> - <check_box label="Dołącz lokalizację z SL na końcu opisu" name="add_location_cb" /> - <text name="tags_label"> - Tagi: - </text> - <text name="tags_help_label"> - Rozdziel tagi spacjami -Użyj "" dla tagów wielosłownych - </text> - <combo_box name="rating_combobox" tool_tip="Klasyfikacja treści Flickr"> - <combo_box.item label="Flickr: Treść bezpieczna" name="SafeRating" /> - <combo_box.item label="Flickr: Treść umiarkowana" name="ModerateRating" /> - <combo_box.item label="Flickr: Treść ograniczona" name="RestrictedRating" /> - </combo_box> - <button label="Wyślij" name="post_photo_btn" /> - <button label="Anuluj" name="cancel_photo_btn" /> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_group_creation_sidetray.xml b/indra/newview/skins/default/xui/pl/panel_group_creation_sidetray.xml new file mode 100644 index 0000000000..cf9f00af4d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_group_creation_sidetray.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Tworzenie grupy" name="GroupCreation"> + <panel.string name="current_membership"> + (twoje członkostwo) + </panel.string> + <panel name="group_info_top"> + <line_editor label="Wpisz tutaj nazwę nowej grupy" name="group_name_editor" /> + </panel> + <layout_stack name="layout"> + <layout_panel name="group_info"> + <panel name="group_info_top"> + <texture_picker name="insignia" tool_tip="Kliknij by wybrać obraz" /> + <text_editor name="charter"> + Statut grupy + </text_editor> + </panel> + <panel name="preferences_container"> + <check_box label="Wolny wstęp" name="open_enrollement" tool_tip="Grupa oferuje wolny wstęp dla każdego i nie wymaga zaproszenia." /> + <check_box label="Opłata wstępu" name="check_enrollment_fee" tool_tip="Określa, czy wymagać opłaty wstępu, aby dołączyć do grupy." /> + <spinner name="spin_enrollment_fee" tool_tip="Nowe osoby muszą zapłacić tę sumę by dołączyć do grupy, jeśli 'Opłata wstępu' jest zaznaczona." /> + <combo_box name="group_mature_check" tool_tip="Klasyfikacja dojrzałości oraz wieku określa rodzaje treści i zachowanie dozwolone w grupie."> + <combo_item name="select_mature"> + - Wybierz klasyfikację wieku - + </combo_item> + <combo_box.item label="Treść Moderate" name="mature" /> + <combo_box.item label="Treść General" name="pg" /> + </combo_box> + </panel> + </layout_panel> + <layout_panel name="create_info"> + <text name="fee_information"> + Opłata za utworzenie grupy zależy od Twojego poziomu członkostwa. [https://secondlife.com/my/account/membership.php Więcej] + </text> + <scroll_list name="membership_list"> + <scroll_list.rows name="basic" value="Podstawowe (wypełniacz)"/> + <scroll_list.rows name="premium" value="Premium (wypełniacz)" /> + </scroll_list> + </layout_panel> + <layout_panel name="create_actions"> + <layout_stack name="button_row_ls"> + <layout_panel name="layout_crt"> + <button label="Utwórz grupę za [COST] L$" name="btn_create" tool_tip="Utwórz nową grupę" /> + <button name="back" label="Anuluj" tool_tip="Powrót do listy grup" /> + </layout_panel> + </layout_stack> + <text name="info_deletion"> + Uwaga: grupa, która ma mniej niż 2 członków przez 48 godzin, zostaje usunięta! + </text> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_group_list_item_short.xml b/indra/newview/skins/default/xui/pl/panel_group_list_item_short.xml new file mode 100644 index 0000000000..e34d32c0fd --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_group_list_item_short.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="group_list_item"> + <text name="group_name" value="Nieznana" /> + <button name="visibility_hide_btn" tool_tip="Ukryj grupę w moim profilu" /> + <button name="visibility_show_btn" tool_tip="Pokaż grupę w moim profilu" /> + <button name="info_btn" tool_tip="Więcej informacji" /> + <button name="profile_btn" tool_tip="Pokaż profil" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_hide_beacon.xml b/indra/newview/skins/default/xui/pl/panel_hide_beacon.xml new file mode 100644 index 0000000000..b134254b03 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_hide_beacon.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_hide_beacon"> + <button label="Ukryj emiter" name="hide_beacon_btn" tool_tip="Zatrzymaj śledzenie i ukryj emiter" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_notification_list_item.xml b/indra/newview/skins/default/xui/pl/panel_notification_list_item.xml new file mode 100644 index 0000000000..3247e7eb8e --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_notification_list_item.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<panel name="main_panel"> + <panel.string name="sender_resident_text"> + Wysłał/a: "[SENDER_RESIDENT]" + </panel.string> + <panel.string name="group_name_text"> + Grupa: "[GROUP_NAME]" + </panel.string> + <panel.string name="group_fee_text"> + Opłata: [GROUP_FEE] + </panel.string> + <panel name="panel_total_view"> + <layout_stack name="item_vertical_stack"> + <layout_panel name="layout_panel_condensed_view"> + <panel name="panel_condensed_view"> + <layout_stack name="horizontal_stack"> + <layout_panel name="layout_panel_right"> + <group_icon name="group_icon" tool_tip="Grupa" /> + <avatar_icon name="avatar_icon" tool_tip="Osoba" /> + <icon name="system_notification_icon" tool_tip="Ikona" /> + </layout_panel> + <layout_panel name="layout_panel_middle"> + <panel name="main_info_panel"> + <panel name="notification_title_panel"> + <icon name="attachment_icon" tool_tip="Załącznik" /> + </panel> + </panel> + </layout_panel> + </layout_stack> + </panel> + </layout_panel> + <layout_panel name="layout_panel_expanded_view"> + <panel name="panel_expanded_view"> + <layout_stack name="horizontal_stack"> + <layout_panel name="layout_panel_right_exp"> + <group_icon name="group_icon_exp" tool_tip="Grupa" /> + <avatar_icon name="avatar_icon_exp" tool_tip="Osoba" /> + <icon name="system_notification_icon_exp" tool_tip="Ikona" /> + <icon name="attachment_icon_exp" tool_tip="Załącznik" /> + </layout_panel> + <layout_panel name="layout_panel_middle_exp"> + <panel name="main_info_panel_expanded"> + <panel name="button_panel"> + <button name="join_btn" label="Dołącz" /> + <button name="decline_btn" label="Anuluj"/> + </panel> + </panel> + </layout_panel> + </layout_stack> + </panel> + </layout_panel> + </layout_stack> + </panel> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_outfit_gallery.xml b/indra/newview/skins/default/xui/pl/panel_outfit_gallery.xml new file mode 100644 index 0000000000..faebe3984d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_outfit_gallery.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="Outfit Gallery"> + <string name="outfit_photo_string"> + Zdjecie stroju: "[OUTFIT_NAME]" + </string> + <string name="no_outfits_msg"> + Nie ma jeszcze żadnych strojów. Spróbuj [secondlife:///app/search/all/ Wyszukiwarki] + </string> + <string name="no_matched_outfits_msg"> + Nie udało Ci się znaleźć tego, czego szukasz? Spróbuj [secondlife:///app/search/all/[SEARCH_TERM] Wyszukiwarki]. + </string> + <text name="no_outfits_txt"> + Szukam... + </text> + <panel name="bottom_panel"> + <menu_button tool_tip="Pokaż dodatkowe opcje" name="options_gear_btn" /> + <button name="trash_btn" tool_tip="Usuń wybrany strój" /> + </panel> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_outfit_gallery_item.xml b/indra/newview/skins/default/xui/pl/panel_outfit_gallery_item.xml new file mode 100644 index 0000000000..56c2009c22 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_outfit_gallery_item.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="gallery_item_panel"> + <string name="worn_string"> + (założone) + </string> + <panel name="text_bg_panel"> + <text name="outfit_worn_text"> + (założone) + </text> + </panel> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_outfit_snapshot_inventory.xml b/indra/newview/skins/default/xui/pl/panel_outfit_snapshot_inventory.xml new file mode 100644 index 0000000000..0818404594 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_outfit_snapshot_inventory.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_outfit_snapshot_inventory"> + <text name="title"> + Szafa + </text> + <text name="hint_lbl"> + Przesłanie zdjęcia do Twojej Szafy kosztuje [UPLOAD_COST] L$. + +Opłata zależy od Twojego poziomu członkostwa. Wyższe poziomy to niższe opłaty. + </text> + <button label="Anuluj" name="cancel_btn" /> + <button label="Prześlij [UPLOAD_COST]L$" name="save_btn" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_pick_info.xml b/indra/newview/skins/default/xui/pl/panel_pick_info.xml deleted file mode 100644 index 6ea8a4d819..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_pick_info"> - <text name="title" value="Info o Miejscu" /> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[nazwa]" /> - <text_editor name="pick_location" value="[wczytywanie...]" /> - <text_editor name="pick_desc" value="[opis]" /> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teleportuj" name="teleport_btn" /> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn" /> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Edytuj" name="edit_btn" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_picks.xml b/indra/newview/skins/default/xui/pl/panel_picks.xml deleted file mode 100644 index 8e70f533b2..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel label="Miejsca" name="panel_picks"> - <string name="no_picks" value="Brak Miejsc" /> - <string name="no_classifieds" value="Brak reklam" /> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Miejsca" /> - <accordion_tab name="tab_classifieds" title="Reklamy" /> - </accordion> - <panel name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="Stwórz nowe Miejsce lub reklamę w obecnej lokalizacji" /> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button name="info_btn" tool_tip="Pokaż informacje o Miejscu" /> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportuj" name="teleport_btn" tool_tip="Teleportuj do odpowiadającego obszaru" /> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn" tool_tip="Pokaż obszar na mapie świata" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_controls.xml b/indra/newview/skins/default/xui/pl/panel_preferences_controls.xml new file mode 100644 index 0000000000..fdd5664147 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_preferences_controls.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<panel label="Sterowanie" name="controls"> + <combo_box name="key_mode"> + <combo_box.item label="W trzeciej osobie" name="third_person" /> + <combo_box.item label="W trybie pierwszoosobowym" name="first_person" /> + <combo_box.item label="Podczas edycji awatara" name="edit_avatar" /> + <combo_box.item label="Siedząc" name="sitting" /> + </combo_box> + <button label="Przywróć domyślne" tool_tip="Przywraca wartości domyślne dla wszystkich trybów sterowania." name="restore_defaults" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_uploads.xml b/indra/newview/skins/default/xui/pl/panel_preferences_uploads.xml new file mode 100644 index 0000000000..ea678ea4d6 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_preferences_uploads.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<panel label="Uploads" name="uploads"> + <text name="title"> + Obecne lokalizacje dla nowych plików + </text> + <text name="title_models"> + Obrazy + </text> + <text name="title_sounds"> + Dźwięki + </text> + <text name="title_animation"> + Animacje + </text> + <text name="title_model"> + Modele + </text> + <text name="upload_help"> + Aby zmienić folder docelowy kliknij na nim prawym przyciskiem myszy w Szafie +i użyj opcji "ustaw jako domyślne dla" + </text> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_presets_camera_pulldown.xml b/indra/newview/skins/default/xui/pl/panel_presets_camera_pulldown.xml new file mode 100644 index 0000000000..7417b011f9 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_presets_camera_pulldown.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="presets_camera_pulldown"> + <text name="Camera Presets"> + Ustawienia kamery + </text> + <button name="open_prefs_btn" label="Otwórz sterowanie kamerą" tool_tip="Otwiera okno sterowania kamerą" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_presets_pulldown.xml b/indra/newview/skins/default/xui/pl/panel_presets_pulldown.xml new file mode 100644 index 0000000000..e0b1f9a896 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_presets_pulldown.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="presets_pulldown"> + <text name="Graphic Presets"> + Ustawienia graficzne + </text> + <button name="open_prefs_btn" label="Otwórz preferencje graficzne" tool_tip="Otwórz kartę preferencji graficznych" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_classified.xml b/indra/newview/skins/default/xui/pl/panel_profile_classified.xml new file mode 100644 index 0000000000..d73a521e3f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_classified.xml @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_profile_classified"> + <panel.string name="type_mature"> + Treść Moderate + </panel.string> + <panel.string name="type_pg"> + Treść General + </panel.string> + <panel.string name="l$_price"> + [PRICE]L$ + </panel.string> + <panel.string name="click_through_text_fmt"> + [TELEPORT] teleport, [MAP] mapa, [PROFILE] profil + </panel.string> + <panel.string name="date_fmt"> + [day,datetime,slt]/[mthnum,datetime,slt]/[year,datetime,slt] + </panel.string> + <panel.string name="auto_renew_on"> + Włączone + </panel.string> + <panel.string name="auto_renew_off"> + Wyłączone + </panel.string> + <panel.string name="location_notice"> + (zaktualizuje się po zapisaniu) + </panel.string> + <string name="publish_label"> + Publikuj + </string> + <string name="save_label"> + Zapisz + </string> + <layout_stack name="main_classifieds_stack"> + <layout_panel name="scroll_layout_panel"> + <scroll_container name="profile_scroll"> + <panel name="info_scroll_content_panel"> + <icon name="edit_icon" tool_tip="Kliknij by wybrać obraz" /> + <layout_stack name="info_panel"> + <layout_panel name="main_info_panel"> + <text name="classified_location_label" value="Lokalizacja:" /> + <text name="content_type_label" value="Zawartość:" /> + <text name="category_label" value="Kategoria:" /> + <text name="creation_date_label" value="Utworzono:" /> + <text_editor name="creation_date" tool_tip="Data utworzenia" /> + <text name="price_for_listing_label" value="Koszt listowania:" /> + <text_editor name="price_for_listing" tool_tip="Koszt listowania reklamy." /> + </layout_panel> + <layout_panel name="clickthrough_layout_panel"> + <text name="click_through_label" value="Kliki:" /> + <text_editor name="click_through_text" tool_tip="Dane dotyczące przeklików" /> + </layout_panel> + <layout_panel name="auto_renew_layout_panel"> + <text name="auto_renew_label" value="Autoodnawianie:" /> + <text name="auto_renew" value="Włączone" /> + </layout_panel> + <layout_panel name="descr_layout_panel"> + <text name="classified_desc_label" value="Opis:" /> + </layout_panel> + </layout_stack> + <panel name="edit_panel"> + <text name="Name:"> + Tytuł: + </text> + <text name="description_label"> + Opis: + </text> + <text name="location_label"> + Lokalizacja: + </text> + <text name="classified_location_edit"> + ładowanie... + </text> + <button name="set_to_curr_location_btn" label="Ustaw na bieżącą lokalizację" /> + <text name="category_label" value="Kategoria:" /> + <text name="content_type_label" value="Zawartość:" /> + <icons_combo_box name="content_type_edit" label="Treść General"> + <icons_combo_box.item name="mature_ci" label="Treść Moderate" /> + <icons_combo_box.item name="pg_ci" label="Treść General" /> + </icons_combo_box> + <check_box name="auto_renew_edit" label="Auto-ponawiaj co tydzień" /> + </panel> + </panel> + </scroll_container> + </layout_panel> + <layout_panel name="util_buttons_lp"> + <layout_stack name="util_buttons_stack"> + <layout_panel name="teleport_btn_lp"> + <button name="teleport_btn" label="Teleportuj" /> + </layout_panel> + <layout_panel name="map_btn_lp"> + <button name="show_on_map_btn" label="Mapa" /> + </layout_panel> + <layout_panel name="edit_btn_lp"> + <button name="edit_btn" label="Edytuj" /> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel name="publish_layout_panel"> + <layout_stack name="publish_stack"> + <layout_panel name="cancel_btn_lp"> + <button name="cancel_btn" label="Anuluj" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_classifieds.xml b/indra/newview/skins/default/xui/pl/panel_profile_classifieds.xml new file mode 100644 index 0000000000..7797bc58d8 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_classifieds.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_profile_classifieds" label="Reklamy"> + <string name="no_classifieds" value="Brak reklam" /> + <layout_stack name="main_stack"> + <layout_panel name="buttons_header"> + <button name="new_btn" label="Nowa..." tool_tip="Utwórz nową reklamę w obecnej lokalizacji" /> + <button name="delete_btn" label="Usuń..." tool_tip="Usuń aktualnie wybraną reklamę" /> + </layout_panel> + <layout_panel name="main_body"> + <text name="classifieds_panel_text"> + Ładowanie... + </text> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_firstlife.xml b/indra/newview/skins/default/xui/pl/panel_profile_firstlife.xml new file mode 100644 index 0000000000..60549c9df9 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_firstlife.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_profile_firstlife" label="Profil"> + <button name="fl_upload_image" label="Prześlij obraz" /> + <button name="fl_change_image" label="Zmień obraz" /> + <button name="fl_remove_image" label="Usuń obraz" /> + <button name="fl_save_changes" label="Zapisz" /> + <button name="fl_discard_changes" label="Odrzuć" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_notes.xml b/indra/newview/skins/default/xui/pl/panel_profile_notes.xml new file mode 100644 index 0000000000..1c3d7f1180 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_notes.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_notes" label="Notatki i prywatność"> + <text name="status_message" value="Twoje notatki o tej osobie. Nikt inny nie może ich zobaczyć." /> + <button name="notes_save_changes" label="Zapisz" /> + <button name="notes_discard_changes" label="Odrzuć" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_pick.xml b/indra/newview/skins/default/xui/pl/panel_profile_pick.xml new file mode 100644 index 0000000000..f8c8005c19 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_pick.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_pick_info"> + <panel.string name="location_notice"> + (zaktualizuje się po zapisaniu) + </panel.string> + <layout_stack name="main_pick_stack"> + <layout_panel name="main_pick_lp"> + <text name="title_label"> + Nazwa: + </text> + <text name="description_label"> + Opis: + </text> + <text name="location_label"> + Lokalizacja: + </text> + <line_editor name="pick_location"> + Ładowanie... + </line_editor> + </layout_panel> + <layout_panel name="save_changes_lp"> + <layout_stack name="save_changes_stack"> + <layout_panel name="map_btn_lp"> + <button name="show_on_map_btn" label="Pokaż na mapie" /> + </layout_panel> + <layout_panel name="tp_btn_lp"> + <button name="teleport_btn" label="Teleportuj" /> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel name="save_changes_lp"> + <layout_stack name="save_changes_stack"> + <layout_panel name="create_btn_lp"> + <button name="create_changes_btn" label="Utwórz" /> + </layout_panel> + <layout_panel name="save_btn_lp"> + <button name="save_changes_btn" label="Zapisz" /> + </layout_panel> + <layout_panel name="cancel_btn_lp"> + <button name="cancel_changes_btn" label="Anuluj" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_picks.xml b/indra/newview/skins/default/xui/pl/panel_profile_picks.xml new file mode 100644 index 0000000000..80d04fe00d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_picks.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_picks" label="Miejsca"> + <string name="no_picks" value="Brak Miejsc" /> + <layout_stack name="main_stack"> + <layout_panel name="buttons_header"> + <text name="header_text"> + Pokaż innym swoje ulubione miejsca w Second Life. + </text> + <button name="new_btn" label="Nowe..." tool_tip="Utwórz nowe Miejsce w obecnej lokalizacji" /> + <button name="delete_btn" label="Usuń..." tool_tip="Usuń aktualnie wybrane Miejsce" /> + </layout_panel> + <layout_panel name="main_body"> + <text name="picks_panel_text"> + Ładowanie... + </text> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_secondlife.xml b/indra/newview/skins/default/xui/pl/panel_profile_secondlife.xml new file mode 100644 index 0000000000..c73ad7d09e --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_secondlife.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_profile" label="Profil"> + <string name="date_format" value="Urodziny: [day,datetime,slt] [mth,datetime,slt] [year,datetime,slt]" /> + <string name="CaptionTextAcctInfo"> +Konto: [ACCTTYPE] +[PAYMENTINFO] + </string> + <layout_stack name="image_stack"> + <layout_panel name="basics_panel"> + <line_editor name="user_name" value="(ładowanie...)" /> + <line_editor name="sl_birth_date" value="(ładowanie...)" /> + <line_editor name="user_age" value="(ładowanie...)" /> + </layout_panel> + <layout_panel name="partner_layout"> + <text name="partner_link" value="Partner: (ładowanie...)" /> + </layout_panel> + <layout_panel name="frind_layout"> + <text name="frind_text" value="Jesteście znajomymi" /> + </layout_panel> + <layout_panel name="account_layout"> + <text name="account_info" value="Konto: (ładowanie...)" /> + </layout_panel> + <layout_panel name="settings_panel"> + <text name="search_label" value="Profil w wyszukiwarce:" /> + <combo_box name="show_in_search" tool_tip="Pozwól innym zobaczyć Cię w wynikach wyszukiwania"> + <combo_box.item name="Hide" label="Ukryj" /> + <combo_box.item name="Show" label="Pokaż" /> + </combo_box> + </layout_panel> + <layout_panel name="menu_panel"> + <menu_button label="Akcje" name="agent_actions_menu" /> + </layout_panel> + </layout_stack> + <layout_stack name="main_stack"> + <layout_panel name="display_name_panel"> + <line_editor name="display_name" value="(ładowanie...)" /> + <icon tool_tip="Znajomy może zobaczyć mój status online" name="can_see_online" /> + <icon tool_tip="Znajomy nie może zobaczyć mojego statusu online" name="cant_see_online" /> + <icon tool_tip="Znajomy może mnie zobaczyć na mapie" name="can_see_on_map" /> + <icon tool_tip="Znajomy nie może mnie zobaczyć na mapie" name="cant_see_on_map" /> + <icon tool_tip="Znajomy może edytować moje obiekty" name="can_edit_objects" /> + <icon tool_tip="Znajomy nie może edytować moich obiektów" name="cant_edit_objects" /> + </layout_panel> + <layout_panel name="about_buttons_panel"> + <button name="save_description_changes" label="Zapisz" /> + <button name="discard_description_changes" label="Odrzuć" /> + </layout_panel> + <layout_panel name="groups_panel"> + <text name="group_label" value="Grupy" /> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_web.xml b/indra/newview/skins/default/xui/pl/panel_profile_web.xml new file mode 100644 index 0000000000..39ede4e674 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_web.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_profile_web" label="Sieć"> + <panel.string name="LoadTime" value="Załadowano w: [TIME] sekund" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_progress.xml b/indra/newview/skins/default/xui/pl/panel_progress.xml new file mode 100644 index 0000000000..22b6a8fcf5 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_progress.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="login_progress_panel"> + <layout_stack name="horizontal_centering"> + <layout_panel name="center"> + <layout_stack name="vertical_centering"> + <layout_panel name="panel4"> + <layout_stack name="vertical_centering"> + <layout_panel name="panel_icons"> + <text name="logos_lbl"> + Second Life używa + </text> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_region_access.xml b/indra/newview/skins/default/xui/pl/panel_region_access.xml new file mode 100644 index 0000000000..0133746917 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_region_access.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Dostęp" name="Access"> + <tab_container name="tabs"> + <panel label="ZARZĄDCY MAJĄTKU" name="estate_managers_panel"> + <text name="estate_manager_label"> + Zarządcy majątku: + </text> + <name_list name="estate_manager_name_list"> + <columns label="Imię" name="name" /> + </name_list> + <button label="Dodaj..." name="add_estate_manager_btn" /> + <button label="Usuń..." name="remove_estate_manager_btn" /> + </panel> + <panel label="DOZWOLENI" name="allowed_panel"> + <panel name="allowed_search_panel"> + <filter_editor label="Szukaj wśród dozwolonych" name="allowed_search_input" /> + <button label="Kopiuj" name="copy_allowed_list_btn" /> + </panel> + <text name="allow_resident_label"> + Zawsze zezwalaj: + </text> + <name_list name="allowed_avatar_name_list"> + <columns label="Imię" name="name" /> + </name_list> + <button label="Dodaj..." name="add_allowed_avatar_btn" /> + <button label="Usuń..." name="remove_allowed_avatar_btn" /> + </panel> + <panel label="DOZWOLONE GRUPY" name="allowed_groups_panel"> + <panel name="allowed_group_search_panel"> + <filter_editor label="Szukaj wśród dozwolonych grup" name="allowed_group_search_input" /> + <button label="Kopiuj" name="copy_allowed_group_list_btn" /> + </panel> + <text name="allow_group_label"> + Zawsze zezwalaj grupom: + </text> + <name_list name="allowed_group_name_list"> + <columns label="Nazwa" name="name" /> + </name_list> + <button label="Dodaj..." name="add_allowed_group_btn" /> + <button label="Usuń..." name="remove_allowed_group_btn" /> + </panel> + <panel label="ZBANOWANI" name="banned_panel"> + <panel name="banned_search_panel"> + <filter_editor label="Szukaj wśród zbanowanych" name="banned_search_input" /> + <button label="Kopiuj" name="copy_banned_list_btn" /> + </panel> + <text name="ban_resident_label"> + Zawsze banuj: + </text> + <name_list name="banned_avatar_name_list"> + <columns label="Imię" name="name" /> + <columns label="Ostatnie logowanie" name="last_login_date" /> + <columns label="Zbanowano" name="ban_date" /> + <columns label="Przez" name="bannedby" /> + </name_list> + <button label="Dodaj..." name="add_banned_avatar_btn" /> + <button label="Usuń..." name="remove_banned_avatar_btn" /> + </panel> + </tab_container> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_region_experiences.xml b/indra/newview/skins/default/xui/pl/panel_region_experiences.xml new file mode 100644 index 0000000000..3ed3f68c65 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_region_experiences.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Przygody" name="Experiences"> + <panel.string name="trusted_estate_text"> +Każda przygoda może być kluczową. + +Przygody kluczowe są dozwolone w tym Majątku. + +Jeśli Majątek ma wyłączony dostęp publiczny, Rezydenci uczestniczący w dowolnej przygodzie kluczowej mogą wejść i pozostać tak długo, jak mają oni ją aktywną. + </panel.string> + <panel.string name="allowed_estate_text"> +Tylko przygody o zasięgu ziemi mogą zostać dozwolone. + +Dozwolone przygody mogą być uruchamiane w tym Majątku. + </panel.string> + <panel.string name="blocked_estate_text"> +Tylko przygody o zasięgu świata mogą zostać blokowane. + +Zablokowane przygody nie mogą być uruchamiane w tym Majątku. + </panel.string> + <panel.string name="estate_caption"> +Zmiany ustawień z tej karty będą mieć wpływ na wszystkie regiony majątku. + </panel.string> + <panel.string name="allowed_parcel_text"> +Tylko przygody o zasięgu ziemi mogą zostać dozwolone. + +Dozwolone przygody mogą być uruchamiane na tej działce, jeśli nie są blokowane przez Majątek. + </panel.string> + <panel.string name="blocked_parcel_text"> +Każda przygoda może zostać zablokowana. + +Zablokowane przygody nie mogą być uruchamiane na tej działce. + </panel.string> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_script_experience.xml b/indra/newview/skins/default/xui/pl/panel_script_experience.xml new file mode 100644 index 0000000000..daae729385 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_script_experience.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<panel name="script_experience" title="PRZYGODA"> + <button name="Expand Experience" label="Przygoda" /> + <check_box label="Używa przygody" name="enable_xp" /> + <layout_stack name="xp_details"> + <layout_panel> + <text> + Skrypt: + </text> + <text> + Powiązane z: + </text> + <text> + Możesz uczestniczyć: + </text> + <text> + Powiąż z: + </text> + </layout_panel> + <layout_panel> + <combo_box label="Wybierz przygodę..." name="Experiences..." /> + </layout_panel> + </layout_stack> + <text name="No Experiences"> + Nie uczestniczysz w żadnych przygodach. + </text> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/pl/panel_settings_sky_atmos.xml new file mode 100644 index 0000000000..a21f9cd20d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_settings_sky_atmos.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Atmosfera i światła" name="panel_settings_sky_atmos"> + <layout_stack name="main_ls"> + <layout_panel name="top_lp"> + <text name="ambient_color_label"> + Kolor otoczenia: + </text> + <text name="blue_horizon_label"> + Horyzont błękitu: + </text> + <text name="blue_density_label"> + Gęstość błękitu: + </text> + </layout_panel> + <layout_panel name="bottom_lp"> + <layout_stack name="atmosphere1"> + <layout_panel name="left_lp"> + <text name="haze_horizon_label"> + Horyzont mgły: + </text> + <text name="haze_density_label"> + Gęstość mgły: + </text> + <text name="moisture_level_label"> + Poziom wilgoci: + </text> + <text name="droplet_radius_label"> + Promień kropli: + </text> + <text name="ice_level_label"> + Poziom lodu: + </text> + <text name="scene_gamma_label"> + Gamma sceny: + </text> + </layout_panel> + <layout_panel name="right_lp"> + <text name="density_multiplier_label"> + Mnożnik gęstości: + </text> + <text name="distance_multiplier_label"> + Mnożnik odległ.: + </text> + <text name="maximum_altitude_label"> + Maksymalna wys.: + </text> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/pl/panel_settings_sky_clouds.xml new file mode 100644 index 0000000000..4a4b693344 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_settings_sky_clouds.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Chmury" name="panel_settings_sky_clouds"> + <layout_stack name="main_ls"> + <layout_panel name="left_lp"> + <text name="cloud_color_label"> + Kolor chmur: + </text> + <text name="cloud_coverage_label"> + Zachmurzenie: + </text> + <text name="cloud_scale_label"> + Rozmiar chmur: + </text> + <text name="cloud_variance_label"> + Zmienność: + </text> + <text name="cloud_scroll_label"> + Przewijanie: + </text> + <text name="cloud_image_label"> + Obraz chmur: + </text> + </layout_panel> + <layout_panel name="right_lp"> + <text name="cloud_density_label"> + Gęstość chmur: + </text> + <slider label="G" name="cloud_density_d" /> + <text name="cloud_detail_label"> + Detale chmur: + </text> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/pl/panel_settings_sky_density.xml new file mode 100644 index 0000000000..1f5cfec4d2 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_settings_sky_density.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Gęstość" name="panel_settings_sky_density"> + <layout_stack name="main_ls"> + <layout_panel name="lp_1"> + <slider name="rayleigh_exponential" label="Okres wykładniczy Rayleigha:" /> + <slider name="rayleigh_exponential_scale" label="Skala wykładnicza Rayleigha:" /> + <slider name="rayleigh_linear" label="Okres liniowy Rayleigha:" /> + <slider name="rayleigh_constant" label="Okres stały Rayleigha:" /> + <slider name="rayleigh_max_altitude" label="Maks. wysokość Rayleigha:" /> + </layout_panel> + <layout_panel name="lp_2"> + <slider name="mie_exponential" label="Okres wykładniczy Mie:" /> + <slider name="mie_exponential_scale" label="Skala wykładnicza Mie:" /> + <slider name="mie_linear" label="Okres liniowy Mie:" /> + <slider name="mie_constant" label="Okres stały Mie:" /> + <slider name="mie_aniso_factor" label="Współczynnik aniso Mie:" /> + <slider name="mie_max_altitude" label="Maks. wysokość Mie:" /> + </layout_panel> + <layout_panel name="lp_3"> + <slider name="absorption_exponential" label="Okres wykładniczy absorpcji:" /> + <slider name="absorption_exponential_scale" label="Skala wykładnicza absorpcji:" /> + <slider name="absorption_linear" label="Okres liniowy absorpcji:" /> + <slider name="absorption_constant" label="Okres stały absorpcji:" /> + <slider name="absorption_max_altitude" label="Maks. wysokość absorpcji:" /> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/pl/panel_settings_sky_sunmoon.xml new file mode 100644 index 0000000000..f807148617 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_settings_sky_sunmoon.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Słońce i Księżyc" name="panel_settings_sky_hbodies"> + <layout_stack name="main_ls"> + <layout_panel name="sun_layout"> + <text name="sun_stars_label"> + Słońce i Księżyc + </text> + <text name="position_label"> + Pozycja: + </text> + <text name="image_label"> + Obraz: + </text> + <text name="scale_label"> + Skala: + </text> + <text name="color_label"> + Kolor: + </text> + <text name="sun_azimuth_label"> + Azymut: + </text> + <text name="sun_elevation_label"> + Elewacja: + </text> + <text name="glow_focus_label"> + Ostrość blasku: + </text> + <text name="glow_size_label"> + Skala blasku: + </text> + <text name="star_brightness_label"> + Jasność gwiazd: + </text> + <check_box label="Pokaż emiter" name="sunbeacon" /> + </layout_panel> + <layout_panel name="moon_layout"> + <layout_stack name="moon_stack"> + <layout_panel name="moon_layout"> + <text name="moon_label"> + Księżyc + </text> + <text name="position_label"> + Pozycja: + </text> + <text name="moon_image_label"> + Obraz: + </text> + <text name="scale_label"> + Skala: + </text> + <text name="moon_azimuth_label"> + Azymut: + </text> + <text name="moon_elevation_label"> + Elewacja: + </text> + <text name="brightness_label"> + Jasność: + </text> + <check_box label="Pokaż emiter" name="moonbeacon" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_settings_water.xml b/indra/newview/skins/default/xui/pl/panel_settings_water.xml new file mode 100644 index 0000000000..928c9ce358 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_settings_water.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Woda" name="panel_settings_water"> + <layout_stack name="water_stack1"> + <layout_panel name="lp_top"> + <text name="water_fog_label"> + Mgła wodna: + </text> + <text name="color_label"> + Kolor: + </text> + <text name="density_exponent_label"> + Wykładnik gęstości: + </text> + <text name="underwater_modifier_label"> + Modyfikator pod wodą: + </text> + <text name="FresnelScaleText"> + Skala Fresnela: + </text> + <text name="FresnelOffsetText"> + Przesun. Fresnela: + </text> + </layout_panel> + <layout_panel name="lp_bottom"> + <layout_stack name="water_stack2"> + <layout_panel name="lp_left"> + <text name="normal_map_label"> + Mapa normalnych + </text> + <text name="large_wave_speed_label"> + Prędkość dużej fali + </text> + <text name="small_wave_speed_label"> + Prędkość małej fali + </text> + <text name="reflection_wavelet_scale_label"> + Skala odbicia falkowego + </text> + </layout_panel> + <layout_panel name="lp_right"> + <text name="refraction_and_blur_label"> + Refrakcja i rozmycie: + </text> + <text name="refraction_scale_above_label"> + Skala refrakcji (powyżej) + </text> + <text name="refraction_scale_below_label"> + Skala refrakcji (poniżej) + </text> + <text name="blur_multiplier_label"> + Mnożnik rozmycia + </text> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_twitter_account.xml b/indra/newview/skins/default/xui/pl/panel_twitter_account.xml deleted file mode 100644 index c8f60b0dc6..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Połączenie z Twitterem jako:" /> - <string name="twitter_disconnected" value="Brak połączenia z Twitterem" /> - <text name="account_caption_label"> - Brak połączenia z Twitterem. - </text> - <panel name="panel_buttons"> - <button label="Połącz..." name="connect_btn" /> - <button label="Rozłącz" name="disconnect_btn" /> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Więcej o wysyłaniu na Twittera] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_twitter_photo.xml b/indra/newview/skins/default/xui/pl/panel_twitter_photo.xml deleted file mode 100644 index 0716d891f5..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_twitter_photo.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Co się dzieje? - </text> - <check_box label="Dołącz lokalizację z SL" name="add_location_cb" /> - <check_box label="Dołącz zdjęcie" name="add_photo_cb" /> - <combo_box name="resolution_combobox" tool_tip="Rozdzielczość obrazka"> - <combo_box.item label="Obecne okno" name="CurrentWindow" /> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtry obrazka"> - <combo_box.item label="Bez filtru" name="NoFilter" /> - </combo_box> - <text name="working_lbl"> - Odświeżanie... - </text> - <button label="Odśwież" name="new_snapshot_btn" tool_tip="Kliknij, aby odświeżyć" /> - <button label="Podgląd" name="big_preview_btn" tool_tip="Kliknij, aby przełączyć podgląd" /> - <button label="Tweetnij" name="post_photo_btn" /> - <button label="Anuluj" name="cancel_photo_btn" /> -</panel> diff --git a/indra/newview/skins/default/xui/pl/widgets/density_ctrl.xml b/indra/newview/skins/default/xui/pl/widgets/density_ctrl.xml new file mode 100644 index 0000000000..fcd7de9eca --- /dev/null +++ b/indra/newview/skins/default/xui/pl/widgets/density_ctrl.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<densityctrl label="Gęstość" name="density_ctrl"> + <text name="exponential_term_label"> + Okres wykładniczy + </text> + <text name="exponential_scale_factor_label"> + Współczynnik skali wykładn. + </text> + <text name="linear_term_label"> + Okres liniowy + </text> + <text name="constant_term_label"> + Okres stały + </text> + <text name="max_altitude_label"> + Maks. wysokość + </text> + <text name="aniso_factor_label"> + Współczynnik anizotropii + </text> +</densityctrl> diff --git a/indra/newview/skins/default/xui/pl/widgets/person_view.xml b/indra/newview/skins/default/xui/pl/widgets/person_view.xml index 2ebe5974d6..7df1663fe0 100644 --- a/indra/newview/skins/default/xui/pl/widgets/person_view.xml +++ b/indra/newview/skins/default/xui/pl/widgets/person_view.xml @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <person_view> - <facebook_icon name="facebook_icon" tool_tip="Użytkownik Facebooka" /> <permission_edit_theirs_icon name="permission_edit_theirs_icon" tool_tip="Możesz edytować obiekty tego Znajomego" /> <permission_edit_mine_icon name="permission_edit_mine_icon" tool_tip="Ten Znajomy może edytować, kasować lub wziąć Twoje obiekty" /> <permission_map_icon tool_tip="Ten Znajomy może zlokalizować Cię na mapie" name="permission_map_icon" /> diff --git a/indra/newview/skins/default/xui/pl/widgets/texture_picker.xml b/indra/newview/skins/default/xui/pl/widgets/texture_picker.xml deleted file mode 100644 index fc35ac714d..0000000000 --- a/indra/newview/skins/default/xui/pl/widgets/texture_picker.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<texture_picker name="texture picker"> - <caption_text label="Wiele" /> -</texture_picker> diff --git a/indra/newview/skins/default/xui/pt/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/pt/floater_edit_day_cycle.xml deleted file mode 100644 index 9e25938986..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Editar ciclo dos dias"> - <string name="title_new"> - Criar novo ciclo de dias - </string> - <string name="title_edit"> - Editar ciclo dos dias - </string> - <string name="hint_new"> - Dê um nome ao seu ciclo dos dias, ajuste os controles para criá-lo e clique em "Salvar". - </string> - <string name="hint_edit"> - Para editar sua configuração do dia, ajuste os controles e clique em "Salvar". - </string> - <string name="combo_label"> - -Selecione uma pré-configuração- - </string> - <text name="label"> - Nome: - </text> - <text name="note"> - Observação: trocar o nome de uma pré-configuração criará uma nova sem modificar a uma pré-configuração atual. - </text> - <text name="hint_item1"> - - Clique em uma guia para editar as configurações e horário de um céu. - </text> - <text name="hint_item2"> - - Clique e arraste as guias para definir as transições. - </text> - <text name="hint_item3"> - - Use a seta para rever o ciclo dos dias. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Adicionar chave" label_selected="Adicionar chave" name="WLAddKey"/> - <button label="Excluir chave" label_selected="Excluir chave" name="WLDeleteKey"/> - <text name="WL12am"> - 24:00 - </text> - <text name="WL3am"> - 03:00 - </text> - <text name="WL6am"> - 06:00 - </text> - <text name="WL9amHash"> - 09:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL3pm"> - 15:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL9pm"> - 21:00 - </text> - <text name="WL12am2"> - 24:00 - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Configuração do céu: - </text> - <combo_box label="Pré-configuração" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - Hora: - </text> - <time name="time" value="06:00"/> - <check_box label="Usar como novo ciclo de dias" name="make_default_cb"/> - <button label="Salvar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/pt/floater_edit_sky_preset.xml deleted file mode 100644 index 6c663e2da8..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Editar predefinição de céu"> - <string name="title_new"> - Criar uma nova predefinição de céu - </string> - <string name="title_edit"> - Editar predefinição de céu - </string> - <string name="hint_new"> - Nomeie sua predefinição, ajuste os controles para criá-la e clique em “Salvar”. - </string> - <string name="hint_edit"> - Para editar a sua predefinição de céu, ajuste os controles e clique em “Salvar”. - </string> - <string name="combo_label"> - -Selecionar uma prefefinição- - </string> - <text name="hint"> - Para editar a sua predefinição, ajuste os controles e clique em “Salvar”. - </text> - <text name="label"> - Nome predefinido: - </text> - <text name="note"> - Note: se você alterar o nome da sua predefinição, você criará uma nova predefinição e a predefinição existente não será alterada. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSFERA" name="Atmosphere"> - <text name="BHText"> - Horizonte azul - </text> - <text name="BDensText"> - Horizonte de neblina - </text> - <text name="BDensText2"> - Densidade azul - </text> - <text name="HDText"> - Densidade da neblina - </text> - <text name="DensMultText"> - Múltipla densidade - </text> - <text name="WLDistanceMultText"> - Múltipla distância - </text> - <text name="MaxAltText"> - Altitude máx. - </text> - </panel> - <panel label="ILUMINAÇÃO" name="Lighting"> - <text name="SLCText"> - Cor do sol/lua - </text> - <text name="WLAmbientText"> - Ambiente - </text> - <text name="SunGlowText"> - Brilho do sol - </text> - <slider label="Enfocar" name="WLGlowB"/> - <slider label="Tamanho" name="WLGlowR"/> - <text name="WLStarText"> - Brilho da estrela - </text> - <text name="SceneGammaText"> - Gama da cena - </text> - <text name="TODText"> - Posição do sol/lua - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 12am - </text> - <text name="WL6am"> - 6am - </text> - <text name="WL12pmHash"> - 12pm - </text> - <text name="WL6pm"> - 6pm - </text> - <text name="WL12am2"> - 12am - </text> - <time name="WLDayTime" value="6:00 AM"/> - <text name="WLEastAngleText"> - Ângulo leste - </text> - </panel> - <panel label="NUVENS" name="Clouds"> - <text name="WLCloudColorText"> - Cor da nuvem - </text> - <text name="WLCloudColorText2"> - Nuvem XY/Densidade - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Cobertura da nuvem - </text> - <text name="WLCloudScaleText"> - Escala da nuvem - </text> - <text name="WLCloudDetailText"> - Detalhe da Nuvem (XY/Densidade) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Rolagem na nuvem X - </text> - <check_box label="Bloquear" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Rolagem na nuvem Y - </text> - <check_box label="Bloquear" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Tornar esta predefinição minha nova configuração de céu" name="make_default_cb"/> - <button label="Salvar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/pt/floater_edit_water_preset.xml deleted file mode 100644 index f94f78c8ae..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Editar predefinição da água"> - <string name="title_new"> - Criar uma nova predefinição da água - </string> - <string name="title_edit"> - Editar uma predefinição da água - </string> - <string name="hint_new"> - Nomeie sua predefinição, ajuste os controles para criá-la e clique em “Salvar”. - </string> - <string name="hint_edit"> - Para editar a sua predefinição da água, ajuste os controles e clique em “Salvar”. - </string> - <string name="combo_label"> - -Selecionar uma prefefinição- - </string> - <text name="hint"> - Para editar a sua predefinição, ajuste os controles e clique em “Salvar”. - </text> - <text name="label"> - Nome predefinido: - </text> - <text name="note"> - Note: se você alterar o nome da sua predefinição, você criará uma nova predefinição e a predefinição existente não será alterada. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Cor da névoa da água - </text> - <text name="water_fog_density_label"> - Exponente de densidade da névoa - </text> - <text name="underwater_fog_modifier_label"> - Modificador da névoa embaixo da água - </text> - <text name="BHText"> - Direção da grande onda - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Escala da reflexão da onda - </text> - <text name="HDText"> - Escala fresnel - </text> - <text name="FresnelOffsetText"> - Offset fresnel - </text> - <text name="BHText2"> - Direção da pequena onda - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Escala de Refratar Acima - </text> - <text name="WaterScaleBelowText"> - Escala de Refratar Abaixo - </text> - <text name="MaxAltText"> - Múltiplo desfoque - </text> - <text name="BHText3"> - Mapa normal - </text> - </panel> - <check_box label="Tornar esta predefinição minha nova configuração da água" name="make_default_cb"/> - <button label="Salvar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_environment_settings.xml b/indra/newview/skins/default/xui/pt/floater_environment_settings.xml deleted file mode 100644 index 40be4dbff4..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="CONFIGURAÇÕES DE AMBIENTE"> - <text name="note"> - Use a opção abaixo para personalizar as configurações de ambiente para o seu visualizador. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Use as configurações da região" name="use_region_settings"/> - <radio_item label="Personalizar meu ambiente" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Nota: suas configurações personalizadas não estarão visíveis para outros usuários. - </text> - <text name="water_settings_title"> - Configurações da água - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Selecionar uma prefefinição-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Céu / Ciclo de dias - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Céu fixo" name="my_sky_settings"/> - <radio_item label="Ciclos de dias" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Selecionar uma prefefinição-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Selecionar uma prefefinição-" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="Cancelar" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_facebook.xml b/indra/newview/skins/default/xui/pt/floater_facebook.xml deleted file mode 100644 index af30582237..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="PUBLICAR NO FACEBOOK"> - <tab_container name="tabs"> - <panel label="STATUS" name="panel_facebook_status"/> - <panel label="FOTO" name="panel_facebook_photo"/> - <panel label="FAZER CHECK IN" name="panel_facebook_place"/> - <panel label="AMIGOS" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Erro - </text> - <text name="connection_loading_text"> - Carregando... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_flickr.xml b/indra/newview/skins/default/xui/pt/floater_flickr.xml deleted file mode 100644 index d048dbb658..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="COMPARTILHAR NO FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="FOTO" name="panel_flickr_photo"/> - <panel label="CONTA" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Erro - </text> - <text name="connection_loading_text"> - Carregando... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml b/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml deleted file mode 100644 index 1204fb93e2..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="CONFIGURAÇÃO DO HARDWARE"> - <text name="Filtering:"> - Filtragem: - </text> - <check_box label="Filtragem Anisotrópica (mais lento quando habilitada)" name="ani"/> - <text name="antialiasing label"> - Suavização: - </text> - <combo_box label="Suavização" name="fsaa" width="94"> - <combo_box.item label="Desativado" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (Reinicie para ativar) - </text> - <spinner label="Gama:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = brilho padrão, menor = mais brilho) - </text> - <text name="Enable VBO:"> - Habilitar VBO: - </text> - <check_box initial_value="true" label="Habilitar Objetos com Armazenamento de Vértices" name="vbo" tool_tip="Habilitando-o em máquinas novas, ele oferece um ganho de performance. Contudo, as máquinas antigas tem freqüentemente implementações pobres de VBOs e você pode ter travamentos quando esta opção é habilitada."/> - <text name="tc label"> - Habilitar S3TC: - </text> - <check_box initial_value="true" label="Habilitar compressão de texturas (requer reinício)" name="texture compression" tool_tip="Comprime as texturas na memória de vídeo, permitindo o carregamento de texturas de maior resolução em detrimento da qualidade da cor."/> - <slider label="Memória de texturas (MB):" name="GraphicsCardTextureMemory" tool_tip="Quanto da memória deve ser alocado para texturas. O padrão é definido pela memória da placa de vídeo. Reduzir este valor pode melhorar o desempenho, mas as texturas podem fica fora de foco."/> - <spinner label="Relação de Distância de Nevoeiro:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_twitter.xml b/indra/newview/skins/default/xui/pt/floater_twitter.xml deleted file mode 100644 index 14bee3ffc3..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="REDIGIR" name="panel_twitter_photo"/> - <panel label="CONTA" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Erro - </text> - <text name="connection_loading_text"> - Carregando... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/pt/panel_edit_classified.xml b/indra/newview/skins/default/xui/pt/panel_edit_classified.xml deleted file mode 100644 index 7b27c811f5..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar anúncio" name="panel_edit_classified"> - <panel.string name="location_notice"> - (salvar para atualizar) - </panel.string> - <string name="publish_label"> - Publicar - </string> - <string name="save_label"> - Salvar - </string> - <text name="title"> - Editar anúncio - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Selecione uma imagem"/> - </panel> - <text name="Name:"> - Cargo: - </text> - <text name="description_label"> - Descrição: - </text> - <text name="location_label"> - Localização: - </text> - <text name="classified_location"> - Carregando... - </text> - <button label="Usar configuração local" name="set_to_curr_location_btn"/> - <text name="category_label" value="Categoria:"/> - <text name="content_type_label" value="Tipo de conteúdo:"/> - <icons_combo_box label="Público geral" name="content_type"> - <icons_combo_box.item label="Moderado" name="mature_ci" value="Adulto"/> - <icons_combo_box.item label="Público geral" name="pg_ci" value="Adequado para menores"/> - </icons_combo_box> - <check_box label="Renovação automática semanal" name="auto_renew"/> - <text name="price_for_listing_label" value="Preço do anúncio:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Preço do anúncio" value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_edit_pick.xml b/indra/newview/skins/default/xui/pt/panel_edit_pick.xml deleted file mode 100644 index 5eb9987e71..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar destaques" name="panel_edit_pick"> - <panel.string name="location_notice"> - (salvar para atualizar) - </panel.string> - <text name="title"> - Editar destaques - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Selecione uma imagem"/> - <text name="Name:"> - Cargo: - </text> - <text name="description_label"> - Descrição: - </text> - <text name="location_label"> - Localização: - </text> - <text name="pick_location"> - Carregando... - </text> - <button label="Usar configuração local" name="set_to_curr_location_btn"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Salvar destaque" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_edit_profile.xml b/indra/newview/skins/default/xui/pt/panel_edit_profile.xml deleted file mode 100644 index 0ba7382845..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_edit_profile.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar perfil" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] [PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Residente"/> - <string name="AcctTypeTrial" value="Teste"/> - <string name="AcctTypeCharterMember" value="Estatuto do membro"/> - <string name="AcctTypeEmployee" value="Contratado da Linden Lab"/> - <string name="PaymentInfoUsed" value="Infor. de pagamento utilizadas"/> - <string name="PaymentInfoOnFile" value="Infor. de pagamento no arquivo"/> - <string name="NoPaymentInfoOnFile" value="Sem infor. de pagamento no arquivo"/> - <string name="AgeVerified" value="Idade Verificada"/> - <string name="NotAgeVerified" value="Idade não Verificada"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=pt - </string> - <string name="no_partner_text" value="Nenhum"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Nome de tela:"/> - <text name="solo_username_label" value="Nome de usuário:"/> - <button name="set_name" tool_tip="Definir nome de tela"/> - <text name="user_label" value="Nome de usuário:"/> - <panel name="lifes_images_panel"> - <icon label="" name="2nd_life_edit_icon" tool_tip="Selecione uma imagem"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Mundo real:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Selecione uma imagem"/> - <text name="title_homepage_text"> - Página web: - </text> - <check_box label="Mostrar nos resultados de busca" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Minha conta:"/> - <text_editor name="acc_status_text" value="Residente. Dados de pagamento: não constam"/> - <text name="my_account_link" value="[[URL] Abrir meu painel]"/> - <text name="title_partner_text" value="Parceiro(a):"/> - <panel name="partner_data_panel"> - <text initial_value="(pesquisando)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Editar]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Salvar alterações" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_facebook_friends.xml b/indra/newview/skins/default/xui/pt/panel_facebook_friends.xml deleted file mode 100644 index 8c5c24d08b..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="No momento, você não tem amigos do Facebook que também são residentes do Second Life. Convide seus amigos do Facebook para ingressar no Second Life hoje mesmo!"/> - <string name="facebook_friends_no_connected" value="No momento, você não está conectado ao Facebook. Vá para a aba Status para se conectar e ativar esse recurso."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Amigos do SL"/> - <accordion_tab name="tab_suggested_friends" title="Adicionar essas pessoas como amigos do SL"/> - </accordion> - <text name="facebook_friends_status"> - Não conectado ao Facebook. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_facebook_photo.xml b/indra/newview/skins/default/xui/pt/panel_facebook_photo.xml deleted file mode 100644 index cdf3222092..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Resolução da imagem"> - <combo_box.item label="Janela atual" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - <combo_box.item label="1200x630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagem"> - <combo_box.item label="Sem filtro" name="NoFilter"/> - </combo_box> - <button label="Atualizar" name="new_snapshot_btn" tool_tip="Clique para atualizar"/> - <button label="Visualizar" name="big_preview_btn" tool_tip="Clique para alternar entre visualizações"/> - <text name="caption_label"> - Comentário (opcional): - </text> - <button label="Postar" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_facebook_place.xml b/indra/newview/skins/default/xui/pt/panel_facebook_place.xml deleted file mode 100644 index aa8b51d64b..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Diga algo sobre onde você está: - </text> - <check_box initial_value="false" label="Incluir vista abstrata da localização" name="add_place_view_cb"/> - <button label="Postar" name="post_place_btn"/> - <button label="Cancelar" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_facebook_status.xml b/indra/newview/skins/default/xui/pt/panel_facebook_status.xml deleted file mode 100644 index 0bbaf1086c..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Você está conectado ao Facebook como:"/> - <string name="facebook_disconnected" value="Não conectado ao Facebook"/> - <text name="account_caption_label"> - Não conectado ao Facebook. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Aprenda a publicar no Facebook] - </text> - </panel> - <text name="status_caption_label"> - No que você está pensando? - </text> - <button label="Postar" name="post_status_btn"/> - <button label="Cancelar" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_flickr_account.xml b/indra/newview/skins/default/xui/pt/panel_flickr_account.xml deleted file mode 100644 index ed240b0013..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Você está conectado ao Flickr como:"/> - <string name="flickr_disconnected" value="Não conectado ao Flickr"/> - <text name="account_caption_label"> - Não conectado ao Flickr. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Aprenda a publicar no Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_flickr_photo.xml b/indra/newview/skins/default/xui/pt/panel_flickr_photo.xml deleted file mode 100644 index 66a4f3ee3e..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Resolução da imagem"> - <combo_box.item label="Janela atual" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagem"> - <combo_box.item label="Sem filtro" name="NoFilter"/> - </combo_box> - <button label="Atualizar" name="new_snapshot_btn" tool_tip="Clique para atualizar"/> - <button label="Visualizar" name="big_preview_btn" tool_tip="Clique para alternar entre visualizações"/> - <text name="title_label"> - Título: - </text> - <text name="description_label"> - Descrição: - </text> - <check_box initial_value="true" label="Incluir localização do SL no final da descrição" name="add_location_cb"/> - <text name="tags_label"> - Tags: - </text> - <text name="tags_help_label"> - Separe as tags com espaços -Use "" para tags com várias palavras - </text> - <combo_box name="rating_combobox" tool_tip="Classificação de conteúdo do Flickr"> - <combo_box.item label="Classificação segura do Flickr" name="SafeRating"/> - <combo_box.item label="Classificação moderada do Flickr" name="ModerateRating"/> - <combo_box.item label="Classificação restrita do Flickr" name="RestrictedRating"/> - </combo_box> - <button label="Compartilhar" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_pick_info.xml b/indra/newview/skins/default/xui/pt/panel_pick_info.xml deleted file mode 100644 index caa140a245..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Detalhes do destaque"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[NAME]"/> - <text_editor name="pick_location" value="[carregando...]"/> - <text_editor name="pick_desc" value="[descrição]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teletransportar" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Editar" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_picks.xml b/indra/newview/skins/default/xui/pt/panel_picks.xml deleted file mode 100644 index 2ff1eed624..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Destaques" name="panel_picks"> - <string name="no_picks" value="Sem destaques"/> - <string name="no_classifieds" value="Sem classificados"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Destaques"/> - <accordion_tab name="tab_classifieds" title="Classificados"/> - </accordion> - <panel label="bottom_panel" name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="Criar um novo destaque ou classificado na localização atual"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Info" name="info_btn" tool_tip="Exibir dados do destaque"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teletransportar" name="teleport_btn" tool_tip="Teletransportar para a área correspondente"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn" tool_tip="Exibir a área correspondente no Mapa Mundi"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_twitter_account.xml b/indra/newview/skins/default/xui/pt/panel_twitter_account.xml deleted file mode 100644 index 32ab437786..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Você está conectado ao Twitter como:"/> - <string name="twitter_disconnected" value="Não conectado ao Twitter"/> - <text name="account_caption_label"> - Não conectado ao Twitter. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Aprenda a publicar no Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_twitter_photo.xml b/indra/newview/skins/default/xui/pt/panel_twitter_photo.xml deleted file mode 100644 index 7c4990f71e..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Próximas etapas? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="Incluir localização do SL" name="add_location_cb"/> - <check_box initial_value="true" label="Incluir uma foto" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Resolução da imagem"> - <combo_box.item label="Janela atual" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagem"> - <combo_box.item label="Sem filtro" name="NoFilter"/> - </combo_box> - <button label="Atualizar" name="new_snapshot_btn" tool_tip="Clique para atualizar"/> - <button label="Visualizar" name="big_preview_btn" tool_tip="Clique para alternar entre visualizações"/> - <button label="Enviar tweet" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ru/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/ru/floater_edit_day_cycle.xml deleted file mode 100644 index 61d708c567..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Изменить суточный цикл"> - <string name="title_new"> - Создать суточный цикл - </string> - <string name="title_edit"> - Изменить суточный цикл - </string> - <string name="hint_new"> - Введите имя суточного цикла, задайте его параметры с помощью элементов управления и нажмите кнопку «Сохранить». - </string> - <string name="hint_edit"> - Чтобы изменить суточный цикл, задайте его параметры с помощью элементов управления ниже и нажмите кнопку «Сохранить». - </string> - <string name="combo_label"> - -Выбор настройки- - </string> - <text name="label"> - Имя настройки: - </text> - <text name="note"> - Примечание. Если изменить имя настройки, будет создана новая настройка, а изменения в существующей не будут сохранены. - </text> - <text name="hint_item1"> - - Для изменения настроек неба и времени выберите соответствующую вкладку. - </text> - <text name="hint_item2"> - - Чтобы задать время переходов, перетаскивайте вкладки. - </text> - <text name="hint_item3"> - - Скребок служит для просмотра суточного цикла. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="+ отметку" label_selected="+ отметку" name="WLAddKey"/> - <button label="- отметку" label_selected="- отметку" name="WLDeleteKey"/> - <text name="WL12am"> - 12 ночи - </text> - <text name="WL3am"> - 3 ночи - </text> - <text name="WL6am"> - 6 утра - </text> - <text name="WL9amHash"> - 9 утра - </text> - <text name="WL12pmHash"> - 12 дня - </text> - <text name="WL3pm"> - 3 дня - </text> - <text name="WL6pm"> - 6 вечера - </text> - <text name="WL9pm"> - 9 вечера - </text> - <text name="WL12am2"> - 12 ночи - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Небо: - </text> - <combo_box label="Стандарт" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - Время: - </text> - <time name="time" value="6:00"/> - <check_box label="Установить как новый суточный цикл" name="make_default_cb"/> - <button label="Сохранить" name="save"/> - <button label="Отмена" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml deleted file mode 100644 index 041474f659..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Изменить настройку неба"> - <string name="title_new"> - Создать настройку неба - </string> - <string name="title_edit"> - Изменить настройку неба - </string> - <string name="hint_new"> - Введите имя настройки, задайте ее параметры с помощью элементов управления и нажмите кнопку «Сохранить». - </string> - <string name="hint_edit"> - Чтобы изменить настройку неба, задайте ее параметры с помощью элементов управления и нажмите кнопку «Сохранить». - </string> - <string name="combo_label"> - -Выбор настройки- - </string> - <text name="hint"> - Чтобы изменить настройку, задайте ее параметры с помощью элементов управления и нажмите кнопку «Сохранить». - </text> - <text name="label"> - Имя настройки: - </text> - <text name="note"> - Примечание: если изменить имя настройки, будет создана новая настройка, а существующая настройка останется без изменения. - </text> - <tab_container name="WindLight Tabs"> - <panel label="АТМОСФЕРА" name="Atmosphere"> - <text name="BHText"> - Голубой горизонт - </text> - <text name="BDensText"> - Дымка на горизонте - </text> - <text name="BDensText2"> - Насыщенность голубого - </text> - <text name="HDText"> - Плотность дымки - </text> - <text name="DensMultText"> - Коэффициент плотности - </text> - <text name="WLDistanceMultText"> - Коэффициент расстояния - </text> - <text name="MaxAltText"> - Максимальная высота - </text> - </panel> - <panel label="ОСВЕЩЕНИЕ" name="Lighting"> - <text name="SLCText"> - Цвет солнца/луны - </text> - <text name="WLAmbientText"> - Окружающая среда - </text> - <text name="SunGlowText"> - Сияние солнца - </text> - <slider label="Фокус" name="WLGlowB"/> - <slider label="Размер" name="WLGlowR"/> - <text name="WLStarText"> - Яркость звезд - </text> - <text name="SceneGammaText"> - Гамма-коррекция сцены - </text> - <text name="TODText"> - Положение солнца/луны - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 12 часов ночи - </text> - <text name="WL6am"> - 6 часов утра - </text> - <text name="WL12pmHash"> - 12 часов пополудни - </text> - <text name="WL6pm"> - 6 часов вечера - </text> - <text name="WL12am2"> - 12 часов ночи - </text> - <time name="WLDayTime" value="6:00 часов утра"/> - <text name="WLEastAngleText"> - Смещение относительно востока - </text> - </panel> - <panel label="ОБЛАКА" name="Clouds"> - <text name="WLCloudColorText"> - Цвет облака - </text> - <text name="WLCloudColorText2"> - Координаты XY/плотность облака - </text> - <slider label="Х" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Облачность - </text> - <text name="WLCloudScaleText"> - Шкала облачности - </text> - <text name="WLCloudDetailText"> - Детализация облака (координаты XY/плотность) - </text> - <slider label="Х" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Перемещение облака по координате X - </text> - <check_box label="Фиксация" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Перемещение облака по координате Y - </text> - <check_box label="Фиксация" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Применить эту настройку неба" name="make_default_cb"/> - <button label="Сохранить" name="save"/> - <button label="Отмена" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml deleted file mode 100644 index 2ebbb11fce..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Изменить настройку воды"> - <string name="title_new"> - Создать новую настройку воды - </string> - <string name="title_edit"> - Изменение настройки воды - </string> - <string name="hint_new"> - Введите имя настройки, задайте ее параметры с помощью элементов управления и нажмите кнопку «Сохранить». - </string> - <string name="hint_edit"> - Чтобы изменить настройку воды, задайте параметры с помощью элементов управления и нажмите кнопку «Сохранить». - </string> - <string name="combo_label"> - -Выбор настройки- - </string> - <text name="hint"> - Чтобы изменить настройку, задайте ее параметры с помощью элементов управления и нажмите кнопку «Сохранить». - </text> - <text name="label"> - Имя настройки: - </text> - <text name="note"> - Примечание: если изменить имя настройки, будет создана новая настройка, а существующая настройка останется без изменения. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Цвет водяного тумана - </text> - <text name="water_fog_density_label"> - Показатель плотности тумана - </text> - <text name="underwater_fog_modifier_label"> - Модификатор тумана подземных вод - </text> - <text name="BHText"> - Направление больших волн - </text> - <slider label="Х" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Масштаб отражённого импульса - </text> - <text name="HDText"> - Френелевский масштаб - </text> - <text name="FresnelOffsetText"> - Угловая зависимость - </text> - <text name="BHText2"> - Направление ряби - </text> - <slider label="Х" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Преломление (над водой) - </text> - <text name="WaterScaleBelowText"> - Преломление (под водой) - </text> - <text name="MaxAltText"> - Коэффициент размытия - </text> - <text name="BHText3"> - Карта нормалей - </text> - </panel> - <check_box label="Применить эту новую настройку воды" name="make_default_cb"/> - <button label="Сохранить" name="save"/> - <button label="Отмена" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_environment_settings.xml b/indra/newview/skins/default/xui/ru/floater_environment_settings.xml deleted file mode 100644 index 226f07face..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="НАСТРОЙКИ СРЕДЫ"> - <text name="note"> - Приведенные ниже параметры позволяют настроить окружающую среду для средства просмотра. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Использовать настройки региона" name="use_region_settings"/> - <radio_item label="Настроить среду" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Примечание: ваши настройки не будут видны другим пользователям. - </text> - <text name="water_settings_title"> - Настройка воды - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Выбор настройки-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Небо/суточный цикл - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Зафиксированное небо" name="my_sky_settings"/> - <radio_item label="Суточный цикл" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Выбор настройки-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Выбор настройки-" name="item0"/> - </combo_box> - </panel> - <button label="ОК" name="ok_btn"/> - <button label="Отмена" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_facebook.xml b/indra/newview/skins/default/xui/ru/floater_facebook.xml deleted file mode 100644 index cbf32cb682..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="ОПУБЛИКОВАТЬ В FACEBOOK"> - <tab_container name="tabs"> - <panel label="СТАТУС" name="panel_facebook_status"/> - <panel label="ФОТО" name="panel_facebook_photo"/> - <panel label="ВХОД" name="panel_facebook_place"/> - <panel label="ДРУЗЬЯ" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Ошибка - </text> - <text name="connection_loading_text"> - Загрузка... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_flickr.xml b/indra/newview/skins/default/xui/ru/floater_flickr.xml deleted file mode 100644 index 67a3bedc6b..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="ПОДЕЛИТЬСЯ В FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="ФОТО" name="panel_flickr_photo"/> - <panel label="АККАУНТ" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Ошибка - </text> - <text name="connection_loading_text"> - Загрузка... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_hardware_settings.xml b/indra/newview/skins/default/xui/ru/floater_hardware_settings.xml deleted file mode 100644 index d7da112a27..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="АППАРАТНЫЕ НАСТРОЙКИ"> - <text name="Filtering:"> - Фильтрация: - </text> - <check_box label="Анизотропная фильтрация (медленнее, если включено)" name="ani"/> - <text name="antialiasing label"> - Сглаживание: - </text> - <combo_box label="Сглаживание" name="fsaa"> - <combo_box.item label="Выключено" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (требуется перезапуск) - </text> - <spinner label="Гамма:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (чем меньше, тем ярче. 0 – яркость по умолчанию) - </text> - <text name="Enable VBO:"> - Включить VBO: - </text> - <check_box initial_value="true" label="Включить объекты вершинных буферов OpenGL" name="vbo" tool_tip="Включение этого параметра на современном оборудовании даст увеличение производительности. Однако на старом оборудовании это может привести к сбою приложения."/> - <text name="tc label"> - Включить S3TC: - </text> - <check_box initial_value="true" label="Разрешить сжатие текстур (требует перезагрузки)" name="texture compression" tool_tip="Сжатие текстур в видеопамяти, что позволяет загружать текстуры большего размера за счет некоторого падения качества цвета."/> - <slider label="Память для текстур (Мб):" name="GraphicsCardTextureMemory" tool_tip="Количество памяти, отводимое для текстур. По умолчанию равно памяти видеокарты. Уменьшение поможет увеличить производительность, но текстуры могут стать размытыми."/> - <spinner label="Дистанция тумана:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_twitter.xml b/indra/newview/skins/default/xui/ru/floater_twitter.xml deleted file mode 100644 index 3b9493ce98..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="НАПИСАТЬ" name="panel_twitter_photo"/> - <panel label="АККАУНТ" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Ошибка - </text> - <text name="connection_loading_text"> - Загрузка... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/ru/panel_edit_classified.xml b/indra/newview/skins/default/xui/ru/panel_edit_classified.xml deleted file mode 100644 index ec457c4565..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Изменить рекламу" name="panel_edit_classified"> - <panel.string name="location_notice"> - (будет обновлено после сохранения) - </panel.string> - <string name="publish_label"> - Опубликовать - </string> - <string name="save_label"> - Сохранить - </string> - <text name="title"> - Изменить рекламу - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Щелкните для выбора изображения"/> - </panel> - <text name="Name:"> - Название: - </text> - <text name="description_label"> - Описание: - </text> - <text name="location_label"> - Место: - </text> - <text name="classified_location"> - загрузка... - </text> - <button label="Использовать текущее место" name="set_to_curr_location_btn"/> - <text name="category_label" value="Категория:"/> - <text name="content_type_label" value="Тип контента:"/> - <icons_combo_box label="General-контент" name="content_type"> - <icons_combo_box.item label="Moderate-контент" name="mature_ci" value="Mature-контент"/> - <icons_combo_box.item label="General-контент" name="pg_ci" value="PG-контент"/> - </icons_combo_box> - <check_box label="Автоматическая оплата каждую неделю" name="auto_renew"/> - <text name="price_for_listing_label" value="Стоимость размещения:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Стоимость размещения." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Отменить" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_edit_pick.xml b/indra/newview/skins/default/xui/ru/panel_edit_pick.xml deleted file mode 100644 index 6be1448ac5..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Изменить подборку" name="panel_edit_pick"> - <panel.string name="location_notice"> - (будет обновлено после сохранения) - </panel.string> - <text name="title"> - Изменить подборку - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Щелкните для выбора изображения"/> - <text name="Name:"> - Название: - </text> - <text name="description_label"> - Описание: - </text> - <text name="location_label"> - Место: - </text> - <text name="pick_location"> - загрузка… - </text> - <button label="Поставить текущее место" name="set_to_curr_location_btn"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Сохранить подборку" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Отмена" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_edit_profile.xml b/indra/newview/skins/default/xui/ru/panel_edit_profile.xml deleted file mode 100644 index e9a6a781db..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_edit_profile.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Редактирование профиля" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Житель"/> - <string name="AcctTypeTrial" value="Гость"/> - <string name="AcctTypeCharterMember" value="Учредитель"/> - <string name="AcctTypeEmployee" value="Сотрудник Linden Lab"/> - <string name="PaymentInfoUsed" value="Использована информация о платежах"/> - <string name="PaymentInfoOnFile" value="Зарегистрирована информация о платежах"/> - <string name="NoPaymentInfoOnFile" value="Не зарегистрирована информация о платежах"/> - <string name="AgeVerified" value="Возраст проверен"/> - <string name="NotAgeVerified" value="Возраст не проверен"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url"> - http://secondlife.com/my - </string> - <string name="no_partner_text" value="Нет"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Экранное имя:"/> - <text name="solo_username_label" value="Имя пользователя:"/> - <button name="set_name" tool_tip="Задать экранное имя"/> - <text name="user_label" value="Имя пользователя:"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="Щелкните для выбора изображения"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Реальный мир:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Щелкните для выбора изображения"/> - <text name="title_homepage_text"> - Домашняя страница: - </text> - <line_editor name="homepage_edit" value="http://"/> - <text name="title_acc_status_text" value="Мой аккаунт:"/> - <text_editor name="acc_status_text" value="Житель. В файле нет информации о платежах."/> - <text name="my_account_link" value="[[URL] Перейти на информационную панель]"/> - <text name="title_partner_text" value="Мой партнер:"/> - <panel name="partner_data_panel"> - <text initial_value="(получение информации)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Редактировать]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Сохранить изменения" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Отмена" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_facebook_friends.xml b/indra/newview/skins/default/xui/ru/panel_facebook_friends.xml deleted file mode 100644 index 1e4d1346f7..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Сейчас у вас нет друзей в Facebook, которые являются также жителями Second Life. Предложите своим друзьям в Facebook присоединиться к Second Life!"/> - <string name="facebook_friends_no_connected" value="Сейчас вы не подключены к Facebook. Перейдите на вкладку «Статус», чтобы подключиться и включить эту функцию."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Друзья по SL"/> - <accordion_tab name="tab_suggested_friends" title="Добавить этих людей как друзей по SL"/> - </accordion> - <text name="facebook_friends_status"> - Не подключено к Facebook. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_facebook_photo.xml b/indra/newview/skins/default/xui/ru/panel_facebook_photo.xml deleted file mode 100644 index 50296778ff..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Разрешение изображения"> - <combo_box.item label="Текущее окно" name="CurrentWindow"/> - <combo_box.item label="640 x 480" name="640x480"/> - <combo_box.item label="800 x 600" name="800x600"/> - <combo_box.item label="1024 x 768" name="1024x768"/> - <combo_box.item label="1200 x 630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Фильтры изображений"> - <combo_box.item label="Без фильтра" name="NoFilter"/> - </combo_box> - <button label="Обновить" name="new_snapshot_btn" tool_tip="Щелкнуть для обновления"/> - <button label="Предпросмотр" name="big_preview_btn" tool_tip="Щелкнуть для смены вида"/> - <text name="caption_label"> - Комментарий (не обязательно): - </text> - <button label="Опубликовать" name="post_photo_btn"/> - <button label="Отменить" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_facebook_place.xml b/indra/newview/skins/default/xui/ru/panel_facebook_place.xml deleted file mode 100644 index a7fadca059..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Сообщите, где вы находитесь: - </text> - <check_box initial_value="false" label="Включить вид места сверху" name="add_place_view_cb"/> - <button label="Опубликовать" name="post_place_btn"/> - <button label="Отменить" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_facebook_status.xml b/indra/newview/skins/default/xui/ru/panel_facebook_status.xml deleted file mode 100644 index 826ac6a08c..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Вы подключились к Facebook как:"/> - <string name="facebook_disconnected" value="Нет подключения к Facebook"/> - <text name="account_caption_label"> - Нет подключения к Facebook. - </text> - <panel name="panel_buttons"> - <button label="Соединение..." name="connect_btn"/> - <button label="Разъединить" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Узнать о публикации в Facebook] - </text> - </panel> - <text name="status_caption_label"> - О чем вы думаете? - </text> - <button label="Опубликовать" name="post_status_btn"/> - <button label="Отменить" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_flickr_account.xml b/indra/newview/skins/default/xui/ru/panel_flickr_account.xml deleted file mode 100644 index 9f70bf8042..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Вы подключились к Flickr как:"/> - <string name="flickr_disconnected" value="Не подключено к Flickr"/> - <text name="account_caption_label"> - Не подключено к Flickr. - </text> - <panel name="panel_buttons"> - <button label="Подключение..." name="connect_btn"/> - <button label="Отключить" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 О публикации в Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_flickr_photo.xml b/indra/newview/skins/default/xui/ru/panel_flickr_photo.xml deleted file mode 100644 index f4cff55db2..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_flickr_photo.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Разрешение изображения"> - <combo_box.item label="Текущее окно" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Фильтры изображений"> - <combo_box.item label="Без фильтра" name="NoFilter"/> - </combo_box> - <button label="Обновить" name="new_snapshot_btn" tool_tip="Щелкните для обновления"/> - <button label="Просмотр" name="big_preview_btn" tool_tip="Щелкните для смены вида"/> - <text name="title_label"> - Название: - </text> - <text name="description_label"> - Описание: - </text> - <check_box initial_value="true" label="Добавить в конец описания расположение в SL" name="add_location_cb"/> - <text name="tags_label"> - Теги: - </text> - <text name="tags_help_label"> - Разделяйте теги пробелами. Теги из нескольких слов заключайте в кавычки. - </text> - <combo_box name="rating_combobox" tool_tip="Рейтинг контента Flickr"> - <combo_box.item label="Безопасный рейтинг Flickr" name="SafeRating"/> - <combo_box.item label="Умеренный рейтинг Flickr" name="ModerateRating"/> - <combo_box.item label="Ограниченный рейтинг Flickr" name="RestrictedRating"/> - </combo_box> - <button label="Поделиться" name="post_photo_btn"/> - <button label="Отмена" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_pick_info.xml b/indra/newview/skins/default/xui/ru/panel_pick_info.xml deleted file mode 100644 index 373cf211fb..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="О подборке"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[название]"/> - <text_editor name="pick_location" value="[загрузка...]"/> - <text_editor name="pick_desc" value="[описание]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Телепорт" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Карта" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Изменить" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_picks.xml b/indra/newview/skins/default/xui/ru/panel_picks.xml deleted file mode 100644 index d6770e0eeb..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Подборка" name="panel_picks"> - <string name="no_picks" value="Нет подборки"/> - <string name="no_classifieds" value="Нет рекламы"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Подборка"/> - <accordion_tab name="tab_classifieds" title="Реклама"/> - </accordion> - <panel label="bottom_panel" name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="Создать подборку или рекламу на этом месте"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Данные" name="info_btn" tool_tip="Показать данные о подборке"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Телепортироваться" name="teleport_btn" tool_tip="Телепортация в соответствующую область"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Карта" name="show_on_map_btn" tool_tip="Показать соответствующую область на карте мира"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_twitter_account.xml b/indra/newview/skins/default/xui/ru/panel_twitter_account.xml deleted file mode 100644 index 140554f5c6..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Вы подключились к Twitter как:"/> - <string name="twitter_disconnected" value="Не подключено к Twitter"/> - <text name="account_caption_label"> - Не подключено к Twitter. - </text> - <panel name="panel_buttons"> - <button label="Подключение..." name="connect_btn"/> - <button label="Отключить" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 О публикации в Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_twitter_photo.xml b/indra/newview/skins/default/xui/ru/panel_twitter_photo.xml deleted file mode 100644 index 6c9035323a..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Что случилось? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="Включить расположение в SL" name="add_location_cb"/> - <check_box initial_value="true" label="Включить фото" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Разрешение изображения"> - <combo_box.item label="Текущее окно" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Фильтры изображений"> - <combo_box.item label="Без фильтра" name="NoFilter"/> - </combo_box> - <button label="Обновить" name="new_snapshot_btn" tool_tip="Щелкните для обновления"/> - <button label="Просмотр" name="big_preview_btn" tool_tip="Щелкните для смены вида"/> - <button label="Твит" name="post_photo_btn"/> - <button label="Отмена" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/tr/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/tr/floater_edit_day_cycle.xml deleted file mode 100644 index 4be1068dcc..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Gün Döngüsünü Düzenle"> - <string name="title_new"> - Yeni Bir Gün Döngüsü Oluştur - </string> - <string name="title_edit"> - Gün Döngüsünü Düzenle - </string> - <string name="hint_new"> - Gün döngünüzü adlandırın, bunu oluşturmak için denetimleri ayarlayın ve "Kaydet" üzerine tıklayın. - </string> - <string name="hint_edit"> - Gün döngünüzü düzenlemek için alttaki denetimleri ayarlayın ve "Kaydet" üzerine tıklayın. - </string> - <string name="combo_label"> - -Bir ön ayar seçin- - </string> - <text name="label"> - Ön Ayar Adı: - </text> - <text name="note"> - Not: Ön ayarınızın adını değiştirirseniz, yeni bir ön ayar oluşturursunuz ve mevcut ön ayar değişmez. - </text> - <text name="hint_item1"> - - Birine tıklayarak gökyüzü ayarlarını/zamanı düzenleyin. - </text> - <text name="hint_item2"> - - Sekmelere tıklayıp sürükleyerek geçiş sürlrn. ayarlayın. - </text> - <text name="hint_item3"> - - Gün döngünüzü önizlemek için fırçayı kullanın. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Anahtar Ekle" label_selected="Anahtar Ekle" name="WLAddKey"/> - <button label="Anahtarı Sil" label_selected="Anahtarı Sil" name="WLDeleteKey"/> - <text name="WL12am"> - 12 - </text> - <text name="WL3am"> - 3 - </text> - <text name="WL6am"> - 6 - </text> - <text name="WL9amHash"> - 9 - </text> - <text name="WL12pmHash"> - 24 - </text> - <text name="WL3pm"> - 15 - </text> - <text name="WL6pm"> - 18 - </text> - <text name="WL9pm"> - 21 - </text> - <text name="WL12am2"> - 12 - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Gökyüzü Ayarı: - </text> - <combo_box label="Ön Ayar" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - Zaman: - </text> - <time name="time" value="6:00"/> - <check_box label="Bunu yeni gün döngüm yap" name="make_default_cb"/> - <button label="Kaydet" name="save"/> - <button label="İptal" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/tr/floater_edit_sky_preset.xml deleted file mode 100644 index b09115332b..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Gökyüzü Ön Ayarını Düzenle"> - <string name="title_new"> - Yeni bir Gökyüzü Ön Ayarı Oluştur - </string> - <string name="title_edit"> - Gökyüzü Ön Ayarını Düzenle - </string> - <string name="hint_new"> - Ön ayarınızı adlandırın, bunu oluşturmak için denetimleri ayarlayın ve "Kaydet" düğmesine tıklayın. - </string> - <string name="hint_edit"> - Gökyüzü ön ayarınızı düzenlemek için, denetimleri ayarlayın ve "Kaydet" düğmesine tıklayın. - </string> - <string name="combo_label"> - -Bir ön ayar seçin- - </string> - <text name="hint"> - Ön ayarınızı düzenlemek için, denetimleri ayarlayın, sonra "Kaydet» düğmesine tıklayın. - </text> - <text name="label"> - Ön Ayar Adı: - </text> - <text name="note"> - Not: ön ayarınızın adını değiştirirseniz, yeni bir ön ayar oluşturursunuz ve mevcut ön ayar değişmez. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSFER" name="Atmosphere"> - <text name="BHText"> - Mavi Ufuk - </text> - <text name="BDensText"> - Puslu Ufuk - </text> - <text name="BDensText2"> - Mavi Yoğunluğu - </text> - <text name="HDText"> - Pus Yoğunluğu - </text> - <text name="DensMultText"> - Yoğunluk Çarpanı - </text> - <text name="WLDistanceMultText"> - Mesafe Çarpanı - </text> - <text name="MaxAltText"> - Maks. İrtifa - </text> - </panel> - <panel label="AYDINLATMA" name="Lighting"> - <text name="SLCText"> - Güneş/Ay Rengi - </text> - <text name="WLAmbientText"> - Ortam - </text> - <text name="SunGlowText"> - Güneş Parıltısı - </text> - <slider label="Odak" name="WLGlowB"/> - <slider label="Büyüklük" name="WLGlowR"/> - <text name="WLStarText"> - Yıldız Parlaklığı - </text> - <text name="SceneGammaText"> - Sahne Gama Ayarı - </text> - <text name="TODText"> - Güneş/Ay Konumu - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 00:00 - </text> - <text name="WL6am"> - 06:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL12am2"> - 00:00 - </text> - <time name="WLDayTime" value="06:00"/> - <text name="WLEastAngleText"> - Doğu Açısı - </text> - </panel> - <panel label="BULUTLAR" name="Clouds"> - <text name="WLCloudColorText"> - Bulut Rengi - </text> - <text name="WLCloudColorText2"> - Bulut XY/Yoğunluğu - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Bulut Örtüsü - </text> - <text name="WLCloudScaleText"> - Bulut Hacmi - </text> - <text name="WLCloudDetailText"> - Bulut Ayrıntısı (XY/Yoğunluğu) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Bulut Kaydırma X - </text> - <check_box label="Kilitle" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Bulut Kaydırma Y - </text> - <check_box label="Kilitle" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Bu ön ayarı yeni gökyüzü ayarım yap" name="make_default_cb"/> - <button label="Kaydet" name="save"/> - <button label="İptal Et" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/tr/floater_edit_water_preset.xml deleted file mode 100644 index f44af3c6e6..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Su Ön Ayarını Düzenle"> - <string name="title_new"> - Yeni bir Su Ön Ayarı Oluştur - </string> - <string name="title_edit"> - Bir Su Ön Ayarını Düzenle - </string> - <string name="hint_new"> - Ön ayarınızı adlandırın, bunu oluşturmak için denetimleri ayarlayın ve "Kaydet" düğmesine tıklayın. - </string> - <string name="hint_edit"> - Su ön ayarınızı düzenlemek için, denetimleri ayarlayın ve "Kaydet" düğmesine tıklayın. - </string> - <string name="combo_label"> - -Bir ön ayar seçin- - </string> - <text name="hint"> - Ön ayarınızı düzenlemek için, denetimleri ayarlayın, sonra "Kaydet» düğmesine tıklayın. - </text> - <text name="label"> - Ön Ayar Adı: - </text> - <text name="note"> - Not: ön ayarınızın adını değiştirirseniz, yeni bir ön ayar oluşturursunuz ve mevcut ön ayar değişmez. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Su Sisi Rengi - </text> - <text name="water_fog_density_label"> - Sis Yoğunluğu Üssü - </text> - <text name="underwater_fog_modifier_label"> - Sualtı Sis Değiştiricisi - </text> - <text name="BHText"> - Büyük Dalga Yönü - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Yansıma Dalgacığı Ölçeği - </text> - <text name="HDText"> - Fresnel Ölçeği - </text> - <text name="FresnelOffsetText"> - Fresnel Dengeleme - </text> - <text name="BHText2"> - Küçük Dalga Yönü - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Yukarıdan Kırılma Ölçeği - </text> - <text name="WaterScaleBelowText"> - Aşağıdan Kırılma Ölçeği - </text> - <text name="MaxAltText"> - Bulanıklaştırma Çarpanı - </text> - <text name="BHText3"> - Normal Harita - </text> - </panel> - <check_box label="Bu ön ayarı yeni su ayarım yap" name="make_default_cb"/> - <button label="Kaydet" name="save"/> - <button label="İptal Et" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_environment_settings.xml b/indra/newview/skins/default/xui/tr/floater_environment_settings.xml deleted file mode 100644 index 0ddd46994b..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="ORTAM AYARLARI"> - <text name="note"> - Görüntüleyicinizin ortam ayarlarını özelleştirmek için aşağıdaki seçenekleri kullanın. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Bölge ayarlarını kullan" name="use_region_settings"/> - <radio_item label="Ortamımı özelleştir" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Not: özel ayarlarınız diğer kullanıcılar tarafından görülmez. - </text> - <text name="water_settings_title"> - Su Ayarı - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Bir ön ayar seçin-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Gökyüzü / Gün Döngüsü - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Sabit gökyüzü" name="my_sky_settings"/> - <radio_item label="Gün döngüsü" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Bir ön ayar seçin-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Bir ön ayar seçin-" name="item0"/> - </combo_box> - </panel> - <button label="Tamam" name="ok_btn"/> - <button label="İptal Et" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_facebook.xml b/indra/newview/skins/default/xui/tr/floater_facebook.xml deleted file mode 100644 index d8cbd84ed1..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="FACEBOOK'TA YAYINLA"> - <tab_container name="tabs"> - <panel label="DURUM" name="panel_facebook_status"/> - <panel label="FOTOĞRAF" name="panel_facebook_photo"/> - <panel label="GİRİŞ YAP" name="panel_facebook_place"/> - <panel label="ARKADAŞLAR" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Hata - </text> - <text name="connection_loading_text"> - Yükleniyor... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_flickr.xml b/indra/newview/skins/default/xui/tr/floater_flickr.xml deleted file mode 100644 index f559808f44..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="FLICKR'DA PAYLAŞ"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="FOTOĞRAF" name="panel_flickr_photo"/> - <panel label="HESAP" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Hata - </text> - <text name="connection_loading_text"> - Yükleniyor... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_hardware_settings.xml b/indra/newview/skins/default/xui/tr/floater_hardware_settings.xml deleted file mode 100644 index b204389083..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="DONANIM AYARLARI"> - <text name="Filtering:"> - Filtreleme: - </text> - <check_box label="Anisotropik Filtreleme (etkinken daha yavaş)" name="ani"/> - <text name="antialiasing label"> - Düzgünleştirme: - </text> - <combo_box label="Antialiasing" name="fsaa"> - <combo_box.item label="Devre dışı" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (görüntülemeyi eniden başlatma gerekir) - </text> - <spinner label="Gama:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = varsayılan parlaklık, düşük = daha parlak) - </text> - <text name="Enable VBO:"> - VBO Etkinleştir: - </text> - <check_box initial_value="true" label="OpenGL Vertex Tampon Nesnelerini Etkinleştir" name="vbo" tool_tip="Modern donanımlarda bunun etkinleştirilmesi performans artışı sağlar. Ancak, eski donanımlardaki VBO uygulamaları yetersizdir ve etkinleştirildiğinde bilgisayarınız çökebilir."/> - <text name="tc label"> - S3TC'ü Etkinleştir: - </text> - <check_box initial_value="true" label="Doku Sıkıştırmasını Etkinleştir (yeniden başlatma gerektirir)" name="texture compression" tool_tip="Video bellekteki dokuları sıkıştırır, renk kalitesinde bazı kayıplar olmasına karşın daha yüksek çözünürlükte dokuların yüklenmesine imkan tanır."/> - <slider label="Doku Belleği (MB):" name="GraphicsCardTextureMemory" tool_tip="Dokular için tahsis edilecek bellek miktarı. Varsayılan değer video kartı belleğidir. Bu değerin küçültülmesi performansı artırabilir, ama ayrıca dokuları bulanıklaştırabilir."/> - <spinner label="Sis Mesafe Oranı:" name="fog"/> - <button label="Tamam" label_selected="Tamam" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_twitter.xml b/indra/newview/skins/default/xui/tr/floater_twitter.xml deleted file mode 100644 index 93c1b0b073..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="OLUŞTUR" name="panel_twitter_photo"/> - <panel label="HESAP" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Hata - </text> - <text name="connection_loading_text"> - Yükleniyor... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/tr/panel_edit_classified.xml b/indra/newview/skins/default/xui/tr/panel_edit_classified.xml deleted file mode 100644 index 78c34a3ac0..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="İlanı Düzenle" name="panel_edit_classified"> - <panel.string name="location_notice"> - (kaydedildikten sonra güncelleştirilir) - </panel.string> - <string name="publish_label"> - Yayınla - </string> - <string name="save_label"> - Kaydet - </string> - <text name="title"> - İlanı Düzenle - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Bir görüntü seçmek için tıklayın"/> - </panel> - <text name="Name:"> - Başlık: - </text> - <text name="description_label"> - Açıklama: - </text> - <text name="location_label"> - Konum: - </text> - <text name="classified_location"> - yükleniyor... - </text> - <button label="Geçerli Konuma Ayarla" name="set_to_curr_location_btn"/> - <text name="category_label" value="Kategori:"/> - <text name="content_type_label" value="İçerik türü:"/> - <icons_combo_box label="Genel İçerik" name="content_type"> - <icons_combo_box.item label="Orta Seviyede İçerik" name="mature_ci" value="Orta Seviyede"/> - <icons_combo_box.item label="Genel İçerik" name="pg_ci" value="PG"/> - </icons_combo_box> - <check_box label="Her hafta otomatik yenile" name="auto_renew"/> - <text name="price_for_listing_label" value="İlan ücreti:"/> - <spinner label="L$" name="price_for_listing" tool_tip="İlan ücreti." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="İptal Et" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_edit_pick.xml b/indra/newview/skins/default/xui/tr/panel_edit_pick.xml deleted file mode 100644 index 98b02d27df..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Favori Düzenle" name="panel_edit_pick"> - <panel.string name="location_notice"> - (kaydedildikten sonra güncelleştirilir) - </panel.string> - <text name="title"> - Seçme Düzenle - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Bir görüntü seçmek için tıklayın"/> - <text name="Name:"> - Başlık: - </text> - <text name="description_label"> - Açıklama: - </text> - <text name="location_label"> - Konum: - </text> - <text name="pick_location"> - yükleniyor... - </text> - <button label="Geçerli Konuma Ayarla" name="set_to_curr_location_btn"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Seçme Kaydet" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="İptal" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_edit_profile.xml b/indra/newview/skins/default/xui/tr/panel_edit_profile.xml deleted file mode 100644 index 21f4e419bc..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_edit_profile.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil Düzenlemesi" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Sakin"/> - <string name="AcctTypeTrial" value="Deneme"/> - <string name="AcctTypeCharterMember" value="Ayrıcalıklı Üye"/> - <string name="AcctTypeEmployee" value="Linden Lab Çalışanı"/> - <string name="PaymentInfoUsed" value="Kullanılan Ödeme Bilgisi"/> - <string name="PaymentInfoOnFile" value="Dosyadaki Ödeme Bilgisi"/> - <string name="NoPaymentInfoOnFile" value="Dosyada Ödeme Bilgisi Yok"/> - <string name="AgeVerified" value="Yaşı Doğrulanmış"/> - <string name="NotAgeVerified" value="Yaşı Doğrulanmamış"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url"> - http://secondlife.com/my - </string> - <string name="no_partner_text" value="Hiçbiri"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Ekran Adı:"/> - <text name="solo_username_label" value="Kullanıcı Adı:"/> - <button name="set_name" tool_tip="Ekran Adını Ayarla"/> - <text name="user_label" value="Kullanıcı Adı:"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="Bir görüntü seçmek için tıklayın"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Gerçek Dünya:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Bir görüntü seçmek için tıklayın"/> - <text name="title_homepage_text"> - Ana sayfa: - </text> - <line_editor name="homepage_edit" value="http://"/> - <text name="title_acc_status_text" value="Hesabım:"/> - <text_editor name="acc_status_text" value="Sakin. Dosyada ödeme bilgisi yok."/> - <text name="my_account_link" value="[[URL] Kontrol Panelime Git]"/> - <text name="title_partner_text" value="Partnerim:"/> - <panel name="partner_data_panel"> - <text initial_value="(alınıyor)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Düzenle]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Değişiklikleri Kaydet" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="İptal" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_facebook_friends.xml b/indra/newview/skins/default/xui/tr/panel_facebook_friends.xml deleted file mode 100644 index edbe87d74c..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Şu anda aynı zamanda bir Second Life sakini olan hiçbir Facebook arkadaşınız yok. Facebook arkadaşlarınızdan bugün Second Life'a katılmalarını isteyin!"/> - <string name="facebook_friends_no_connected" value="Şu anda Facebook'a bağlı değilsiniz. Bağlanmak ve bu özelliği etkinleştirmek için lütfen Durum sekmesine gidin."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="SL arkadaşları"/> - <accordion_tab name="tab_suggested_friends" title="Bu kişileri SL arkadaşları olarak ekle"/> - </accordion> - <text name="facebook_friends_status"> - Facebook'a bağlanılamadı. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_facebook_photo.xml b/indra/newview/skins/default/xui/tr/panel_facebook_photo.xml deleted file mode 100644 index e3150f258d..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Görüntü çözünürlüğü"> - <combo_box.item label="Geçerli Pencere" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - <combo_box.item label="1200x630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Görüntü filtreleri"> - <combo_box.item label="Filtre Yok" name="NoFilter"/> - </combo_box> - <button label="Yenile" name="new_snapshot_btn" tool_tip="Yenilemek için tıklayın"/> - <button label="Önizleme" name="big_preview_btn" tool_tip="Önizlemeye geçmek için tıklayın"/> - <text name="caption_label"> - Yorum (isteğe bağlı): - </text> - <button label="Yayınla" name="post_photo_btn"/> - <button label="İptal Et" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_facebook_place.xml b/indra/newview/skins/default/xui/tr/panel_facebook_place.xml deleted file mode 100644 index 96c34d03d0..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Bulunduğunuz yer hakkında bir şeyler söyleyin: - </text> - <check_box initial_value="false" label="Konumun üstten görünümünü ekle" name="add_place_view_cb"/> - <button label="Yayınla" name="post_place_btn"/> - <button label="İptal Et" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_facebook_status.xml b/indra/newview/skins/default/xui/tr/panel_facebook_status.xml deleted file mode 100644 index f5dba088de..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Facebook'a şu kimlikle bağlandınız:"/> - <string name="facebook_disconnected" value="Facebook'a bağlanılamadı"/> - <text name="account_caption_label"> - Facebook'a bağlanılamadı. - </text> - <panel name="panel_buttons"> - <button label="Bağlan..." name="connect_btn"/> - <button label="Bağlantıyı kes" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Facebook'ta içerik yayınlama hakkında bilgi edinin] - </text> - </panel> - <text name="status_caption_label"> - Aklınızdan ne geçiyor? - </text> - <button label="Yayınla" name="post_status_btn"/> - <button label="İptal Et" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_flickr_account.xml b/indra/newview/skins/default/xui/tr/panel_flickr_account.xml deleted file mode 100644 index 57b940d5f1..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Flickr'a şu kimlikle bağlandınız:"/> - <string name="flickr_disconnected" value="Flickr'la bağlantı kurulmadı"/> - <text name="account_caption_label"> - Flickr'la bağlantı kurulmadı. - </text> - <panel name="panel_buttons"> - <button label="Bağlan..." name="connect_btn"/> - <button label="Bağlantıyı kes" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Flickr'da içerik yayınlama hakkında bilgi edinin] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_flickr_photo.xml b/indra/newview/skins/default/xui/tr/panel_flickr_photo.xml deleted file mode 100644 index c34f608e3c..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Görüntü çözünürlüğü"> - <combo_box.item label="Mevcut Pencere" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Görüntü filtreleri"> - <combo_box.item label="Filtre Yok" name="NoFilter"/> - </combo_box> - <button label="Yenile" name="new_snapshot_btn" tool_tip="Yenilemek için tıklayın"/> - <button label="Önizleme" name="big_preview_btn" tool_tip="Önizleme ayarları arasında geçiş yapmak için tıklayın"/> - <text name="title_label"> - Başlık: - </text> - <text name="description_label"> - Açıklama: - </text> - <check_box initial_value="true" label="Açıklamanın sonuna SL konumunu ekle" name="add_location_cb"/> - <text name="tags_label"> - Etiketler: - </text> - <text name="tags_help_label"> - Etiketleri boşlukla ayır -Birden çok kelime içeren etiketler için "" kullan - </text> - <combo_box name="rating_combobox" tool_tip="Filckr içerik seviyesi"> - <combo_box.item label="Güvenli Flickr seviyesi" name="SafeRating"/> - <combo_box.item label="Orta Flickr seviyesi" name="ModerateRating"/> - <combo_box.item label="Kısıtlı Flickr seviyesi" name="RestrictedRating"/> - </combo_box> - <button label="Paylaş" name="post_photo_btn"/> - <button label="İptal" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_pick_info.xml b/indra/newview/skins/default/xui/tr/panel_pick_info.xml deleted file mode 100644 index f2bbfac232..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Seçme Bilgileri"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[ad]"/> - <text_editor name="pick_location" value="[yükleniyor...]"/> - <text_editor name="pick_desc" value="[açıklama]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Işınla" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Harita" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Düzenle" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_picks.xml b/indra/newview/skins/default/xui/tr/panel_picks.xml deleted file mode 100644 index 26beac7854..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Favorilerim" name="panel_picks"> - <string name="no_picks" value="Seçme Yok"/> - <string name="no_classifieds" value="İlan Yok"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Seçmelerim"/> - <accordion_tab name="tab_classifieds" title="İlanlar"/> - </accordion> - <panel label="bottom_panel" name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="Mevcut konumda yeni bir seçme veya ilan oluşturun"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Bilgi" name="info_btn" tool_tip="Seçme bilgilerini göster"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Işınla" name="teleport_btn" tool_tip="İlişkili alana ışınlanın"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Harita" name="show_on_map_btn" tool_tip="İlişkili alanı Dünya Haritasında göster"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_twitter_account.xml b/indra/newview/skins/default/xui/tr/panel_twitter_account.xml deleted file mode 100644 index 704027e1ba..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Twitter'a şu kimlikle bağlandınız:"/> - <string name="twitter_disconnected" value="Twitter'la bağlantı kurulmadı"/> - <text name="account_caption_label"> - Twitter'la bağlantı kurulmadı. - </text> - <panel name="panel_buttons"> - <button label="Bağlan..." name="connect_btn"/> - <button label="Bağlantıyı kes" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Tweet atma hakkında bilgi edinin] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_twitter_photo.xml b/indra/newview/skins/default/xui/tr/panel_twitter_photo.xml deleted file mode 100644 index 511ecb690d..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Neler oluyor? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="SL konumunu dahil et" name="add_location_cb"/> - <check_box initial_value="true" label="Fotoğraf ekle" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Görüntü çözünürlüğü"> - <combo_box.item label="Mevcut Pencere" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Görüntü filtreleri"> - <combo_box.item label="Filtre Yok" name="NoFilter"/> - </combo_box> - <button label="Yenile" name="new_snapshot_btn" tool_tip="Yenilemek için tıklayın"/> - <button label="Önizleme" name="big_preview_btn" tool_tip="Önizleme ayarları arasında geçiş yapmak için tıklayın"/> - <button label="Tweet" name="post_photo_btn"/> - <button label="İptal" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/zh/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/zh/floater_edit_day_cycle.xml deleted file mode 100644 index b84a4027ea..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="編輯日循環"> - <string name="title_new"> - 新建一個日循環 - </string> - <string name="title_edit"> - 編輯日循環 - </string> - <string name="hint_new"> - 為日循環定名,調整各項控制確定細節,再點按「儲存」。 - </string> - <string name="hint_edit"> - 若要編輯你的日循環,請調整下方各項控制,再點按「儲存」。 - </string> - <string name="combo_label"> - -選擇一個自訂配置- - </string> - <text name="label"> - 自訂配置名稱: - </text> - <text name="note"> - 注意:更改自訂配置的名稱將會新建一個自訂配置,不會改變原有的自訂配置。 - </text> - <text name="hint_item1"> - - 點按一個頁籤,編輯特定的天空設定和時間。 - </text> - <text name="hint_item2"> - - 點按並拖曳各個頁籤,即可設定過渡時間。 - </text> - <text name="hint_item3"> - - 使用 scrubber 預覽你的日循環。 - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="新增鍵" label_selected="新增鍵" name="WLAddKey"/> - <button label="刪除鍵" label_selected="刪除鍵" name="WLDeleteKey"/> - <text name="WL12am"> - 午夜 12 點 - </text> - <text name="WL3am"> - 凌晨 3 點 - </text> - <text name="WL6am"> - 上午 6 點 - </text> - <text name="WL9amHash"> - 上午 9 點 - </text> - <text name="WL12pmHash"> - 中午 12 點 - </text> - <text name="WL3pm"> - 下午 3 點 - </text> - <text name="WL6pm"> - 下午 6 點 - </text> - <text name="WL9pm"> - 下午 9 點 - </text> - <text name="WL12am2"> - 午夜 12 點 - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - 天空設定: - </text> - <combo_box label="預設值" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - 時間: - </text> - <time name="time" value="上午 6 點"/> - <check_box label="根據這設定變更我的日循環" name="make_default_cb"/> - <button label="儲存" name="save"/> - <button label="取消" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/zh/floater_edit_sky_preset.xml deleted file mode 100644 index 18e6cfb9d2..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="編輯天空自訂配置"> - <string name="title_new"> - 建立新的天空自訂配置 - </string> - <string name="title_edit"> - 編輯天空自訂配置 - </string> - <string name="hint_new"> - 為自訂配置定名,調整各項控制確定配置細節,完成後點按「儲存」。 - </string> - <string name="hint_edit"> - 若要編輯你的天空自訂配置,請調整各項控制,再點按「儲存」。 - </string> - <string name="combo_label"> - -選擇一個自訂配置- - </string> - <text name="hint"> - 若要編輯你的自訂配置,請調整各項控制,再點按「儲存」。 - </text> - <text name="label"> - 自訂配置名稱: - </text> - <text name="note"> - 注意:更改自訂配置的名稱將會新建一個自訂配置,不會改變原有的自訂配置。 - </text> - <tab_container name="WindLight Tabs"> - <panel label="大氣" name="Atmosphere"> - <text name="BHText"> - 藍天水平線 - </text> - <text name="BDensText"> - 陰霾水平線 - </text> - <text name="BDensText2"> - 藍天密度 - </text> - <text name="HDText"> - 陰霾密度 - </text> - <text name="DensMultText"> - 密度倍增 - </text> - <text name="WLDistanceMultText"> - 距離倍增 - </text> - <text name="MaxAltText"> - 最大高度 - </text> - </panel> - <panel label="照明" name="Lighting"> - <text name="SLCText"> - 日/月 顏色 - </text> - <text name="WLAmbientText"> - 環境光 - </text> - <text name="SunGlowText"> - 太陽光輝 - </text> - <slider label="聚焦" name="WLGlowB"/> - <slider label="尺寸" name="WLGlowR"/> - <text name="WLStarText"> - 星空亮度 - </text> - <text name="SceneGammaText"> - 場景 Gamma 值 - </text> - <text name="TODText"> - 日/月位置 - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 午夜 12 點 - </text> - <text name="WL6am"> - 上午 6 點 - </text> - <text name="WL12pmHash"> - 中午 12 點 - </text> - <text name="WL6pm"> - 下午 6 點 - </text> - <text name="WL12am2"> - 午夜 12 點 - </text> - <time name="WLDayTime" value="上午 6 點"/> - <text name="WLEastAngleText"> - 東升角度 - </text> - </panel> - <panel label="雲彩" name="Clouds"> - <text name="WLCloudColorText"> - 雲彩顏色 - </text> - <text name="WLCloudColorText2"> - 雲彩 XY 軸/密度 - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - 雲彩覆蓋 - </text> - <text name="WLCloudScaleText"> - 雲彩規模 - </text> - <text name="WLCloudDetailText"> - 雲彩細節(XY 軸/密度) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - 雲彩 X 滾軸 - </text> - <check_box label="鎖定" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - 雲彩 Y 滾軸 - </text> - <check_box label="鎖定" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="根據這自訂配置變更我的天空設定" name="make_default_cb"/> - <button label="儲存" name="save"/> - <button label="取消" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/zh/floater_edit_water_preset.xml deleted file mode 100644 index 7943866e72..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="編輯水的自訂配置"> - <string name="title_new"> - 新建水的自訂配置 - </string> - <string name="title_edit"> - 編輯水的自訂配置 - </string> - <string name="hint_new"> - 為自訂配置定名,調整各項控制確定配置細節,完成後點按「儲存」。 - </string> - <string name="hint_edit"> - 若要編輯水的自訂配置,請調整各項控制,再點按「儲存」。 - </string> - <string name="combo_label"> - -選擇一個自訂配置- - </string> - <text name="hint"> - 若要編輯你的自訂配置,請調整各項控制,再點按「儲存」。 - </text> - <text name="label"> - 自訂配置名稱: - </text> - <text name="note"> - 注意:更改自訂配置的名稱將會新建一個自訂配置,不會改變原有的自訂配置。 - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - 水霧顏色 - </text> - <text name="water_fog_density_label"> - 霧密度指數 - </text> - <text name="underwater_fog_modifier_label"> - 水底霧修飾元 - </text> - <text name="BHText"> - 大波浪方向 - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - 反射子波比例 - </text> - <text name="HDText"> - 菲涅耳比例 - </text> - <text name="FresnelOffsetText"> - 菲涅耳偏距 - </text> - <text name="BHText2"> - 小波浪方向 - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - 上折射比例 - </text> - <text name="WaterScaleBelowText"> - 下折射比例 - </text> - <text name="MaxAltText"> - 模糊倍數 - </text> - <text name="BHText3"> - 正常地圖 - </text> - </panel> - <check_box label="根據這自訂配置變更我水的設定" name="make_default_cb"/> - <button label="儲存" name="save"/> - <button label="取消" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_environment_settings.xml b/indra/newview/skins/default/xui/zh/floater_environment_settings.xml deleted file mode 100644 index 862c576dc0..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="環境設定"> - <text name="note"> - 使用以下的選項自訂你 Viewer 的環境設定。 - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="使用地區設定" name="use_region_settings"/> - <radio_item label="自訂我的環境" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - 注意:你的自訂設定不會被其他使用者看見。 - </text> - <text name="water_settings_title"> - 水的設定 - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-選擇一個自訂配置-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - 天空/日循環 - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="固定天空" name="my_sky_settings"/> - <radio_item label="日循環" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-選擇一個自訂配置-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-選擇一個自訂配置-" name="item0"/> - </combo_box> - </panel> - <button label="確定" name="ok_btn"/> - <button label="取消" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_facebook.xml b/indra/newview/skins/default/xui/zh/floater_facebook.xml deleted file mode 100644 index 9a71a26333..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="發佈到臉書"> - <tab_container name="tabs"> - <panel label="狀態" name="panel_facebook_status"/> - <panel label="相片" name="panel_facebook_photo"/> - <panel label="打卡" name="panel_facebook_place"/> - <panel label="朋友" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - 錯誤 - </text> - <text name="connection_loading_text"> - 載入中… - </text> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_flickr.xml b/indra/newview/skins/default/xui/zh/floater_flickr.xml deleted file mode 100644 index c4576baea5..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="分享到FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="相片" name="panel_flickr_photo"/> - <panel label="帳號" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - 錯誤 - </text> - <text name="connection_loading_text"> - 載入中… - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_hardware_settings.xml b/indra/newview/skins/default/xui/zh/floater_hardware_settings.xml deleted file mode 100644 index 9e3bb88ac0..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="硬體設定"> - <text name="Filtering:"> - 過濾: - </text> - <check_box label="各向異性過濾(若啟用會變慢)" name="ani"/> - <text name="antialiasing label"> - 消除鋸齒: - </text> - <combo_box label="消除鋸齒" name="fsaa"> - <combo_box.item label="已停用" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (須重新啟動瀏覽器) - </text> - <spinner label="伽瑪值:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = 預設亮度;值越小 = 亮度越高) - </text> - <text name="Enable VBO:"> - 啟用頂點緩衝物件(VBO): - </text> - <check_box initial_value="true" label="啟用 OpenGL 頂點緩衝物件(VBO)" name="vbo" tool_tip="在較新硬體上啟用,可提升效能。 但是,較舊硬體的 VBO 實作不佳,若啟用可能導致當機。"/> - <text name="tc label"> - 啟用 S3TC: - </text> - <check_box initial_value="true" label="啟用材質壓縮(須重新啟動)" name="texture compression" tool_tip="在影片記憶體中壓縮材質,讓高解析度材質可以載入,但色彩品質稍差。"/> - <slider label="材質記憶體(MB):" name="GraphicsCardTextureMemory" tool_tip="配置給材質使用的記憶體量。 預設為顯像卡記憶體。 降低此值可以提升效能,但材質也會變模糊。"/> - <spinner label="霧距離比率:" name="fog"/> - <button label="確定" label_selected="確定" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_twitter.xml b/indra/newview/skins/default/xui/zh/floater_twitter.xml deleted file mode 100644 index ac49b2a967..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="推特"> - <tab_container name="tabs"> - <panel label="編撰" name="panel_twitter_photo"/> - <panel label="帳號" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - 錯誤 - </text> - <text name="connection_loading_text"> - 載入中… - </text> -</floater> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_classified.xml b/indra/newview/skins/default/xui/zh/panel_edit_classified.xml deleted file mode 100644 index 4d3248db46..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="編輯個人廣告" name="panel_edit_classified"> - <panel.string name="location_notice"> - (儲存後將會更新) - </panel.string> - <string name="publish_label"> - 發布 - </string> - <string name="save_label"> - 儲存 - </string> - <text name="title"> - 編輯個人廣告 - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="點按以選擇圖像"/> - </panel> - <text name="Name:"> - 標題: - </text> - <text name="description_label"> - 描述: - </text> - <text name="location_label"> - 位置: - </text> - <text name="classified_location"> - 載入中... - </text> - <button label="設定為目前位置" name="set_to_curr_location_btn"/> - <text name="category_label" value="分類:"/> - <text name="content_type_label" value="內容類型:"/> - <icons_combo_box label="一般普級內容" name="content_type"> - <icons_combo_box.item label="適度成人內容" name="mature_ci" value="適度成人"/> - <icons_combo_box.item label="一般普級內容" name="pg_ci" value="一般普級"/> - </icons_combo_box> - <check_box label="每星期自動續訂" name="auto_renew"/> - <text name="price_for_listing_label" value="刊登費:"/> - <spinner label="L$" name="price_for_listing" tool_tip="刊登費。" value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="取消" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_pick.xml b/indra/newview/skins/default/xui/zh/panel_edit_pick.xml deleted file mode 100644 index faee42fd0e..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="編輯精選地點" name="panel_edit_pick"> - <panel.string name="location_notice"> - (儲存後將會更新) - </panel.string> - <text name="title"> - 編輯精選地點 - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="點按以選擇圖像"/> - <text name="Name:"> - 標題: - </text> - <text name="description_label"> - 描述: - </text> - <text name="location_label"> - 位置: - </text> - <text name="pick_location"> - 載入中... - </text> - <button label="設定為目前位置" name="set_to_curr_location_btn"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="儲存精選地點" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="取消" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_profile.xml b/indra/newview/skins/default/xui/zh/panel_edit_profile.xml deleted file mode 100644 index 849b82c71a..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_edit_profile.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="檔案編輯" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="居民"/> - <string name="AcctTypeTrial" value="試用"/> - <string name="AcctTypeCharterMember" value="老牌 Charter 成員"/> - <string name="AcctTypeEmployee" value="林登實驗室員工"/> - <string name="PaymentInfoUsed" value="使用的付款資料"/> - <string name="PaymentInfoOnFile" value="預留付款資料"/> - <string name="NoPaymentInfoOnFile" value="未預留付款資料"/> - <string name="AgeVerified" value="通過年齡驗證"/> - <string name="NotAgeVerified" value="未通過年齡驗證"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url"> - http://secondlife.com/my - </string> - <string name="no_partner_text" value="無"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="顯示名稱:"/> - <text name="solo_username_label" value="使用者名稱:"/> - <button name="set_name" tool_tip="設定顯示名稱"/> - <text name="user_label" value="使用者名稱:"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="點按以選擇圖像"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="真實世界:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="點按以選擇圖像"/> - <text name="title_homepage_text"> - 首頁: - </text> - <line_editor name="homepage_edit" value="http://"/> - <text name="title_acc_status_text" value="我的帳戶:"/> - <text_editor name="acc_status_text" value="居民。 未預留付款資料。"/> - <text name="my_account_link" value="[[URL] 前往我的塗鴉牆]"/> - <text name="title_partner_text" value="我的配偶:"/> - <panel name="partner_data_panel"> - <text initial_value="(檢索中)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] 編輯]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="儲存變更" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="取消" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_facebook_friends.xml b/indra/newview/skins/default/xui/zh/panel_facebook_friends.xml deleted file mode 100644 index 2cf3eb0cf5..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="你的臉書朋友中,沒有同時也是第二人生居民的人。 今天就請你的臉書朋友加入第二人生!"/> - <string name="facebook_friends_no_connected" value="你目前尚未連結臉書。 請到「帳戶」頁籤開啟這項功能並進行連結。"/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="第二人生的朋友"/> - <accordion_tab name="tab_suggested_friends" title="把這些人加為第二人生的朋友"/> - </accordion> - <text name="facebook_friends_status"> - 未連通臉書。 - </text> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_facebook_photo.xml b/indra/newview/skins/default/xui/zh/panel_facebook_photo.xml deleted file mode 100644 index 85d2ac36f3..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="圖像解析度"> - <combo_box.item label="目前視窗" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - <combo_box.item label="1200x630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="圖像濾鏡"> - <combo_box.item label="不用濾鏡" name="NoFilter"/> - </combo_box> - <button label="刷新" name="new_snapshot_btn" tool_tip="點按即可刷新"/> - <button label="預覽" name="big_preview_btn" tool_tip="點按即可切換預覽"/> - <text name="caption_label"> - 說明(可留空): - </text> - <button label="發佈" name="post_photo_btn"/> - <button label="取消" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_facebook_place.xml b/indra/newview/skins/default/xui/zh/panel_facebook_place.xml deleted file mode 100644 index 56d4d687ef..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - 描述一下你所在的地方: - </text> - <check_box initial_value="false" label="包括地點的俯瞰圖" name="add_place_view_cb"/> - <button label="發佈" name="post_place_btn"/> - <button label="取消" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_facebook_status.xml b/indra/newview/skins/default/xui/zh/panel_facebook_status.xml deleted file mode 100644 index 3a7cbd07b0..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="已成功連通臉書,身分為:"/> - <string name="facebook_disconnected" value="未連通臉書"/> - <text name="account_caption_label"> - 未連通臉書。 - </text> - <panel name="panel_buttons"> - <button label="連通…" name="connect_btn"/> - <button label="中斷" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 如何發佈到臉書] - </text> - </panel> - <text name="status_caption_label"> - 你在想些什麼? - </text> - <button label="發佈" name="post_status_btn"/> - <button label="取消" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_flickr_account.xml b/indra/newview/skins/default/xui/zh/panel_flickr_account.xml deleted file mode 100644 index 63cd547cd0..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="你已成功連通 Flickr,身分為:"/> - <string name="flickr_disconnected" value="尚未連通 Flickr"/> - <text name="account_caption_label"> - 尚未連通 Flickr。 - </text> - <panel name="panel_buttons"> - <button label="連通…" name="connect_btn"/> - <button label="中斷" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share/ta-p/2435609 瞭解如何發佈到 Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_flickr_photo.xml b/indra/newview/skins/default/xui/zh/panel_flickr_photo.xml deleted file mode 100644 index 928fd4c640..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="圖像解析度"> - <combo_box.item label="目前視窗" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="圖像濾鏡"> - <combo_box.item label="不用濾鏡" name="NoFilter"/> - </combo_box> - <button label="刷新" name="new_snapshot_btn" tool_tip="點按即可刷新"/> - <button label="預覽" name="big_preview_btn" tool_tip="點按即可切換預覽"/> - <text name="title_label"> - 標題: - </text> - <text name="description_label"> - 描述: - </text> - <check_box initial_value="true" label="在描述結尾加上第二人生的地點" name="add_location_cb"/> - <text name="tags_label"> - 標籤: - </text> - <text name="tags_help_label"> - 不同標籤之間以半形空格分隔 -標籤若含空格,用 "" 半形符號括住 - </text> - <combo_box name="rating_combobox" tool_tip="Flickr 內容分級"> - <combo_box.item label="安全級 Flickr 內容" name="SafeRating"/> - <combo_box.item label="適中級 Flickr 內容" name="ModerateRating"/> - <combo_box.item label="限制級 Flickr 內容" name="RestrictedRating"/> - </combo_box> - <button label="分享" name="post_photo_btn"/> - <button label="取消" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_pick_info.xml b/indra/newview/skins/default/xui/zh/panel_pick_info.xml deleted file mode 100644 index cd4cdbf999..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="精選地點資訊"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[name]"/> - <text_editor name="pick_location" value="[loading...]"/> - <text_editor name="pick_desc" value="[description]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="瞬間傳送" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="地圖" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="編輯" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_picks.xml b/indra/newview/skins/default/xui/zh/panel_picks.xml deleted file mode 100644 index 98d36eaea0..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="精選地點" name="panel_picks"> - <string name="no_picks" value="無精選地點"/> - <string name="no_classifieds" value="禁止個人廣告"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="精選地點"/> - <accordion_tab name="tab_classifieds" title="個人廣告"/> - </accordion> - <panel label="bottom_panel" name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="以目前位置建立新的精選地點或個人廣告"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="資訊" name="info_btn" tool_tip="顯示精選地點資訊"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="瞬間傳送" name="teleport_btn" tool_tip="瞬間傳送到的區域"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="地圖" name="show_on_map_btn" tool_tip="在世界地圖上顯示相對應的區域"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_twitter_account.xml b/indra/newview/skins/default/xui/zh/panel_twitter_account.xml deleted file mode 100644 index a8b57d7453..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="你已成功連通推特,身分為:"/> - <string name="twitter_disconnected" value="尚未連通推特。"/> - <text name="account_caption_label"> - 尚未連通推特。 - </text> - <panel name="panel_buttons"> - <button label="連通…" name="connect_btn"/> - <button label="中斷" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share/ta-p/2435453 瞭解如何發佈到推特] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_twitter_photo.xml b/indra/newview/skins/default/xui/zh/panel_twitter_photo.xml deleted file mode 100644 index 19eb23eac7..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - 說一說你正在做什麼 - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="加入所在位置" name="add_location_cb"/> - <check_box initial_value="true" label="附上照片" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="圖像解析度"> - <combo_box.item label="目前視窗" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="圖像濾鏡"> - <combo_box.item label="不用濾鏡" name="NoFilter"/> - </combo_box> - <button label="刷新" name="new_snapshot_btn" tool_tip="點按即可刷新"/> - <button label="預覽" name="big_preview_btn" tool_tip="點按即可切換預覽"/> - <button label="發到推特" name="post_photo_btn"/> - <button label="取消" name="cancel_photo_btn"/> -</panel> diff --git a/scripts/template_verifier.py b/scripts/template_verifier.py index 4c6449954b..ee8492db5e 100755 --- a/scripts/template_verifier.py +++ b/scripts/template_verifier.py @@ -232,7 +232,7 @@ http://wiki.secondlife.com/wiki/Template_verifier.py """) parser.add_option( '-u', '--master_url', type='string', dest='master_url', - default='https://bitbucket.org/lindenlab/master-message-template-git/raw/master/message_template.msg', + default='https://github.com/secondlife/master-message-template/raw/master/message_template.msg', help="""The url of the master message template.""") parser.add_option( '-c', '--cache_master', action='store_true', dest='cache_master', |