diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llfloaterregioninfo.cpp | 307 |
1 files changed, 156 insertions, 151 deletions
diff --git a/linden/indra/newview/llfloaterregioninfo.cpp b/linden/indra/newview/llfloaterregioninfo.cpp index 8043fe0..12834b3 100644 --- a/linden/indra/newview/llfloaterregioninfo.cpp +++ b/linden/indra/newview/llfloaterregioninfo.cpp | |||
@@ -68,7 +68,7 @@ | |||
68 | #include "llinventory.h" | 68 | #include "llinventory.h" |
69 | #include "lltexturectrl.h" | 69 | #include "lltexturectrl.h" |
70 | #include "llviewercontrol.h" | 70 | #include "llviewercontrol.h" |
71 | #include "llvieweruictrlfactory.h" | 71 | #include "lluictrlfactory.h" |
72 | #include "llviewerimage.h" | 72 | #include "llviewerimage.h" |
73 | #include "llviewerimagelist.h" | 73 | #include "llviewerimagelist.h" |
74 | #include "llviewerregion.h" | 74 | #include "llviewerregion.h" |
@@ -85,20 +85,6 @@ const S32 CORNER_COUNT = 4; | |||
85 | /// Local class declaration | 85 | /// Local class declaration |
86 | ///---------------------------------------------------------------------------- | 86 | ///---------------------------------------------------------------------------- |
87 | 87 | ||
88 | /* | ||
89 | class LLDispatchSetEstateOwner : public LLDispatchHandler | ||
90 | { | ||
91 | public: | ||
92 | LLDispatchSetEstateOwner() {} | ||
93 | virtual ~LLDispatchSetEstateOwner() {} | ||
94 | virtual bool operator()( | ||
95 | const LLDispatcher* dispatcher, | ||
96 | const std::string& key, | ||
97 | const sparam_t& strings, | ||
98 | const iparam_t& integers); | ||
99 | }; | ||
100 | */ | ||
101 | |||
102 | class LLDispatchEstateUpdateInfo : public LLDispatchHandler | 88 | class LLDispatchEstateUpdateInfo : public LLDispatchHandler |
103 | { | 89 | { |
104 | public: | 90 | public: |
@@ -168,43 +154,43 @@ LLUUID LLFloaterRegionInfo::sRequestInvoice; | |||
168 | 154 | ||
169 | LLFloaterRegionInfo::LLFloaterRegionInfo(const LLSD& seed) | 155 | LLFloaterRegionInfo::LLFloaterRegionInfo(const LLSD& seed) |
170 | { | 156 | { |
171 | gUICtrlFactory->buildFloater(this, "floater_region_info.xml", NULL, FALSE); | 157 | LLUICtrlFactory::getInstance()->buildFloater(this, "floater_region_info.xml", NULL, FALSE); |
172 | } | 158 | } |
173 | 159 | ||
174 | BOOL LLFloaterRegionInfo::postBuild() | 160 | BOOL LLFloaterRegionInfo::postBuild() |
175 | { | 161 | { |
176 | mTab = gUICtrlFactory->getTabContainerByName(this, "region_panels"); | 162 | mTab = getChild<LLTabContainer>("region_panels"); |
177 | 163 | ||
178 | // contruct the panels | 164 | // contruct the panels |
179 | LLPanelRegionInfo* panel; | 165 | LLPanelRegionInfo* panel; |
180 | panel = new LLPanelRegionGeneralInfo; | 166 | panel = new LLPanelRegionGeneralInfo; |
181 | mInfoPanels.push_back(panel); | 167 | mInfoPanels.push_back(panel); |
182 | gUICtrlFactory->buildPanel(panel, "panel_region_general.xml"); | 168 | LLUICtrlFactory::getInstance()->buildPanel(panel, "panel_region_general.xml"); |
183 | mTab->addTabPanel(panel, panel->getLabel(), TRUE); | 169 | mTab->addTabPanel(panel, panel->getLabel(), TRUE); |
184 | 170 | ||
185 | panel = new LLPanelRegionDebugInfo; | 171 | panel = new LLPanelRegionDebugInfo; |
186 | mInfoPanels.push_back(panel); | 172 | mInfoPanels.push_back(panel); |
187 | gUICtrlFactory->buildPanel(panel, "panel_region_debug.xml"); | 173 | LLUICtrlFactory::getInstance()->buildPanel(panel, "panel_region_debug.xml"); |
188 | mTab->addTabPanel(panel, panel->getLabel(), FALSE); | 174 | mTab->addTabPanel(panel, panel->getLabel(), FALSE); |
189 | 175 | ||
190 | panel = new LLPanelRegionTextureInfo; | 176 | panel = new LLPanelRegionTextureInfo; |
191 | mInfoPanels.push_back(panel); | 177 | mInfoPanels.push_back(panel); |
192 | gUICtrlFactory->buildPanel(panel, "panel_region_texture.xml"); | 178 | LLUICtrlFactory::getInstance()->buildPanel(panel, "panel_region_texture.xml"); |
193 | mTab->addTabPanel(panel, panel->getLabel(), FALSE); | 179 | mTab->addTabPanel(panel, panel->getLabel(), FALSE); |
194 | 180 | ||
195 | panel = new LLPanelRegionTerrainInfo; | 181 | panel = new LLPanelRegionTerrainInfo; |
196 | mInfoPanels.push_back(panel); | 182 | mInfoPanels.push_back(panel); |
197 | gUICtrlFactory->buildPanel(panel, "panel_region_terrain.xml"); | 183 | LLUICtrlFactory::getInstance()->buildPanel(panel, "panel_region_terrain.xml"); |
198 | mTab->addTabPanel(panel, panel->getLabel(), FALSE); | 184 | mTab->addTabPanel(panel, panel->getLabel(), FALSE); |
199 | 185 | ||
200 | panel = new LLPanelEstateInfo; | 186 | panel = new LLPanelEstateInfo; |
201 | mInfoPanels.push_back(panel); | 187 | mInfoPanels.push_back(panel); |
202 | gUICtrlFactory->buildPanel(panel, "panel_region_estate.xml"); | 188 | LLUICtrlFactory::getInstance()->buildPanel(panel, "panel_region_estate.xml"); |
203 | mTab->addTabPanel(panel, panel->getLabel(), FALSE); | 189 | mTab->addTabPanel(panel, panel->getLabel(), FALSE); |
204 | 190 | ||
205 | panel = new LLPanelEstateCovenant; | 191 | panel = new LLPanelEstateCovenant; |
206 | mInfoPanels.push_back(panel); | 192 | mInfoPanels.push_back(panel); |
207 | gUICtrlFactory->buildPanel(panel, "panel_region_covenant.xml"); | 193 | LLUICtrlFactory::getInstance()->buildPanel(panel, "panel_region_covenant.xml"); |
208 | mTab->addTabPanel(panel, panel->getLabel(), FALSE); | 194 | mTab->addTabPanel(panel, panel->getLabel(), FALSE); |
209 | 195 | ||
210 | gMessageSystem->setHandlerFunc( | 196 | gMessageSystem->setHandlerFunc( |
@@ -225,14 +211,21 @@ void LLFloaterRegionInfo::onOpen() | |||
225 | gFloaterView->getNewFloaterPosition(&left, &top); | 211 | gFloaterView->getNewFloaterPosition(&left, &top); |
226 | rect.translate(left,top); | 212 | rect.translate(left,top); |
227 | 213 | ||
228 | requestRegionInfo(); | ||
229 | refreshFromRegion(gAgent.getRegion()); | 214 | refreshFromRegion(gAgent.getRegion()); |
215 | requestRegionInfo(); | ||
230 | LLFloater::onOpen(); | 216 | LLFloater::onOpen(); |
231 | } | 217 | } |
232 | 218 | ||
233 | // static | 219 | // static |
234 | void LLFloaterRegionInfo::requestRegionInfo() | 220 | void LLFloaterRegionInfo::requestRegionInfo() |
235 | { | 221 | { |
222 | LLTabContainer* tab = findInstance()->getChild<LLTabContainer>("region_panels"); | ||
223 | |||
224 | tab->getChild<LLPanel>("General")->setCtrlsEnabled(FALSE); | ||
225 | tab->getChild<LLPanel>("Debug")->setCtrlsEnabled(FALSE); | ||
226 | tab->getChild<LLPanel>("Terrain")->setCtrlsEnabled(FALSE); | ||
227 | tab->getChild<LLPanel>("Estate")->setCtrlsEnabled(FALSE); | ||
228 | |||
236 | // Must allow anyone to request the RegionInfo data | 229 | // Must allow anyone to request the RegionInfo data |
237 | // so non-owners/non-gods can see the values. | 230 | // so non-owners/non-gods can see the values. |
238 | // Therefore can't use an EstateOwnerMessage JC | 231 | // Therefore can't use an EstateOwnerMessage JC |
@@ -242,7 +235,6 @@ void LLFloaterRegionInfo::requestRegionInfo() | |||
242 | msg->addUUID("AgentID", gAgent.getID()); | 235 | msg->addUUID("AgentID", gAgent.getID()); |
243 | msg->addUUID("SessionID", gAgent.getSessionID()); | 236 | msg->addUUID("SessionID", gAgent.getSessionID()); |
244 | gAgent.sendReliableMessage(); | 237 | gAgent.sendReliableMessage(); |
245 | |||
246 | } | 238 | } |
247 | 239 | ||
248 | // static | 240 | // static |
@@ -259,11 +251,8 @@ void LLFloaterRegionInfo::processEstateOwnerRequest(LLMessageSystem* msg,void**) | |||
259 | LLPanelEstateInfo::initDispatch(dispatch); | 251 | LLPanelEstateInfo::initDispatch(dispatch); |
260 | } | 252 | } |
261 | 253 | ||
262 | LLTabContainer* tab = LLUICtrlFactory::getTabContainerByName(findInstance(), "region_panels"); | 254 | LLTabContainer* tab = findInstance()->getChild<LLTabContainer>("region_panels"); |
263 | if (!tab) return; | 255 | LLPanelEstateInfo* panel = (LLPanelEstateInfo*)tab->getChild<LLPanel>("Estate"); |
264 | |||
265 | LLPanelEstateInfo* panel = (LLPanelEstateInfo*)LLUICtrlFactory::getPanelByName(tab, "Estate"); | ||
266 | if (!panel) return; | ||
267 | 256 | ||
268 | // unpack the message | 257 | // unpack the message |
269 | std::string request; | 258 | std::string request; |
@@ -278,6 +267,11 @@ void LLFloaterRegionInfo::processEstateOwnerRequest(LLMessageSystem* msg,void**) | |||
278 | 267 | ||
279 | //dispatch the message | 268 | //dispatch the message |
280 | dispatch.dispatch(request, invoice, strings); | 269 | dispatch.dispatch(request, invoice, strings); |
270 | |||
271 | LLViewerRegion* region = gAgent.getRegion(); | ||
272 | BOOL allow_modify = gAgent.isGodlike() || (region && region->canManageEstate()); | ||
273 | panel->setCtrlsEnabled(allow_modify); | ||
274 | |||
281 | } | 275 | } |
282 | 276 | ||
283 | 277 | ||
@@ -292,8 +286,10 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg) | |||
292 | return; | 286 | return; |
293 | } | 287 | } |
294 | 288 | ||
295 | LLTabContainer* tab = LLUICtrlFactory::getTabContainerByName(findInstance(), "region_panels"); | 289 | LLTabContainer* tab = findInstance()->getChild<LLTabContainer>("region_panels"); |
296 | if(!tab) return; | 290 | |
291 | LLViewerRegion* region = gAgent.getRegion(); | ||
292 | BOOL allow_modify = gAgent.isGodlike() || (region && region->canManageEstate()); | ||
297 | 293 | ||
298 | // extract message | 294 | // extract message |
299 | char sim_name[MAX_STRING]; /* Flawfinder: ignore*/ | 295 | char sim_name[MAX_STRING]; /* Flawfinder: ignore*/ |
@@ -319,8 +315,7 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg) | |||
319 | msg->getF32("RegionInfo", "SunHour", sun_hour); | 315 | msg->getF32("RegionInfo", "SunHour", sun_hour); |
320 | 316 | ||
321 | // GENERAL PANEL | 317 | // GENERAL PANEL |
322 | panel = LLUICtrlFactory::getPanelByName(tab, "General"); | 318 | panel = tab->getChild<LLPanel>("General"); |
323 | if(!panel) return; | ||
324 | panel->childSetValue("region_text", LLSD(sim_name)); | 319 | panel->childSetValue("region_text", LLSD(sim_name)); |
325 | 320 | ||
326 | panel->childSetValue("block_terraform_check", (region_flags & REGION_FLAGS_BLOCK_TERRAFORM) ? TRUE : FALSE ); | 321 | panel->childSetValue("block_terraform_check", (region_flags & REGION_FLAGS_BLOCK_TERRAFORM) ? TRUE : FALSE ); |
@@ -335,27 +330,26 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg) | |||
335 | panel->childSetValue("access_combo", LLSD(LLViewerRegion::accessToString(sim_access)) ); | 330 | panel->childSetValue("access_combo", LLSD(LLViewerRegion::accessToString(sim_access)) ); |
336 | 331 | ||
337 | 332 | ||
338 | // detect teen grid for maturity | 333 | // detect teen grid for maturity |
339 | LLViewerRegion* region = gAgent.getRegion(); | ||
340 | 334 | ||
341 | U32 parent_estate_id; | 335 | U32 parent_estate_id; |
342 | msg->getU32("RegionInfo", "ParentEstateID", parent_estate_id); | 336 | msg->getU32("RegionInfo", "ParentEstateID", parent_estate_id); |
343 | BOOL teen_grid = (parent_estate_id == 5); // *TODO add field to estate table and test that | 337 | BOOL teen_grid = (parent_estate_id == 5); // *TODO add field to estate table and test that |
344 | panel->childSetEnabled("access_combo", gAgent.isGodlike() || (region && region->canManageEstate() && !teen_grid)); | 338 | panel->childSetEnabled("access_combo", gAgent.isGodlike() || (region && region->canManageEstate() && !teen_grid)); |
339 | panel->setCtrlsEnabled(allow_modify); | ||
345 | 340 | ||
346 | 341 | ||
347 | // DEBUG PANEL | 342 | // DEBUG PANEL |
348 | panel = LLUICtrlFactory::getPanelByName(tab, "Debug"); | 343 | panel = tab->getChild<LLPanel>("Debug"); |
349 | if(!panel) return; | ||
350 | 344 | ||
351 | panel->childSetValue("region_text", LLSD(sim_name) ); | 345 | panel->childSetValue("region_text", LLSD(sim_name) ); |
352 | panel->childSetValue("disable_scripts_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_SCRIPTS)) ); | 346 | panel->childSetValue("disable_scripts_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_SCRIPTS)) ); |
353 | panel->childSetValue("disable_collisions_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_COLLISIONS)) ); | 347 | panel->childSetValue("disable_collisions_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_COLLISIONS)) ); |
354 | panel->childSetValue("disable_physics_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_PHYSICS)) ); | 348 | panel->childSetValue("disable_physics_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_PHYSICS)) ); |
349 | panel->setCtrlsEnabled(allow_modify); | ||
355 | 350 | ||
356 | // TERRAIN PANEL | 351 | // TERRAIN PANEL |
357 | panel = LLUICtrlFactory::getPanelByName(tab, "Terrain"); | 352 | panel = tab->getChild<LLPanel>("Terrain"); |
358 | if(!panel) return; | ||
359 | 353 | ||
360 | panel->childSetValue("region_text", LLSD(sim_name)); | 354 | panel->childSetValue("region_text", LLSD(sim_name)); |
361 | panel->childSetValue("water_height_spin", LLSD(water_height)); | 355 | panel->childSetValue("water_height_spin", LLSD(water_height)); |
@@ -363,11 +357,11 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg) | |||
363 | panel->childSetValue("terrain_lower_spin", LLSD(terrain_lower_limit)); | 357 | panel->childSetValue("terrain_lower_spin", LLSD(terrain_lower_limit)); |
364 | panel->childSetValue("use_estate_sun_check", LLSD(use_estate_sun)); | 358 | panel->childSetValue("use_estate_sun_check", LLSD(use_estate_sun)); |
365 | 359 | ||
366 | BOOL allow_modify = gAgent.isGodlike() || (region && region->canManageEstate()); | ||
367 | panel->childSetValue("fixed_sun_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SUN_FIXED))); | 360 | panel->childSetValue("fixed_sun_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SUN_FIXED))); |
368 | panel->childSetEnabled("fixed_sun_check", allow_modify && !use_estate_sun); | 361 | panel->childSetEnabled("fixed_sun_check", allow_modify && !use_estate_sun); |
369 | panel->childSetValue("sun_hour_slider", LLSD(sun_hour)); | 362 | panel->childSetValue("sun_hour_slider", LLSD(sun_hour)); |
370 | panel->childSetEnabled("sun_hour_slider", allow_modify && !use_estate_sun); | 363 | panel->childSetEnabled("sun_hour_slider", allow_modify && !use_estate_sun); |
364 | panel->setCtrlsEnabled(allow_modify); | ||
371 | 365 | ||
372 | getInstance()->refreshFromRegion( gAgent.getRegion() ); | 366 | getInstance()->refreshFromRegion( gAgent.getRegion() ); |
373 | } | 367 | } |
@@ -377,9 +371,8 @@ LLPanelEstateInfo* LLFloaterRegionInfo::getPanelEstate() | |||
377 | { | 371 | { |
378 | LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance(); | 372 | LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance(); |
379 | if (!floater) return NULL; | 373 | if (!floater) return NULL; |
380 | LLTabContainer* tab = LLUICtrlFactory::getTabContainerByName(floater, "region_panels"); | 374 | LLTabContainer* tab = floater->getChild<LLTabContainer>("region_panels"); |
381 | if (!tab) return NULL; | 375 | LLPanelEstateInfo* panel = (LLPanelEstateInfo*)tab->getChild<LLPanel>("Estate"); |
382 | LLPanelEstateInfo* panel = (LLPanelEstateInfo*)LLUICtrlFactory::getPanelByName(tab,"Estate"); | ||
383 | return panel; | 376 | return panel; |
384 | } | 377 | } |
385 | 378 | ||
@@ -388,9 +381,8 @@ LLPanelEstateCovenant* LLFloaterRegionInfo::getPanelCovenant() | |||
388 | { | 381 | { |
389 | LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance(); | 382 | LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance(); |
390 | if (!floater) return NULL; | 383 | if (!floater) return NULL; |
391 | LLTabContainer* tab = LLUICtrlFactory::getTabContainerByName(floater, "region_panels"); | 384 | LLTabContainer* tab = floater->getChild<LLTabContainer>("region_panels"); |
392 | if (!tab) return NULL; | 385 | LLPanelEstateCovenant* panel = (LLPanelEstateCovenant*)tab->getChild<LLPanel>("Covenant"); |
393 | LLPanelEstateCovenant* panel = (LLPanelEstateCovenant*)LLUICtrlFactory::getPanelByName(tab, "Covenant"); | ||
394 | return panel; | 386 | return panel; |
395 | } | 387 | } |
396 | 388 | ||
@@ -584,7 +576,7 @@ BOOL LLPanelRegionGeneralInfo::postBuild() | |||
584 | initCtrl("block_terraform_check"); | 576 | initCtrl("block_terraform_check"); |
585 | initCtrl("block_fly_check"); | 577 | initCtrl("block_fly_check"); |
586 | initCtrl("allow_damage_check"); | 578 | initCtrl("allow_damage_check"); |
587 | initCtrl("allow_land_resell_check"); | 579 | initCtrl("allow_land_resell_check"); |
588 | initCtrl("allow_parcel_changes_check"); | 580 | initCtrl("allow_parcel_changes_check"); |
589 | initCtrl("agent_limit_spin"); | 581 | initCtrl("agent_limit_spin"); |
590 | initCtrl("object_bonus_spin"); | 582 | initCtrl("object_bonus_spin"); |
@@ -1027,7 +1019,7 @@ bool LLPanelRegionTextureInfo::refreshFromRegion(LLViewerRegion* region) | |||
1027 | for(S32 i = 0; i < TERRAIN_TEXTURE_COUNT; ++i) | 1019 | for(S32 i = 0; i < TERRAIN_TEXTURE_COUNT; ++i) |
1028 | { | 1020 | { |
1029 | snprintf(buffer, MAX_STRING, "texture_detail_%d", i); /* Flawfinder: ignore */ | 1021 | snprintf(buffer, MAX_STRING, "texture_detail_%d", i); /* Flawfinder: ignore */ |
1030 | texture_ctrl = LLViewerUICtrlFactory::getTexturePickerByName(this, buffer); | 1022 | texture_ctrl = getChild<LLTextureCtrl>(buffer); |
1031 | if(texture_ctrl) | 1023 | if(texture_ctrl) |
1032 | { | 1024 | { |
1033 | lldebugs << "Detail Texture " << i << ": " | 1025 | lldebugs << "Detail Texture " << i << ": " |
@@ -1075,14 +1067,6 @@ BOOL LLPanelRegionTextureInfo::postBuild() | |||
1075 | return LLPanelRegionInfo::postBuild(); | 1067 | return LLPanelRegionInfo::postBuild(); |
1076 | } | 1068 | } |
1077 | 1069 | ||
1078 | void LLPanelRegionTextureInfo::draw() | ||
1079 | { | ||
1080 | if(getVisible()) | ||
1081 | { | ||
1082 | LLPanel::draw(); | ||
1083 | } | ||
1084 | } | ||
1085 | |||
1086 | BOOL LLPanelRegionTextureInfo::sendUpdate() | 1070 | BOOL LLPanelRegionTextureInfo::sendUpdate() |
1087 | { | 1071 | { |
1088 | llinfos << "LLPanelRegionTextureInfo::sendUpdate()" << llendl; | 1072 | llinfos << "LLPanelRegionTextureInfo::sendUpdate()" << llendl; |
@@ -1105,7 +1089,7 @@ BOOL LLPanelRegionTextureInfo::sendUpdate() | |||
1105 | for(S32 i = 0; i < TERRAIN_TEXTURE_COUNT; ++i) | 1089 | for(S32 i = 0; i < TERRAIN_TEXTURE_COUNT; ++i) |
1106 | { | 1090 | { |
1107 | snprintf(buffer, MAX_STRING, "texture_detail_%d", i); /* Flawfinder: ignore */ | 1091 | snprintf(buffer, MAX_STRING, "texture_detail_%d", i); /* Flawfinder: ignore */ |
1108 | texture_ctrl = LLViewerUICtrlFactory::getTexturePickerByName(this, buffer); | 1092 | texture_ctrl = getChild<LLTextureCtrl>(buffer); |
1109 | if(texture_ctrl) | 1093 | if(texture_ctrl) |
1110 | { | 1094 | { |
1111 | LLUUID tmp_id(texture_ctrl->getImageAssetID()); | 1095 | LLUUID tmp_id(texture_ctrl->getImageAssetID()); |
@@ -1135,7 +1119,7 @@ BOOL LLPanelRegionTextureInfo::validateTextureSizes() | |||
1135 | { | 1119 | { |
1136 | char buffer[MAX_STRING]; /* Flawfinder: ignore */ | 1120 | char buffer[MAX_STRING]; /* Flawfinder: ignore */ |
1137 | snprintf(buffer, MAX_STRING, "texture_detail_%d", i); /* Flawfinder: ignore */ | 1121 | snprintf(buffer, MAX_STRING, "texture_detail_%d", i); /* Flawfinder: ignore */ |
1138 | LLTextureCtrl* texture_ctrl = LLViewerUICtrlFactory::getTexturePickerByName(this, buffer); | 1122 | LLTextureCtrl* texture_ctrl = getChild<LLTextureCtrl>(buffer); |
1139 | if (!texture_ctrl) continue; | 1123 | if (!texture_ctrl) continue; |
1140 | 1124 | ||
1141 | LLUUID image_asset_id = texture_ctrl->getImageAssetID(); | 1125 | LLUUID image_asset_id = texture_ctrl->getImageAssetID(); |
@@ -1257,10 +1241,10 @@ BOOL LLPanelRegionTerrainInfo::sendUpdate() | |||
1257 | LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance(); | 1241 | LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance(); |
1258 | if (!floater) return true; | 1242 | if (!floater) return true; |
1259 | 1243 | ||
1260 | LLTabContainer* tab = LLUICtrlFactory::getTabContainerByName(floater, "region_panels"); | 1244 | LLTabContainer* tab = floater->getChild<LLTabContainer>("region_panels"); |
1261 | if (!tab) return true; | 1245 | if (!tab) return true; |
1262 | 1246 | ||
1263 | LLPanelEstateInfo* panel = (LLPanelEstateInfo*)LLUICtrlFactory::getPanelByName(tab, "Estate"); | 1247 | LLPanelEstateInfo* panel = (LLPanelEstateInfo*)tab->getChild<LLPanel>("Estate"); |
1264 | if (!panel) return true; | 1248 | if (!panel) return true; |
1265 | 1249 | ||
1266 | BOOL estate_global_time = panel->getGlobalTime(); | 1250 | BOOL estate_global_time = panel->getGlobalTime(); |
@@ -1690,11 +1674,12 @@ bool LLPanelEstateInfo::isLindenEstate() | |||
1690 | return (estate_id <= ESTATE_LAST_LINDEN); | 1674 | return (estate_id <= ESTATE_LAST_LINDEN); |
1691 | } | 1675 | } |
1692 | 1676 | ||
1677 | typedef std::vector<LLUUID> AgentOrGroupIDsVector; | ||
1693 | struct LLEstateAccessChangeInfo | 1678 | struct LLEstateAccessChangeInfo |
1694 | { | 1679 | { |
1695 | U32 mOperationFlag; // ESTATE_ACCESS_BANNED_AGENT_ADD, _REMOVE, etc. | 1680 | U32 mOperationFlag; // ESTATE_ACCESS_BANNED_AGENT_ADD, _REMOVE, etc. |
1696 | LLString mDialogName; | 1681 | LLString mDialogName; |
1697 | LLUUID mAgentOrGroupID; | 1682 | AgentOrGroupIDsVector mAgentOrGroupIDs; // List of agent IDs to apply to this change |
1698 | }; | 1683 | }; |
1699 | 1684 | ||
1700 | // Special case callback for groups, since it has different callback format than names | 1685 | // Special case callback for groups, since it has different callback format than names |
@@ -1704,7 +1689,7 @@ void LLPanelEstateInfo::addAllowedGroup2(LLUUID id, void* user_data) | |||
1704 | LLEstateAccessChangeInfo* change_info = new LLEstateAccessChangeInfo; | 1689 | LLEstateAccessChangeInfo* change_info = new LLEstateAccessChangeInfo; |
1705 | change_info->mOperationFlag = ESTATE_ACCESS_ALLOWED_GROUP_ADD; | 1690 | change_info->mOperationFlag = ESTATE_ACCESS_ALLOWED_GROUP_ADD; |
1706 | change_info->mDialogName = "EstateAllowedGroupAdd"; | 1691 | change_info->mDialogName = "EstateAllowedGroupAdd"; |
1707 | change_info->mAgentOrGroupID = id; | 1692 | change_info->mAgentOrGroupIDs.push_back(id); |
1708 | 1693 | ||
1709 | if (isLindenEstate()) | 1694 | if (isLindenEstate()) |
1710 | { | 1695 | { |
@@ -1749,8 +1734,8 @@ void LLPanelEstateInfo::accessAddCore2(S32 option, void* data) | |||
1749 | return; | 1734 | return; |
1750 | } | 1735 | } |
1751 | 1736 | ||
1752 | // avatar picker no multi-select, yes close-on-select | 1737 | // avatar picker yes multi-select, yes close-on-select |
1753 | LLFloaterAvatarPicker::show(accessAddCore3, (void*)change_info, FALSE, TRUE); | 1738 | LLFloaterAvatarPicker::show(accessAddCore3, (void*)change_info, TRUE, TRUE); |
1754 | } | 1739 | } |
1755 | 1740 | ||
1756 | // static | 1741 | // static |
@@ -1766,21 +1751,44 @@ void LLPanelEstateInfo::accessAddCore3(const std::vector<std::string>& names, co | |||
1766 | return; | 1751 | return; |
1767 | } | 1752 | } |
1768 | // User did select a name. | 1753 | // User did select a name. |
1769 | change_info->mAgentOrGroupID = ids[0]; | 1754 | change_info->mAgentOrGroupIDs = ids; |
1770 | |||
1771 | // Can't put estate owner on ban list | 1755 | // Can't put estate owner on ban list |
1772 | LLPanelEstateInfo* panel = LLFloaterRegionInfo::getPanelEstate(); | 1756 | LLPanelEstateInfo* panel = LLFloaterRegionInfo::getPanelEstate(); |
1773 | if (!panel) return; | 1757 | if (!panel) return; |
1774 | LLViewerRegion* region = gAgent.getRegion(); | 1758 | LLViewerRegion* region = gAgent.getRegion(); |
1775 | if (!region) return; | 1759 | if (!region) return; |
1776 | 1760 | ||
1777 | if ((change_info->mOperationFlag & ESTATE_ACCESS_BANNED_AGENT_ADD) | 1761 | if (change_info->mOperationFlag & ESTATE_ACCESS_ALLOWED_AGENT_ADD) |
1778 | && (region->getOwner() == change_info->mAgentOrGroupID)) | ||
1779 | { | 1762 | { |
1780 | gViewerWindow->alertXml("OwnerCanNotBeDenied"); | 1763 | LLCtrlListInterface *list = panel->childGetListInterface("allowed_avatar_name_list"); |
1781 | delete change_info; | 1764 | int currentCount = (list ? list->getItemCount() : 0); |
1782 | change_info = NULL; | 1765 | if (ids.size() + currentCount > ESTATE_MAX_ACCESS_IDS) |
1783 | return; | 1766 | { |
1767 | LLString::format_map_t args; | ||
1768 | args["[NUM_ADDED]"] = llformat("%d",ids.size()); | ||
1769 | args["[MAX_AGENTS]"] = llformat("%d",ESTATE_MAX_ACCESS_IDS); | ||
1770 | args["[LIST_TYPE]"] = "Allowed Residents"; | ||
1771 | args["[NUM_EXCESS]"] = llformat("%d",(ids.size()+currentCount)-ESTATE_MAX_ACCESS_IDS); | ||
1772 | gViewerWindow->alertXml("MaxAgentOnRegionBatch", args); | ||
1773 | delete change_info; | ||
1774 | return; | ||
1775 | } | ||
1776 | } | ||
1777 | if (change_info->mOperationFlag & ESTATE_ACCESS_BANNED_AGENT_ADD) | ||
1778 | { | ||
1779 | LLCtrlListInterface *list = panel->childGetListInterface("banned_avatar_name_list"); | ||
1780 | int currentCount = (list ? list->getItemCount() : 0); | ||
1781 | if (ids.size() + currentCount > ESTATE_MAX_ACCESS_IDS) | ||
1782 | { | ||
1783 | LLString::format_map_t args; | ||
1784 | args["[NUM_ADDED]"] = llformat("%d",ids.size()); | ||
1785 | args["[MAX_AGENTS]"] = llformat("%d",ESTATE_MAX_ACCESS_IDS); | ||
1786 | args["[LIST_TYPE]"] = "Banned Residents"; | ||
1787 | args["[NUM_EXCESS]"] = llformat("%d",(ids.size()+currentCount)-ESTATE_MAX_ACCESS_IDS); | ||
1788 | gViewerWindow->alertXml("MaxAgentOnRegionBatch", args); | ||
1789 | delete change_info; | ||
1790 | return; | ||
1791 | } | ||
1784 | } | 1792 | } |
1785 | 1793 | ||
1786 | if (isLindenEstate()) | 1794 | if (isLindenEstate()) |
@@ -1802,23 +1810,31 @@ void LLPanelEstateInfo::accessRemoveCore(U32 operation_flag, const char* dialog_ | |||
1802 | { | 1810 | { |
1803 | LLPanelEstateInfo* panel = LLFloaterRegionInfo::getPanelEstate(); | 1811 | LLPanelEstateInfo* panel = LLFloaterRegionInfo::getPanelEstate(); |
1804 | if (!panel) return; | 1812 | if (!panel) return; |
1805 | LLNameListCtrl* name_list = LLViewerUICtrlFactory::getNameListByName(panel, list_ctrl_name); | 1813 | LLNameListCtrl* name_list = panel->getChild<LLNameListCtrl>(list_ctrl_name); |
1806 | if (!name_list) return; | 1814 | if (!name_list) return; |
1807 | LLScrollListItem* item = name_list->getFirstSelected(); | 1815 | |
1808 | if (!item) return; | 1816 | std::vector<LLScrollListItem*> list_vector = name_list->getAllSelected(); |
1809 | LLUUID agent_id = item->getUUID(); | 1817 | if (list_vector.size() == 0) |
1818 | return; | ||
1810 | 1819 | ||
1811 | LLEstateAccessChangeInfo* change_info = new LLEstateAccessChangeInfo; | 1820 | LLEstateAccessChangeInfo* change_info = new LLEstateAccessChangeInfo; |
1812 | change_info->mAgentOrGroupID = agent_id; | ||
1813 | change_info->mOperationFlag = operation_flag; | 1821 | change_info->mOperationFlag = operation_flag; |
1814 | change_info->mDialogName = dialog_name; | 1822 | change_info->mDialogName = dialog_name; |
1815 | 1823 | ||
1824 | for (std::vector<LLScrollListItem*>::const_iterator iter = list_vector.begin(); | ||
1825 | iter != list_vector.end(); | ||
1826 | iter++) | ||
1827 | { | ||
1828 | LLScrollListItem *item = (*iter); | ||
1829 | change_info->mAgentOrGroupIDs.push_back(item->getUUID()); | ||
1830 | } | ||
1831 | |||
1816 | if (isLindenEstate()) | 1832 | if (isLindenEstate()) |
1817 | { | 1833 | { |
1818 | // warn on change linden estate | 1834 | // warn on change linden estate |
1819 | gViewerWindow->alertXml("ChangeLindenAccess", | 1835 | gViewerWindow->alertXml("ChangeLindenAccess", |
1820 | accessRemoveCore2, | 1836 | accessRemoveCore2, |
1821 | (void*)change_info); | 1837 | (void*)change_info); |
1822 | } | 1838 | } |
1823 | else | 1839 | else |
1824 | { | 1840 | { |
@@ -1850,9 +1866,9 @@ void LLPanelEstateInfo::accessRemoveCore2(S32 option, void* data) | |||
1850 | LLString::format_map_t args; | 1866 | LLString::format_map_t args; |
1851 | args["[ALL_ESTATES]"] = all_estates_text(); | 1867 | args["[ALL_ESTATES]"] = all_estates_text(); |
1852 | gViewerWindow->alertXml(change_info->mDialogName, | 1868 | gViewerWindow->alertXml(change_info->mDialogName, |
1853 | args, | 1869 | args, |
1854 | accessCoreConfirm, | 1870 | accessCoreConfirm, |
1855 | (void*)change_info); | 1871 | (void*)change_info); |
1856 | } | 1872 | } |
1857 | } | 1873 | } |
1858 | 1874 | ||
@@ -1862,35 +1878,54 @@ void LLPanelEstateInfo::accessRemoveCore2(S32 option, void* data) | |||
1862 | void LLPanelEstateInfo::accessCoreConfirm(S32 option, void* data) | 1878 | void LLPanelEstateInfo::accessCoreConfirm(S32 option, void* data) |
1863 | { | 1879 | { |
1864 | LLEstateAccessChangeInfo* change_info = (LLEstateAccessChangeInfo*)data; | 1880 | LLEstateAccessChangeInfo* change_info = (LLEstateAccessChangeInfo*)data; |
1865 | U32 flags = change_info->mOperationFlag; | 1881 | const U32 originalFlags = change_info->mOperationFlag; |
1866 | switch(option) | 1882 | AgentOrGroupIDsVector& ids = change_info->mAgentOrGroupIDs; |
1883 | |||
1884 | LLViewerRegion* region = gAgent.getRegion(); | ||
1885 | |||
1886 | for (AgentOrGroupIDsVector::const_iterator iter = ids.begin(); | ||
1887 | iter != ids.end(); | ||
1888 | iter++) | ||
1867 | { | 1889 | { |
1868 | case 0: | 1890 | U32 flags = originalFlags; |
1869 | // This estate | 1891 | if (iter + 1 != ids.end()) |
1870 | sendEstateAccessDelta(flags, change_info->mAgentOrGroupID); | 1892 | flags |= ESTATE_ACCESS_NO_REPLY; |
1871 | break; | 1893 | |
1872 | case 1: | 1894 | const LLUUID id = (*iter); |
1895 | if ((change_info->mOperationFlag & ESTATE_ACCESS_BANNED_AGENT_ADD) | ||
1896 | && region && (region->getOwner() == id)) | ||
1873 | { | 1897 | { |
1874 | // All estates, either than I own or manage for this owner. | 1898 | gViewerWindow->alertXml("OwnerCanNotBeDenied"); |
1875 | // This will be verified on simulator. JC | 1899 | break; |
1876 | LLViewerRegion* region = gAgent.getRegion(); | 1900 | } |
1877 | if (!region) break; | 1901 | switch(option) |
1878 | if (region->getOwner() == gAgent.getID() | 1902 | { |
1879 | || gAgent.isGodlike()) | 1903 | case 0: |
1880 | { | 1904 | // This estate |
1881 | flags |= ESTATE_ACCESS_APPLY_TO_ALL_ESTATES; | 1905 | sendEstateAccessDelta(flags, id); |
1882 | sendEstateAccessDelta(flags, change_info->mAgentOrGroupID); | 1906 | break; |
1883 | } | 1907 | case 1: |
1884 | else if (region->isEstateManager()) | ||
1885 | { | 1908 | { |
1886 | flags |= ESTATE_ACCESS_APPLY_TO_MANAGED_ESTATES; | 1909 | // All estates, either than I own or manage for this owner. |
1887 | sendEstateAccessDelta(flags, change_info->mAgentOrGroupID); | 1910 | // This will be verified on simulator. JC |
1911 | if (!region) break; | ||
1912 | if (region->getOwner() == gAgent.getID() | ||
1913 | || gAgent.isGodlike()) | ||
1914 | { | ||
1915 | flags |= ESTATE_ACCESS_APPLY_TO_ALL_ESTATES; | ||
1916 | sendEstateAccessDelta(flags, id); | ||
1917 | } | ||
1918 | else if (region->isEstateManager()) | ||
1919 | { | ||
1920 | flags |= ESTATE_ACCESS_APPLY_TO_MANAGED_ESTATES; | ||
1921 | sendEstateAccessDelta(flags, id); | ||
1922 | } | ||
1923 | break; | ||
1888 | } | 1924 | } |
1889 | break; | 1925 | case 2: |
1926 | default: | ||
1927 | break; | ||
1890 | } | 1928 | } |
1891 | case 2: | ||
1892 | default: | ||
1893 | break; | ||
1894 | } | 1929 | } |
1895 | delete change_info; | 1930 | delete change_info; |
1896 | change_info = NULL; | 1931 | change_info = NULL; |
@@ -2041,7 +2076,7 @@ BOOL LLPanelEstateInfo::postBuild() | |||
2041 | childSetCommitCallback("sun_hour_slider", onChangeChildCtrl, this); | 2076 | childSetCommitCallback("sun_hour_slider", onChangeChildCtrl, this); |
2042 | 2077 | ||
2043 | childSetCommitCallback("allowed_avatar_name_list", onChangeChildCtrl, this); | 2078 | childSetCommitCallback("allowed_avatar_name_list", onChangeChildCtrl, this); |
2044 | LLNameListCtrl *avatar_name_list = LLViewerUICtrlFactory::getNameListByName(this, "allowed_avatar_name_list"); | 2079 | LLNameListCtrl *avatar_name_list = getChild<LLNameListCtrl>("allowed_avatar_name_list"); |
2045 | if (avatar_name_list) | 2080 | if (avatar_name_list) |
2046 | { | 2081 | { |
2047 | avatar_name_list->setCommitOnSelectionChange(TRUE); | 2082 | avatar_name_list->setCommitOnSelectionChange(TRUE); |
@@ -2052,7 +2087,7 @@ BOOL LLPanelEstateInfo::postBuild() | |||
2052 | childSetAction("remove_allowed_avatar_btn", onClickRemoveAllowedAgent, this); | 2087 | childSetAction("remove_allowed_avatar_btn", onClickRemoveAllowedAgent, this); |
2053 | 2088 | ||
2054 | childSetCommitCallback("allowed_group_name_list", onChangeChildCtrl, this); | 2089 | childSetCommitCallback("allowed_group_name_list", onChangeChildCtrl, this); |
2055 | LLNameListCtrl* group_name_list = LLViewerUICtrlFactory::getNameListByName(this, "allowed_group_name_list"); | 2090 | LLNameListCtrl* group_name_list = getChild<LLNameListCtrl>("allowed_group_name_list"); |
2056 | if (group_name_list) | 2091 | if (group_name_list) |
2057 | { | 2092 | { |
2058 | group_name_list->setCommitOnSelectionChange(TRUE); | 2093 | group_name_list->setCommitOnSelectionChange(TRUE); |
@@ -2063,7 +2098,7 @@ BOOL LLPanelEstateInfo::postBuild() | |||
2063 | childSetAction("remove_allowed_group_btn", onClickRemoveAllowedGroup, this); | 2098 | childSetAction("remove_allowed_group_btn", onClickRemoveAllowedGroup, this); |
2064 | 2099 | ||
2065 | childSetCommitCallback("banned_avatar_name_list", onChangeChildCtrl, this); | 2100 | childSetCommitCallback("banned_avatar_name_list", onChangeChildCtrl, this); |
2066 | LLNameListCtrl* banned_name_list = LLViewerUICtrlFactory::getNameListByName(this, "banned_avatar_name_list"); | 2101 | LLNameListCtrl* banned_name_list = getChild<LLNameListCtrl>("banned_avatar_name_list"); |
2067 | if (banned_name_list) | 2102 | if (banned_name_list) |
2068 | { | 2103 | { |
2069 | banned_name_list->setCommitOnSelectionChange(TRUE); | 2104 | banned_name_list->setCommitOnSelectionChange(TRUE); |
@@ -2074,7 +2109,7 @@ BOOL LLPanelEstateInfo::postBuild() | |||
2074 | childSetAction("remove_banned_avatar_btn", onClickRemoveBannedAgent, this); | 2109 | childSetAction("remove_banned_avatar_btn", onClickRemoveBannedAgent, this); |
2075 | 2110 | ||
2076 | childSetCommitCallback("estate_manager_name_list", onChangeChildCtrl, this); | 2111 | childSetCommitCallback("estate_manager_name_list", onChangeChildCtrl, this); |
2077 | LLNameListCtrl* manager_name_list = LLViewerUICtrlFactory::getNameListByName(this, "estate_manager_name_list"); | 2112 | LLNameListCtrl* manager_name_list = getChild<LLNameListCtrl>("estate_manager_name_list"); |
2078 | if (manager_name_list) | 2113 | if (manager_name_list) |
2079 | { | 2114 | { |
2080 | manager_name_list->setCommitOnSelectionChange(TRUE); | 2115 | manager_name_list->setCommitOnSelectionChange(TRUE); |
@@ -2477,13 +2512,13 @@ void LLPanelEstateInfo::callbackCacheName( | |||
2477 | 2512 | ||
2478 | void LLPanelEstateInfo::clearAccessLists() | 2513 | void LLPanelEstateInfo::clearAccessLists() |
2479 | { | 2514 | { |
2480 | LLNameListCtrl* name_list = LLViewerUICtrlFactory::getNameListByName(this, "allowed_avatar_name_list"); | 2515 | LLNameListCtrl* name_list = getChild<LLNameListCtrl>("allowed_avatar_name_list"); |
2481 | if (name_list) | 2516 | if (name_list) |
2482 | { | 2517 | { |
2483 | name_list->deleteAllItems(); | 2518 | name_list->deleteAllItems(); |
2484 | } | 2519 | } |
2485 | 2520 | ||
2486 | name_list = LLViewerUICtrlFactory::getNameListByName(this, "banned_avatar_name_list"); | 2521 | name_list = getChild<LLNameListCtrl>("banned_avatar_name_list"); |
2487 | if (name_list) | 2522 | if (name_list) |
2488 | { | 2523 | { |
2489 | name_list->deleteAllItems(); | 2524 | name_list->deleteAllItems(); |
@@ -2517,7 +2552,7 @@ BOOL LLPanelEstateInfo::checkRemovalButton(std::string name) | |||
2517 | } | 2552 | } |
2518 | 2553 | ||
2519 | // enable the remove button if something is selected | 2554 | // enable the remove button if something is selected |
2520 | LLNameListCtrl* name_list = LLViewerUICtrlFactory::getNameListByName(this, name); | 2555 | LLNameListCtrl* name_list = getChild<LLNameListCtrl>(name); |
2521 | childSetEnabled(btn_name.c_str(), name_list && name_list->getFirstSelected() ? TRUE : FALSE); | 2556 | childSetEnabled(btn_name.c_str(), name_list && name_list->getFirstSelected() ? TRUE : FALSE); |
2522 | 2557 | ||
2523 | return (btn_name != ""); | 2558 | return (btn_name != ""); |
@@ -2790,10 +2825,7 @@ void LLPanelEstateCovenant::onLoadComplete(LLVFS *vfs, | |||
2790 | } | 2825 | } |
2791 | else | 2826 | else |
2792 | { | 2827 | { |
2793 | if( gViewerStats ) | 2828 | LLViewerStats::getInstance()->incStat( LLViewerStats::ST_DOWNLOAD_FAILED ); |
2794 | { | ||
2795 | gViewerStats->incStat( LLViewerStats::ST_DOWNLOAD_FAILED ); | ||
2796 | } | ||
2797 | 2829 | ||
2798 | if( LL_ERR_ASSET_REQUEST_NOT_IN_DATABASE == status || | 2830 | if( LL_ERR_ASSET_REQUEST_NOT_IN_DATABASE == status || |
2799 | LL_ERR_FILE_EMPTY == status) | 2831 | LL_ERR_FILE_EMPTY == status) |
@@ -2914,33 +2946,6 @@ void LLPanelEstateCovenant::setCovenantTextEditor(const std::string& text) | |||
2914 | mEditor->setText(text); | 2946 | mEditor->setText(text); |
2915 | } | 2947 | } |
2916 | 2948 | ||
2917 | /* | ||
2918 | // AgentData = agent_id | ||
2919 | // RequestData = "setowner" | ||
2920 | // StringData[0] = compressed owner id | ||
2921 | // IntegerData[0] = serial | ||
2922 | bool LLDispatchSetEstateOwner::operator()( | ||
2923 | const LLDispatcher* dispatcher, | ||
2924 | const std::string& key, | ||
2925 | const sparam_t& strings, | ||
2926 | const iparam_t& integers) | ||
2927 | { | ||
2928 | LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance(); | ||
2929 | if (!floater) return true; | ||
2930 | |||
2931 | LLTabContainer* tab = (LLTabContainer*)(floater->getChildByName("region_panels")); | ||
2932 | if (!tab) return true; | ||
2933 | |||
2934 | LLPanelEstateInfo* panel = (LLPanelEstateInfo*)(tab->getChildByName("Estate")); | ||
2935 | if (!panel) return true; | ||
2936 | |||
2937 | // TODO -- check owner, and disable floater if owner | ||
2938 | // does not match | ||
2939 | |||
2940 | return true; | ||
2941 | } | ||
2942 | */ | ||
2943 | |||
2944 | // key = "estateupdateinfo" | 2949 | // key = "estateupdateinfo" |
2945 | // strings[0] = estate name | 2950 | // strings[0] = estate name |
2946 | // strings[1] = str(owner_id) | 2951 | // strings[1] = str(owner_id) |
@@ -3073,7 +3078,7 @@ bool LLDispatchSetEstateAccess::operator()( | |||
3073 | if (access_flags & ESTATE_ACCESS_ALLOWED_AGENTS) | 3078 | if (access_flags & ESTATE_ACCESS_ALLOWED_AGENTS) |
3074 | { | 3079 | { |
3075 | LLNameListCtrl* allowed_agent_name_list; | 3080 | LLNameListCtrl* allowed_agent_name_list; |
3076 | allowed_agent_name_list = LLViewerUICtrlFactory::getNameListByName(panel, "allowed_avatar_name_list"); | 3081 | allowed_agent_name_list = panel->getChild<LLNameListCtrl>("allowed_avatar_name_list"); |
3077 | 3082 | ||
3078 | int totalAllowedAgents = num_allowed_agents; | 3083 | int totalAllowedAgents = num_allowed_agents; |
3079 | 3084 | ||
@@ -3104,7 +3109,7 @@ bool LLDispatchSetEstateAccess::operator()( | |||
3104 | if (access_flags & ESTATE_ACCESS_ALLOWED_GROUPS) | 3109 | if (access_flags & ESTATE_ACCESS_ALLOWED_GROUPS) |
3105 | { | 3110 | { |
3106 | LLNameListCtrl* allowed_group_name_list; | 3111 | LLNameListCtrl* allowed_group_name_list; |
3107 | allowed_group_name_list = LLViewerUICtrlFactory::getNameListByName(panel, "allowed_group_name_list"); | 3112 | allowed_group_name_list = panel->getChild<LLNameListCtrl>("allowed_group_name_list"); |
3108 | 3113 | ||
3109 | std::string msg = llformat("Allowed groups: (%d, max %d)", | 3114 | std::string msg = llformat("Allowed groups: (%d, max %d)", |
3110 | num_allowed_groups, | 3115 | num_allowed_groups, |
@@ -3128,7 +3133,7 @@ bool LLDispatchSetEstateAccess::operator()( | |||
3128 | if (access_flags & ESTATE_ACCESS_BANNED_AGENTS) | 3133 | if (access_flags & ESTATE_ACCESS_BANNED_AGENTS) |
3129 | { | 3134 | { |
3130 | LLNameListCtrl* banned_agent_name_list; | 3135 | LLNameListCtrl* banned_agent_name_list; |
3131 | banned_agent_name_list = LLViewerUICtrlFactory::getNameListByName(panel, "banned_avatar_name_list"); | 3136 | banned_agent_name_list = panel->getChild<LLNameListCtrl>("banned_avatar_name_list"); |
3132 | 3137 | ||
3133 | int totalBannedAgents = num_banned_agents; | 3138 | int totalBannedAgents = num_banned_agents; |
3134 | 3139 | ||
@@ -3165,7 +3170,7 @@ bool LLDispatchSetEstateAccess::operator()( | |||
3165 | panel->childSetValue("estate_manager_label", LLSD(msg)); | 3170 | panel->childSetValue("estate_manager_label", LLSD(msg)); |
3166 | 3171 | ||
3167 | LLNameListCtrl* estate_manager_name_list = | 3172 | LLNameListCtrl* estate_manager_name_list = |
3168 | LLViewerUICtrlFactory::getNameListByName(panel, "estate_manager_name_list"); | 3173 | panel->getChild<LLNameListCtrl>("estate_manager_name_list"); |
3169 | if (estate_manager_name_list) | 3174 | if (estate_manager_name_list) |
3170 | { | 3175 | { |
3171 | estate_manager_name_list->deleteAllItems(); // Clear existing entries | 3176 | estate_manager_name_list->deleteAllItems(); // Clear existing entries |