Compare commits
6 Commits
sv-1.8.9.8
...
sv-1.8.9.8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7755f1ec52 | ||
|
|
c5f1ac808b | ||
|
|
1a8660909d | ||
|
|
e6826a4c7c | ||
|
|
801bb8a075 | ||
|
|
b2c965e22d |
@@ -103,11 +103,7 @@ void LLFloaterPostcard::init()
|
|||||||
if(!gAgent.getID().isNull())
|
if(!gAgent.getID().isNull())
|
||||||
{
|
{
|
||||||
// we're logged in, so we can get this info.
|
// we're logged in, so we can get this info.
|
||||||
gMessageSystem->newMessageFast(_PREHASH_UserInfoRequest);
|
gAgent.sendAgentUserInfoRequest();
|
||||||
gMessageSystem->nextBlockFast(_PREHASH_AgentData);
|
|
||||||
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
|
|
||||||
gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
|
|
||||||
gAgent.sendReliableMessage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sInstances.insert(this);
|
sInstances.insert(this);
|
||||||
@@ -233,7 +229,7 @@ void LLFloaterPostcard::onClose(bool app_quitting)
|
|||||||
destroy();
|
destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
class LLSendPostcardResponder : public LLAssetUploadResponder
|
class LLSendPostcardResponder final : public LLAssetUploadResponder
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
int mSnapshotIndex;
|
int mSnapshotIndex;
|
||||||
@@ -248,22 +244,22 @@ public:
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
// *TODO define custom uploadFailed here so it's not such a generic message
|
// *TODO define custom uploadFailed here so it's not such a generic message
|
||||||
/*virtual*/ void uploadComplete(const LLSD& content)
|
void uploadComplete(const LLSD& content) override final
|
||||||
{
|
{
|
||||||
// we don't care about what the server returns from this post, just clean up the UI
|
// we don't care about what the server returns from this post, just clean up the UI
|
||||||
LLFloaterSnapshot::savePostcardDone(true, mSnapshotIndex);
|
LLFloaterSnapshot::savePostcardDone(true, mSnapshotIndex);
|
||||||
}
|
}
|
||||||
/*virtual*/ void uploadFailure(const LLSD& content)
|
void uploadFailure(const LLSD& content) override final
|
||||||
{
|
{
|
||||||
LLAssetUploadResponder::uploadFailure(content);
|
LLAssetUploadResponder::uploadFailure(content);
|
||||||
LLFloaterSnapshot::savePostcardDone(false, mSnapshotIndex);
|
LLFloaterSnapshot::savePostcardDone(false, mSnapshotIndex);
|
||||||
}
|
}
|
||||||
/*virtual*/ void httpFailure(void)
|
void httpFailure(void) override final
|
||||||
{
|
{
|
||||||
LLAssetUploadResponder::httpFailure();
|
LLAssetUploadResponder::httpFailure();
|
||||||
LLFloaterSnapshot::savePostcardDone(false, mSnapshotIndex);
|
LLFloaterSnapshot::savePostcardDone(false, mSnapshotIndex);
|
||||||
}
|
}
|
||||||
/*virtual*/ char const* getName(void) const { return "LLSendPostcardResponder"; }
|
char const* getName(void) const override final { return "LLSendPostcardResponder"; }
|
||||||
};
|
};
|
||||||
|
|
||||||
// static
|
// static
|
||||||
@@ -273,7 +269,6 @@ void LLFloaterPostcard::onClickSend(void* data)
|
|||||||
{
|
{
|
||||||
LLFloaterPostcard *self = (LLFloaterPostcard *)data;
|
LLFloaterPostcard *self = (LLFloaterPostcard *)data;
|
||||||
|
|
||||||
std::string from(self->childGetValue("from_form").asString());
|
|
||||||
std::string to(self->childGetValue("to_form").asString());
|
std::string to(self->childGetValue("to_form").asString());
|
||||||
|
|
||||||
boost::regex emailFormat("[A-Za-z0-9.%+-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}(,[ \t]*[A-Za-z0-9.%+-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,})*");
|
boost::regex emailFormat("[A-Za-z0-9.%+-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}(,[ \t]*[A-Za-z0-9.%+-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,})*");
|
||||||
@@ -284,12 +279,6 @@ void LLFloaterPostcard::onClickSend(void* data)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (from.empty() || !boost::regex_match(from, emailFormat))
|
|
||||||
{
|
|
||||||
LLNotificationsUtil::add("PromptSelfEmail");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string subject(self->childGetValue("subject_form").asString());
|
std::string subject(self->childGetValue("subject_form").asString());
|
||||||
if(subject.empty() || !self->mHasFirstMsgFocus)
|
if(subject.empty() || !self->mHasFirstMsgFocus)
|
||||||
{
|
{
|
||||||
@@ -349,10 +338,8 @@ void LLFloaterPostcard::uploadCallback(const LLUUID& asset_id, void *user_data,
|
|||||||
// static
|
// static
|
||||||
void LLFloaterPostcard::updateUserInfo(const std::string& email)
|
void LLFloaterPostcard::updateUserInfo(const std::string& email)
|
||||||
{
|
{
|
||||||
for (instance_list_t::iterator iter = sInstances.begin();
|
for (auto& instance : sInstances)
|
||||||
iter != sInstances.end(); ++iter)
|
|
||||||
{
|
{
|
||||||
LLFloaterPostcard *instance = *iter;
|
|
||||||
const std::string& text = instance->childGetValue("from_form").asString();
|
const std::string& text = instance->childGetValue("from_form").asString();
|
||||||
if (text.empty())
|
if (text.empty())
|
||||||
{
|
{
|
||||||
@@ -416,7 +403,6 @@ void LLFloaterPostcard::sendPostcard()
|
|||||||
// the capability already encodes: agent ID, region ID
|
// the capability already encodes: agent ID, region ID
|
||||||
body["pos-global"] = mPosTakenGlobal.getValue();
|
body["pos-global"] = mPosTakenGlobal.getValue();
|
||||||
body["to"] = childGetValue("to_form").asString();
|
body["to"] = childGetValue("to_form").asString();
|
||||||
body["from"] = childGetValue("from_form").asString();
|
|
||||||
body["name"] = childGetValue("name_form").asString();
|
body["name"] = childGetValue("name_form").asString();
|
||||||
body["subject"] = childGetValue("subject_form").asString();
|
body["subject"] = childGetValue("subject_form").asString();
|
||||||
body["msg"] = childGetValue("msg_form").asString();
|
body["msg"] = childGetValue("msg_form").asString();
|
||||||
|
|||||||
@@ -46,17 +46,17 @@ class LLLineEditor;
|
|||||||
class LLButton;
|
class LLButton;
|
||||||
class LLImageJPEG;
|
class LLImageJPEG;
|
||||||
|
|
||||||
class LLFloaterPostcard
|
class LLFloaterPostcard final
|
||||||
: public LLFloater
|
: public LLFloater
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
LLFloaterPostcard(LLImageJPEG* jpeg, LLViewerTexture *img, const LLVector2& img_scale, const LLVector3d& pos_taken_global, int index);
|
LLFloaterPostcard(LLImageJPEG* jpeg, LLViewerTexture *img, const LLVector2& img_scale, const LLVector3d& pos_taken_global, int index);
|
||||||
/*virtual*/ ~LLFloaterPostcard();
|
/*virtual*/ ~LLFloaterPostcard() override;
|
||||||
|
|
||||||
/*virtual*/ void init();
|
void init();
|
||||||
/*virtual*/ BOOL postBuild();
|
/*virtual*/ BOOL postBuild() override;
|
||||||
/*virtual*/ void draw();
|
/*virtual*/ void draw() override;
|
||||||
/*virtual*/ void onClose(bool app_quitting);
|
/*virtual*/ void onClose(bool app_quitting) override;
|
||||||
|
|
||||||
static LLFloaterPostcard* showFromSnapshot(LLImageJPEG *jpeg, LLViewerTexture *img, const LLVector2& img_scale, const LLVector3d& pos_taken_global, int index);
|
static LLFloaterPostcard* showFromSnapshot(LLImageJPEG *jpeg, LLViewerTexture *img, const LLVector2& img_scale, const LLVector3d& pos_taken_global, int index);
|
||||||
|
|
||||||
|
|||||||
@@ -302,10 +302,10 @@ void LLFloaterWindLight::syncMenu()
|
|||||||
// blue horizon
|
// blue horizon
|
||||||
param_mgr->mBlueHorizon = cur_params.getVector(param_mgr->mBlueHorizon.mName, err);
|
param_mgr->mBlueHorizon = cur_params.getVector(param_mgr->mBlueHorizon.mName, err);
|
||||||
//setColorSwatch("WLBlueHorizon", param_mgr->mBlueHorizon, WL_BLUE_HORIZON_DENSITY_SCALE);
|
//setColorSwatch("WLBlueHorizon", param_mgr->mBlueHorizon, WL_BLUE_HORIZON_DENSITY_SCALE);
|
||||||
childSetValue("WLBlueHorizonR", param_mgr->mBlueHorizon.r);
|
childSetValue("WLBlueHorizonR", param_mgr->mBlueHorizon.r / WL_BLUE_HORIZON_DENSITY_SCALE);
|
||||||
childSetValue("WLBlueHorizonG", param_mgr->mBlueHorizon.g);
|
childSetValue("WLBlueHorizonG", param_mgr->mBlueHorizon.g / WL_BLUE_HORIZON_DENSITY_SCALE);
|
||||||
childSetValue("WLBlueHorizonB", param_mgr->mBlueHorizon.b);
|
childSetValue("WLBlueHorizonB", param_mgr->mBlueHorizon.b / WL_BLUE_HORIZON_DENSITY_SCALE);
|
||||||
childSetValue("WLBlueHorizonI", param_mgr->mBlueHorizon.i);
|
childSetValue("WLBlueHorizonI", param_mgr->mBlueHorizon.i / WL_BLUE_HORIZON_DENSITY_SCALE);
|
||||||
|
|
||||||
// haze density, horizon, mult, and altitude
|
// haze density, horizon, mult, and altitude
|
||||||
param_mgr->mHazeDensity = cur_params.getFloat(param_mgr->mHazeDensity.mName, err);
|
param_mgr->mHazeDensity = cur_params.getFloat(param_mgr->mHazeDensity.mName, err);
|
||||||
@@ -320,20 +320,20 @@ void LLFloaterWindLight::syncMenu()
|
|||||||
// blue density
|
// blue density
|
||||||
param_mgr->mBlueDensity = cur_params.getVector(param_mgr->mBlueDensity.mName, err);
|
param_mgr->mBlueDensity = cur_params.getVector(param_mgr->mBlueDensity.mName, err);
|
||||||
//setColorSwatch("WLBlueDensity", param_mgr->mBlueDensity, WL_BLUE_HORIZON_DENSITY_SCALE);
|
//setColorSwatch("WLBlueDensity", param_mgr->mBlueDensity, WL_BLUE_HORIZON_DENSITY_SCALE);
|
||||||
childSetValue("WLBlueDensityR", param_mgr->mBlueDensity.r);
|
childSetValue("WLBlueDensityR", param_mgr->mBlueDensity.r / WL_BLUE_HORIZON_DENSITY_SCALE);
|
||||||
childSetValue("WLBlueDensityG", param_mgr->mBlueDensity.g);
|
childSetValue("WLBlueDensityG", param_mgr->mBlueDensity.g / WL_BLUE_HORIZON_DENSITY_SCALE);
|
||||||
childSetValue("WLBlueDensityB", param_mgr->mBlueDensity.b);
|
childSetValue("WLBlueDensityB", param_mgr->mBlueDensity.b / WL_BLUE_HORIZON_DENSITY_SCALE);
|
||||||
childSetValue("WLBlueDensityI", param_mgr->mBlueDensity.i);
|
childSetValue("WLBlueDensityI", param_mgr->mBlueDensity.i / WL_BLUE_HORIZON_DENSITY_SCALE);
|
||||||
|
|
||||||
// Lighting
|
// Lighting
|
||||||
|
|
||||||
// sunlight
|
// sunlight
|
||||||
param_mgr->mSunlight = cur_params.getVector(param_mgr->mSunlight.mName, err);
|
param_mgr->mSunlight = cur_params.getVector(param_mgr->mSunlight.mName, err);
|
||||||
//setColorSwatch("WLSunlight", param_mgr->mSunlight, WL_SUN_AMBIENT_SLIDER_SCALE);
|
//setColorSwatch("WLSunlight", param_mgr->mSunlight, WL_SUN_AMBIENT_SLIDER_SCALE);
|
||||||
childSetValue("WLSunlightR", param_mgr->mSunlight.r);
|
childSetValue("WLSunlightR", param_mgr->mSunlight.r / WL_SUN_AMBIENT_SLIDER_SCALE);
|
||||||
childSetValue("WLSunlightG", param_mgr->mSunlight.g);
|
childSetValue("WLSunlightG", param_mgr->mSunlight.g / WL_SUN_AMBIENT_SLIDER_SCALE);
|
||||||
childSetValue("WLSunlightB", param_mgr->mSunlight.b);
|
childSetValue("WLSunlightB", param_mgr->mSunlight.b / WL_SUN_AMBIENT_SLIDER_SCALE);
|
||||||
childSetValue("WLSunlightI", param_mgr->mSunlight.i);
|
childSetValue("WLSunlightI", param_mgr->mSunlight.i / WL_SUN_AMBIENT_SLIDER_SCALE);
|
||||||
|
|
||||||
// glow
|
// glow
|
||||||
param_mgr->mGlow = cur_params.getVector(param_mgr->mGlow.mName, err);
|
param_mgr->mGlow = cur_params.getVector(param_mgr->mGlow.mName, err);
|
||||||
@@ -343,10 +343,10 @@ void LLFloaterWindLight::syncMenu()
|
|||||||
// ambient
|
// ambient
|
||||||
param_mgr->mAmbient = cur_params.getVector(param_mgr->mAmbient.mName, err);
|
param_mgr->mAmbient = cur_params.getVector(param_mgr->mAmbient.mName, err);
|
||||||
//setColorSwatch("WLAmbient", param_mgr->mAmbient, WL_SUN_AMBIENT_SLIDER_SCALE);
|
//setColorSwatch("WLAmbient", param_mgr->mAmbient, WL_SUN_AMBIENT_SLIDER_SCALE);
|
||||||
childSetValue("WLAmbientR", param_mgr->mAmbient.r);
|
childSetValue("WLAmbientR", param_mgr->mAmbient.r / WL_SUN_AMBIENT_SLIDER_SCALE);
|
||||||
childSetValue("WLAmbientG", param_mgr->mAmbient.g);
|
childSetValue("WLAmbientG", param_mgr->mAmbient.g / WL_SUN_AMBIENT_SLIDER_SCALE);
|
||||||
childSetValue("WLAmbientB", param_mgr->mAmbient.b);
|
childSetValue("WLAmbientB", param_mgr->mAmbient.b / WL_SUN_AMBIENT_SLIDER_SCALE);
|
||||||
childSetValue("WLAmbientI", param_mgr->mAmbient.i);
|
childSetValue("WLAmbientI", param_mgr->mAmbient.i / WL_SUN_AMBIENT_SLIDER_SCALE);
|
||||||
|
|
||||||
childSetValue("WLSunAngle", param_mgr->mCurParams.getFloat("sun_angle",err) / F_TWO_PI);
|
childSetValue("WLSunAngle", param_mgr->mCurParams.getFloat("sun_angle",err) / F_TWO_PI);
|
||||||
childSetValue("WLEastAngle", param_mgr->mCurParams.getFloat("east_angle",err) / F_TWO_PI);
|
childSetValue("WLEastAngle", param_mgr->mCurParams.getFloat("east_angle",err) / F_TWO_PI);
|
||||||
@@ -356,10 +356,10 @@ void LLFloaterWindLight::syncMenu()
|
|||||||
// Cloud Color
|
// Cloud Color
|
||||||
param_mgr->mCloudColor = cur_params.getVector(param_mgr->mCloudColor.mName, err);
|
param_mgr->mCloudColor = cur_params.getVector(param_mgr->mCloudColor.mName, err);
|
||||||
//setColorSwatch("WLCloudColor", param_mgr->mCloudColor, WL_CLOUD_SLIDER_SCALE);
|
//setColorSwatch("WLCloudColor", param_mgr->mCloudColor, WL_CLOUD_SLIDER_SCALE);
|
||||||
childSetValue("WLCloudColorR", param_mgr->mCloudColor.r);
|
childSetValue("WLCloudColorR", param_mgr->mCloudColor.r / WL_CLOUD_SLIDER_SCALE);
|
||||||
childSetValue("WLCloudColorG", param_mgr->mCloudColor.g);
|
childSetValue("WLCloudColorG", param_mgr->mCloudColor.g / WL_CLOUD_SLIDER_SCALE);
|
||||||
childSetValue("WLCloudColorB", param_mgr->mCloudColor.b);
|
childSetValue("WLCloudColorB", param_mgr->mCloudColor.b / WL_CLOUD_SLIDER_SCALE);
|
||||||
childSetValue("WLCloudColorI", param_mgr->mCloudColor.i);
|
childSetValue("WLCloudColorI", param_mgr->mCloudColor.i / WL_CLOUD_SLIDER_SCALE);
|
||||||
|
|
||||||
// Cloud
|
// Cloud
|
||||||
param_mgr->mCloudMain = cur_params.getVector(param_mgr->mCloudMain.mName, err);
|
param_mgr->mCloudMain = cur_params.getVector(param_mgr->mCloudMain.mName, err);
|
||||||
@@ -513,18 +513,7 @@ void LLFloaterWindLight::onColorControlRMoved(LLUICtrl* ctrl, void* userdata)
|
|||||||
std::string name = color_ctrl->mSliderName;
|
std::string name = color_ctrl->mSliderName;
|
||||||
name.append("I");
|
name.append("I");
|
||||||
|
|
||||||
if (color_ctrl->isSunOrAmbientColor)
|
childSetValue(name, sldr_ctrl->getValueF32());
|
||||||
{
|
|
||||||
childSetValue(name, color_ctrl->r / WL_SUN_AMBIENT_SLIDER_SCALE);
|
|
||||||
}
|
|
||||||
else if (color_ctrl->isBlueHorizonOrDensity)
|
|
||||||
{
|
|
||||||
childSetValue(name, color_ctrl->r / WL_BLUE_HORIZON_DENSITY_SCALE);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
childSetValue(name, color_ctrl->r);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
color_ctrl->update(LLWLParamManager::getInstance()->mCurParams);
|
color_ctrl->update(LLWLParamManager::getInstance()->mCurParams);
|
||||||
|
|||||||
@@ -1651,6 +1651,7 @@ Note: OTHER_TYPING_TIMEOUT must be > ME_TYPING_TIMEOUT for proper operation of t
|
|||||||
{
|
{
|
||||||
speaker_mgr->setSpeakerTyping(from_id, TRUE);
|
speaker_mgr->setSpeakerTyping(from_id, TRUE);
|
||||||
}
|
}
|
||||||
|
mOtherTyping = true; // addHistoryLine clears this flag. Set it again.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3889,6 +3889,9 @@ void build_context_menu_folder_options(LLInventoryModel* model, const LLUUID& mU
|
|||||||
const LLInventoryCategory* category = model->getCategory(mUUID);
|
const LLInventoryCategory* category = model->getCategory(mUUID);
|
||||||
if(!category) return;
|
if(!category) return;
|
||||||
|
|
||||||
|
items.push_back(std::string("Open Folder In New Window"));
|
||||||
|
items.push_back(std::string("Copy Folder UUID"));
|
||||||
|
|
||||||
const LLUUID trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
|
const LLUUID trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
|
||||||
if (trash_id == mUUID) return;
|
if (trash_id == mUUID) return;
|
||||||
if (model->isObjectDescendentOf(mUUID, trash_id)) return;
|
if (model->isObjectDescendentOf(mUUID, trash_id)) return;
|
||||||
@@ -3902,9 +3905,6 @@ void build_context_menu_folder_options(LLInventoryModel* model, const LLUUID& mU
|
|||||||
const LLUUID listings_folder = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
const LLUUID listings_folder = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||||
if (listings_folder.notNull() && gInventory.isObjectDescendentOf(mUUID, listings_folder)) return;
|
if (listings_folder.notNull() && gInventory.isObjectDescendentOf(mUUID, listings_folder)) return;
|
||||||
|
|
||||||
items.push_back(std::string("Open Folder In New Window"));
|
|
||||||
items.push_back(std::string("Copy Folder UUID"));
|
|
||||||
|
|
||||||
LLFolderType::EType type = category->getPreferredType();
|
LLFolderType::EType type = category->getPreferredType();
|
||||||
const bool is_system_folder = LLFolderType::lookupIsProtectedType(type);
|
const bool is_system_folder = LLFolderType::lookupIsProtectedType(type);
|
||||||
// calling card related functionality for folders.
|
// calling card related functionality for folders.
|
||||||
|
|||||||
@@ -389,7 +389,7 @@ void LLViewerOctreeEntryData::shift(const LLVector4a &shift_vector)
|
|||||||
|
|
||||||
LLViewerOctreeGroup* LLViewerOctreeEntryData::getGroup()const
|
LLViewerOctreeGroup* LLViewerOctreeEntryData::getGroup()const
|
||||||
{
|
{
|
||||||
return mEntry.notNull() ? mEntry->mGroup : NULL;
|
return mEntry.notNull() ? mEntry->mGroup : LLPointer<LLViewerOctreeGroup>();
|
||||||
}
|
}
|
||||||
|
|
||||||
const LLVector4a& LLViewerOctreeEntryData::getPositionGroup() const
|
const LLVector4a& LLViewerOctreeEntryData::getPositionGroup() const
|
||||||
|
|||||||
Reference in New Issue
Block a user