Merge.
commit
5d6b81f360
|
|
@ -47,23 +47,21 @@ BOOL FloaterMediaLists::postBuild()
|
|||
childSetAction("remove_whitelist", boost::bind(&FloaterMediaLists::onWhitelistRemove, this));
|
||||
childSetAction("add_blacklist", boost::bind(&FloaterMediaLists::onBlacklistAdd, this));
|
||||
childSetAction("remove_blacklist", boost::bind(&FloaterMediaLists::onBlacklistRemove, this));
|
||||
|
||||
if (!mWhitelistSLC || !mBlacklistSLC)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
for(S32 i = 0;i<(S32)LLViewerParcelMedia::sMediaFilterList.size();i++)
|
||||
for (LLSD::array_iterator p_itr = LLViewerParcelMedia::sMediaFilterList.beginArray();
|
||||
p_itr != LLViewerParcelMedia::sMediaFilterList.endArray();
|
||||
++p_itr)
|
||||
{
|
||||
LLSD itr = (*p_itr);
|
||||
LLSD element;
|
||||
element["columns"][0]["column"] = "list";
|
||||
element["columns"][0]["value"] = LLViewerParcelMedia::sMediaFilterList[i]["domain"].asString();
|
||||
if (LLViewerParcelMedia::sMediaFilterList[i]["action"].asString() == "allow")
|
||||
element["columns"][0]["value"] = itr["domain"].asString();
|
||||
if (itr["action"].asString() == "allow")
|
||||
{
|
||||
mWhitelistSLC->addElement(element);
|
||||
mWhitelistSLC->sortByColumn("list", TRUE);
|
||||
}
|
||||
else if (LLViewerParcelMedia::sMediaFilterList[i]["action"].asString() == "deny")
|
||||
else if (itr["action"].asString() == "deny")
|
||||
{
|
||||
mBlacklistSLC->addElement(element);
|
||||
mBlacklistSLC->sortByColumn("list", TRUE);
|
||||
|
|
|
|||
|
|
@ -60,6 +60,9 @@
|
|||
#include <fstream>
|
||||
#include <streambuf>
|
||||
|
||||
#if OPENSIM
|
||||
#include "llviewernetwork.h"
|
||||
#endif
|
||||
|
||||
const std::string FS_BRIDGE_FOLDER = "#LSL Bridge";
|
||||
const std::string FS_BRIDGE_CONTAINER_FOLDER = "Landscaping";
|
||||
|
|
@ -111,7 +114,7 @@ FSLSLBridge::~FSLSLBridge()
|
|||
{
|
||||
}
|
||||
|
||||
bool FSLSLBridge::lslToViewer(std::string message, LLUUID fromID, LLUUID ownerID)
|
||||
bool FSLSLBridge::lslToViewer(const std::string& message, const LLUUID& fromID, const LLUUID& ownerID)
|
||||
{
|
||||
if (!gSavedSettings.getBOOL("UseLSLBridge"))
|
||||
{
|
||||
|
|
@ -275,9 +278,15 @@ bool FSLSLBridge::lslToViewer(std::string message, LLUUID fromID, LLUUID ownerID
|
|||
return status;
|
||||
}
|
||||
|
||||
bool FSLSLBridge::viewerToLSL(std::string message, FSLSLBridgeRequestResponder* responder)
|
||||
bool FSLSLBridge::canUseBridge()
|
||||
{
|
||||
if (!gSavedSettings.getBOOL("UseLSLBridge"))
|
||||
static LLCachedControl<bool> sUseLSLBridge(gSavedSettings, "UseLSLBridge");
|
||||
return (isBridgeValid() && sUseLSLBridge);
|
||||
}
|
||||
|
||||
bool FSLSLBridge::viewerToLSL(const std::string& message, FSLSLBridgeRequestResponder* responder)
|
||||
{
|
||||
if (!canUseBridge())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -291,7 +300,7 @@ bool FSLSLBridge::viewerToLSL(std::string message, FSLSLBridgeRequestResponder*
|
|||
return true;
|
||||
}
|
||||
|
||||
bool FSLSLBridge::updateBoolSettingValue(std::string msgVal)
|
||||
bool FSLSLBridge::updateBoolSettingValue(const std::string& msgVal)
|
||||
{
|
||||
std::string boolVal = "0";
|
||||
|
||||
|
|
@ -303,7 +312,7 @@ bool FSLSLBridge::updateBoolSettingValue(std::string msgVal)
|
|||
return viewerToLSL(msgVal + "|" + boolVal, new FSLSLBridgeRequestResponder());
|
||||
}
|
||||
|
||||
bool FSLSLBridge::updateBoolSettingValue(std::string msgVal, bool contentVal)
|
||||
bool FSLSLBridge::updateBoolSettingValue(const std::string& msgVal, bool contentVal)
|
||||
{
|
||||
std::string boolVal = "0";
|
||||
|
||||
|
|
@ -356,7 +365,7 @@ void FSLSLBridge::recreateBridge()
|
|||
}
|
||||
}
|
||||
// clear the stored bridge ID - we are starting over.
|
||||
mpBridge = 0; //the object itself will get cleaned up when new one is created.
|
||||
mpBridge = NULL; //the object itself will get cleaned up when new one is created.
|
||||
|
||||
initCreationStep();
|
||||
}
|
||||
|
|
@ -438,6 +447,11 @@ void FSLSLBridge::startCreation()
|
|||
|
||||
void FSLSLBridge::initCreationStep()
|
||||
{
|
||||
// Don't create on OpenSim. We need to fallback to another creation process there, unfortunately.
|
||||
// There is no way to ensure a rock object will ever be in a grid's Library.
|
||||
#if OPENSIM
|
||||
if (LLGridManager::getInstance()->isInOpenSim()) return;
|
||||
#endif
|
||||
mBridgeCreating = true;
|
||||
//announce yourself
|
||||
reportToNearbyChat(LLTrans::getString("fsbridge_creating"));
|
||||
|
|
@ -715,7 +729,7 @@ void FSLSLBridge::setupBridgePrim(LLViewerObject* object)
|
|||
object->setVolume(LLVolumeParams(profParams, pathParams), 0);
|
||||
|
||||
object->setScale(LLVector3(10.0f, 10.0f, 10.0f), TRUE);
|
||||
for (int i = 0; i < object->getNumTEs(); i++)
|
||||
for (S32 i = 0; i < object->getNumTEs(); i++)
|
||||
{
|
||||
LLViewerTexture* image = LLViewerTextureManager::getFetchedTexture( IMG_INVISIBLE );
|
||||
object->setTEImage(i, image); //transparent texture
|
||||
|
|
@ -904,8 +918,8 @@ void FSLSLBridgeScriptCallback::fire(const LLUUID& inv_item)
|
|||
|
||||
std::string FSLSLBridgeScriptCallback::prepUploadFile()
|
||||
{
|
||||
std::string fName = gDirUtilp->getExpandedFilename(LL_PATH_FS_RESOURCES, UPLOAD_SCRIPT_CURRENT);
|
||||
std::string fNew = gDirUtilp->getExpandedFilename(LL_PATH_CACHE,UPLOAD_SCRIPT_CURRENT);
|
||||
const std::string fName = gDirUtilp->getExpandedFilename(LL_PATH_FS_RESOURCES, UPLOAD_SCRIPT_CURRENT);
|
||||
const std::string fNew = gDirUtilp->getExpandedFilename(LL_PATH_CACHE,UPLOAD_SCRIPT_CURRENT);
|
||||
|
||||
LLFILE* fpIn = LLFile::fopen(fName, "rt");
|
||||
if (!fpIn)
|
||||
|
|
@ -928,7 +942,7 @@ std::string FSLSLBridgeScriptCallback::prepUploadFile()
|
|||
|
||||
std::string bridgeScript( (char const*)&vctData[0] );
|
||||
|
||||
std::string bridgekey = "BRIDGEKEY";
|
||||
const std::string bridgekey = "BRIDGEKEY";
|
||||
bridgeScript.replace(bridgeScript.find(bridgekey), bridgekey.length(), FSLSLBridge::getInstance()->findFSCategory().asString());
|
||||
|
||||
LLFILE *fpOut = LLFile::fopen(fNew, "wt");
|
||||
|
|
@ -947,9 +961,9 @@ std::string FSLSLBridgeScriptCallback::prepUploadFile()
|
|||
return fNew;
|
||||
}
|
||||
|
||||
void FSLSLBridge :: checkBridgeScriptName(std::string fileName)
|
||||
void FSLSLBridge::checkBridgeScriptName(const std::string& fileName)
|
||||
{
|
||||
if ((fileName.length() == 0) || !mBridgeCreating)
|
||||
if ((fileName.empty()) || !mBridgeCreating)
|
||||
{
|
||||
LL_WARNS("FSLSLBridge") << "Bridge script length was zero, or bridge was not marked as under creation. Aborting." << LL_ENDL;
|
||||
return;
|
||||
|
|
@ -963,7 +977,7 @@ void FSLSLBridge :: checkBridgeScriptName(std::string fileName)
|
|||
}
|
||||
|
||||
//need to parse out the last length of a GUID and compare to saved possible names.
|
||||
std::string fileOnly = fileName.substr(fileName.length() - UPLOAD_SCRIPT_CURRENT.length(), UPLOAD_SCRIPT_CURRENT.length());
|
||||
const std::string fileOnly = fileName.substr(fileName.length() - UPLOAD_SCRIPT_CURRENT.length(), UPLOAD_SCRIPT_CURRENT.length());
|
||||
|
||||
if (fileOnly == UPLOAD_SCRIPT_CURRENT)
|
||||
{
|
||||
|
|
@ -1022,7 +1036,7 @@ void FSLSLBridge::finishBridge()
|
|||
//
|
||||
// Helper functions
|
||||
///
|
||||
bool FSLSLBridge::isItemAttached(LLUUID iID)
|
||||
bool FSLSLBridge::isItemAttached(const LLUUID& iID)
|
||||
{
|
||||
return (isAgentAvatarValid() && gAgentAvatarp->isWearingAttachment(iID));
|
||||
}
|
||||
|
|
@ -1122,7 +1136,7 @@ LLUUID FSLSLBridge::findFSBridgeContainerCategory()
|
|||
return LLUUID();
|
||||
}
|
||||
|
||||
LLViewerInventoryItem* FSLSLBridge::findInvObject(std::string obj_name, LLUUID catID, LLAssetType::EType type)
|
||||
LLViewerInventoryItem* FSLSLBridge::findInvObject(const std::string& obj_name, const LLUUID& catID, LLAssetType::EType type)
|
||||
{
|
||||
LLViewerInventoryCategory::cat_array_t cats;
|
||||
LLViewerInventoryItem::item_array_t items;
|
||||
|
|
@ -1151,7 +1165,7 @@ LLViewerInventoryItem* FSLSLBridge::findInvObject(std::string obj_name, LLUUID c
|
|||
return NULL;
|
||||
}
|
||||
|
||||
void FSLSLBridge::cleanUpBridgeFolder(std::string nameToCleanUp)
|
||||
void FSLSLBridge::cleanUpBridgeFolder(const std::string& nameToCleanUp)
|
||||
{
|
||||
LL_INFOS("FSLSLBridge") << "Cleaning leftover scripts and bridges for folder " << nameToCleanUp << LL_ENDL;
|
||||
|
||||
|
|
|
|||
|
|
@ -58,11 +58,11 @@ public:
|
|||
FSLSLBridge();
|
||||
~FSLSLBridge();
|
||||
|
||||
bool lslToViewer(std::string message, LLUUID fromID, LLUUID ownerID);
|
||||
bool viewerToLSL(std::string message, FSLSLBridgeRequestResponder* responder = NULL);
|
||||
bool lslToViewer(const std::string& message, const LLUUID& fromID, const LLUUID& ownerID);
|
||||
bool viewerToLSL(const std::string& message, FSLSLBridgeRequestResponder* responder = NULL);
|
||||
|
||||
bool updateBoolSettingValue(std::string msgVal);
|
||||
bool updateBoolSettingValue(std::string msgVal, bool contentVal);
|
||||
bool updateBoolSettingValue(const std::string& msgVal);
|
||||
bool updateBoolSettingValue(const std::string& msgVal, bool contentVal);
|
||||
|
||||
void initBridge();
|
||||
void recreateBridge();
|
||||
|
|
@ -74,9 +74,9 @@ public:
|
|||
|
||||
void setBridge(LLViewerInventoryItem* item) { mpBridge = item; };
|
||||
LLViewerInventoryItem* getBridge() { return mpBridge; };
|
||||
bool isBridgeValid() const { return NULL != mpBridge; }
|
||||
bool canUseBridge();
|
||||
|
||||
void checkBridgeScriptName(std::string fileName);
|
||||
void checkBridgeScriptName(const std::string& fileName);
|
||||
std::string currentFullName() { return mCurrentFullName; }
|
||||
|
||||
LLUUID getBridgeFolder() { return mBridgeFolderID; }
|
||||
|
|
@ -100,18 +100,19 @@ private:
|
|||
LLUUID mBridgeUUID;
|
||||
|
||||
bool mIsFirstCallDone; //initialization conversation
|
||||
bool isBridgeValid() const { return NULL != mpBridge; }
|
||||
|
||||
protected:
|
||||
LLViewerInventoryItem* findInvObject(std::string obj_name, LLUUID catID, LLAssetType::EType type);
|
||||
LLViewerInventoryItem* findInvObject(const std::string& obj_name, const LLUUID& catID, LLAssetType::EType type);
|
||||
LLUUID findFSCategory();
|
||||
LLUUID findFSBridgeContainerCategory();
|
||||
|
||||
bool isItemAttached(LLUUID iID);
|
||||
bool isItemAttached(const LLUUID& iID);
|
||||
void createNewBridge();
|
||||
void create_script_inner(LLViewerObject* object);
|
||||
bool isOldBridgeVersion(LLInventoryItem* item);
|
||||
void cleanUpBridgeFolder();
|
||||
void cleanUpBridgeFolder(std::string nameToCleanUp);
|
||||
void cleanUpBridgeFolder(const std::string& nameToCleanUp);
|
||||
void setupBridgePrim(LLViewerObject* object);
|
||||
void initCreationStep();
|
||||
void cleanUpBridge();
|
||||
|
|
|
|||
|
|
@ -169,10 +169,10 @@ void FSRadar::updateRadarList()
|
|||
static LLCachedControl<bool> RadarLeaveChannelAlert(gSavedSettings, "RadarLeaveChannelAlert");
|
||||
static LLCachedControl<F32> nearMeRange(gSavedSettings, "NearMeRange");
|
||||
static LLCachedControl<bool> limitRange(gSavedSettings, "LimitRadarByRange");
|
||||
static LLCachedControl<bool> sUseLSLBridge(gSavedSettings, "UseLSLBridge");
|
||||
static LLCachedControl<F32> RenderFarClip(gSavedSettings, "RenderFarClip");
|
||||
static LLCachedControl<bool> sFSLegacyRadarFriendColoring(gSavedSettings, "FSLegacyRadarFriendColoring");
|
||||
static LLCachedControl<bool> sRadarColorNamesByDistance(gSavedSettings, "FSRadarColorNamesByDistance", false);
|
||||
bool sUseLSLBridge = FSLSLBridge::instance().canUseBridge();
|
||||
|
||||
F32 drawRadius(RenderFarClip);
|
||||
const LLVector3d& posSelf = gAgent.getPositionGlobal();
|
||||
|
|
|
|||
|
|
@ -4731,7 +4731,7 @@ void LLAgent::doTeleportViaLocation(const LLVector3d& pos_global)
|
|||
sendReliableMessage();
|
||||
}
|
||||
// <FS:TT> Client LSL Bridge
|
||||
if (gSavedSettings.getBOOL("UseLSLBridge") && isLocal)
|
||||
if (FSLSLBridge::instance().canUseBridge() && isLocal)
|
||||
{
|
||||
teleportBridgeGlobal(pos_global);
|
||||
}
|
||||
|
|
@ -4771,7 +4771,7 @@ void LLAgent::doTeleportViaLocationLookAt(const LLVector3d& pos_global)
|
|||
teleportRequest(region_handle, pos_local, getTeleportKeepsLookAt());
|
||||
|
||||
// <FS:TT> Client LSL Bridge
|
||||
if (gSavedSettings.getBOOL("UseLSLBridge"))
|
||||
if (FSLSLBridge::instance().canUseBridge())
|
||||
{
|
||||
if (region_handle == to_region_handle(getPositionGlobal()))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1493,7 +1493,7 @@ void LLAppearanceMgr::takeOffOutfit(const LLUUID& cat_id)
|
|||
gInventory.collectDescendentsIf(cat_id, cats, items, FALSE, collector);
|
||||
|
||||
// <FS:TT> Client LSL Bridge
|
||||
if (gSavedSettings.getBOOL("UseLSLBridge"))
|
||||
if (FSLSLBridge::instance().canUseBridge())
|
||||
{
|
||||
//if replacing - make sure bridge stays.
|
||||
if (FSLSLBridge::instance().getBridge())
|
||||
|
|
@ -2034,7 +2034,7 @@ void LLAppearanceMgr::updateCOF(LLInventoryModel::item_array_t& body_items_new,
|
|||
obj_items.insert(obj_items.end(), obj_items_new.begin(), obj_items_new.end());
|
||||
// [/RLVa:KB]
|
||||
//-TT Client LSL Bridge
|
||||
if (gSavedSettings.getBOOL("UseLSLBridge"))
|
||||
if (FSLSLBridge::instance().canUseBridge())
|
||||
{
|
||||
//if replacing - make sure bridge stays.
|
||||
if (!append && FSLSLBridge::instance().getBridge())
|
||||
|
|
@ -3893,6 +3893,12 @@ void LLAppearanceMgr::removeItemsFromAvatar(const uuid_vec_t& ids_to_remove)
|
|||
{
|
||||
continue;
|
||||
}
|
||||
// <FS:Ansariel> LSL Bridge
|
||||
if (FSLSLBridge::instance().canUseBridge() && linked_item == FSLSLBridge::instance().getBridge())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
fUpdateAppearance = true;
|
||||
const LLUUID& linked_item_id = gInventory.getLinkedItemID(*it);
|
||||
|
|
|
|||
|
|
@ -610,7 +610,7 @@ void LLUpdateAgentInventoryResponder::uploadComplete(const LLSD& content)
|
|||
}
|
||||
}
|
||||
// <FS:TT> Client LSL Bridge
|
||||
if (gSavedSettings.getBOOL("UseLSLBridge"))
|
||||
if (FSLSLBridge::instance().canUseBridge())
|
||||
{
|
||||
FSLSLBridge::instance().checkBridgeScriptName(mFileName);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -257,6 +257,20 @@ bool callback_clear_inventory_cache(const LLSD& notification, const LLSD& respon
|
|||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
// <FS:Ansariel> Clear inventory cache button
|
||||
bool callback_clear_web_browser_cache(const LLSD& notification, const LLSD& response)
|
||||
{
|
||||
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
|
||||
if ( option == 0 ) // YES
|
||||
{
|
||||
LLViewerMedia::clearAllCaches();
|
||||
LLViewerMedia::clearAllCookies();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
bool callback_clear_cache(const LLSD& notification, const LLSD& response)
|
||||
{
|
||||
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
|
||||
|
|
@ -450,6 +464,9 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
|
|||
// <FS:Ansariel> Clear inventory cache button
|
||||
mCommitCallbackRegistrar.add("Pref.InvClearCache", boost::bind(&LLFloaterPreference::onClickInventoryClearCache, this));
|
||||
// </FS:Ansariel>
|
||||
// <FS:Ansariel> Clear web browser cache button
|
||||
mCommitCallbackRegistrar.add("Pref.WebBrowserClearCache", boost::bind(&LLFloaterPreference::onClickWebBrowserClearCache, this));
|
||||
// </FS:Ansariel>
|
||||
mCommitCallbackRegistrar.add("Pref.SetCache", boost::bind(&LLFloaterPreference::onClickSetCache, this));
|
||||
mCommitCallbackRegistrar.add("Pref.ResetCache", boost::bind(&LLFloaterPreference::onClickResetCache, this));
|
||||
// mCommitCallbackRegistrar.add("Pref.ClickSkin", boost::bind(&LLFloaterPreference::onClickSkin, this,_1, _2));
|
||||
|
|
@ -1210,6 +1227,13 @@ void LLFloaterPreference::onClickInventoryClearCache()
|
|||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
// <FS:Ansariel> Clear web browser cache button
|
||||
void LLFloaterPreference::onClickWebBrowserClearCache()
|
||||
{
|
||||
LLNotificationsUtil::add("ConfirmClearWebBrowserCache", LLSD(), LLSD(), callback_clear_web_browser_cache);
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
// Called when user changes language via the combobox.
|
||||
void LLFloaterPreference::onLanguageChange()
|
||||
{
|
||||
|
|
@ -2227,6 +2251,9 @@ void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im
|
|||
|
||||
// <FS:Ansariel> Clear inventory cache button
|
||||
getChildView("ClearInventoryCache")->setEnabled(TRUE);
|
||||
|
||||
// <FS:Ansariel> Clear web browser cache button
|
||||
getChildView("ClearWebBrowserCache")->setEnabled(TRUE);
|
||||
}
|
||||
|
||||
void LLFloaterPreference::refreshUI()
|
||||
|
|
@ -2689,15 +2716,6 @@ BOOL LLPanelPreference::postBuild()
|
|||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
#ifdef OPENSIM // <FS:AW optional opensim support/>
|
||||
// <FS:AW Disable LSL bridge on opensim>
|
||||
if(LLGridManager::getInstance()->isInOpenSim() && !LLGridManager::getInstance()->isInAuroraSim() && hasChild("UseLSLBridge", TRUE))
|
||||
{
|
||||
getChild<LLCheckBoxCtrl>("UseLSLBridge")->setEnabled(FALSE);
|
||||
}
|
||||
// </FS:AW Disable LSL bridge on opensim>
|
||||
#endif // OPENSIM // <FS:AW optional opensim support/>
|
||||
|
||||
apply();
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -204,6 +204,8 @@ public:
|
|||
//void callback_clear_settings(const LLSD& notification, const LLSD& response);
|
||||
// <FS:Ansariel> Clear inventory cache button
|
||||
void onClickInventoryClearCache();
|
||||
// <FS:Ansariel> Clear web browser cache button
|
||||
void onClickWebBrowserClearCache();
|
||||
|
||||
void updateSliderText(LLSliderCtrl* ctrl, LLTextBox* text_box);
|
||||
void refreshUI();
|
||||
|
|
|
|||
|
|
@ -2579,15 +2579,6 @@ LLWorld::getInstance()->addRegion(gFirstSimHandle, gFirstSim, first_sim_size_x,
|
|||
set_startup_status(1.0, "", "");
|
||||
display_startup();
|
||||
|
||||
// <FS:AW Disable LSL bridge on opensim>
|
||||
#ifdef OPENSIM // <FS:AW optional opensim support/>
|
||||
if (LLGridManager::getInstance()->isInOpenSim() && !LLGridManager::getInstance()->isInAuroraSim())
|
||||
{
|
||||
gSavedSettings.setBOOL("UseLSLBridge", FALSE);
|
||||
}
|
||||
#endif // OPENSIM // <FS:AW optional opensim support/>
|
||||
// </FS:AW Disable LSL bridge on opensim>
|
||||
|
||||
// <FS:TT> Client LSL Bridge
|
||||
if (gSavedSettings.getBOOL("UseLSLBridge"))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4295,12 +4295,7 @@ class FSSelfCheckMoveLock : public view_listener_t
|
|||
|
||||
bool enable_bridge_function()
|
||||
{
|
||||
#ifdef OPENSIM
|
||||
if (LLGridManager::getInstance()->isInOpenSim() && !LLGridManager::getInstance()->isInAuroraSim())
|
||||
// No bridge on OpenSim yet.
|
||||
return false;
|
||||
#endif // OPENSIM
|
||||
return (gSavedSettings.getBOOL("UseLSLBridge") && FSLSLBridge::instance().isBridgeValid());
|
||||
return FSLSLBridge::instance().canUseBridge();
|
||||
}
|
||||
|
||||
bool enable_move_lock()
|
||||
|
|
|
|||
|
|
@ -4426,8 +4426,7 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
|
|||
case CHAT_TYPE_OWNER:
|
||||
// <FS:TT> Client LSL Bridge
|
||||
{
|
||||
static LLCachedControl<bool> sUseLSLBridge(gSavedSettings, "UseLSLBridge");
|
||||
if (sUseLSLBridge && FSLSLBridge::instance().lslToViewer(mesg, from_id, owner_id))
|
||||
if (FSLSLBridge::instance().lslToViewer(mesg, from_id, owner_id))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -8367,7 +8366,7 @@ void process_teleport_failed(LLMessageSystem *msg, void**)
|
|||
gAgent.stopTyping();
|
||||
|
||||
llinfos << "Teleport error, reason=" << reason << llendl;
|
||||
if ((!gSavedSettings.getBOOL("UseLSLBridge")) ||
|
||||
if (!FSLSLBridge::instance().canUseBridge() ||
|
||||
(reason != "Could not teleport closer to destination"))
|
||||
{
|
||||
LLNotificationsUtil::add("CouldNotTeleportReason", args);
|
||||
|
|
|
|||
|
|
@ -1939,38 +1939,33 @@ void callback_MOAP_alert2(const LLSD ¬ification, const LLSD &response, LLMedi
|
|||
}
|
||||
}
|
||||
|
||||
bool LLViewerParcelMedia::saveDomainFilterList()
|
||||
void LLViewerParcelMedia::saveDomainFilterList()
|
||||
{
|
||||
std::string medialist_filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "medialist.xml");
|
||||
const std::string medialist_filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "medialist.xml");
|
||||
|
||||
llofstream medialistFile(medialist_filename);
|
||||
LLSDSerialize::toPrettyXML(sMediaFilterList, medialistFile);
|
||||
medialistFile.close();
|
||||
return true;
|
||||
llofstream medialist;
|
||||
medialist.open(medialist_filename);
|
||||
LLSDSerialize::toPrettyXML(sMediaFilterList, medialist);
|
||||
medialist.close();
|
||||
}
|
||||
|
||||
bool LLViewerParcelMedia::loadDomainFilterList()
|
||||
void LLViewerParcelMedia::loadDomainFilterList()
|
||||
{
|
||||
std::string medialist_filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "medialist.xml");
|
||||
const std::string medialist_filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "medialist.xml");
|
||||
|
||||
if(!LLFile::isfile(medialist_filename))
|
||||
{
|
||||
LLSD emptyllsd;
|
||||
llofstream medialistFile(medialist_filename);
|
||||
LLSDSerialize::toPrettyXML(emptyllsd, medialistFile);
|
||||
medialistFile.close();
|
||||
}
|
||||
|
||||
if(LLFile::isfile(medialist_filename))
|
||||
if (LLFile::isfile(medialist_filename))
|
||||
{
|
||||
llifstream medialistFile(medialist_filename);
|
||||
LLSDSerialize::fromXML(sMediaFilterList, medialistFile);
|
||||
medialistFile.close();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
LLSD emptyllsd;
|
||||
llofstream medialist;
|
||||
medialist.open(medialist_filename);
|
||||
LLSDSerialize::toPrettyXML(emptyllsd, medialist);
|
||||
medialist.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -59,8 +59,8 @@ class LLViewerParcelMedia : public LLViewerMediaObserver
|
|||
// user has media filter enabled and play requested
|
||||
static std::string extractDomain(std::string url);
|
||||
// helper function to extract domain from url and conve
|
||||
static bool loadDomainFilterList();
|
||||
static bool saveDomainFilterList();
|
||||
static void loadDomainFilterList();
|
||||
static void saveDomainFilterList();
|
||||
|
||||
static void stop();
|
||||
// user clicked stop button in media transport controls
|
||||
|
|
|
|||
|
|
@ -2293,6 +2293,10 @@ Möchten Sie den Nicht-stören-Modus deaktivieren, bevor Sie diese Transaktion a
|
|||
Möchten Sie Ihren Inventar-Cache wirklich leeren?
|
||||
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
|
||||
</notification>
|
||||
<notification name="ConfirmClearWebBrowserCache">
|
||||
Möchten Sie Ihren Webbrowser-Cache wirklich leeren?
|
||||
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
|
||||
</notification>
|
||||
<notification name="ConfirmClearCookies">
|
||||
Sind Sie sicher, dass Sie Ihre Cookies löschen möchten?
|
||||
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Ja"/>
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@
|
|||
<combo_box.item label="Fünf Fenster" name="web_5"/>
|
||||
<combo_box.item label="Zehn Fenster" name="web_10"/>
|
||||
</combo_box>
|
||||
<button label="Webbrowser-Cache löschen" name="ClearWebBrowserCache" width="160"/>
|
||||
<check_box initial_value="true" label="Plugins aktivieren" name="browser_plugins_enabled"/>
|
||||
<check_box initial_value="true" label="Cookies annehmen" name="cookies_enabled"/>
|
||||
<check_box initial_value="true" label="Javascript aktivieren" name="browser_javascript_enabled"/>
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
can_resize="true"
|
||||
height="254"
|
||||
name="floatermedialists"
|
||||
positioning="centered"
|
||||
save_rect="true"
|
||||
title="Media Lists"
|
||||
width="460"
|
||||
min_height="300"
|
||||
|
|
|
|||
|
|
@ -5662,6 +5662,18 @@ Are you sure you want to clear your inventory cache?
|
|||
notext="Cancel"
|
||||
yestext="OK"/>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="ConfirmClearWebBrowserCache"
|
||||
type="alertmodal">
|
||||
Are you sure you want to clear your web browser cache?
|
||||
<tag>confirm</tag>
|
||||
<usetemplate
|
||||
name="okcancelbuttons"
|
||||
notext="Cancel"
|
||||
yestext="OK"/>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
|
|
|
|||
|
|
@ -524,6 +524,20 @@
|
|||
value="10" />
|
||||
</combo_box>
|
||||
|
||||
<button
|
||||
enabled="false"
|
||||
follows="right|top"
|
||||
height="23"
|
||||
label="Clear Browser Cache"
|
||||
layout="topleft"
|
||||
right="-10"
|
||||
name="ClearWebBrowserCache"
|
||||
top_delta="0"
|
||||
width="140">
|
||||
<button.commit_callback
|
||||
function="Pref.WebBrowserClearCache" />
|
||||
</button>
|
||||
|
||||
<check_box
|
||||
enabled="true"
|
||||
follows="left|top"
|
||||
|
|
@ -531,7 +545,7 @@
|
|||
initial_value="true"
|
||||
control_name="BrowserPluginsEnabled"
|
||||
label="Enable plugins"
|
||||
left_delta="0"
|
||||
left="25"
|
||||
mouse_opaque="true"
|
||||
name="browser_plugins_enabled"
|
||||
radio_style="false"
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<panel label="Kolory" name="colors"/>
|
||||
<panel label="Grafika" name="display"/>
|
||||
<panel label="Dźwięk i media" name="audio"/>
|
||||
<panel label="Sieć i cache" name="input"/>
|
||||
<panel label="Sieć i bufory" name="input"/>
|
||||
<panel label="Ruch i widok" name="move"/>
|
||||
<panel label="Powiadomienia" name="msgs"/>
|
||||
<panel label="Prywatność" name="im"/>
|
||||
|
|
|
|||
|
|
@ -390,6 +390,9 @@ Czy na pewno chcesz kontynuować?
|
|||
Bufor danych zostanie przeniesiony po restarcie aplikacji [APP_NAME].
|
||||
Pamiętaj: Opcja ta wyczyszcza bufor danych.
|
||||
</notification>
|
||||
<notification name="SoundCacheWillBeMoved">
|
||||
Bufor dźwięków zostanie przeniesiony po restarcie aplikacji [APP_NAME].
|
||||
</notification>
|
||||
<notification name="ChangeConnectionPort">
|
||||
Ustawienia portu zostają zaktualizowane po restarcie aplikacji [APP_NAME].
|
||||
</notification>
|
||||
|
|
@ -3739,7 +3742,7 @@ Obecne ustawienie: [CURRENT_VALUE]
|
|||
Nie można śledzić tego awatara, ponieważ jest poza zasięgiem radaru.
|
||||
</notification>
|
||||
<notification name="CacheEmpty">
|
||||
Pamięć podręczna Twojej Przeglądarki jest pusta. Miej na uwadze, że możesz przez jakiś czas odczuwać obniżoną wydajność i spowolnione doczytywanie obiektów z Szafy.
|
||||
Pamięć podręczna (bufor danych) Twojej Przeglądarki jest pusta. Miej na uwadze, że możesz przez jakiś czas odczuwać obniżoną wydajność i spowolnione doczytywanie obiektów z Szafy.
|
||||
</notification>
|
||||
<notification name="FirstJoinSupportGroup">
|
||||
Witaj w grupie wsparcia Phoenix/Firestorm!
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<panel.string name="log_in_to_change">
|
||||
Zaloguj się, by zmienić
|
||||
</panel.string>
|
||||
<button label="Wyczyść historię" tool_tip="Wyczyść zapisane obrazy, ostatnią lokalizację, historię teleportów, bufor stron internetowych i cache tekstur" name="clear_cache"/>
|
||||
<button label="Wyczyść historię" tool_tip="Wyczyść zapisane obrazy, ostatnią lokalizację, historię teleportów, bufor stron internetowych i bufor danych tekstur" name="clear_cache"/>
|
||||
<text name="cache_size_label">
|
||||
(miejsca, obrazy, strony web, historia wyszukiwarki)
|
||||
</text>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Sieć/cache" name="Input panel">
|
||||
<panel label="Sieć i bufory" name="Input panel">
|
||||
<layout_stack name="max_bandwidth_layout">
|
||||
<layout_panel name="bandwidth_panel">
|
||||
<text name="Maximum bandwidth">
|
||||
|
|
@ -15,16 +15,23 @@
|
|||
<check_box label="Własny port" name="connection_port_enabled"/>
|
||||
<spinner label="Numer portu:" name="connection_port"/>
|
||||
<text name="cache_size_label_l">
|
||||
Rozmiar cache
|
||||
Rozmiar pamięci podr.
|
||||
</text>
|
||||
<button label="Wyczyść cache Szafy" name="ClearInventoryCache"/>
|
||||
<button label="Wyczyść bufor Szafy" name="ClearInventoryCache"/>
|
||||
<text name="Cache location">
|
||||
Położenie cache:
|
||||
Położenie głównego buforu pamięci podr. (cache):
|
||||
</text>
|
||||
<button label="Pokaż" label_selected="Pokaż" name="open_cache"/>
|
||||
<button label="Ustaw" label_selected="Ustaw" name="set_cache"/>
|
||||
<button label="Resetuj" label_selected="Resetuj" name="reset_cache"/>
|
||||
<button label="Wyczyść" label_selected="Wyczyść" name="clear_cache"/>
|
||||
<text name="Sound Cache location">
|
||||
Położenie buforu pamięci podręcznej dźwięków:
|
||||
</text>
|
||||
<button label="Pokaż" label_selected="Pokaż" name="open_sound_cache"/>
|
||||
<button label="Ustaw" label_selected="Ustaw" name="set_sound_cache"/>
|
||||
<button label="Resetuj" label_selected="Resetuj" name="reset_sound_cache"/>
|
||||
<check_box label="Nie usuwaj wypakowanych plików DSF (dźwięków) z buforu podczas wylogowywania" tool_tip="Gdy zaznaczysz tą opcję, to przeglądarka nie będzie usuwać wypakowanych plików dźwiękowych z pamięci podręcznej podczas wylogowywania, co może poprawić wydajność podczas odtwarzania ich w świecie. Pamiętaj proszę, że włączenie tej opcji spowoduje bardzo szybkie zapełnienie się katalogu pamięci podręcznej, a także że nie obowiązuje w jej wypadku ustawienie maksymalnego jej limitu. Może to doprowadzić do wykorzystywania powierzchni dyskowej ponad miarę. Ta opcja jest domyślnie wyłączona." name="keep_unpacked_cache"/>
|
||||
<text name="log_path_desc">
|
||||
Położenie dzienników i logów czatów:
|
||||
</text>
|
||||
|
|
@ -33,7 +40,6 @@
|
|||
<button label="Resetuj" label_selected="Resetuj" name="reset_logpath"/>
|
||||
<button label="Logi błędów" label_selected="Logi błędów" name="browse_crashlogs"/>
|
||||
<button label="Folder ustawień" label_selected="Folder ustawień" name="browse_settingsdir"/>
|
||||
<check_box label="Nie usuwaj wypakowanych plików DSF (dźwięków) z cache podczas wylogowywania" tool_tip="Gdy zaznaczysz tą opcję, to przeglądarka nie będzie usuwać wypakowanych plików dźwiękowych z pamięci podręcznej podczas wylogowywania, co może poprawić wydajność podczas odtwarzania ich w świecie. Pamiętaj proszę, że włączenie tej opcji spowoduje bardzo szybkie zapełnienie się katalogu pamięci podręcznej, a także że nie obowiązuje w jej wypadku ustawienie maksymalnego jej limitu. Może to doprowadzić do wykorzystywania powierzchni dyskowej ponad miarę. Ta opcja jest domyślnie wyłączona." name="keep_unpacked_cache"/>
|
||||
<text name="Web:">
|
||||
Przeglądarka internetowa:
|
||||
</text>
|
||||
|
|
@ -54,7 +60,7 @@
|
|||
<check_box label="Akceptuj ciasteczka" name="cookies_enabled"/>
|
||||
<check_box label="Włącz Javascript" name="browser_javascript_enabled"/>
|
||||
<check_box label="Włącz wyskakujące okienka przeglądarki mediów" name="media_popup_enabled"/>
|
||||
<text name="Proxy Settings:">
|
||||
<text name="Proxy Settings:" width="95">
|
||||
Ustawienia proxy:
|
||||
</text>
|
||||
<button label="Dostosuj ustawienia" label_selected="Przeglądaj" name="set_proxy"/>
|
||||
|
|
|
|||
|
|
@ -12,6 +12,9 @@
|
|||
<string name="StartupClearingCache">
|
||||
Czyszczenie bufora danych...
|
||||
</string>
|
||||
<string name="StartupClearingTextureCache">
|
||||
Czyszczenie bufora tekstur...
|
||||
</string>
|
||||
<string name="StartupInitializingTextureCache">
|
||||
Inicjowanie bufora danych tekstur...
|
||||
</string>
|
||||
|
|
|
|||
Loading…
Reference in New Issue