Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
commit
2e179112c7
|
|
@ -754,9 +754,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>d778c6a3475bc35ee8b9615dfc38b4a9</string>
|
||||
<string>2d59bb6f4bd38a18d9250ff010a13b59</string>
|
||||
<key>url</key>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/55025/511964/dictionaries-1.538984-common-538984.tar.bz2</string>
|
||||
<string>http://downloads.phoenixviewer.com/dictionaries-2.46203-common-46203.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>common</string>
|
||||
|
|
@ -796,9 +796,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>7253c6787a9aa04b160f450a47bc8d93</string>
|
||||
<string>e11da8884e44c27df3bf3adce01d5760</string>
|
||||
<key>url</key>
|
||||
<string>http://3p.firestormviewer.org/dullahan-1.8.0.202007201344_81.3.10_gb223419_chromium-81.0.4044.138-windows-202021141.tar.bz2</string>
|
||||
<string>http://3p.firestormviewer.org/dullahan-1.8.0.202007201344_81.3.10_gb223419_chromium-81.0.4044.138-windows-202072245.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
@ -808,9 +808,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>0b24ebef4ea891e5fbf94445acac42bf</string>
|
||||
<string>609dd2d70b73d83c382f73734c648156</string>
|
||||
<key>url</key>
|
||||
<string>http://3p.firestormviewer.org/dullahan-1.8.0.202007201344_81.3.10_gb223419_chromium-81.0.4044.138-windows64-202021146.tar.bz2</string>
|
||||
<string>http://3p.firestormviewer.org/dullahan-1.8.0.202007201344_81.3.10_gb223419_chromium-81.0.4044.138-windows64-202072240.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows64</string>
|
||||
|
|
@ -1938,9 +1938,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>a33b5a416daba549898b215f3e4ae7ea</string>
|
||||
<string>995f807a91bd251408ad0f18c13bbcf4</string>
|
||||
<key>url</key>
|
||||
<string>file:///c:/cygwin/opt/firestorm/kdu-7.A.7-windows-vs2017-1906061512.tar.bz2</string>
|
||||
<string>file:///c:/cygwin/opt/firestorm/kdu-8.0.5-windows-202060400.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
@ -1950,9 +1950,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>a33b5a416daba549898b215f3e4ae7ea</string>
|
||||
<string>995f807a91bd251408ad0f18c13bbcf4</string>
|
||||
<key>url</key>
|
||||
<string>file:///c:/cygwin/opt/firestorm/kdu-7.A.7-windows-vs2017-1906061512.tar.bz2</string>
|
||||
<string>file:///c:/cygwin/opt/firestorm/kdu-8.0.5-windows-202060400.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows64</string>
|
||||
|
|
@ -2521,7 +2521,7 @@
|
|||
<key>hash</key>
|
||||
<string>2aa4ec0d72bbe4b755730f1bf92b39e7</string>
|
||||
<key>url</key>
|
||||
<string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/30340/257304/llphysicsextensions_tpv-1.0.542327-darwin64-542327.tar.bz2</string>
|
||||
<string>file:///opt/firestorm/llphysicsextensions_tpv-1.0.542327-darwin64-542327.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin64</string>
|
||||
|
|
@ -2545,7 +2545,7 @@
|
|||
<key>hash</key>
|
||||
<string>ad9aba5e2c43a37b6530a0d2de64df1c</string>
|
||||
<key>url</key>
|
||||
<string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/30341/257307/llphysicsextensions_tpv-1.0.542327-windows-542327.tar.bz2</string>
|
||||
<string>file:///c:/cygwin/opt/firestorm/llphysicsextensions_tpv-1.0.542327-windows-542327.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
@ -2557,7 +2557,7 @@
|
|||
<key>hash</key>
|
||||
<string>46689ff1442a8eccac3a7f3258308e1e</string>
|
||||
<key>url</key>
|
||||
<string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/30341/257307/llphysicsextensions_tpv-1.0.542327-windows64-542327.tar.bz2</string>
|
||||
<string>file:///c:/cygwin/opt/firestorm/llphysicsextensions_tpv-1.0.542327-windows64-542327.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
@ -2984,9 +2984,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>222a406ecb4071a9cc9635353afa337e</string>
|
||||
<string>b20c18f66ae63c9d3b1970af8866aeb9</string>
|
||||
<key>url</key>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54977/511775/openjpeg-1.5.1.538970-windows-538970.tar.bz2</string>
|
||||
<string>http://downloads.phoenixviewer.com/openjpeg-1.4.202102107-windows-202102107.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
@ -2996,9 +2996,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>5b5c80807fa8161f3480be3d89fe9516</string>
|
||||
<string>6f1e1d8796301c4e5737cb0db0f696d2</string>
|
||||
<key>url</key>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54974/511767/openjpeg-1.5.1.538970-windows64-538970.tar.bz2</string>
|
||||
<string>http://downloads.phoenixviewer.com/openjpeg-1.4.202102110-windows64-202102110.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows64</string>
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
*/
|
||||
|
||||
// <FS:Ansariel> Get rid of LNK4221 linker warning since we don't run the unit tests anyway
|
||||
#include "linden_common.h"
|
||||
//#include "linden_common.h"
|
||||
|
||||
// implementation is all in the header, this include dep ensures the unit test is rerun if the implementation changes.
|
||||
#include "llbitpack.h"
|
||||
//#include "llbitpack.h"
|
||||
|
|
|
|||
|
|
@ -23,7 +23,8 @@
|
|||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
#include "linden_common.h"
|
||||
#include "llthreadsafequeue.h"
|
||||
// <FS:Ansariel> Get rid of LNK4221 linker warning since we don't run the unit tests anyway
|
||||
//#include "linden_common.h"
|
||||
//#include "llthreadsafequeue.h"
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1119,6 +1119,14 @@ void set_default_colour_weights(kdu_params *siz)
|
|||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// <FS:Ansariel> Fix image encoding for KDU >= 8.0.4
|
||||
#if KDU_MAJOR_VERSION >= 8 && KDU_MINOR_VERSION >= 0 && KDU_PATCH_VERSION >= 4
|
||||
cod = siz->access_cluster(ENC_params);
|
||||
assert(cod != NULL);
|
||||
#endif
|
||||
// </FS:Ansariel>
|
||||
|
||||
float weight;
|
||||
if (cod->get(Clev_weights,0,0,weight) || cod->get(Cband_weights,0,0,weight))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -86,8 +86,8 @@ AtmosphericModelSettings::AtmosphericModelSettings()
|
|||
, m_sunArcRadians(0.00045f)
|
||||
, m_mieAnisotropy(0.8f)
|
||||
{
|
||||
DensityLayer rayleigh_density(0.0, 1.0, -1.0 / kRayleighScaleHeight, 0.0, 0.0);
|
||||
DensityLayer mie_density(0.0, 1.0, -1.0 / kMieScaleHeight, 0.0, 0.0);
|
||||
DensityLayer rayleigh_density(0.0f, 1.0f, -1.0f / (F32)kRayleighScaleHeight, 0.0f, 0.0f);
|
||||
DensityLayer mie_density(0.0f, 1.0f, -1.0f / (F32)kMieScaleHeight, 0.0f, 0.0f);
|
||||
|
||||
m_rayleighProfile.push_back(rayleigh_density);
|
||||
m_mieProfile.push_back(mie_density);
|
||||
|
|
|
|||
|
|
@ -3132,6 +3132,7 @@ void LLFloaterView::adjustToFitScreen(LLFloater* floater, BOOL allow_partial_out
|
|||
S32 delta_right = right_toolbar_rect.notEmpty() ? right_toolbar_rect.mLeft - floater_rect.mLeft : 0;
|
||||
// <FS:Ansariel> Prevent floaters being dragged under main chat bar
|
||||
S32 delta_bottom_chatbar = mMainChatbarRect.notEmpty() ? mMainChatbarRect.mTop - floater_rect.mTop : 0;
|
||||
S32 delta_utility_bar = mUtilityBarRect.notEmpty() ? mUtilityBarRect.mTop - floater_rect.mTop : 0;
|
||||
|
||||
// <FS:Ansariel> Fix floater relocation for vertical toolbars; Only header guarantees that floater can be dragged!
|
||||
S32 header_height = floater->getHeaderHeight();
|
||||
|
|
@ -3173,6 +3174,11 @@ void LLFloaterView::adjustToFitScreen(LLFloater* floater, BOOL allow_partial_out
|
|||
{
|
||||
floater->translate(0, delta_bottom_chatbar);
|
||||
}
|
||||
else if (delta_utility_bar > 0 && (floater_rect.mLeft > mUtilityBarRect.mLeft && floater_rect.mRight < mUtilityBarRect.mRight))
|
||||
{
|
||||
// Utility bar on legacy skins
|
||||
floater->translate(0, delta_utility_bar);
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
}
|
||||
|
||||
|
|
@ -3406,6 +3412,14 @@ void LLFloaterView::setMainChatbarRect(LLLayoutPanel* panel, const LLRect& chatb
|
|||
panel->localRectToScreen(chatbar_rect, &mMainChatbarRect);
|
||||
mMainChatbarRect.stretch(FLOATER_MIN_VISIBLE_PIXELS);
|
||||
}
|
||||
|
||||
void LLFloaterView::setUtilityBarRect(LLLayoutPanel* panel, const LLRect& utility_bar_rect)
|
||||
{
|
||||
panel->localRectToScreen(utility_bar_rect, &mUtilityBarRect);
|
||||
mUtilityBarRect.mLeft = mUtilityBarRect.mRight;
|
||||
// Just assume right end of utility bar is always the border of the window
|
||||
mUtilityBarRect.mRight = S32_MAX;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
void LLFloater::setInstanceName(const std::string& name)
|
||||
|
|
|
|||
|
|
@ -627,6 +627,7 @@ public:
|
|||
|
||||
// <FS:Ansariel> Prevent floaters being dragged under main chat bar
|
||||
void setMainChatbarRect(LLLayoutPanel* panel, const LLRect& chatbar_rect);
|
||||
void setUtilityBarRect(LLLayoutPanel* panel, const LLRect& utility_bar_rect);
|
||||
|
||||
private:
|
||||
void hiddenFloaterClosed(LLFloater* floater);
|
||||
|
|
@ -648,6 +649,7 @@ private:
|
|||
|
||||
// <FS:Ansariel> Prevent floaters being dragged under main chat bar
|
||||
LLRect mMainChatbarRect;
|
||||
LLRect mUtilityBarRect;
|
||||
};
|
||||
|
||||
//
|
||||
|
|
|
|||
|
|
@ -1936,6 +1936,7 @@ void LLPostponedNotification::lookupName(const LLUUID& id,
|
|||
}
|
||||
else
|
||||
{
|
||||
mFromId = id; // <FS:Ansariel> FIRE-29943: Item shared messaged logging to wrong IM logfile if user is offline
|
||||
fetchAvatarName(id);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1043,7 +1043,8 @@ protected:
|
|||
LLPostponedNotification()
|
||||
: mParams(),
|
||||
mName(),
|
||||
mAvatarNameCacheConnection()
|
||||
mAvatarNameCacheConnection(),
|
||||
mFromId(LLUUID::null) // <FS:Ansariel> FIRE-29943: Item shared messaged logging to wrong IM logfile if user is offline
|
||||
{}
|
||||
|
||||
virtual ~LLPostponedNotification()
|
||||
|
|
@ -1064,6 +1065,7 @@ protected:
|
|||
LLNotification::Params mParams;
|
||||
std::string mName;
|
||||
boost::signals2::connection mAvatarNameCacheConnection;
|
||||
LLUUID mFromId; // <FS:Ansariel> FIRE-29943: Item shared messaged logging to wrong IM logfile if user is offline
|
||||
};
|
||||
|
||||
// Stores only persistent notifications.
|
||||
|
|
|
|||
|
|
@ -24679,6 +24679,7 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<string>de</string>
|
||||
<string>en</string>
|
||||
<string>es</string>
|
||||
<string>fr</string>
|
||||
<string>it</string>
|
||||
<string>ja</string>
|
||||
<string>pl</string>
|
||||
|
|
|
|||
|
|
@ -961,7 +961,18 @@
|
|||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>MoveLockInfoVisibleOnScreen</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>If movelock built-in into LSL Bridge is active, then show info on screen all the time</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>BridgeIntegrationOC</key>
|
||||
<map>
|
||||
|
|
|
|||
|
|
@ -19,22 +19,20 @@
|
|||
|
||||
#include "llviewerprecompiledheaders.h"
|
||||
|
||||
#include "exogroupmutelist.h"
|
||||
#include "llagent.h"
|
||||
#include "lldir.h"
|
||||
#include "llfile.h"
|
||||
#include "llgroupactions.h"
|
||||
#include "llsdserialize.h"
|
||||
|
||||
#include "exogroupmutelist.h"
|
||||
|
||||
// <FS:Ansariel> Server-side storage
|
||||
#include "llimview.h"
|
||||
#include "llmutelist.h"
|
||||
#include "llsdserialize.h"
|
||||
#include "llviewercontrol.h"
|
||||
#include "llviewernetwork.h"
|
||||
|
||||
exoGroupMuteList::exoGroupMuteList()
|
||||
: mMuted()
|
||||
{
|
||||
// <FS:Ansariel> Server-side storage
|
||||
//loadMuteList();
|
||||
#ifdef OPENSIM
|
||||
if (LLGridManager::instance().isInOpenSim())
|
||||
{
|
||||
|
|
@ -45,8 +43,6 @@ exoGroupMuteList::exoGroupMuteList()
|
|||
|
||||
bool exoGroupMuteList::isMuted(const LLUUID& group) const
|
||||
{
|
||||
// <FS:Ansariel> Server-side storage
|
||||
//return mMuted.count(group);
|
||||
#ifdef OPENSIM
|
||||
if (LLGridManager::instance().isInOpenSim())
|
||||
{
|
||||
|
|
@ -54,22 +50,27 @@ bool exoGroupMuteList::isMuted(const LLUUID& group) const
|
|||
}
|
||||
#endif
|
||||
return (bool)LLMuteList::instance().isMuted(LLUUID::null, getMutelistString(group));
|
||||
// </FS:Ansariel> Server-side storage
|
||||
}
|
||||
|
||||
bool exoGroupMuteList::isLoaded() const
|
||||
{
|
||||
#ifdef OPENSIM
|
||||
if (LLGridManager::instance().isInOpenSim())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
return LLMuteList::instance().isLoaded();
|
||||
}
|
||||
|
||||
void exoGroupMuteList::add(const LLUUID& group)
|
||||
{
|
||||
LLGroupActions::endIM(group); // Actually kill ongoing conversation
|
||||
|
||||
// <FS:Ansariel> Server-side storage
|
||||
//if(mMuted.insert(group).second)
|
||||
//{
|
||||
// saveMuteList();
|
||||
//}
|
||||
#ifdef OPENSIM
|
||||
if (LLGridManager::instance().isInOpenSim())
|
||||
{
|
||||
if(mMuted.insert(group).second)
|
||||
if (mMuted.insert(group).second)
|
||||
{
|
||||
saveMuteList();
|
||||
}
|
||||
|
|
@ -77,20 +78,14 @@ void exoGroupMuteList::add(const LLUUID& group)
|
|||
}
|
||||
#endif
|
||||
LLMuteList::instance().add(LLMute(LLUUID::null, getMutelistString(group), LLMute::BY_NAME));
|
||||
// </FS:Ansariel> Server-side storage
|
||||
}
|
||||
|
||||
void exoGroupMuteList::remove(const LLUUID& group)
|
||||
{
|
||||
// <FS:Ansariel> Server-side storage
|
||||
//if(mMuted.erase(group))
|
||||
//{
|
||||
// saveMuteList();
|
||||
//}
|
||||
#ifdef OPENSIM
|
||||
if (LLGridManager::instance().isInOpenSim())
|
||||
{
|
||||
if(mMuted.erase(group))
|
||||
if (mMuted.erase(group))
|
||||
{
|
||||
saveMuteList();
|
||||
}
|
||||
|
|
@ -98,13 +93,12 @@ void exoGroupMuteList::remove(const LLUUID& group)
|
|||
}
|
||||
#endif
|
||||
LLMuteList::instance().remove(LLMute(LLUUID::null, getMutelistString(group), LLMute::BY_NAME));
|
||||
// </FS:Ansariel> Server-side storage
|
||||
}
|
||||
|
||||
bool exoGroupMuteList::loadMuteList()
|
||||
{
|
||||
std::string path = getFilePath();
|
||||
if(!LLFile::isfile(path))
|
||||
if (!LLFile::isfile(path))
|
||||
{
|
||||
// We consider the absence of a mute file to be a successful load
|
||||
// because it won't exist if the user's never muted a group.
|
||||
|
|
@ -112,7 +106,7 @@ bool exoGroupMuteList::loadMuteList()
|
|||
return true;
|
||||
}
|
||||
llifstream file(path.c_str());
|
||||
if(!file.is_open())
|
||||
if (!file.is_open())
|
||||
{
|
||||
LL_WARNS("GroupMute") << "Failed to open group muting list." << LL_ENDL;
|
||||
return false;
|
||||
|
|
@ -129,13 +123,13 @@ bool exoGroupMuteList::saveMuteList()
|
|||
{
|
||||
LLSD data;
|
||||
// LLSD doesn't seem to expose insertion using iterators.
|
||||
for(std::set<LLUUID>::iterator it = mMuted.begin(); it != mMuted.end(); ++it)
|
||||
for (auto& it : mMuted)
|
||||
{
|
||||
data.append(*it);
|
||||
data.append(it);
|
||||
}
|
||||
|
||||
llofstream file(getFilePath().c_str());
|
||||
if(!file.is_open())
|
||||
if (!file.is_open())
|
||||
{
|
||||
LL_WARNS("GroupMute") << "Unable to save group muting list!" << LL_ENDL;
|
||||
return false;
|
||||
|
|
@ -150,9 +144,46 @@ std::string exoGroupMuteList::getFilePath() const
|
|||
return gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "muted_groups.xml");
|
||||
}
|
||||
|
||||
// <FS:Ansariel> Server-side storage
|
||||
void exoGroupMuteList::addDeferredGroupChat(const LLUUID& group)
|
||||
{
|
||||
if (mDeferredGroupChatSessionIDs.find(group) == mDeferredGroupChatSessionIDs.end())
|
||||
{
|
||||
mDeferredGroupChatSessionIDs.insert(group);
|
||||
}
|
||||
}
|
||||
|
||||
bool exoGroupMuteList::restoreDeferredGroupChat(const LLUUID& group)
|
||||
{
|
||||
if (!isLoaded())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
auto groupIt = mDeferredGroupChatSessionIDs.find(group);
|
||||
if (groupIt != mDeferredGroupChatSessionIDs.end())
|
||||
{
|
||||
mDeferredGroupChatSessionIDs.erase(groupIt);
|
||||
|
||||
LLGroupData groupData;
|
||||
if (gAgent.getGroupData(group, groupData))
|
||||
{
|
||||
gIMMgr->addSession(groupData.mName, IM_SESSION_INVITE, group);
|
||||
|
||||
uuid_vec_t ids;
|
||||
LLIMModel::sendStartSession(group, group, ids, IM_SESSION_GROUP_START);
|
||||
|
||||
if (!gAgent.isDoNotDisturb() && gSavedSettings.getU32("PlayModeUISndNewIncomingGroupIMSession") != 0)
|
||||
{
|
||||
make_ui_sound("UISndNewIncomingGroupIMSession");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string exoGroupMuteList::getMutelistString(const LLUUID& group) const
|
||||
{
|
||||
return std::string("Group:" + group.asString());
|
||||
}
|
||||
// </FS:Ansariel> Server-side storage
|
||||
|
|
|
|||
|
|
@ -28,17 +28,20 @@ class exoGroupMuteList : public LLSingleton<exoGroupMuteList>
|
|||
|
||||
public:
|
||||
bool isMuted(const LLUUID &group) const;
|
||||
bool isLoaded() const;
|
||||
void add(const LLUUID &group);
|
||||
void remove(const LLUUID &group);
|
||||
bool loadMuteList();
|
||||
void addDeferredGroupChat(const LLUUID& group);
|
||||
bool restoreDeferredGroupChat(const LLUUID& group);
|
||||
|
||||
private:
|
||||
bool saveMuteList();
|
||||
std::string getFilePath() const;
|
||||
|
||||
std::set<LLUUID> mMuted;
|
||||
uuid_set_t mMuted;
|
||||
uuid_set_t mDeferredGroupChatSessionIDs;
|
||||
|
||||
// <FS:Ansariel> Server-side storage
|
||||
std::string getMutelistString(const LLUUID& group) const;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -362,94 +362,94 @@ public:
|
|||
|
||||
void onAvatarIconContextMenuItemClicked(const LLSD& userdata)
|
||||
{
|
||||
std::string level = userdata.asString();
|
||||
std::string param = userdata.asString();
|
||||
|
||||
if (level == "profile")
|
||||
if (param == "profile")
|
||||
{
|
||||
LLAvatarActions::showProfile(getAvatarId());
|
||||
}
|
||||
else if (level == "im")
|
||||
else if (param == "im")
|
||||
{
|
||||
LLAvatarActions::startIM(getAvatarId());
|
||||
}
|
||||
else if (level == "teleport_to")
|
||||
else if (param == "teleport_to")
|
||||
{
|
||||
LLAvatarActions::teleportTo(getAvatarId());
|
||||
}
|
||||
else if (level == "teleport")
|
||||
else if (param == "teleport")
|
||||
{
|
||||
LLAvatarActions::offerTeleport(getAvatarId());
|
||||
}
|
||||
else if (level == "request_teleport")
|
||||
else if (param == "request_teleport")
|
||||
{
|
||||
LLAvatarActions::teleportRequest(getAvatarId());
|
||||
}
|
||||
else if (level == "voice_call")
|
||||
else if (param == "voice_call")
|
||||
{
|
||||
LLAvatarActions::startCall(getAvatarId());
|
||||
}
|
||||
else if (level == "chat_history")
|
||||
else if (param == "chat_history")
|
||||
{
|
||||
LLAvatarActions::viewChatHistory(getAvatarId());
|
||||
}
|
||||
else if (level == "add")
|
||||
else if (param == "add")
|
||||
{
|
||||
LLAvatarActions::requestFriendshipDialog(getAvatarId(), mFrom);
|
||||
}
|
||||
else if (level == "add_set")
|
||||
else if (param == "add_set")
|
||||
{
|
||||
LLAvatarActions::addToContactSet(getAvatarId());
|
||||
}
|
||||
else if (level == "remove")
|
||||
else if (param == "remove")
|
||||
{
|
||||
LLAvatarActions::removeFriendDialog(getAvatarId());
|
||||
}
|
||||
else if (level == "invite_to_group")
|
||||
else if (param == "invite_to_group")
|
||||
{
|
||||
LLAvatarActions::inviteToGroup(getAvatarId());
|
||||
}
|
||||
else if (level == "zoom_in")
|
||||
else if (param == "zoom_in")
|
||||
{
|
||||
handle_zoom_to_object(getAvatarId());
|
||||
}
|
||||
else if (level == "map")
|
||||
else if (param == "map")
|
||||
{
|
||||
LLAvatarActions::showOnMap(getAvatarId());
|
||||
}
|
||||
else if (level == "track")
|
||||
else if (param == "track")
|
||||
{
|
||||
LLAvatarActions::track(getAvatarId());
|
||||
}
|
||||
else if (level == "share")
|
||||
else if (param == "share")
|
||||
{
|
||||
LLAvatarActions::share(getAvatarId());
|
||||
}
|
||||
else if (level == "pay")
|
||||
else if (param == "pay")
|
||||
{
|
||||
LLAvatarActions::pay(getAvatarId());
|
||||
}
|
||||
else if (level == "copy_name")
|
||||
else if (param == "copy_name")
|
||||
{
|
||||
LLUrlAction::copyLabelToClipboard(LLSLURL("agent", getAvatarId(), "inspect").getSLURLString());
|
||||
}
|
||||
else if (level == "copy_url")
|
||||
else if (param == "copy_url")
|
||||
{
|
||||
LLUrlAction::copyURLToClipboard(LLSLURL("agent", getAvatarId(), "about").getSLURLString());
|
||||
}
|
||||
else if(level == "block_unblock")
|
||||
else if (param == "block_unblock")
|
||||
{
|
||||
LLAvatarActions::toggleMute(getAvatarId(), LLMute::flagVoiceChat);
|
||||
}
|
||||
else if(level == "mute_unmute")
|
||||
else if (param == "mute_unmute")
|
||||
{
|
||||
LLAvatarActions::toggleMute(getAvatarId(), LLMute::flagTextChat);
|
||||
}
|
||||
else if(level == "toggle_allow_text_chat")
|
||||
else if (param == "toggle_allow_text_chat")
|
||||
{
|
||||
LLIMSpeakerMgr* speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(mSessionID);
|
||||
speaker_mgr->toggleAllowTextChat(getAvatarId());
|
||||
}
|
||||
else if(level == "group_mute")
|
||||
else if (param == "group_mute")
|
||||
{
|
||||
LLIMSpeakerMgr* speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(mSessionID);
|
||||
if (speaker_mgr)
|
||||
|
|
@ -457,7 +457,7 @@ public:
|
|||
speaker_mgr->moderateVoiceParticipant(getAvatarId(), false);
|
||||
}
|
||||
}
|
||||
else if(level == "group_unmute")
|
||||
else if (param == "group_unmute")
|
||||
{
|
||||
LLIMSpeakerMgr* speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(mSessionID);
|
||||
if (speaker_mgr)
|
||||
|
|
@ -465,7 +465,7 @@ public:
|
|||
speaker_mgr->moderateVoiceParticipant(getAvatarId(), true);
|
||||
}
|
||||
}
|
||||
else if(level == "ban_member")
|
||||
else if (param == "ban_member")
|
||||
{
|
||||
banGroupMember(getAvatarId());
|
||||
}
|
||||
|
|
@ -473,17 +473,17 @@ public:
|
|||
|
||||
bool onAvatarIconContextMenuItemChecked(const LLSD& userdata)
|
||||
{
|
||||
std::string level = userdata.asString();
|
||||
std::string param = userdata.asString();
|
||||
|
||||
if (level == "is_blocked")
|
||||
if (param == "is_blocked")
|
||||
{
|
||||
return LLMuteList::getInstance()->isMuted(getAvatarId(), LLMute::flagVoiceChat);
|
||||
}
|
||||
if (level == "is_muted")
|
||||
if (param == "is_muted")
|
||||
{
|
||||
return LLMuteList::getInstance()->isMuted(getAvatarId(), LLMute::flagTextChat);
|
||||
}
|
||||
else if (level == "is_allowed_text_chat")
|
||||
else if (param == "is_allowed_text_chat")
|
||||
{
|
||||
if (gAgent.isInGroup(mSessionID))
|
||||
{
|
||||
|
|
@ -502,13 +502,13 @@ public:
|
|||
|
||||
bool onAvatarIconContextMenuItemEnabled(const LLSD& userdata)
|
||||
{
|
||||
std::string level = userdata.asString();
|
||||
std::string param = userdata.asString();
|
||||
|
||||
if (level == "can_allow_text_chat" || level == "can_mute" || level == "can_unmute")
|
||||
if (param == "can_allow_text_chat" || param == "can_mute" || param == "can_unmute")
|
||||
{
|
||||
return canModerate(userdata);
|
||||
}
|
||||
else if (level == "can_ban_member")
|
||||
else if (param == "can_ban_member")
|
||||
{
|
||||
return canBanGroupMember(getAvatarId());
|
||||
}
|
||||
|
|
@ -517,9 +517,9 @@ public:
|
|||
|
||||
bool onAvatarIconContextMenuItemVisible(const LLSD& userdata)
|
||||
{
|
||||
std::string level = userdata.asString();
|
||||
std::string param = userdata.asString();
|
||||
|
||||
if (level == "show_mute")
|
||||
if (param == "show_mute")
|
||||
{
|
||||
LLSpeakerMgr * speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(mSessionID);
|
||||
if (speaker_mgr)
|
||||
|
|
@ -532,7 +532,7 @@ public:
|
|||
}
|
||||
return false;
|
||||
}
|
||||
else if (level == "show_unmute")
|
||||
else if (param == "show_unmute")
|
||||
{
|
||||
LLSpeakerMgr * speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(mSessionID);
|
||||
if (speaker_mgr)
|
||||
|
|
@ -782,12 +782,6 @@ public:
|
|||
|
||||
// Set up the icon.
|
||||
LLAvatarIconCtrl* icon = getChild<LLAvatarIconCtrl>("avatar_icon");
|
||||
|
||||
// Hacky preference to hide avatar icons for people who don't like them by overdrawing them. Will change to disable soon. -AO
|
||||
if (!gSavedSettings.getBOOL("ShowChatMiniIcons"))
|
||||
{
|
||||
icon->setColor(LLUIColorTable::instance().getColor("Transparent"));
|
||||
}
|
||||
|
||||
if(mSourceType != CHAT_SOURCE_AGENT || mAvatarID.isNull())
|
||||
icon->setDrawTooltip(false);
|
||||
|
|
|
|||
|
|
@ -137,6 +137,10 @@ bool FSChatOptionsMenu::onMenuItemVisible(const LLSD& userdata, LLUICtrl* source
|
|||
{
|
||||
return (dynamic_cast<FSFloaterIM*>(source) != NULL);
|
||||
}
|
||||
else if (option == "show_mini_icons")
|
||||
{
|
||||
return !gSavedSettings.getBOOL("PlainTextChatHistory");
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
#include "llavatarappearance.h"
|
||||
#include "llinventoryfunctions.h"
|
||||
#include "llmaniptranslate.h"
|
||||
#include "llnotificationsutil.h"
|
||||
#include "llpreviewscript.h"
|
||||
#include "llselectmgr.h"
|
||||
#include "llsdutil.h"
|
||||
|
|
@ -272,6 +273,7 @@ bool FSLSLBridge::lslToViewer(const std::string& message, const LLUUID& fromID,
|
|||
{
|
||||
updateBoolSettingValue("UseMoveLock");
|
||||
report_to_nearby_chat(LLTrans::getString("MovelockEnabling"));
|
||||
make_ui_sound("UISndMovelockToggle");
|
||||
}
|
||||
// </FS:PP>
|
||||
|
||||
|
|
@ -284,6 +286,7 @@ bool FSLSLBridge::lslToViewer(const std::string& message, const LLUUID& fromID,
|
|||
// Not called right after logging in, and only if movelock was enabled during transition
|
||||
else if (gSavedPerAccountSettings.getBOOL("UseMoveLock"))
|
||||
{
|
||||
make_ui_sound("UISndMovelockToggle");
|
||||
if (!gSavedSettings.getBOOL("RelockMoveLockAfterRegionChange"))
|
||||
{
|
||||
// Don't call for update here and only change setting to 'false', getCommitSignal()->connect->boost in llviewercontrol.cpp will send a message to Bridge anyway
|
||||
|
|
@ -450,11 +453,11 @@ bool FSLSLBridge::lslToViewer(const std::string& message, const LLUUID& fromID,
|
|||
{
|
||||
if (message.substr(valuepos + FS_STATE_ATTRIBUTE.size(), 1) == "1")
|
||||
{
|
||||
report_to_nearby_chat(LLTrans::getString("MovelockEnabled"));
|
||||
LLNotificationsUtil::add("MovelockEnabled", LLSD());
|
||||
}
|
||||
else if (message.substr(valuepos + FS_STATE_ATTRIBUTE.size(), 1) == "0")
|
||||
{
|
||||
report_to_nearby_chat(LLTrans::getString("MovelockDisabled"));
|
||||
LLNotificationsUtil::add("MovelockDisabled", LLSD());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ RequestExecutionLevel admin # For when we write to Program Files
|
|||
##!include "%%SOURCE%%\installers\windows\lang_da.nsi"
|
||||
!include "%%SOURCE%%\installers\windows\lang_de.nsi"
|
||||
!include "%%SOURCE%%\installers\windows\lang_es.nsi"
|
||||
##!include "%%SOURCE%%\installers\windows\lang_fr.nsi"
|
||||
!include "%%SOURCE%%\installers\windows\lang_fr.nsi"
|
||||
!include "%%SOURCE%%\installers\windows\lang_ja.nsi"
|
||||
!include "%%SOURCE%%\installers\windows\lang_it.nsi"
|
||||
!include "%%SOURCE%%\installers\windows\lang_pl.nsi" ;<FS:Ansariel> Polish is supported
|
||||
|
|
@ -69,7 +69,7 @@ RequestExecutionLevel admin # For when we write to Program Files
|
|||
LangString LanguageCode ${LANG_GERMAN} "de"
|
||||
LangString LanguageCode ${LANG_ENGLISH} "en"
|
||||
LangString LanguageCode ${LANG_SPANISH} "es"
|
||||
##LangString LanguageCode ${LANG_FRENCH} "fr"
|
||||
LangString LanguageCode ${LANG_FRENCH} "fr"
|
||||
LangString LanguageCode ${LANG_JAPANESE} "ja"
|
||||
LangString LanguageCode ${LANG_ITALIAN} "it"
|
||||
LangString LanguageCode ${LANG_POLISH} "pl"
|
||||
|
|
@ -403,10 +403,10 @@ CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT.lnk" \
|
|||
|
||||
WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Create Account.url" \
|
||||
"InternetShortcut" "URL" \
|
||||
"http://join.secondlife.com/"
|
||||
"https://join.secondlife.com/"
|
||||
WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Your Account.url" \
|
||||
"InternetShortcut" "URL" \
|
||||
"http://www.secondlife.com/account/"
|
||||
"https://www.secondlife.com/account/"
|
||||
WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\LSL Scripting Language Help.url" \
|
||||
"InternetShortcut" "URL" \
|
||||
"http://wiki.secondlife.com/wiki/LSL_Portal"
|
||||
|
|
@ -436,9 +436,9 @@ WriteRegStr SHELL_CONTEXT "${INSTNAME_KEY}" "Version" "${VERSION_LONG}"
|
|||
WriteRegStr SHELL_CONTEXT "${INSTNAME_KEY}" "Shortcut" "$INSTSHORTCUT"
|
||||
WriteRegStr SHELL_CONTEXT "${INSTNAME_KEY}" "Exe" "$VIEWER_EXE"
|
||||
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "Publisher" "The Phoenix Firestorm Project, Inc."
|
||||
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "URLInfoAbout" "http://www.firestormviewer.org"
|
||||
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "URLUpdateInfo" "http://www.firestormviewer.org/downloads"
|
||||
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "HelpLink" "http://www.firestormviewer.org/support"
|
||||
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "URLInfoAbout" "https://www.firestormviewer.org"
|
||||
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "URLUpdateInfo" "https://www.firestormviewer.org/downloads"
|
||||
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "HelpLink" "https://www.firestormviewer.org/support"
|
||||
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "DisplayName" "$INSTNAME"
|
||||
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "UninstallString" '"$INSTDIR\uninst.exe"'
|
||||
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "DisplayVersion" "${VERSION_LONG}"
|
||||
|
|
@ -447,7 +447,7 @@ WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "DisplayVersion" "${VERSION_LONG}
|
|||
${If} ${IS64BIT} == "1"
|
||||
WriteRegDWORD SHELL_CONTEXT "${MSUNINSTALL_KEY}" "EstimatedSize" "0x00064000" # 400 MB
|
||||
${Else}
|
||||
WriteRegDWORD SHELL_CONTEXT "${MSUNINSTALL_KEY}" "EstimatedSize" "0x00057800" # 350 MB
|
||||
WriteRegDWORD SHELL_CONTEXT "${MSUNINSTALL_KEY}" "EstimatedSize" "0x00061800" # 390 MB
|
||||
${EndIf}
|
||||
|
||||
# from FS:Ansariel
|
||||
|
|
@ -458,6 +458,9 @@ WriteRegDWORD SHELL_CONTEXT "${MSNTCURRVER_KEY}\Image File Execution Options\$VI
|
|||
WriteRegDWORD SHELL_CONTEXT "${MSUNINSTALL_KEY}" "NoModify" 1
|
||||
WriteRegDWORD SHELL_CONTEXT "${MSUNINSTALL_KEY}" "NoRepair" 1
|
||||
|
||||
# <FS:Ansariel> Ask before creating protocol registry entries
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION $(CreateUrlRegistryEntries) IDNO skip_create_url_registry_entries
|
||||
|
||||
# Write URL registry info
|
||||
WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "(default)" "URL:Second Life"
|
||||
WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "URL Protocol" ""
|
||||
|
|
@ -473,9 +476,6 @@ WriteRegStr HKEY_CLASSES_ROOT "x-grid-location-info\DefaultIcon" "" '"$INSTDIR\$
|
|||
# URL param must be last item passed to viewer, it ignores subsequent params to avoid parameter injection attacks.
|
||||
WriteRegExpandStr HKEY_CLASSES_ROOT "x-grid-location-info\shell\open\command" "" '"$INSTDIR\$VIEWER_EXE" -url "%1"'
|
||||
|
||||
WriteRegStr HKEY_CLASSES_ROOT "Applications\$INSTEXE" "IsHostApp" ""
|
||||
##WriteRegStr HKEY_CLASSES_ROOT "Applications\${VIEWER_EXE}" "NoStartPage" ""
|
||||
|
||||
# <FS:CR> Register hop:// protocol registry info
|
||||
WriteRegStr HKEY_CLASSES_ROOT "hop" "(default)" "URL:Second Life"
|
||||
WriteRegStr HKEY_CLASSES_ROOT "hop" "URL Protocol" ""
|
||||
|
|
@ -483,6 +483,12 @@ WriteRegStr HKEY_CLASSES_ROOT "hop\DefaultIcon" "" '"$INSTDIR\$VIEWER_EXE"'
|
|||
WriteRegExpandStr HKEY_CLASSES_ROOT "hop\shell\open\command" "" '"$INSTDIR\$VIEWER_EXE" -url "%1"'
|
||||
# </FS:CR>
|
||||
|
||||
# <FS:Ansariel> Ask before creating protocol registry entries
|
||||
skip_create_url_registry_entries:
|
||||
|
||||
WriteRegStr HKEY_CLASSES_ROOT "Applications\$INSTEXE" "IsHostApp" ""
|
||||
##WriteRegStr HKEY_CLASSES_ROOT "Applications\${VIEWER_EXE}" "NoStartPage" ""
|
||||
|
||||
# Write out uninstaller
|
||||
WriteUninstaller "$INSTDIR\uninst.exe"
|
||||
|
||||
|
|
@ -800,8 +806,10 @@ NOFOLDER:
|
|||
MessageBox MB_YESNO $(DeleteRegistryKeysMB) IDYES DeleteKeys IDNO NoDelete
|
||||
|
||||
DeleteKeys:
|
||||
DeleteRegKey SHELL_CONTEXT "SOFTWARE\Classes\hop" # <FS:Ansariel> Unregister hop:// protocol registry info
|
||||
DeleteRegKey SHELL_CONTEXT "SOFTWARE\Classes\x-grid-location-info"
|
||||
DeleteRegKey SHELL_CONTEXT "SOFTWARE\Classes\secondlife"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "hop" # <FS:Ansariel> Unregister hop:// protocol registry info
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "x-grid-location-info"
|
||||
DeleteRegKey HKEY_CLASSES_ROOT "secondlife"
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1640,7 +1640,7 @@ void LLAgent::setAFK()
|
|||
// <FS:AO> Gsit on away, antigrief protection
|
||||
if (gSavedSettings.getBOOL("AvatarSitOnAway"))
|
||||
{
|
||||
if (!gAgentAvatarp->isSitting() && !gRlvHandler.hasBehaviour(RLV_BHVR_SIT))
|
||||
if (isAgentAvatarValid() && !gAgentAvatarp->isSitting() && !gRlvHandler.hasBehaviour(RLV_BHVR_SIT))
|
||||
{
|
||||
gAgent.sitDown();
|
||||
gAgent.setIsAfkSitting(true);
|
||||
|
|
@ -5535,6 +5535,7 @@ void LLAgent::renderAutoPilotTarget()
|
|||
// <FS> Phantom mode
|
||||
void LLAgent::togglePhantom()
|
||||
{
|
||||
make_ui_sound("UISndMovelockToggle");
|
||||
mPhantom = !mPhantom;
|
||||
if (mPhantom)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -578,7 +578,10 @@ void LLFloaterCamera::onClickCameraItem(const LLSD& param)
|
|||
LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance();
|
||||
if (camera_floater)
|
||||
{
|
||||
camera_floater->switchMode(CAMERA_CTRL_MODE_FREE_CAMERA);
|
||||
// <FS:Ansariel> FIRE-29950: Re-add weird legacy object view camera toggle
|
||||
//camera_floater->switchMode(CAMERA_CTRL_MODE_FREE_CAMERA);
|
||||
camera_floater->mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA ? camera_floater->switchMode(CAMERA_CTRL_MODE_PAN) : camera_floater->switchMode(CAMERA_CTRL_MODE_FREE_CAMERA);
|
||||
// </FS:Ansariel>
|
||||
camera_floater->updateItemsSelection();
|
||||
camera_floater->fromFreeToPresets();
|
||||
}
|
||||
|
|
@ -587,7 +590,10 @@ void LLFloaterCamera::onClickCameraItem(const LLSD& param)
|
|||
camera_floater = LLFloaterCamera::findPhototoolsInstance();
|
||||
if (camera_floater)
|
||||
{
|
||||
camera_floater->switchMode(CAMERA_CTRL_MODE_FREE_CAMERA);
|
||||
// <FS:Ansariel> FIRE-29950: Re-add weird legacy object view camera toggle
|
||||
//camera_floater->switchMode(CAMERA_CTRL_MODE_FREE_CAMERA);
|
||||
camera_floater->mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA ? camera_floater->switchMode(CAMERA_CTRL_MODE_PAN) : camera_floater->switchMode(CAMERA_CTRL_MODE_FREE_CAMERA);
|
||||
// </FS:Ansariel>
|
||||
camera_floater->updateItemsSelection();
|
||||
camera_floater->fromFreeToPresets();
|
||||
}
|
||||
|
|
@ -726,7 +732,14 @@ void LLFloaterCamera::onSavePreset()
|
|||
LLFloaterReg::hideInstance("delete_pref_preset", PRESETS_CAMERA);
|
||||
LLFloaterReg::hideInstance("load_pref_preset", PRESETS_CAMERA);
|
||||
|
||||
LLFloaterReg::showInstance("save_camera_preset");
|
||||
// <FS:Ansariel> Preselect correct radio button on save camera presets floater
|
||||
//LLFloaterReg::showInstance("save_camera_preset");
|
||||
LLSD key;
|
||||
std::string current_preset = gSavedSettings.getString("PresetCameraActive");
|
||||
bool is_custom_preset = current_preset != "" && !LLPresetsManager::getInstance()->isDefaultCameraPreset(current_preset);
|
||||
key["index"] = is_custom_preset ? 1 : 0;
|
||||
LLFloaterReg::showInstance("save_camera_preset", key);
|
||||
// </FS:Ansariel>
|
||||
}
|
||||
|
||||
void LLFloaterCamera::onCustomPresetSelected()
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ BOOL LLFloaterSaveCameraPreset::postBuild()
|
|||
|
||||
mNameEditor = getChild<LLLineEditor>("preset_txt_editor");
|
||||
mNameEditor->setKeystrokeCallback(boost::bind(&LLFloaterSaveCameraPreset::onPresetNameEdited, this), NULL);
|
||||
mNameEditor->setCommitCallback(boost::bind(&LLFloaterSaveCameraPreset::onBtnSave, this)); // <FS:Ansariel> Save on pressing enter
|
||||
|
||||
mSaveButton = getChild<LLButton>("save");
|
||||
mSaveButton->setCommitCallback(boost::bind(&LLFloaterSaveCameraPreset::onBtnSave, this));
|
||||
|
|
@ -99,6 +100,13 @@ void LLFloaterSaveCameraPreset::onBtnSave()
|
|||
bool is_saving_new = mSaveRadioGroup->getSelectedIndex() == 0;
|
||||
std::string name = is_saving_new ? mNameEditor->getText() : mPresetCombo->getSimple();
|
||||
|
||||
// <FS:Ansariel> Save on pressing enter
|
||||
if (name.empty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
if ((name == LLTrans::getString(PRESETS_DEFAULT)) || (name == PRESETS_DEFAULT))
|
||||
{
|
||||
LLNotificationsUtil::add("DefaultPresetNotSaved");
|
||||
|
|
|
|||
|
|
@ -51,7 +51,10 @@ BOOL LLFloaterSavePrefPreset::postBuild()
|
|||
}
|
||||
|
||||
getChild<LLComboBox>("preset_combo")->setTextEntryCallback(boost::bind(&LLFloaterSavePrefPreset::onPresetNameEdited, this));
|
||||
getChild<LLComboBox>("preset_combo")->setCommitCallback(boost::bind(&LLFloaterSavePrefPreset::onPresetNameEdited, this));
|
||||
// <FS:Ansariel> Save on pressing enter
|
||||
//getChild<LLComboBox>("preset_combo")->setCommitCallback(boost::bind(&LLFloaterSavePrefPreset::onPresetNameEdited, this));
|
||||
getChild<LLComboBox>("preset_combo")->setCommitCallback(boost::bind(&LLFloaterSavePrefPreset::onBtnSave, this));
|
||||
// </FS:Ansariel>
|
||||
getChild<LLButton>("save")->setCommitCallback(boost::bind(&LLFloaterSavePrefPreset::onBtnSave, this));
|
||||
|
||||
getChild<LLButton>("cancel")->setCommitCallback(boost::bind(&LLFloaterSavePrefPreset::onBtnCancel, this));
|
||||
|
|
@ -86,6 +89,13 @@ void LLFloaterSavePrefPreset::onBtnSave()
|
|||
{
|
||||
std::string name = mPresetCombo->getSimple();
|
||||
|
||||
// <FS:Ansariel> Save on pressing enter
|
||||
if (name.empty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
std::string upper_name(name);
|
||||
LLStringUtil::toUpper(upper_name);
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
#include "llinventorymodel.h"
|
||||
#include "llinventorypanel.h"
|
||||
#include "llscrolllistctrl.h"
|
||||
#include "lltrans.h"
|
||||
#include "llviewerassettype.h"
|
||||
#include "llviewerinventory.h"
|
||||
#include "llviewerregion.h"
|
||||
|
|
@ -159,13 +160,30 @@ void LLScriptRecoverQueue::recoverIfNeeded()
|
|||
{
|
||||
// Build a friendly name for the file
|
||||
std::string strName = gDirUtilp->getBaseFileName(strFilename, true);
|
||||
|
||||
std::string agent_id_str = gAgentID.asString();
|
||||
LLStringUtil::replaceString(agent_id_str, "-", "");
|
||||
std::string::size_type agent_delim_offset = strName.find_first_of("_");
|
||||
if (agent_delim_offset != std::string::npos && agent_delim_offset != 0)
|
||||
{
|
||||
std::string file_agent_id_str = strName.substr(0, agent_delim_offset);
|
||||
if (file_agent_id_str != agent_id_str)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
strName.erase(0, agent_delim_offset + 1);
|
||||
}
|
||||
}
|
||||
|
||||
std::string::size_type offset = strName.find_last_of("-");
|
||||
if ( (std::string::npos != offset) && (offset != 0) && (offset == strName.length() - 9))
|
||||
strName.erase(strName.length() - 9);
|
||||
|
||||
LLStringUtil::trim(strName);
|
||||
if (0 == strName.length())
|
||||
strName = "(Unknown script)";
|
||||
strName = LLTrans::getString("unknown_script");
|
||||
|
||||
sdFiles.append(LLSD().with("path", strTempPath + strFilename).with("name", strName));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@
|
|||
// [/RLVa:KB]
|
||||
|
||||
// Firestorm includes
|
||||
#include "exogroupmutelist.h"
|
||||
#include "fscommon.h"
|
||||
#include "fsdata.h"
|
||||
#include "fskeywords.h"
|
||||
|
|
@ -182,7 +183,22 @@ protected:
|
|||
void modifyNotificationParams()
|
||||
{
|
||||
LLSD payload = mParams.payload;
|
||||
payload["SESSION_NAME"] = mName;
|
||||
// <FS:Ansariel> FIRE-29943: Item shared messaged logging to wrong IM logfile if user is offline
|
||||
//payload["SESSION_NAME"] = mName;
|
||||
LLAvatarName av_name;
|
||||
// This should work since modifyNotificationParams() is invoked after we already
|
||||
// retrieved the avatar name
|
||||
if (mFromId.notNull() && LLAvatarNameCache::instance().getName(mFromId, &av_name))
|
||||
{
|
||||
// LLHandlerUtil::logToIM() will transform this into the correct filename
|
||||
payload["SESSION_NAME"] = av_name.getLegacyName();
|
||||
}
|
||||
else
|
||||
{
|
||||
payload["SESSION_NAME"] = mName;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
mParams.payload = payload;
|
||||
}
|
||||
};
|
||||
|
|
@ -1621,8 +1637,8 @@ void LLIMProcessing::processNewMessage(LLUUID from_id,
|
|||
// should happen after you get an "invitation"
|
||||
// [SL:KB] - Patch: Chat-GroupSnooze | Checked: 2012-06-16 (Catznip-3.3)
|
||||
//if ( !gIMMgr->hasSession(session_id) )
|
||||
if ( (!gIMMgr->hasSession(session_id)) &&
|
||||
( (!gAgent.isInGroup(session_id)) || (!gIMMgr->checkSnoozeExpiration(session_id)) || LLAvatarActions::isBlocked(from_id) || (!gIMMgr->restoreSnoozedSession(session_id)) ) )
|
||||
if (!gIMMgr->hasSession(session_id) &&
|
||||
(!gAgent.isInGroup(session_id) || LLAvatarActions::isBlocked(from_id) || (!exoGroupMuteList::instance().restoreDeferredGroupChat(session_id) && (!gIMMgr->checkSnoozeExpiration(session_id) || !gIMMgr->restoreSnoozedSession(session_id)) )))
|
||||
// [/SL:KB]
|
||||
{
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -2991,9 +2991,9 @@ void LLIMMgr::addMessage(
|
|||
static LLCachedControl<U32> PlayModeUISndNewIncomingIMSession(gSavedSettings, "PlayModeUISndNewIncomingIMSession");
|
||||
static LLCachedControl<U32> PlayModeUISndNewIncomingGroupIMSession(gSavedSettings, "PlayModeUISndNewIncomingGroupIMSession");
|
||||
static LLCachedControl<U32> PlayModeUISndNewIncomingConfIMSession(gSavedSettings, "PlayModeUISndNewIncomingConfIMSession");
|
||||
BOOL do_not_disturb = gAgent.isDoNotDisturb();
|
||||
BOOL is_group_chat = FALSE;
|
||||
if (!new_session && dialog != IM_NOTHING_SPECIAL)
|
||||
bool do_not_disturb = gAgent.isDoNotDisturb();
|
||||
bool is_group_chat = false;
|
||||
if (dialog != IM_NOTHING_SPECIAL)
|
||||
{
|
||||
is_group_chat = gAgent.isInGroup(new_session_id);
|
||||
}
|
||||
|
|
@ -3010,6 +3010,13 @@ void LLIMMgr::addMessage(
|
|||
// <FS:Ansariel> Clear muted group chat early to prevent contacts floater
|
||||
// (re-)gaining focus; the server already knows the correct
|
||||
// session id, so we can leave it!
|
||||
if (is_group_chat && !exoGroupMuteList::instance().isLoaded())
|
||||
{
|
||||
LL_INFOS() << "Received group chat from " << fixed_session_name << " (" << new_session_id.asString() << ") before must list has been loaded - skipping message" << LL_ENDL;
|
||||
exoGroupMuteList::instance().addDeferredGroupChat(new_session_id);
|
||||
return;
|
||||
}
|
||||
|
||||
if (exoGroupMuteList::instance().isMuted(new_session_id))
|
||||
{
|
||||
LL_INFOS() << "Muting group chat from " << new_session_id.asString() << ": " << fixed_session_name << LL_ENDL;
|
||||
|
|
@ -3033,6 +3040,7 @@ void LLIMMgr::addMessage(
|
|||
gAgent.isInGroup(new_session_id) && LLMuteList::getInstance()->isMuted(other_participant_id) && !from_linden)
|
||||
{
|
||||
LL_INFOS() << "Ignoring group chat initiated by muted resident." << LL_ENDL;
|
||||
exoGroupMuteList::instance().addDeferredGroupChat(new_session_id);
|
||||
return;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
|
@ -3084,11 +3092,6 @@ void LLIMMgr::addMessage(
|
|||
// //Play sound for new conversations
|
||||
// if (!gAgent.isDoNotDisturb() && (gSavedSettings.getBOOL("PlaySoundNewConversation") == TRUE))
|
||||
|
||||
if (dialog != IM_NOTHING_SPECIAL)
|
||||
{
|
||||
is_group_chat = gAgent.isInGroup(new_session_id);
|
||||
}
|
||||
|
||||
// <FS:PP> Option to automatically ignore and leave all conference (ad-hoc) chats
|
||||
static LLCachedControl<bool> ignoreAdHocSessions(gSavedSettings, "FSIgnoreAdHocSessions");
|
||||
if (dialog != IM_NOTHING_SPECIAL && !is_group_chat && ignoreAdHocSessions && !from_linden)
|
||||
|
|
|
|||
|
|
@ -204,5 +204,6 @@ extern const std::string LL_IM_TEXT; //("message");
|
|||
extern const std::string LL_IM_FROM; //("from");
|
||||
extern const std::string LL_IM_FROM_ID; //("from_id");
|
||||
extern const std::string LL_TRANSCRIPT_FILE_EXTENSION; //("txt");
|
||||
extern const std::string GROUP_CHAT_SUFFIX; // <FS:Ansariel> FIRE-29911: Group notices logging to wrong file
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -114,14 +114,17 @@ void LLHandlerUtil::logToIM(const EInstantMessage& session_type,
|
|||
// to use it for a history log filename.
|
||||
// <FS:Ansariel> [Legacy IM logfile names]
|
||||
//std::string user_name = LLCacheName::buildUsername(session_name);
|
||||
std::string user_name;
|
||||
if (gSavedSettings.getBOOL("UseLegacyIMLogNames"))
|
||||
std::string user_name(session_name);
|
||||
if (!gAgent.isInGroup(session_owner_id))
|
||||
{
|
||||
user_name = session_name.substr(0, session_name.find(" Resident"));;
|
||||
}
|
||||
else
|
||||
{
|
||||
user_name = LLCacheName::buildUsername(session_name);
|
||||
if (gSavedSettings.getBOOL("UseLegacyIMLogNames"))
|
||||
{
|
||||
user_name = session_name.substr(0, session_name.find(" Resident"));;
|
||||
}
|
||||
else
|
||||
{
|
||||
user_name = LLCacheName::buildUsername(session_name);
|
||||
}
|
||||
}
|
||||
// </FS:Ansariel> [Legacy IM logfile names]
|
||||
LLIMModel::instance().logToFile(user_name, from, from_id, message);
|
||||
|
|
@ -236,6 +239,8 @@ void LLHandlerUtil::logGroupNoticeToIMGroup(
|
|||
}
|
||||
|
||||
// <FS:KC> Better group notices to IM log
|
||||
//logToIM(IM_SESSION_GROUP_START, group_name, sender_name, payload["message"],
|
||||
// payload["group_id"], sender_id);
|
||||
if (gSavedSettings.getBOOL("FSBetterGroupNoticesToIMLog"))
|
||||
{
|
||||
std::string msg = llformat(
|
||||
|
|
@ -247,14 +252,14 @@ void LLHandlerUtil::logGroupNoticeToIMGroup(
|
|||
payload["message"].asString().c_str()
|
||||
);
|
||||
|
||||
logToIM(IM_SESSION_GROUP_START, group_name, sender_name, msg, payload["group_id"], sender_id);
|
||||
logToIM(IM_SESSION_GROUP_START, group_name + GROUP_CHAT_SUFFIX, sender_name, msg, payload["group_id"], sender_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
logToIM(IM_SESSION_GROUP_START, group_name + GROUP_CHAT_SUFFIX, sender_name, payload["message"],
|
||||
payload["group_id"], sender_id);
|
||||
}
|
||||
// </FS:KC> Better group notices to IM log
|
||||
logToIM(IM_SESSION_GROUP_START, group_name, sender_name, payload["message"],
|
||||
payload["group_id"], sender_id);
|
||||
}// <FS:KC> Better group notices to IM log
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
|
|||
|
|
@ -2022,6 +2022,10 @@ std::string LLScriptEdContainer::getBackupFileName() const
|
|||
// NOTE: this function is not guaranteed to return the same filename every time (i.e. the item name may have changed)
|
||||
std::string strFile = LLFile::tmpdir();
|
||||
|
||||
std::string agent_id_str = gAgentID.asString();
|
||||
LLStringUtil::replaceString(agent_id_str, "-", "");
|
||||
strFile += agent_id_str + "_";
|
||||
|
||||
// Find the inventory item for this script
|
||||
const LLInventoryItem* pItem = getItem();
|
||||
if (pItem)
|
||||
|
|
|
|||
|
|
@ -518,6 +518,15 @@ const void upload_bulk(const std::vector<std::string>& filenames, LLFilePicker::
|
|||
LLSD args;
|
||||
args["COST"] = expected_upload_cost;
|
||||
args["COUNT"] = expected_upload_count;
|
||||
// <FS:Ansariel> Check balance before trying to upload
|
||||
S32 current_balance = gStatusBar->getBalance();
|
||||
if (expected_upload_cost > current_balance)
|
||||
{
|
||||
args["BALANCE"] = current_balance;
|
||||
LLNotificationsUtil::add("NotEnoughMoneyForBulkUpload", args);
|
||||
return;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
LLNotificationsUtil::add("BulkUploadCostConfirmation", args, LLSD(), boost::bind(do_bulk_upload, filtered_filenames, _1, _2));
|
||||
|
||||
if (filtered_filenames.size() > expected_upload_count)
|
||||
|
|
|
|||
|
|
@ -1110,9 +1110,15 @@ void LLOcclusionCullingGroup::checkOcclusion()
|
|||
|
||||
static LLCachedControl<bool> wait_for_query(gSavedSettings, "RenderSynchronousOcclusion", true);
|
||||
|
||||
if (wait_for_query && mOcclusionIssued[LLViewerCamera::sCurCameraID] < gFrameCount)
|
||||
// <FS:Ansariel> Restore occlusion query performance optimization - except for Intel GPUs
|
||||
//if (wait_for_query && mOcclusionIssued[LLViewerCamera::sCurCameraID] < gFrameCount)
|
||||
U32 target_read_frame = !gGLManager.mIsIntel ? ((gFrameCount > 2) ? (gFrameCount - 2) : 0) : gFrameCount;
|
||||
if (wait_for_query && mOcclusionIssued[LLViewerCamera::sCurCameraID] < target_read_frame)
|
||||
// </FS:Ansariel>
|
||||
{ //query was issued last frame, wait until it's available
|
||||
S32 max_loop = 1024;
|
||||
// <FS:Ansariel> Restore occlusion query performance optimization - except for Intel GPUs
|
||||
//S32 max_loop = 1024;
|
||||
S32 max_loop = !gGLManager.mIsIntel ? 64 : 1024;
|
||||
LL_RECORD_BLOCK_TIME(FTM_OCCLUSION_WAIT);
|
||||
while (!available && max_loop-- > 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -389,6 +389,7 @@ public:
|
|||
static const std::string beacon_sun = LLTrans::getString("BeaconSun");
|
||||
static const std::string beacon_moon = LLTrans::getString("BeaconMoon");
|
||||
static const std::string particle_hiding = LLTrans::getString("ParticleHiding");
|
||||
static const std::string movelock_enabled = LLTrans::getString("MovelockEnabled"); // <FS:PP> FIRE-29880: Movelock
|
||||
|
||||
// Draw the statistics in a light gray
|
||||
// and in a thin font
|
||||
|
|
@ -794,6 +795,16 @@ public:
|
|||
ypos += y_inc;
|
||||
}
|
||||
|
||||
// <FS:PP> FIRE-29880: Movelock
|
||||
static LLCachedControl<bool> fsRenderMovelockState(gSavedPerAccountSettings, "UseMoveLock");
|
||||
static LLCachedControl<bool> fsRenderMovelockText(gSavedPerAccountSettings, "MoveLockInfoVisibleOnScreen");
|
||||
if (fsRenderMovelockState && fsRenderMovelockText)
|
||||
{
|
||||
addText(xpos, ypos, movelock_enabled);
|
||||
ypos += y_inc;
|
||||
}
|
||||
// </FS:PP>
|
||||
|
||||
// <FS:LO> pull the text saying if particles are hidden out from beacons
|
||||
if (LLPipeline::toggleRenderTypeControlNegated(LLPipeline::RENDER_TYPE_PARTICLES))
|
||||
{
|
||||
|
|
@ -2186,6 +2197,14 @@ void LLViewerWindow::initBase()
|
|||
chatbar_panel->setReshapePanelCallback(boost::bind(&LLFloaterView::setMainChatbarRect, gFloaterView, _1, _2));
|
||||
gFloaterView->setMainChatbarRect(chatbar_panel, chatbar_panel->getRect());
|
||||
}
|
||||
|
||||
// Utility bar on legacy skins
|
||||
LLLayoutPanel* legacy_chat_panel = LLUI::getInstance()->getRootView()->findChild<LLLayoutPanel>("chat_panel");
|
||||
if (legacy_chat_panel)
|
||||
{
|
||||
legacy_chat_panel->setReshapePanelCallback(boost::bind(&LLFloaterView::setUtilityBarRect, gFloaterView, _1, _2));
|
||||
gFloaterView->setUtilityBarRect(legacy_chat_panel, legacy_chat_panel->getRect());
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
// optionally forward warnings to chat console/chat floater
|
||||
|
|
|
|||
|
|
@ -50,8 +50,9 @@
|
|||
</panel_camera_item>
|
||||
</panel>
|
||||
<combo_box name="preset_combo">
|
||||
<combo_box.item label="Voreinstellung verwenden" name="Use preset"/>
|
||||
<combo_box.item label="Voreinstell. verw." name="Use preset"/>
|
||||
</combo_box>
|
||||
<button name="gear_btn" tool_tip="Kamera-Voreinstellungen"/>
|
||||
<button label="Kamera-Position..." name="camera_position_btn"/>
|
||||
<button label="Position..." name="camera_position_btn"/>
|
||||
<button label="Speichern" name="save_btn"/>
|
||||
</floater>
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@
|
|||
mouse_opaque="true"
|
||||
name="preset_combo"
|
||||
top_pad="7"
|
||||
width="122">
|
||||
width="116">
|
||||
<combo_list
|
||||
mouse_wheel_opaque="true"/>
|
||||
<combo_box.item
|
||||
|
|
@ -232,46 +232,42 @@
|
|||
value="default" />
|
||||
</combo_box>
|
||||
<button
|
||||
height="16"
|
||||
width="16"
|
||||
height="23"
|
||||
width="24"
|
||||
layout="topleft"
|
||||
mouse_opaque="true"
|
||||
name="gear_btn"
|
||||
tool_tip="Camera Presets"
|
||||
top_delta="3"
|
||||
top_delta="0"
|
||||
left_pad="3"
|
||||
image_selected="Icon_Gear"
|
||||
image_pressed="Icon_Gear"
|
||||
image_unselected="Icon_Gear"
|
||||
image_overlay="Icon_Gear"
|
||||
is_toggle="true">
|
||||
<button.commit_callback
|
||||
function="CameraPresets.ShowPresetsList"/>
|
||||
</button>
|
||||
<!--
|
||||
<button
|
||||
follows="top|left"
|
||||
height="23"
|
||||
label="Save as preset..."
|
||||
label="Position..."
|
||||
layout="topleft"
|
||||
left="0"
|
||||
name="save_preset_btn"
|
||||
top_pad="7"
|
||||
width="143">
|
||||
<button.commit_callback
|
||||
function="CameraPresets.Save"/>
|
||||
</button>
|
||||
-->
|
||||
<button
|
||||
follows="top|left"
|
||||
height="23"
|
||||
label="Camera Position..."
|
||||
layout="topleft"
|
||||
left_delta="-125"
|
||||
left_delta="-119"
|
||||
name="camera_position_btn"
|
||||
top_pad="9"
|
||||
width="143">
|
||||
top_pad="5"
|
||||
width="70">
|
||||
<button.commit_callback
|
||||
function="Floater.Show"
|
||||
parameter="prefs_view_advanced"/>
|
||||
</button>
|
||||
<button
|
||||
follows="top|left"
|
||||
height="23"
|
||||
label="Save"
|
||||
layout="topleft"
|
||||
left_pad="3"
|
||||
name="save_btn"
|
||||
top_delta="0"
|
||||
width="70">
|
||||
<button.commit_callback
|
||||
function="CameraPresets.Save"/>
|
||||
</button>
|
||||
</floater>
|
||||
|
|
|
|||
|
|
@ -34,5 +34,6 @@
|
|||
<combo_box.item label="Użyj ustawienia" name="Use preset" />
|
||||
</combo_box>
|
||||
<button name="gear_btn" tool_tip="Ustawienia kamery" />
|
||||
<button label="Pozycja kamery..." name="camera_position_btn" />
|
||||
<button label="Pozycja..." name="camera_position_btn" />
|
||||
<button label="Zapisz" name="save_btn" />
|
||||
</floater>
|
||||
|
|
|
|||
|
|
@ -32,5 +32,6 @@
|
|||
<combo_box.item label="Предустановки" name="Use preset"/>
|
||||
</combo_box>
|
||||
<button name="gear_btn" tool_tip="Предустановки Камеры"/>
|
||||
<button label="Позиция Камеры..." name="camera_position_btn"/>
|
||||
<button label="Позиция..." name="camera_position_btn"/>
|
||||
<button label="Сохранить" name="save_btn" />
|
||||
</floater>
|
||||
|
|
@ -48,10 +48,11 @@
|
|||
<panel_camera_item.text name="reset_view_text">
|
||||
</panel_camera_item.text>
|
||||
</panel_camera_item>
|
||||
<button label="Position..." name="camera_position_btn"/>
|
||||
<button label="Position..." name="camera_position_btn"/>
|
||||
</panel>
|
||||
<combo_box name="preset_combo">
|
||||
<combo_box.item label="Voreinstellung verwend." name="Use preset"/>
|
||||
<combo_box.item label="Voreinstellung verw." name="Use preset"/>
|
||||
</combo_box>
|
||||
<button name="gear_btn" tool_tip="Kamera-Voreinstellungen"/>
|
||||
<button name="save_preset_btn" tool_tip="Als Voreinstellung speichern"/>
|
||||
</floater>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@
|
|||
<button label="Laden" name="btn_load" tool_tip="Einstellungen aus dem Inventar laden"/>
|
||||
<button label="Importieren" name="btn_import" tool_tip="Alte Einstellungen von Datenträger importieren."/>
|
||||
</layout_panel>
|
||||
<layout_panel name="tab_area">
|
||||
<tab_container name="tab_settings" tab_width="165"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="button_panel">
|
||||
<layout_stack name="button_bar_ls">
|
||||
<layout_panel name="save_btn_lp">
|
||||
|
|
|
|||
|
|
@ -2,25 +2,25 @@
|
|||
|
||||
<floater title="Fototools" name="phototools">
|
||||
<tab_container name="tabs">
|
||||
<panel name="EnvironmentTab" label="WL">
|
||||
<panel name="EnvironmentTab" label="Umg.">
|
||||
<panel name="PT_WL_Settings">
|
||||
<text name="T_WL_Settings">
|
||||
Windlight-Einstellungen
|
||||
Umgebungseinstellungen
|
||||
</text>
|
||||
</panel>
|
||||
|
||||
<panel name="P_WL_Settings">
|
||||
<check_box name="WindLightUseAtmosShaders" label="Atmosphären-Shader aktivieren (Windlight)" tool_tip="Diese Einstellung aktiviert die komplette Windlight-Funktionalität (Atmosphären-Shader). Falls diese Einstellung nicht aktiviert werden kann, bitte prüfen, ob „Einfache Shader“ weiter unten aktiviert sind."/>
|
||||
<check_box name="WindLightUseAtmosShaders" label="Atmosphären-Shader aktivieren" tool_tip="Diese Einstellung aktiviert die komplette EEP-Funktionalität (Atmosphären-Shader). Falls diese Einstellung nicht aktiviert werden kann, bitte prüfen, ob „Einfache Shader“ weiter unten aktiviert sind."/>
|
||||
</panel>
|
||||
|
||||
<panel name="P_WL_Sky_Water">
|
||||
<text name="WL Sky" tool_tip="Windlight-Voreinstellungen für den Himmel.">
|
||||
<text name="WL Sky" tool_tip="Voreinstellungen für den Himmel.">
|
||||
Himmel
|
||||
</text>
|
||||
<text name="WL Water" tool_tip="Windlight-Voreinstellungen für Wasser.">
|
||||
<text name="WL Water" tool_tip="Voreinstellungen für Wasser.">
|
||||
Wasser
|
||||
</text>
|
||||
<text name="Day Cycle" tool_tip="Windlight-Voreinstellungen für den Tageszyklus.">
|
||||
<text name="Day Cycle" tool_tip="Voreinstellungen für den Tageszyklus.">
|
||||
Tageszykl.
|
||||
</text>
|
||||
<button name="btn_personal_lighting" label="Persönliche Beleuchtung..."/>
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
<panel name="P_Q_Windlights">
|
||||
<text name="T_Q_Windlights">
|
||||
Standard-Windlights
|
||||
Standard-Umgebungen
|
||||
</text>
|
||||
<view_border name="horiz_separator1"/>
|
||||
<button name="Sunrise" label="Sonnenaufgang"/>
|
||||
|
|
|
|||
|
|
@ -19,15 +19,15 @@
|
|||
<text name="IndirectMaxComplexityText" width="60">
|
||||
Kein Limit
|
||||
</text>
|
||||
<text name="WL Sky" width="67" tool_tip="Windlight-Voreinstellung für den Himmel.">
|
||||
WL-Himmel:
|
||||
<text name="WL Sky" width="67" tool_tip="Voreinstellungen für den Himmel.">
|
||||
Himmel:
|
||||
</text>
|
||||
<combo_box left_delta="77" name="WLPresetsCombo"/>
|
||||
<text name="WL Water" width="67" tool_tip="Windlight-Voreinstellung für das Wasser.">
|
||||
WL-Wasser:
|
||||
<text name="WL Water" width="67" tool_tip="Voreinstellungen für das Wasser.">
|
||||
Wasser:
|
||||
</text>
|
||||
<combo_box left_delta="77" name="WaterPresetsCombo"/>
|
||||
<text name="Day Cycle" width="67" tool_tip="Windlight-Voreinstellung für den Tageszyklus.">
|
||||
<text name="Day Cycle" width="67" tool_tip="Voreinstellungen für den Tageszyklus.">
|
||||
Tageszyklus:
|
||||
</text>
|
||||
<combo_box left_delta="77" name="DCPresetsCombo"/>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<menu_item_check label="Stimmen in der Nähe anzeigen..." name="nearby_voice"/>
|
||||
<menu_item_check label="Blockierliste anzeigen..." name="block_list"/>
|
||||
<menu_item_check label="V1-Stil für Chatverlauf verwenden" name="plain_text_chat_history"/>
|
||||
<menu_item_check label="Profilbild in Chatüberschrift anzeigen" name="chat_header_icons"/>
|
||||
<context_menu label="Schriftgröße..." name="font_size">
|
||||
<menu_item_check label="Klein" name="font_size_small"/>
|
||||
<menu_item_check label="Mittel" name="font_size_medium"/>
|
||||
|
|
|
|||
|
|
@ -2575,6 +2575,11 @@ Möchten Sie den Nicht-stören-Modus deaktivieren, bevor Sie diese Transaktion a
|
|||
Sind Sie sicher, dass Sie den Inhalt Ihres Ordners Fundbüro löschen möchten?
|
||||
<usetemplate ignoretext="Bestätigen, bevor der Ordner Fundbüro im Inventar geleert wird" name="okcancelignore" notext="Nein" yestext="Ja"/>
|
||||
</notification>
|
||||
<notification icon="alertmodal.tga" name="ConfirmReplaceLink">
|
||||
Sie sind dabei ein Körperteil vom Typ „[TYPE]“ mit einem anderen Gegenstand zu ersetzen, der nicht vom selben Typ ist.
|
||||
Sind Sie sicher, dass Sie fortfahren möchten?
|
||||
<usetemplate ignoretext="Bestätigen bevor eine Verknüpfung ersetzt wird" name="okcancelignore" notext="Nein" yestext="Ja"/>
|
||||
</notification>
|
||||
<notification name="CopySLURL">
|
||||
Die folgende SLurl wurde in die Zwischenablage kopiert:
|
||||
[SLURL]
|
||||
|
|
@ -3545,7 +3550,11 @@ Voreinstellung überschreiben oder einen anderen Namen wählen
|
|||
</notification>
|
||||
<notification name="BulkUploadCostConfirmation">
|
||||
Das Hochladen von [COUNT] Gegenständen wird insgesamt [COST] L$ kosten. Möchten Sie mit dem Hochladen fortfahren?
|
||||
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Hochladen"/>
|
||||
<usetemplate name="okcancelignore" notext="Abbrechen" yestext="Hochladen" ignoretext="Mehrfach-Uploads bestätigen"/>
|
||||
</notification>
|
||||
<notification name="NotEnoughMoneyForBulkUpload">
|
||||
Ihr aktueller Kontostand von [BALANCE] L$ reicht nicht aus, um [COUNT] Gegenstände für insgesamt [COST] L$ hochzuladen.
|
||||
<usetemplate name="okbutton" yestext="OK"/>
|
||||
</notification>
|
||||
<notification name="BulkUploadNoCompatibleFiles">
|
||||
Die ausgewählten Dateien können nicht per Mehrfach-Upload hochgeladen werden.
|
||||
|
|
@ -4906,6 +4915,12 @@ Möchten Sie diese Informationen übermitteln?
|
|||
<notification name="PhantomOff">
|
||||
Phantom-Modus ausgeschaltet.
|
||||
</notification>
|
||||
<notification name="MovelockEnabled">
|
||||
Movelock aktiviert. Verwenden Sie Avatar > Bewegung > Movelock zum deaktivieren.
|
||||
</notification>
|
||||
<notification name="MovelockDisabled">
|
||||
Movelock deaktiviert.
|
||||
</notification>
|
||||
<notification label="Alle Einstellungen zurücksetzen" name="FirestormClearSettingsPrompt">
|
||||
Ein Zurücksetzen aller Einstellungen kann bei Problemen hilfreich sein, allerdings müssen Sie anschließend jegliche Anpassungen erneut vornehmen.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Atmosphäre und Beleuchtung" name="panel_settings_sky_atmos">
|
||||
<panel label="Atmosphäre & Beleuchtung" name="panel_settings_sky_atmos">
|
||||
<layout_stack name="main_ls">
|
||||
<layout_panel name="top_lp">
|
||||
<text name="ambient_color_label">
|
||||
|
|
|
|||
|
|
@ -7126,4 +7126,7 @@ Ihre aktuelle Position: [AVATAR_POS]
|
|||
<string name="TexturePickerOutfitHeader">
|
||||
Foto für Outfit
|
||||
</string>
|
||||
<string name="unknown_script">
|
||||
(Unbekanntes Skript)
|
||||
</string>
|
||||
</strings>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater layout="topleft"
|
||||
name="env_adjust_snapshot"
|
||||
help_topic="day_presets"
|
||||
help_topic="fs_personal_lighting"
|
||||
save_rect="false"
|
||||
title="Personal Lighting"
|
||||
width="845"
|
||||
|
|
|
|||
|
|
@ -235,7 +235,7 @@ legacy_header_height="0"
|
|||
height="23"
|
||||
mouse_opaque="true"
|
||||
name="preset_combo"
|
||||
width="162">
|
||||
width="135">
|
||||
<combo_list
|
||||
mouse_wheel_opaque="true"/>
|
||||
<combo_box.item
|
||||
|
|
@ -244,33 +244,30 @@ legacy_header_height="0"
|
|||
value="default" />
|
||||
</combo_box>
|
||||
<button
|
||||
height="16"
|
||||
width="16"
|
||||
height="23"
|
||||
width="24"
|
||||
layout="topleft"
|
||||
mouse_opaque="true"
|
||||
name="gear_btn"
|
||||
tool_tip="Camera Presets"
|
||||
top_delta="3"
|
||||
left_pad="8"
|
||||
image_selected="Icon_Gear"
|
||||
image_pressed="Icon_Gear"
|
||||
image_unselected="Icon_Gear"
|
||||
top_delta="0"
|
||||
left_pad="3"
|
||||
image_overlay="Icon_Gear"
|
||||
is_toggle="true">
|
||||
<button.commit_callback
|
||||
function="CameraPresets.ShowPresetsList"/>
|
||||
</button>
|
||||
<!--
|
||||
<button
|
||||
follows="top|left"
|
||||
height="23"
|
||||
label="Save as preset..."
|
||||
layout="topleft"
|
||||
left="0"
|
||||
left_pad="3"
|
||||
name="save_preset_btn"
|
||||
top_pad="7"
|
||||
width="143">
|
||||
tool_tip="Save as Preset"
|
||||
image_overlay="Activate_Checkmark"
|
||||
top_delta="0"
|
||||
width="24">
|
||||
<button.commit_callback
|
||||
function="CameraPresets.Save"/>
|
||||
</button>
|
||||
-->
|
||||
</floater>
|
||||
|
|
@ -7,6 +7,7 @@
|
|||
title="Camera Presets"
|
||||
layout="topleft"
|
||||
name="floater_camera_presets"
|
||||
positioning="centered"
|
||||
single_instance="true"
|
||||
min_width="185"
|
||||
width="250">
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
help_topic="floater_delete_preset"
|
||||
layout="topleft"
|
||||
name="delete_pref_preset"
|
||||
positioning="centered"
|
||||
save_rect="true"
|
||||
title="Delete Pref Preset"
|
||||
width="240">
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<floater
|
||||
layout="topleft"
|
||||
name="env_edit_extdaycycle"
|
||||
help_topic="day_presets"
|
||||
help_topic="fs_day_cycle"
|
||||
save_rect="false"
|
||||
title="Edit Day Cycle"
|
||||
width="705"
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
save_rect="true"
|
||||
title="Fixed Environment"
|
||||
save_visibility="false"
|
||||
help_topic="fixed_environment"
|
||||
help_topic="fs_fixed_environment"
|
||||
single_instance="true"
|
||||
width="750">
|
||||
<string name="edit_sky">Edit Sky:</string>
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
layout="topleft"
|
||||
width="285"
|
||||
top="0"
|
||||
label="WL"
|
||||
label="Env"
|
||||
left="0">
|
||||
|
||||
<panel
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
font="SansSerif"
|
||||
height="17"
|
||||
width="200">
|
||||
Windlight Settings
|
||||
Environment Settings
|
||||
</text>
|
||||
</panel>
|
||||
|
||||
|
|
@ -75,12 +75,12 @@
|
|||
control_name="WindLightUseAtmosShaders"
|
||||
height="16"
|
||||
initial_value="true"
|
||||
label="Enable Atmospheric Shaders (Windlight)"
|
||||
label="Enable Atmospheric Shaders"
|
||||
layout="topleft"
|
||||
left="5"
|
||||
name="WindLightUseAtmosShaders"
|
||||
top_pad="8"
|
||||
tool_tip="This will enable full WindLight functionality (atmospheric shaders). If you cannot enable this feature, ensure that Basic Shaders are enabled below."
|
||||
tool_tip="This will enable full EEP functionality (atmospheric shaders). If you cannot enable this feature, ensure that Basic Shaders are enabled below."
|
||||
width="240">
|
||||
</check_box>
|
||||
</panel>
|
||||
|
|
@ -103,11 +103,11 @@
|
|||
layout="topleft"
|
||||
left="5"
|
||||
name="WL Sky"
|
||||
tool_tip="Windlight presets for your sky."
|
||||
tool_tip="Presets for your sky."
|
||||
mouse_opaque="false"
|
||||
top_pad="10"
|
||||
width="90">
|
||||
WL Sky
|
||||
Sky
|
||||
</text>
|
||||
<combo_box
|
||||
allow_text_entry="true"
|
||||
|
|
@ -147,11 +147,11 @@
|
|||
layout="topleft"
|
||||
left="5"
|
||||
name="WL Water"
|
||||
tool_tip="Windlight presets for your water."
|
||||
tool_tip="Presets for your water."
|
||||
mouse_opaque="false"
|
||||
top_pad="8"
|
||||
width="90">
|
||||
WL Water
|
||||
Water
|
||||
</text>
|
||||
<combo_box
|
||||
allow_text_entry="true"
|
||||
|
|
@ -191,11 +191,11 @@
|
|||
layout="topleft"
|
||||
left="5"
|
||||
name="Day Cycle"
|
||||
tool_tip="Windlight presets for your day cycle."
|
||||
tool_tip="Presets for your day cycle."
|
||||
mouse_opaque="false"
|
||||
top_pad="8"
|
||||
width="90">
|
||||
Day Cycle
|
||||
Day Cycle
|
||||
</text>
|
||||
<combo_box
|
||||
allow_text_entry="true"
|
||||
|
|
@ -300,7 +300,7 @@
|
|||
height="20"
|
||||
word_wrap="true"
|
||||
width="155">
|
||||
Quick Windlights
|
||||
Quick Environments
|
||||
</text>
|
||||
<view_border
|
||||
bevel_style="none"
|
||||
|
|
|
|||
|
|
@ -179,11 +179,11 @@
|
|||
layout="topleft"
|
||||
left="5"
|
||||
name="WL Sky"
|
||||
tool_tip="Windlight presets for your sky"
|
||||
tool_tip="Presets for your sky"
|
||||
mouse_opaque="false"
|
||||
top_delta="24"
|
||||
width="90">
|
||||
WL Sky:
|
||||
Sky:
|
||||
</text>
|
||||
<combo_box
|
||||
follows="left|top"
|
||||
|
|
@ -225,11 +225,11 @@
|
|||
layout="topleft"
|
||||
left="5"
|
||||
name="WL Water"
|
||||
tool_tip="Windlight presets for your water"
|
||||
tool_tip="Presets for your water"
|
||||
mouse_opaque="false"
|
||||
top_delta="25"
|
||||
width="90">
|
||||
WL Water:
|
||||
Water:
|
||||
</text>
|
||||
<combo_box
|
||||
follows="left|top"
|
||||
|
|
@ -271,7 +271,7 @@
|
|||
layout="topleft"
|
||||
left="5"
|
||||
name="Day Cycle"
|
||||
tool_tip="Windlight presets for your day cycle"
|
||||
tool_tip="Presets for your day cycle"
|
||||
mouse_opaque="false"
|
||||
top_delta="24"
|
||||
width="90">
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
help_topic="floater_save_preset"
|
||||
layout="topleft"
|
||||
name="save_camera_preset"
|
||||
positioning="centered"
|
||||
save_rect="true"
|
||||
title="Save Camera Preset"
|
||||
width="240">
|
||||
|
|
@ -34,7 +35,7 @@
|
|||
value="1"/>
|
||||
</radio_group>
|
||||
<line_editor
|
||||
commit_on_focus_lost = "true"
|
||||
commit_on_focus_lost="false"
|
||||
follows="top|left"
|
||||
height="23"
|
||||
layout="topleft"
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
help_topic="floater_save_preset"
|
||||
layout="topleft"
|
||||
name="save_pref_preset"
|
||||
positioning="centered"
|
||||
save_rect="true"
|
||||
title="Save Graphic Preset"
|
||||
width="245">
|
||||
|
|
|
|||
|
|
@ -41,6 +41,19 @@
|
|||
function="ToggleControl"
|
||||
parameter="PlainTextChatHistory"/>
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
label="Show profile icons in chat headers"
|
||||
name="chat_header_icons">
|
||||
<menu_item_check.on_check
|
||||
function="CheckControl"
|
||||
parameter="ShowChatMiniIcons"/>
|
||||
<menu_item_check.on_click
|
||||
function="ToggleControl"
|
||||
parameter="ShowChatMiniIcons"/>
|
||||
<menu_item_check.on_visible
|
||||
function="ChatOptions.Visible"
|
||||
parameter="show_mini_icons"/>
|
||||
</menu_item_check>
|
||||
<context_menu
|
||||
label="Font size..."
|
||||
name="font_size">
|
||||
|
|
|
|||
|
|
@ -9255,10 +9255,21 @@ Your voice has been muted by a moderator.
|
|||
type="alertmodal">
|
||||
This will upload [COUNT] items at a total cost of L$[COST]. Do you wish to continue with the upload?
|
||||
<usetemplate
|
||||
name="okcancelbuttons"
|
||||
ignoretext="Confirm bulk uploads"
|
||||
name="okcancelignore"
|
||||
notext="Cancel"
|
||||
yestext="Upload"/>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="NotEnoughMoneyForBulkUpload"
|
||||
type="alertmodal">
|
||||
Your current balance of L$[BALANCE] is not enough to upload [COUNT] items at a total cost of L$[COST].
|
||||
<usetemplate
|
||||
name="okbutton"
|
||||
yestext="OK"/>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
|
|
@ -10525,6 +10536,20 @@ Phantom mode on.
|
|||
Phantom mode off.
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="notifytip.tga"
|
||||
name="MovelockEnabled"
|
||||
type="notifytip">
|
||||
Movelock enabled. Use Avatar > Movement > Movelock to disable.
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="notifytip.tga"
|
||||
name="MovelockDisabled"
|
||||
type="notifytip">
|
||||
Movelock disabled.
|
||||
</notification>
|
||||
|
||||
<!-- Firestorm Phantom -->
|
||||
|
||||
<!-- Firestorm Reset Settings -->
|
||||
|
|
|
|||
|
|
@ -1,44 +1,67 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel
|
||||
background_visible="true"
|
||||
background_visible="true"
|
||||
bevel_style="in"
|
||||
bg_opaque_color="ChatHeaderOpaqueBackground"
|
||||
bg_alpha_color="ChatHeaderAlphaBackground"
|
||||
follows="top|left|right"
|
||||
height="24"
|
||||
label="im_header"
|
||||
layout="topleft"
|
||||
layout="topleft"
|
||||
name="im_header"
|
||||
width="310">
|
||||
<avatar_icon
|
||||
follows="left"
|
||||
height="18"
|
||||
image_name="Generic_Person"
|
||||
layout="topleft"
|
||||
left="3"
|
||||
mouse_opaque="true"
|
||||
name="avatar_icon"
|
||||
top="3"
|
||||
width="18" />
|
||||
<text
|
||||
parse_urls="false"
|
||||
allow_scroll="false"
|
||||
v_pad = "6"
|
||||
read_only = "true"
|
||||
follows="left|right"
|
||||
font.style="BOLD"
|
||||
height="24"
|
||||
layout="topleft"
|
||||
left_pad="5"
|
||||
right="-120"
|
||||
name="user_name"
|
||||
text_color="ChatNameColor"
|
||||
bg_readonly_color="Black"
|
||||
top="0"
|
||||
translate="false"
|
||||
use_ellipses="true"
|
||||
valign="top"
|
||||
value="TestString PleaseIgnore" />
|
||||
<layout_stack
|
||||
top="0"
|
||||
height="24"
|
||||
right="-120"
|
||||
name="header_ls"
|
||||
layout="topleft"
|
||||
follows="top|left|right"
|
||||
animate="false">
|
||||
<layout_panel
|
||||
name="icon_lp"
|
||||
auto_resize="false"
|
||||
user_resize="false"
|
||||
width="21"
|
||||
height="24"
|
||||
visibility_control="ShowChatMiniIcons">
|
||||
<avatar_icon
|
||||
follows="left"
|
||||
height="18"
|
||||
image_name="Generic_Person"
|
||||
layout="topleft"
|
||||
left="3"
|
||||
mouse_opaque="true"
|
||||
name="avatar_icon"
|
||||
top="3"
|
||||
width="18" />
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
name="name_lp"
|
||||
auto_resize="true"
|
||||
user_resize="false"
|
||||
height="24">
|
||||
<text
|
||||
parse_urls="false"
|
||||
allow_scroll="false"
|
||||
v_pad="6"
|
||||
read_only="true"
|
||||
follows="left|right"
|
||||
font.style="BOLD"
|
||||
height="24"
|
||||
layout="topleft"
|
||||
left="4"
|
||||
right="-1"
|
||||
name="user_name"
|
||||
text_color="ChatNameColor"
|
||||
bg_readonly_color="Black"
|
||||
top="0"
|
||||
translate="false"
|
||||
use_ellipses="true"
|
||||
valign="top"
|
||||
value="TestString PleaseIgnore" />
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
<text
|
||||
allow_scroll="false"
|
||||
font="SansSerifSmall"
|
||||
|
|
|
|||
|
|
@ -53,13 +53,11 @@
|
|||
label="Español (Spanish) - Beta"
|
||||
name="Spanish"
|
||||
value="es" />
|
||||
<!--
|
||||
<combo_box.item
|
||||
enabled="true"
|
||||
label="Français (French) - Beta"
|
||||
name="French"
|
||||
value="fr" />
|
||||
-->
|
||||
<combo_box.item
|
||||
enabled="true"
|
||||
label="Italiano (Italian) - Beta"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
label="Water"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
help_topic="land_general_tab"
|
||||
name="panel_settings_water"
|
||||
top="0">
|
||||
<layout_stack name="water_stack1"
|
||||
|
|
|
|||
|
|
@ -3191,4 +3191,5 @@ Your current position: [AVATAR_POS]
|
|||
<string name="No">No</string>
|
||||
<string name="FSUrlEntryWearLabel">Wear inventory folder</string>
|
||||
<string name="TexturePickerOutfitHeader">Picture for Outfit</string>
|
||||
<string name="unknown_script">(Unknown script)</string>
|
||||
</strings>
|
||||
|
|
|
|||
|
|
@ -5431,6 +5431,12 @@ El nombre NO puede contener los caracteres ":" o "|".
|
|||
<notification name="PhantomOff">
|
||||
Modo fantasma desactivado.
|
||||
</notification>
|
||||
<notification name="MovelockEnabled">
|
||||
Bloqueo de movimiento activado.
|
||||
</notification>
|
||||
<notification name="MovelockDisabled">
|
||||
Bloqueo de movimiento desactivado.
|
||||
</notification>
|
||||
<notification label="Restablecer todas las configuraciones" name="FirestormClearSettingsPrompt">
|
||||
Restablecer todas las configuraciones puede ser útil si estás experimentando problemas, aunque tendrás que repetir todas las personalizaciones que hayas podido hacer a la configuración por defecto.
|
||||
|
||||
|
|
|
|||
|
|
@ -3,20 +3,70 @@
|
|||
<layout_stack name="outer_stack">
|
||||
<layout_panel name="env_controls">
|
||||
<layout_stack name="settings_stack">
|
||||
<layout_panel>
|
||||
<button label="Réinitialiser" name="btn_reset" tool_tip="Fermer et réinitialiser vers l'environnement partagé"/>
|
||||
<layout_panel name="lp_1">
|
||||
<text name="ambient_lbl">
|
||||
Ambiance :
|
||||
</text>
|
||||
<text name="blue_horizon_lbl">
|
||||
Bleu horizon :
|
||||
</text>
|
||||
<text name="blue_density_lbl">
|
||||
Densité bleu :
|
||||
</text>
|
||||
<button label="Réinitialiser" tool_tip="Fermer et repasser à l'environnement partagé" name="btn_reset"/>
|
||||
<text name="sun_color_lbl">
|
||||
Soleil :
|
||||
</text>
|
||||
<text name="cloud_color_lbl">
|
||||
Nuages :
|
||||
</text>
|
||||
<text name="cloud_map_label">
|
||||
Image du nuage :
|
||||
Image de nuage :
|
||||
</text>
|
||||
<text name="water_map_label">
|
||||
Image d'eau :
|
||||
</text>
|
||||
</layout_panel>
|
||||
<layout_panel>
|
||||
<layout_panel name="lp_2">
|
||||
<text name="haze_horizon_label">
|
||||
Horizon de la brume :
|
||||
</text>
|
||||
<text name="haze_density_label">
|
||||
Densité de la brume :
|
||||
</text>
|
||||
<text name="cloud_coverage_label">
|
||||
Couverture nuageuse :
|
||||
</text>
|
||||
<text name="cloud_scale_label">
|
||||
Taille des nuages :
|
||||
</text>
|
||||
<text name="scene_gamma_label">
|
||||
Gamma de la scène :
|
||||
</text>
|
||||
</layout_panel>
|
||||
<layout_panel name="lp_3">
|
||||
<text name="label">
|
||||
Soleil :
|
||||
</text>
|
||||
<check_box label="Afficher la balise" name="sunbeacon"/>
|
||||
<check_box label="Montrer la balise" name="sunbeacon"/>
|
||||
<text name="scale_label">
|
||||
Échelle :
|
||||
</text>
|
||||
<text name="glow_focus_label">
|
||||
Glow Focus :
|
||||
</text>
|
||||
<text name="glow_size_label">
|
||||
Taille de la lueur :
|
||||
</text>
|
||||
<text name="star_brightness_label">
|
||||
Brillance des étoiles :
|
||||
</text>
|
||||
</layout_panel>
|
||||
<layout_panel>
|
||||
<check_box label="Afficher la balise" name="moonbeacon"/>
|
||||
<layout_panel name="lp_4">
|
||||
<text name="label">
|
||||
Lune :
|
||||
</text>
|
||||
<check_box label="Montrer la balise" name="moonbeacon"/>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</layout_panel>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<floater name="floater_discord" title="Discord">
|
||||
<string name="discord_connected">
|
||||
Connecté(e) à Discord en tant que :
|
||||
</string>
|
||||
<string name="discord_disconnected">
|
||||
Non connecté(e) Discord.
|
||||
</string>
|
||||
<string name="SocialDiscordConnecting">
|
||||
En cours de connexion à Discord...
|
||||
</string>
|
||||
<string name="SocialDiscordErrorConnecting">
|
||||
Problème de connexion à Discord
|
||||
</string>
|
||||
<string name="SocialDiscordDisconnecting">
|
||||
En cours de déconnexion de Discord...
|
||||
</string>
|
||||
<text name="account_caption_label">
|
||||
Non connecté à Discord.
|
||||
</text>
|
||||
<check_box label="Connexion automatique lors du login" name="startup_check"/>
|
||||
<check_box label="Partager le nom d'utilisateur" name="name_check"/>
|
||||
<button label="Se connecter..." name="connect_btn"/>
|
||||
<button label="Se déconnecter" name="disconnect_btn"/>
|
||||
<text name="rating_label">
|
||||
Partager dans Discord le nom des régions ayant la classification suivante :
|
||||
</text>
|
||||
<combo_box name="maturity_desired_combobox">
|
||||
<combo_box.item label="Général, Modéré, Adulte" name="Desired_Adult"/>
|
||||
<combo_box.item label="Général et modéré" name="Desired_Mature"/>
|
||||
<combo_box.item label="Général" name="Desired_PG"/>
|
||||
<combo_box.item label="Ne pas partager" name="Desired_None"/>
|
||||
</combo_box>
|
||||
<text name="dont_names_label">
|
||||
Ne pas partager dans Discord le noms des régions qui sont dans la liste ci-dessous :
|
||||
</text>
|
||||
<text name="connection_status_text">
|
||||
En cours de chargement...
|
||||
</text>
|
||||
</floater>
|
||||
|
|
@ -1,17 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater label="Endroits" name="my_environments" title="MES ENVIRONNEMENTS">
|
||||
<layout_stack>
|
||||
<floater name="my_environments" title="Mes environnements">
|
||||
<layout_stack name="main_layout">
|
||||
<layout_panel label="Filtres" name="filter_panel">
|
||||
<check_box label="Jours" name="chk_days"/>
|
||||
<check_box label="Ciels" name="chk_skies"/>
|
||||
<check_box label="Eau" name="chk_water"/>
|
||||
<filter_editor label="Filtrer les environnements" name="flt_search"/>
|
||||
</layout_panel>
|
||||
<layout_panel label="Environnements" name="list_panel">
|
||||
<panel label="pnl_inv_wrap" name="pnl_inv_wrap"/>
|
||||
</layout_panel>
|
||||
<layout_panel>
|
||||
<check_box initial_value="false" label="Afficher tous les dossiers" name="chk_showfolders"/>
|
||||
<layout_panel label="Environnements" name="list_panel" />
|
||||
<layout_panel name="lp_showfolders">
|
||||
<check_box label="Afficher tous les dossiers" name="chk_showfolders"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="pnl_control">
|
||||
<panel label="bottom_panel" name="pnl_bottom">
|
||||
|
|
|
|||
|
|
@ -107,6 +107,16 @@
|
|||
<menu_item_check label="Menu Avancé" name="Show Advanced Menu"/>
|
||||
</menu>
|
||||
<menu_item_call label="Me téléporter chez moi" name="Teleport Home"/>
|
||||
<menu label="Environnement" name="Environment">
|
||||
<menu_item_check label="Lever du soleil" name="Sunrise"/>
|
||||
<menu_item_check label="Midi" name="Noon"/>
|
||||
<menu_item_check label="Coucher du soleil" name="Sunset"/>
|
||||
<menu_item_check label="Minuit" name="Midnight"/>
|
||||
<menu_item_check label="Utiliser l'environnement partagé" name="Use Shared Environment"/>
|
||||
<menu_item_call label="Mes environnements..." name="my_environs"/>
|
||||
<menu_item_call label="Éclairage personnel..." name="adjustment_tool"/>
|
||||
<menu_item_check label="Arrêter les nuages" name="pause_clouds"/>
|
||||
</menu>
|
||||
<menu label="Photo et vidéo" name="photo_and_video"/>
|
||||
<menu_item_call label="Recherche dans la région" name="area_search"/>
|
||||
<menu_item_call label="Explorateur de sons" name="Sound Explorer"/>
|
||||
|
|
|
|||
|
|
@ -1,16 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<panel name="animation_overrider_outer_panel">
|
||||
<panel name="animation_overrider_panel">
|
||||
<combo_box name="ao_set_selection_combo" tool_tip="Sélectionner un set d'animations à éditer."/>
|
||||
<button name="ao_activate" tool_tip="Activer ce set d'animations maintenant."/>
|
||||
<check_box name="ao_default" label="Par défaut" tool_tip="Faire de ce set d'animation celui qui se lancera par défaut à la connexion."/>
|
||||
<button name="ao_add" tool_tip="Créer un nouveau set d'animations."/>
|
||||
<button name="ao_remove" tool_tip="Effacer ce set d'animations."/>
|
||||
<check_box name="ao_sit_override" label="Outrepasser assis." tool_tip="Activer cette option pour outrepasser les animations de poses assises."/>
|
||||
<combo_box name="ao_set_selection_combo" tool_tip="Sélectionner un ensemble d'animations à éditer."/>
|
||||
<button name="ao_activate" tool_tip="Activer cet ensemble d'animations maintenant."/>
|
||||
<check_box name="ao_default" label="Par défaut" tool_tip="Faire de cet ensemble d'animation celui qui se lancera par défaut à la connexion."/>
|
||||
<button name="ao_add" tool_tip="Créer un nouveau ensemble d'animations."/>
|
||||
<button name="ao_remove" tool_tip="Effacer cet ensemble d'animations."/>
|
||||
<check_box name="ao_sit_override" label="Outrepasser assis." tool_tip="Activer cette option pour que les animations de l'ao soient prioritaires sur celles de l'objet."/>
|
||||
<check_box name="ao_smart" label="Intell." left_pad="20" tool_tip="Le mode intelligent détermine si outrepasser les poses assises entrera en conflit avec les animations des objets, et arrêtera de passer outre temporairement."/>
|
||||
<check_box name="ao_disable_stands_in_mouselook" label="Désact. debout en 1ère pers." tool_tip="Si vous avez besoin de garder vos animations personelles en vue subjective, cochez cette case."/>
|
||||
<combo_box name="ao_state_selection_combo" tool_tip="Sélectionner l'état d'animation à éditer."/>
|
||||
<scroll_list name="ao_state_animation_list"></scroll_list>
|
||||
<panel name="ao_animation_move_trash_panel">
|
||||
<button name="ao_move_up" tool_tip="Déplacer l'animation sélectionnée plus haut dans la liste."/>
|
||||
<button name="ao_move_down" tool_tip="Déplacer l'animation sélectionnée plus bas dans la liste."/>
|
||||
|
|
@ -37,10 +36,10 @@
|
|||
</panel>
|
||||
</panel>
|
||||
<panel name="animation_overrider_panel_small">
|
||||
<combo_box name="ao_set_selection_combo_small" tool_tip="Sélectionner le set d'animations à éditer."/>
|
||||
<combo_box name="ao_set_selection_combo_small" tool_tip="Sélectionner l'ensemble d'animations à éditer."/>
|
||||
<button name="ao_more" tool_tip="Afficher l'interface complète de configuration."/>
|
||||
<button name="ao_previous_small" tool_tip="Passer à l'animation précédente."/>
|
||||
<button name="ao_next_small" tool_tip="Passer à l'animation suivante."/>
|
||||
<check_box name="ao_sit_override_small" label="Poses assises" tool_tip="Cocher si vous voulez outrepasser les animations de poses assises."/>
|
||||
<check_box name="ao_sit_override_small" label="Assis" tool_tip="Activer cette option pour que les animations de l'ao soient prioritaires sur celles de l'objet."/>
|
||||
</panel>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -5369,7 +5369,7 @@ Essayez avec le chemin d'accès à l'éditeur entre guillemets doubles
|
|||
Conversations
|
||||
</string>
|
||||
<string name="Command_Conversations_Label">
|
||||
Conversations
|
||||
Discuter
|
||||
</string>
|
||||
<string name="Command_Compass_Label">
|
||||
Boussole
|
||||
|
|
@ -5449,6 +5449,93 @@ Essayez avec le chemin d'accès à l'éditeur entre guillemets doubles
|
|||
<string name="Command_Voice_Label">
|
||||
Paramètres vocaux
|
||||
</string>
|
||||
<string name="Command_AO_Label">
|
||||
Remplacement d'animations
|
||||
</string>
|
||||
<string name="Command_Areasearch_Label">
|
||||
Recherche Zonale
|
||||
</string>
|
||||
<string name="Command_Asset_Blacklist_Label">
|
||||
Liste Noire active
|
||||
</string>
|
||||
<string name="Command_Blocklist_Label">
|
||||
Liste noire
|
||||
</string>
|
||||
<string name="Command_Beacons_Label">
|
||||
Balises
|
||||
</string>
|
||||
<string name="Command_Default_Chat_Bar_Label">
|
||||
Conversation
|
||||
</string>
|
||||
<string name="Command_Contact_Sets_Label">
|
||||
Liste de contacts
|
||||
</string>
|
||||
<string name="Command_Conversation_Log_Label">
|
||||
Enregistrement de conversation
|
||||
</string>
|
||||
<string name="Command_Landmark_Here_Label">
|
||||
Creation de repère
|
||||
</string>
|
||||
<string name="Command_Settings_Debug_Label">
|
||||
Paramètres de débogage
|
||||
</string>
|
||||
<string name="Command_Wearable_Favorites_Label">
|
||||
Vêtements favoris
|
||||
</string>
|
||||
<string name="Command_Fly_Label">
|
||||
Voler
|
||||
</string>
|
||||
<string name="Command_Groundsit_Label">
|
||||
S'asseoir au sol
|
||||
</string>
|
||||
<string name="Command_Group_Titles_Label">
|
||||
Titres de Groupe
|
||||
</string>
|
||||
<string name="Command_Move_Lock_Label">
|
||||
Immobiliser
|
||||
</string>
|
||||
<string name="Command_Phototools_Label">
|
||||
Outils photo
|
||||
</string>
|
||||
<string name="Command_Phototools_View_Label">
|
||||
Outils pour caméra
|
||||
</string>
|
||||
<string name="Command_Quickprefs_Label">
|
||||
Préférences rapides
|
||||
</string>
|
||||
<string name="Command_RegionTracker_Label">
|
||||
Suivi de région
|
||||
</string>
|
||||
<string name="Command_Region_Label">
|
||||
Région/Domaine
|
||||
</string>
|
||||
<string name="Command_ResyncAnimations_Label">
|
||||
Resynchroniser les animations
|
||||
</string>
|
||||
<string name="Command_RFO_Label">
|
||||
Ne montrer que les amis
|
||||
</string>
|
||||
<string name="Command_Snapshot_To_Disk_Label">
|
||||
Sauvegarder une photo sur disque
|
||||
</string>
|
||||
<string name="Command_Sound_Explorer_Label">
|
||||
Explorateur de sons
|
||||
</string>
|
||||
<string name="Command_Statistics_Label">
|
||||
Statistiques
|
||||
</string>
|
||||
<string name="Command_Teleport_History_Label">
|
||||
Historique de téléportation
|
||||
</string>
|
||||
<string name="Command_Webbrowser_Label">
|
||||
Navigateur web
|
||||
</string>
|
||||
<string name="Command_Mouselook_Label">
|
||||
Vue subjective
|
||||
</string>
|
||||
<string name="Command_Pose_Stand_Label">
|
||||
Pose Stand
|
||||
</string>
|
||||
<string name="Command_AboutLand_Tooltip">
|
||||
Information sur le terrain que vous visitez
|
||||
</string>
|
||||
|
|
@ -5560,6 +5647,96 @@ Essayez avec le chemin d'accès à l'éditeur entre guillemets doubles
|
|||
<string name="Command_Stop_Animations_Tooltip">
|
||||
Arrêter mon animation
|
||||
</string>
|
||||
<string name="Command_AO_Tooltip">
|
||||
Remplacement d'animation
|
||||
</string>
|
||||
<string name="Command_Areasearch_Tooltip">
|
||||
Recherche des objets dans la zone
|
||||
</string>
|
||||
<string name="Command_Asset_Blacklist_Tooltip">
|
||||
Affiche la liste de tous les éléments mis dans la liste noire
|
||||
</string>
|
||||
<string name="Command_Blocklist_Tooltip">
|
||||
Ouvre la liste des éléments bloqués/ignorés
|
||||
</string>
|
||||
<string name="Command_Beacons_Tooltip">
|
||||
Montrer les balises
|
||||
</string>
|
||||
<string name="Command_Default_Chat_Bar_Tooltip">
|
||||
Montre ou cache la barre de conversation
|
||||
</string>
|
||||
<string name="Command_Contact_Sets_Tooltip">
|
||||
Ouvre les listes de contacts (CTRL+ALT+SHIFT+C)
|
||||
</string>
|
||||
<string name="Command_Conversation_Log_Tooltip">
|
||||
Ouvre l'historique des conversations pour consulter les transcriptions des conversations passées
|
||||
</string>
|
||||
<string name="Command_Landmark_Here_Tooltip">
|
||||
Crée un repère à votre position actuelle
|
||||
</string>
|
||||
<string name="Command_Settings_Debug_Tooltip">
|
||||
Changer les paramètres de débogage du logiciel (CTRL+ALT+SHIFT+S)
|
||||
</string>
|
||||
<string name="Command_Wearable_Favorites_Tooltip">
|
||||
Ouvre la liste des vêtements favoris
|
||||
</string>
|
||||
<string name="Command_Fly_Tooltip">
|
||||
Voler/Arrêter de voler (HOME)
|
||||
</string>
|
||||
<string name="Command_Groundsit_Tooltip">
|
||||
S'asseoir sur le sol/Se relever (CTRL+ALT+S)
|
||||
</string>
|
||||
<string name="Command_Group_Titles_Tooltip">
|
||||
Modifier le titre de groupe affiché
|
||||
</string>
|
||||
<string name="Command_Move_Lock_Tooltip">
|
||||
Immobilise l'avatar dans sa position actuelle (CTRL+ALT+P)
|
||||
</string>
|
||||
<string name="Command_Phototools_Tooltip">
|
||||
Outils pour la création d'image (ATL+P).
|
||||
</string>
|
||||
<string name="Command_Phototools_View_Tooltip">
|
||||
Contrôles avancés de la caméra (CTRL+SHIFT+C)
|
||||
</string>
|
||||
<string name="Command_Quickprefs_Tooltip">
|
||||
Préférences rapides pour modifier des paramètres souvent utilisés
|
||||
</string>
|
||||
<string name="Command_RegionTracker_Tooltip">
|
||||
Suivre le statut de différentes régions
|
||||
</string>
|
||||
<string name="Command_Region_Tooltip">
|
||||
Ouvre les outils de gestion région et domaine (ALT+R)
|
||||
</string>
|
||||
<string name="Command_ResyncAnimations_Tooltip">
|
||||
Synchronise les animations de l'avatar
|
||||
</string>
|
||||
<string name="Command_RFO_Tooltip">
|
||||
Ne montrez que vos amis, tous les autres avatars seront supprimés. Une fois activé, une téléportation est nécessaire pour rétablir la visibilité des autres.
|
||||
</string>
|
||||
<string name="Command_Snapshot_To_Disk_Tooltip">
|
||||
Prend un cliché rapide et le sauvegarde sur le disque dur
|
||||
</string>
|
||||
<string name="Command_Sound_Explorer_Tooltip">
|
||||
Ouvre l'explorateur de sons
|
||||
</string>
|
||||
<string name="Command_Statistics_Tooltip">
|
||||
Affiche les statistiques du navigateur (CTRL+SHIFT+1)
|
||||
</string>
|
||||
<string name="Command_Teleport_History_Tooltip">
|
||||
Ouverture de l'historique de téléportation (ALT+H)
|
||||
</string>
|
||||
<string name="Command_Webbrowser_Tooltip">
|
||||
Ouvre le navigateur web interne (CTRL+SHIFT+Z)
|
||||
</string>
|
||||
<string name="Command_Mouselook_Tooltip">
|
||||
Passer en mode Vue subjective (M)
|
||||
</string>
|
||||
<string name="Command_Pose_Stand_Tooltip">
|
||||
Met l'avatar en pose pour ajuster les objets attachés
|
||||
</string>
|
||||
<string name="Command_Radar_Tooltip">
|
||||
Ouvre le radar pour détecter les avatars à proximité
|
||||
</string>
|
||||
<string name="Retain%">
|
||||
Garder%
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -3857,6 +3857,12 @@ Inviare queste informazioni?
|
|||
<notification name="PhantomOff">
|
||||
Modalità fantasma non attiva.
|
||||
</notification>
|
||||
<notification name="MovelockEnabled">
|
||||
Blocco movimenti attivo.
|
||||
</notification>
|
||||
<notification name="MovelockDisabled">
|
||||
Blocco movimenti inattivo.
|
||||
</notification>
|
||||
<notification label="Ripristino della configurazione" name="FirestormClearSettingsPrompt">
|
||||
Ripristinare completamente la configurazione può essere utile in caso di problemi. Tuttavia tutte le personalizzazioni rispetto all'originale dovranno essere rifatte.
|
||||
|
||||
|
|
|
|||
|
|
@ -4280,6 +4280,12 @@ AO セット "[AO_SET_NAME]" の名前を変更できません。
|
|||
<notification name="PhantomOff">
|
||||
ファントム・モードがオフになりました。
|
||||
</notification>
|
||||
<notification name="MovelockEnabled">
|
||||
ムーブメントロックが有効になりました
|
||||
</notification>
|
||||
<notification name="MovelockDisabled">
|
||||
ムーブメントロックが解除されました
|
||||
</notification>
|
||||
<!-- Firestorm Phantom -->
|
||||
|
||||
<!-- Firestorm Reset Settings -->
|
||||
|
|
|
|||
|
|
@ -35,5 +35,5 @@
|
|||
<combo_box.item label="Użyj ustawienia" name="Use preset" />
|
||||
</combo_box>
|
||||
<button name="gear_btn" tool_tip="Ustawienia kamery" />
|
||||
<!-- <button label="Zapisz jako ustawienie" name="save_preset_btn" /> -->
|
||||
<button tool_tip="Zapisz jako ustawienie" name="save_preset_btn" />
|
||||
</floater>
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<floater title="Fotograf" name="phototools">
|
||||
<tab_container name="tabs">
|
||||
<panel name="EnvironmentTab">
|
||||
<panel name="EnvironmentTab" label="Otocz.">
|
||||
<panel name="PT_WL_Settings">
|
||||
<text name="T_WL_Settings">
|
||||
Ustawienia systemu Windlight
|
||||
Ustawienia otoczenia
|
||||
</text>
|
||||
</panel>
|
||||
<panel name="P_WL_Settings">
|
||||
<check_box label="Włącz shadery atmosfery (Windlight)" name="WindLightUseAtmosShaders" tool_tip="Ta opcja włącza pełną funkcjonalność systemu Windlight (shadery atmosfery). Jeśli nie można włączyć tej funkcji to należy upewnić się, że są zaznaczone 'podstawowe shadery' powyżej."/>
|
||||
<check_box label="Włącz shadery atmosfery" name="WindLightUseAtmosShaders" tool_tip="Ta opcja włącza pełną funkcjonalność systemu EEP (shadery atmosfery). Jeśli nie można włączyć tej funkcji to należy upewnić się, że są zaznaczone 'podstawowe shadery' powyżej."/>
|
||||
</panel>
|
||||
<panel name="P_WL_Sky_Water">
|
||||
<text name="WL Sky" tool_tip="Zapisane ustawienia systemu Windlight dla nieba.">
|
||||
Niebo WL
|
||||
<text name="WL Sky" tool_tip="Zapisane ustawienia dla nieba.">
|
||||
Niebo
|
||||
</text>
|
||||
<text name="WL Water" tool_tip="Zapisane ustawienia systemu Windlight dla wody.">
|
||||
Woda WL
|
||||
<text name="WL Water" tool_tip="Zapisane ustawienia dla wody.">
|
||||
Woda
|
||||
</text>
|
||||
<text name="Day Cycle" tool_tip="Zapisane ustawienia systemu Windlight dla cyklów dnia.">
|
||||
<text name="Day Cycle" tool_tip="Zapisane ustawienia dla cyklów dnia.">
|
||||
Cykl dnia
|
||||
</text>
|
||||
<button name="btn_personal_lighting" label="Własne oświetlenie..." />
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
</panel>
|
||||
<panel name="P_Q_Windlights">
|
||||
<text name="T_Q_Windlights">
|
||||
Szybkie Windlighty
|
||||
Szybkie otoczenia
|
||||
</text>
|
||||
<button name="Sunrise" label="Wschód"/>
|
||||
<button name="Noon" label="Południe"/>
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
</panel>
|
||||
<panel name="P_WL_Presets">
|
||||
<text name="T_WL_Presets" tool_tip="Kliknij na jakiś element, aby utworzyć nowe ustawienie lub zmodyfikować istniejące.">
|
||||
Zapisane Windlighty
|
||||
Zapisane otoczenia
|
||||
</text>
|
||||
<button name="new_sky_preset" label="Nowe ust. nieba"/>
|
||||
<button name="edit_sky_preset" label="Edytuj ust. nieba"/>
|
||||
|
|
|
|||
|
|
@ -15,13 +15,13 @@
|
|||
<text name="IndirectMaxComplexityText">
|
||||
Nielimit.
|
||||
</text>
|
||||
<text name="WL Sky" tool_tip="Ustawienia systemu Windlight dla Twojego nieba">
|
||||
Niebo WL:
|
||||
<text name="WL Sky" tool_tip="Ustawienia systemu EEP dla Twojego nieba">
|
||||
Niebo:
|
||||
</text>
|
||||
<text name="WL Water" tool_tip="Ustawienia systemu Windlight dla Twojej wody">
|
||||
Woda WL:
|
||||
<text name="WL Water" tool_tip="Ustawienia systemu EEP dla Twojej wody">
|
||||
Woda:
|
||||
</text>
|
||||
<text name="Day Cycle" tool_tip="Zapisane ustawienia systemu Windlight dla cyklów dnia.">
|
||||
<text name="Day Cycle" tool_tip="Zapisane ustawienia systemu EEP dla cyklów dnia.">
|
||||
Cykl dnia:
|
||||
</text>
|
||||
<button name="btn_personal_lighting" label="Własne oświetlenie..." />
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<menu_item_check label="Pokaż głos w pobliżu" name="nearby_voice" />
|
||||
<menu_item_check label="Pokaż listę zablokowanych" name="block_list" />
|
||||
<menu_item_check label="Używaj nagłówków czatów stylu V1" name="plain_text_chat_history" />
|
||||
<menu_item_check label="Pokaż ikony profili w nagłówkach czatu" name="chat_header_icons" />
|
||||
<context_menu label="Rozmiar czcionki" name="font_size">
|
||||
<menu_item_check label="Mała" name="font_size_small" />
|
||||
<menu_item_check label="Średnia" name="font_size_medium" />
|
||||
|
|
|
|||
|
|
@ -1580,14 +1580,17 @@ Pobierz ją z https://secondlife.com/support/downloads/
|
|||
</notification>
|
||||
<notification name="PauseForUpdate">
|
||||
Do zalogowania się wymagana jest wersja [VERSION].
|
||||
Informacje o wydaniu: [URL]
|
||||
Kliknij OK, aby pobrać i zainstalować.
|
||||
</notification>
|
||||
<notification name="OptionalUpdateReady">
|
||||
Wersja [VERSION] została pobrana i jest gotowa do zainstalowania.
|
||||
Informacje o wydaniu: [URL]
|
||||
Kliknij OK, aby zainstalować.
|
||||
</notification>
|
||||
<notification name="PromptOptionalUpdate">
|
||||
Wersja [VERSION] została pobrana i jest gotowa do zainstalowania.
|
||||
Informacje o wydaniu: [URL]
|
||||
Kontynuować?
|
||||
<usetemplate canceltext="Nie teraz" name="yesnocancelbuttons" notext="Pomiń" yestext="Instaluj" />
|
||||
</notification>
|
||||
|
|
@ -3432,7 +3435,10 @@ to ustawienie lub wybrać inną nazwę.
|
|||
</notification>
|
||||
<notification name="BulkUploadCostConfirmation">
|
||||
Spowoduje to przesłanie [COUNT] elementów o łącznym koszcie [COST]L$. Czy chcesz kontynuować przesyłanie?
|
||||
<usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Prześlij"/>
|
||||
<usetemplate name="okcancelignore" ignoretext="Potwierdź przesyłanie zbioru wielu plików" notext="Anuluj" yestext="Prześlij"/>
|
||||
</notification>
|
||||
<notification name="NotEnoughMoneyForBulkUpload">
|
||||
Twój obecny stan konta ([BALANCE]L$) nie wystarczy do przesłania [COUNT] elementów - łączny koszt to [COST]L$.
|
||||
</notification>
|
||||
<notification name="BulkUploadNoCompatibleFiles">
|
||||
Wybranych plików nie można przesłać zbiorczo.
|
||||
|
|
@ -3930,6 +3936,12 @@ Czy chcesz jej/mu wysłać te informacje?
|
|||
<notification name="PhantomOff">
|
||||
Tryb widmowy wyłączony.
|
||||
</notification>
|
||||
<notification name="MovelockEnabled">
|
||||
Blokada pozycji została włączona. Użyj Awatar > Ruch > Unieruchom, aby wyłączyć.
|
||||
</notification>
|
||||
<notification name="MovelockDisabled">
|
||||
Blokada pozycji została wyłączona.
|
||||
</notification>
|
||||
<notification label="Resetuj wszystkie ustawienia" name="FirestormClearSettingsPrompt">
|
||||
Resetowanie ustawień może się przydać, gdy napotykasz na jakieś problemy - pamiętaj jednak, że trzeba będzie wprowadzić od nowa wszystkie zmiany, jakie zostały przez Ciebie ustawione do tej pory.
|
||||
|
||||
|
|
|
|||
|
|
@ -6408,4 +6408,7 @@ Twoja aktualna pozycja: [AVATAR_POS]
|
|||
<string name="TexturePickerOutfitHeader">
|
||||
Zdjęcie dla Stroju
|
||||
</string>
|
||||
<string name="unknown_script">
|
||||
(Nieznany skrypt)
|
||||
</string>
|
||||
</strings>
|
||||
|
|
|
|||
|
|
@ -4034,6 +4034,12 @@ URL: [AUDIOURL]
|
|||
<notification name="PhantomOff">
|
||||
Фантомный режим выключен.
|
||||
</notification>
|
||||
<notification name="MovelockEnabled">
|
||||
Блокировка движения включена.
|
||||
</notification>
|
||||
<notification name="MovelockDisabled">
|
||||
Блокировка движения выключена.
|
||||
</notification>
|
||||
<notification label="Сброс всех настроек" name="FirestormClearSettingsPrompt">
|
||||
Сброс всех настроек может быть полезен, если вы испытываете проблемы; Однако, вам нужно будет переделывать настройки, которые вы сделали ранее.
|
||||
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@
|
|||
<!-- Nearby chat panel, resting on top of the bottom toolbar -->
|
||||
<layout_panel
|
||||
name="bottom_chat_bar_panel"
|
||||
height="185"
|
||||
height="46"
|
||||
width="1024"
|
||||
auto_resize="false"
|
||||
mouse_opaque="false"
|
||||
|
|
@ -161,7 +161,7 @@
|
|||
name="chat_bar_utility_bar_stack"
|
||||
top="0"
|
||||
left="0"
|
||||
height="185"
|
||||
height="46"
|
||||
width="1024"
|
||||
follows="all"
|
||||
border_size="0"
|
||||
|
|
@ -264,8 +264,8 @@
|
|||
<!-- Utility Bar layout panel -->
|
||||
<layout_panel
|
||||
name="utility_bar_layout_panel"
|
||||
height="185"
|
||||
width="225"
|
||||
height="46"
|
||||
width="229"
|
||||
follows="bottom|left"
|
||||
layout="topleft"
|
||||
auto_resize="false"
|
||||
|
|
@ -274,23 +274,10 @@
|
|||
mouse_opaque="false"
|
||||
user_resize="false"
|
||||
>
|
||||
<!-- Volume controls -->
|
||||
<panel
|
||||
name="global_volume_controls_panel"
|
||||
top="10"
|
||||
left="2"
|
||||
height="155"
|
||||
width="225"
|
||||
follows="bottom|left"
|
||||
layout="topleft"
|
||||
filename="panel_volume_pulldown.xml"
|
||||
visibility_control="FSVolumeControlsPanelOpen"
|
||||
>
|
||||
</panel>
|
||||
<!-- Utility Bar panel -->
|
||||
<panel
|
||||
name="utility_bar_panel"
|
||||
top="159"
|
||||
top="20"
|
||||
left="2"
|
||||
height="26"
|
||||
width="225"
|
||||
|
|
@ -411,9 +398,11 @@
|
|||
follows="bottom|left"
|
||||
is_toggle="true"
|
||||
image_unselected="PushButton_Up"
|
||||
image_selected="PushButton_Down"
|
||||
control_name="FSVolumeControlsPanelOpen"
|
||||
/>
|
||||
image_selected="PushButton_Down">
|
||||
<button.commit_callback
|
||||
function="Floater.ToggleOrBringToFront"
|
||||
parameter="fs_volume_controls" />
|
||||
</button>
|
||||
<!-- Volume controls -->
|
||||
</panel>
|
||||
<!-- Utility Bar panel -->
|
||||
|
|
|
|||
|
|
@ -29,14 +29,6 @@
|
|||
name="Hour">
|
||||
hr.
|
||||
</floater.string>
|
||||
<floater.string
|
||||
name="Hours">
|
||||
[HOURS] hrs.
|
||||
</floater.string>
|
||||
<floater.string
|
||||
name="Hour">
|
||||
hr.
|
||||
</floater.string>
|
||||
<floater.string
|
||||
name="Minutes">
|
||||
[MINUTES] min.
|
||||
|
|
|
|||
|
|
@ -768,18 +768,6 @@ class WindowsManifest(ViewerManifest):
|
|||
self.path(src='../win_crash_logger/%s/windows-crash-logger.exe' % self.args['configuration'],
|
||||
dst="win_crash_logger.exe")
|
||||
|
||||
# <FS:Ansariel> This is still needed! The method to copy the Visual C++ Runtime files
|
||||
# in Copy3rdPartyLibs is copying the wrong files for 64bit because Autobuild
|
||||
# is a 32bit process and Windows will silently copy the 32bit versions from
|
||||
# the SysWOW64 folder, even if explicitly trying to copy from System32!
|
||||
if (self.address_size == 64):
|
||||
with self.prefix(src=os.path.join(self.args['build'], os.pardir, os.pardir, 'indra', 'newview', 'installers', 'windows_x64'), dst="llplugin"):
|
||||
self.path("msvcp120.dll")
|
||||
self.path("msvcr120.dll")
|
||||
with self.prefix(src=os.path.join(self.args['build'], os.pardir, os.pardir, 'indra', 'newview', 'installers', 'windows_x64')):
|
||||
self.path("msvcp120.dll")
|
||||
self.path("msvcr120.dll")
|
||||
|
||||
if not self.is_packaging_viewer():
|
||||
self.package_file = "copied_deps"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue