diff options
author | Oz Linden <oz@lindenlab.com> | 2011-05-20 09:48:19 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2011-05-20 09:48:19 -0400 |
commit | 60f54abb33a8a0f4f3bd0fa23aee84d695486f92 (patch) | |
tree | e47719db985550fc0eb07a3f76e9dbc9144143c5 /indra/newview | |
parent | 03202e5d4ddd371eb9b5822ef2fd7775fddb7f80 (diff) |
STORM-1265: partial fix for region updates; further integration with new dialogs needed.
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llenvmanager.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llfloaterregioninfo.cpp | 128 | ||||
-rw-r--r-- | indra/newview/llfloaterregioninfo.h | 3 |
3 files changed, 74 insertions, 62 deletions
diff --git a/indra/newview/llenvmanager.cpp b/indra/newview/llenvmanager.cpp index b670c730a7..633b9c7c52 100644 --- a/indra/newview/llenvmanager.cpp +++ b/indra/newview/llenvmanager.cpp @@ -127,7 +127,7 @@ void LLEnvManager::startEditingScope(LLEnvKey::EScope scope) // not implemented here (yet) return; case LLEnvKey::SCOPE_REGION: - LLPanelRegionTerrainInfo::instance()->setCommitControls(true); + /* LLPanelRegionTerrainInfo::instance()->setCommitControls(true); the windlight settings are no longer on the region terrain panel */ break; default: return; @@ -182,7 +182,7 @@ void LLEnvManager::clearEditingScope(const LLSD& notification, const LLSD& respo mIsEditing = false; updateUIFromEditability(); - LLPanelRegionTerrainInfo::instance()->cancelChanges(); + /* LLPanelRegionTerrainInfo::instance()->cancelChanges(); the terrain panel no longer has windlight data - if this is needed, it should move. */ loadSettingsIntoManagers(mCurNormalScope, true); } @@ -305,6 +305,7 @@ bool LLEnvManager::processIncomingMessage(const LLSD& unvalidated_content, const if (valid) { + // TODO - the sun controls are moving; this should be updated F32 sun_hour = 0; LLPanelRegionTerrainInfo* terrain_panel = LLPanelRegionTerrainInfo::instance(); diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 1457ec245b..2c128bdacf 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -93,7 +93,6 @@ const S32 TERRAIN_TEXTURE_COUNT = 4; const S32 CORNER_COUNT = 4; #define TMP_DISABLE_WLES // STORM-1180 -#define TMP_REGION_TERRAIN_REMOVE // STORM-1265 ///---------------------------------------------------------------------------- /// Local class declaration @@ -382,15 +381,6 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg) panel->getChild<LLUICtrl>("terrain_raise_spin")->setValue(LLSD(terrain_raise_limit)); panel->getChild<LLUICtrl>("terrain_lower_spin")->setValue(LLSD(terrain_lower_limit)); -#ifndef TMP_REGION_TERRAIN_REMOVE - panel->getChild<LLUICtrl>("use_estate_sun_check")->setValue(LLSD(use_estate_sun)); - - panel->getChild<LLUICtrl>("fixed_sun_check")->setValue(LLSD((BOOL)(region_flags & REGION_FLAGS_SUN_FIXED))); - panel->getChildView("fixed_sun_check")->setEnabled(allow_modify && !use_estate_sun); - panel->getChild<LLUICtrl>("sun_hour_slider")->setValue(LLSD(sun_hour)); - panel->getChildView("sun_hour_slider")->setEnabled(allow_modify && !use_estate_sun); -#endif TMP_REGION_TERRAIN_REMOVE - panel->setCtrlsEnabled(allow_modify); floater->refreshFromRegion( gAgent.getRegion() ); @@ -1102,19 +1092,6 @@ BOOL LLPanelRegionTerrainInfo::postBuild() childSetAction("upload_raw_btn", onClickUploadRaw, this); childSetAction("bake_terrain_btn", onClickBakeTerrain, this); -#ifndef TMP_REGION_TERRAIN_REMOVE - // WL advanced buttons - childSetAction("EnvAdvancedSkyButton", onOpenAdvancedSky, this); - childSetAction("EnvAdvancedWaterButton", onOpenAdvancedWater, this); - childSetAction("EnvUseEstateTimeButton", onUseEstateTime, this); - - // Commit, cancel, and default - childSetAction("WLRegionApply", onCommitRegionWL, this); - childSetAction("WLRegionCancel", onCancelRegionWL, this); - childSetAction("WLRegionDefault", onSetRegionToDefaultWL, this); - childSetAction("WLCurrentApply", onApplyCurrentWL, this); -#endif TMP_REGION_TERRAIN_REMOVE - return LLPanelRegionInfo::postBuild(); } @@ -1182,17 +1159,6 @@ bool LLPanelRegionTerrainInfo::refreshFromRegion(LLViewerRegion* region) } -void LLPanelRegionTerrainInfo::setCommitControls(bool available) -{ -#ifdef TMP_DISABLE_WLES - available = false; - - getChildView("WLRegionApply")->setEnabled(available); - getChildView("WLRegionCancel")->setEnabled(available); -#endif - refresh(); -} - // virtual BOOL LLPanelRegionTerrainInfo::sendUpdate() { @@ -1201,6 +1167,19 @@ BOOL LLPanelRegionTerrainInfo::sendUpdate() strings_t strings; LLUUID invoice(LLFloaterRegionInfo::getLastInvoice()); + // ========================================== + // Assemble and send setregionterrain message + // "setregionterrain" + // strings[0] = float water height + // strings[1] = float terrain raise + // strings[2] = float terrain lower + // strings[3] = 'Y' use estate time + // strings[4] = 'Y' fixed sun + // strings[5] = float sun_hour + // strings[6] = from estate, 'Y' use global time + // strings[7] = from estate, 'Y' fixed sun + // strings[8] = from estate, float sun_hour + buffer = llformat("%f", (F32)getChild<LLUICtrl>("water_height_spin")->getValue().asReal()); strings.push_back(buffer); buffer = llformat("%f", (F32)getChild<LLUICtrl>("terrain_raise_spin")->getValue().asReal()); @@ -1208,7 +1187,54 @@ BOOL LLPanelRegionTerrainInfo::sendUpdate() buffer = llformat("%f", (F32)getChild<LLUICtrl>("terrain_lower_spin")->getValue().asReal()); strings.push_back(buffer); +#ifndef TMP_DISABLE_WLES + /* + * This message is failing + * We need to fix how the following values are obtained + */ + buffer = llformat("%s", (getChild<LLUICtrl>("use_estate_sun_check")->getValue().asBoolean() ? "Y" : "N")); + strings.push_back(buffer); + buffer = llformat("%s", (getChild<LLUICtrl>("fixed_sun_check")->getValue().asBoolean() ? "Y" : "N")); + strings.push_back(buffer); + buffer = llformat("%f", (F32)getChild<LLUICtrl>("sun_hour_slider")->getValue().asReal() ); + strings.push_back(buffer); + + // Grab estate information in case the user decided to set the + // region back to estate time. + LLFloaterRegionInfo* floater = LLFloaterReg::getTypedInstance<LLFloaterRegionInfo>("region_info"); + if (!floater) return true; + + LLTabContainer* tab = floater->getChild<LLTabContainer>("region_panels"); + if (!tab) return true; + + LLPanelEstateInfo* panel = (LLPanelEstateInfo*)tab->getChild<LLPanel>("Estate"); + if (!panel) return true; + + BOOL estate_global_time = panel->getGlobalTime(); + BOOL estate_fixed_sun = panel->getFixedSun(); + F32 estate_sun_hour; + if (estate_global_time) + { + estate_sun_hour = 0.f; + } + else + { + estate_sun_hour = panel->getSunHour(); + } + + buffer = llformat("%s", (estate_global_time ? "Y" : "N") ); + strings.push_back(buffer); + buffer = llformat("%s", (estate_fixed_sun ? "Y" : "N") ); + strings.push_back(buffer); + buffer = llformat("%f", estate_sun_hour); + strings.push_back(buffer); +#endif TMP_DISABLE_WLES + sendEstateOwnerMessage(gMessageSystem, "setregionterrain", invoice, strings); + strings.clear(); + + // ======================================= + // Assemble and send texturedetail message // Make sure user hasn't chosen wacky textures. if (!validateTextureSizes()) @@ -1234,6 +1260,10 @@ BOOL LLPanelRegionTerrainInfo::sendUpdate() } sendEstateOwnerMessage(msg, "texturedetail", invoice, strings); strings.clear(); + + // ======================================== + // Assemble and send textureheights message + for(S32 i = 0; i < CORNER_COUNT; ++i) { buffer = llformat("height_start_spin_%d", i); @@ -1243,6 +1273,10 @@ BOOL LLPanelRegionTerrainInfo::sendUpdate() } sendEstateOwnerMessage(msg, "textureheights", invoice, strings); strings.clear(); + + // ======================================== + // Send texturecommit message + sendEstateOwnerMessage(msg, "texturecommit", invoice, strings); return TRUE; @@ -1311,7 +1345,7 @@ bool LLPanelRegionTerrainInfo::callbackBakeTerrain(const LLSD& notification, con #ifndef TMP_DISABLE_WLES /////////////////////////////////////////////////////////////// -// Callbacks for WindLight additions to Region terrain panel +// Callbacks for Environment tab of Region panel void LLPanelRegionTerrainInfo::onOpenAdvancedSky(void* userData) { @@ -1368,18 +1402,6 @@ void LLPanelRegionTerrainInfo::onApplyCurrentWL(void* userData) } #endif TMP_DISABLE_WLES -void LLPanelRegionTerrainInfo::cancelChanges() -{ -#ifndef TMP_REGION_TERRAIN_REMOVE - LLFloaterReg::hideInstance("env_windlight"); - LLFloaterReg::hideInstance("env_water"); - LLFloaterReg::hideInstance("env_day_cycle"); -#endif TMP_REGION_TERRAIN_REMOVE - - // disable commmit and cancel - LLPanelRegionTerrainInfo::instance()->setCommitControls(false); -} - ///////////////////////////////////////////////////////////////////////////// // LLPanelEstateInfo // @@ -1410,7 +1432,7 @@ void LLPanelEstateInfo::initDispatch(LLDispatcher& dispatch) estate_dispatch_initialized = true; } -#ifndef TMP_REGION_TERRAIN_REMOVE +#ifndef TMP_DISABLE_WLES // Disables the sun-hour slider and the use fixed time check if the use global time is check void LLPanelEstateInfo::onChangeUseGlobalTime() { @@ -1429,7 +1451,7 @@ void LLPanelEstateInfo::onChangeFixedSun() getChild<LLUICtrl>("use_global_time_check")->setValue(LLSD(FALSE)); enableButton("apply_btn"); } -#endif TMP_REGION_TERRAIN_REMOVE +#endif TMP_DISABLE_WLES @@ -2262,11 +2284,6 @@ bool LLPanelEstateInfo::commitEstateInfoCaps() body["is_externally_visible"] = getChild<LLUICtrl>("externally_visible_check")->getValue().asBoolean(); body["allow_direct_teleport"] = getChild<LLUICtrl>("allow_direct_teleport")->getValue().asBoolean(); -#ifndef TMP_REGION_TERRAIN_REMOVE - body["is_sun_fixed" ] = getChild<LLUICtrl>("fixed_sun_check")->getValue().asBoolean(); -#else ! TMP_REGION_TERRAIN_REMOVE - body["is_sun_fixed" ] = false; -#endif body["deny_anonymous" ] = getChild<LLUICtrl>("limit_payment")->getValue().asBoolean(); body["deny_age_unverified" ] = getChild<LLUICtrl>("limit_age_verified")->getValue().asBoolean(); body["allow_voice_chat" ] = getChild<LLUICtrl>("voice_chat_check")->getValue().asBoolean(); @@ -2331,9 +2348,6 @@ void LLPanelEstateInfo::commitEstateInfoDataserver() void LLPanelEstateInfo::setEstateFlags(U32 flags) { getChild<LLUICtrl>("externally_visible_check")->setValue(LLSD(flags & REGION_FLAGS_EXTERNALLY_VISIBLE ? TRUE : FALSE) ); -#ifndef TMP_REGION_TERRAIN_REMOVE - getChild<LLUICtrl>("fixed_sun_check")->setValue(LLSD(flags & REGION_FLAGS_SUN_FIXED ? TRUE : FALSE) ); -#endif TMP_REGION_TERRAIN_REMOVE getChild<LLUICtrl>("voice_chat_check")->setValue( LLSD(flags & REGION_FLAGS_ALLOW_VOICE ? TRUE : FALSE)); getChild<LLUICtrl>("allow_direct_teleport")->setValue(LLSD(flags & REGION_FLAGS_ALLOW_DIRECT_TELEPORT ? TRUE : FALSE) ); diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index 373540b17e..412c72870a 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -227,14 +227,11 @@ public: F32 getSunHour(); virtual bool refreshFromRegion(LLViewerRegion* region); // refresh local settings from region update from simulator void setEnvControls(bool available); // Whether environment settings are available for this region - void setCommitControls(bool available); // Whether user can currently commit (whether they changed anything) - void cancelChanges(); // cancels changes, reverts local settings, and resyncs UI BOOL validateTextureSizes(); //static void onChangeAnything(LLUICtrl* ctrl, void* userData); // callback for any change, to enable commit button -protected: static LLPanelRegionTerrainInfo* sPanelRegionTerrainInfo; // static instance pointer for singleton virtual BOOL sendUpdate(); |