summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llui/llmenugl.cpp22
-rw-r--r--indra/llui/llmenugl.h3
-rw-r--r--indra/newview/llfloatereditextdaycycle.cpp14
-rw-r--r--indra/newview/llflyoutcombobtn.cpp6
-rw-r--r--indra/newview/llflyoutcombobtn.h1
-rw-r--r--indra/newview/llpanelenvironment.cpp4
-rw-r--r--indra/newview/llviewerregion.h6
-rw-r--r--indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml3
8 files changed, 58 insertions, 1 deletions
diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index 0d42f726fa..ddcce61123 100644
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -2713,6 +2713,15 @@ void LLMenuGL::setItemVisible( const std::string& name, BOOL visible )
}
}
+
+void LLMenuGL::setItemLabel(const std::string &name, const std::string &label)
+{
+ LLMenuItemGL *item = getItem(name);
+
+ if (item)
+ item->setLabel(label);
+}
+
void LLMenuGL::setItemLastSelected(LLMenuItemGL* item)
{
if (getVisible())
@@ -2757,6 +2766,19 @@ LLMenuItemGL* LLMenuGL::getItem(S32 number)
return NULL;
}
+LLMenuItemGL* LLMenuGL::getItem(std::string name)
+{
+ item_list_t::iterator item_iter;
+ for (item_iter = mItems.begin(); item_iter != mItems.end(); ++item_iter)
+ {
+ if ((*item_iter)->getName() == name)
+ {
+ return (*item_iter);
+ }
+ }
+ return NULL;
+}
+
LLMenuItemGL* LLMenuGL::getHighlightedItem()
{
item_list_t::iterator item_iter;
diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h
index 69f7d21513..6ca581fa86 100644
--- a/indra/llui/llmenugl.h
+++ b/indra/llui/llmenugl.h
@@ -463,6 +463,8 @@ public:
void setEnabledSubMenus(BOOL enable);
void setItemVisible( const std::string& name, BOOL visible);
+
+ void setItemLabel(const std::string &name, const std::string &label);
// sets the left,bottom corner of menu, useful for popups
void setLeftAndBottom(S32 left, S32 bottom);
@@ -493,6 +495,7 @@ public:
void setItemLastSelected(LLMenuItemGL* item); // must be in menu
U32 getItemCount(); // number of menu items
LLMenuItemGL* getItem(S32 number); // 0 = first item
+ LLMenuItemGL* getItem(std::string name);
LLMenuItemGL* getHighlightedItem();
LLMenuItemGL* highlightNextItem(LLMenuItemGL* cur_item, BOOL skip_disabled = TRUE);
diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp
index 41582ffcc3..cb6fd611ec 100644
--- a/indra/newview/llfloatereditextdaycycle.cpp
+++ b/indra/newview/llfloatereditextdaycycle.cpp
@@ -113,6 +113,9 @@ namespace {
const std::string ACTION_APPLY_REGION("apply_region");
const F32 DAY_CYCLE_PLAY_TIME_SECONDS = 60;
+
+ const std::string STR_COMMIT_PARCEL("commit_parcel");
+ const std::string STR_COMMIT_REGION("commit_region");
}
//=========================================================================
@@ -440,6 +443,17 @@ void LLFloaterEditExtDayCycle::refresh()
bool show_commit = ((mEditContext == CONTEXT_PARCEL) || (mEditContext == CONTEXT_REGION));
bool show_apply = (mEditContext == CONTEXT_INVENTORY);
+ if (show_commit)
+ {
+ std::string commit_text;
+ if (mEditContext == CONTEXT_PARCEL)
+ commit_text = getString(STR_COMMIT_PARCEL);
+ else
+ commit_text = getString(STR_COMMIT_REGION);
+
+ mFlyoutControl->setMenuItemLabel(ACTION_COMMIT, commit_text);
+ }
+
mFlyoutControl->setMenuItemVisible(ACTION_COMMIT, show_commit);
mFlyoutControl->setMenuItemVisible(ACTION_SAVE, is_inventory_avail);
mFlyoutControl->setMenuItemVisible(ACTION_SAVEAS, is_inventory_avail);
diff --git a/indra/newview/llflyoutcombobtn.cpp b/indra/newview/llflyoutcombobtn.cpp
index b008ee13be..48bfb85072 100644
--- a/indra/newview/llflyoutcombobtn.cpp
+++ b/indra/newview/llflyoutcombobtn.cpp
@@ -112,6 +112,12 @@ void LLFlyoutComboBtnCtrl::setMenuItemVisible(const std::string &item, bool visi
mFlyoutMenu->setItemVisible(item, visible);
}
+
+void LLFlyoutComboBtnCtrl::setMenuItemLabel(const std::string &item, const std::string &label)
+{
+ mFlyoutMenu->setItemLabel(item, label);
+}
+
void LLFlyoutComboBtnCtrl::onFlyoutButton(LLUICtrl *ctrl, const LLSD &data)
{
S32 x, y;
diff --git a/indra/newview/llflyoutcombobtn.h b/indra/newview/llflyoutcombobtn.h
index b0dd4abadf..e41cd0cecb 100644
--- a/indra/newview/llflyoutcombobtn.h
+++ b/indra/newview/llflyoutcombobtn.h
@@ -46,6 +46,7 @@ public:
void setMenuItemEnabled(const std::string &item, bool enabled);
void setShownBtnEnabled(bool enabled);
void setMenuItemVisible(const std::string &item, bool visible);
+ void setMenuItemLabel(const std::string &item, const std::string &label);
U32 getItemCount();
void setSelectedItem(S32 itemno);
diff --git a/indra/newview/llpanelenvironment.cpp b/indra/newview/llpanelenvironment.cpp
index 3e0bb43d71..a150e66085 100644
--- a/indra/newview/llpanelenvironment.cpp
+++ b/indra/newview/llpanelenvironment.cpp
@@ -299,9 +299,11 @@ void LLPanelEnvironmentInfo::refreshFromEstate()
{
/*TODO: Unfortunately only estate manager may get information from the LLEstateInfoModel.
* The proletariat is not allowed to know what options are set for an estate. We should fix this.*/
+ LLViewerRegion *pRegion = gAgent.getRegion();
bool oldAO = mAllowOverride;
- mAllowOverride = (!isRegion()) || LLEstateInfoModel::instance().getAllowEnvironmentOverride();
+ //mAllowOverride = (!isRegion()) || LLEstateInfoModel::instance().getAllowEnvironmentOverride();
+ mAllowOverride = (isRegion() && LLEstateInfoModel::instance().getAllowEnvironmentOverride()) || pRegion->getAllowEnvironmentOverride();
if (oldAO != mAllowOverride)
refresh();
}
diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h
index d5266ec873..0e39e9b284 100644
--- a/indra/newview/llviewerregion.h
+++ b/indra/newview/llviewerregion.h
@@ -131,6 +131,7 @@ public:
inline BOOL isPrelude() const;
inline BOOL getAllowTerraform() const;
inline BOOL getRestrictPushObject() const;
+ inline BOOL getAllowEnvironmentOverride() const;
inline BOOL getReleaseNotesRequested() const;
bool isAlive(); // can become false if circuit disconnects
@@ -635,6 +636,11 @@ inline BOOL LLViewerRegion::getRestrictPushObject() const
return ((mRegionFlags & REGION_FLAGS_RESTRICT_PUSHOBJECT) != 0);
}
+inline BOOL LLViewerRegion::getAllowEnvironmentOverride() const
+{
+ return ((mRegionFlags & REGION_FLAGS_ALLOW_ENVIRONMENT_OVERRIDE) != 0);
+}
+
inline BOOL LLViewerRegion::getReleaseNotesRequested() const
{
return mReleaseNotesRequested;
diff --git a/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml
index a3dbab2509..a6868d7f90 100644
--- a/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml
+++ b/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml
@@ -24,6 +24,9 @@
<string name="sky_label">Sky</string>
<string name="water_label">Water</string>
+ <string name="commit_parcel">Apply To Parcel</string>
+ <string name="commit_region">Apply To Region</string>
+
<!-- Layout -->
<layout_stack name="outer_stack"
width="705"