summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelgroupgeneral.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelgroupgeneral.cpp')
-rw-r--r--indra/newview/llpanelgroupgeneral.cpp55
1 files changed, 32 insertions, 23 deletions
diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp
index 944251ac07..9139b01e0f 100644
--- a/indra/newview/llpanelgroupgeneral.cpp
+++ b/indra/newview/llpanelgroupgeneral.cpp
@@ -160,6 +160,7 @@ BOOL LLPanelGroupGeneral::postBuild()
{
mSpinEnrollmentFee->setCommitCallback(onCommitAny);
mSpinEnrollmentFee->setCallbackUserData(this);
+ mSpinEnrollmentFee->setPrecision(0);
}
BOOL accept_notices = FALSE;
@@ -473,6 +474,8 @@ bool LLPanelGroupGeneral::apply(LLString& mesg)
{
gdatap->mMembershipFee = (mCtrlEnrollmentFee->get()) ?
(S32) mSpinEnrollmentFee->get() : 0;
+ // Set to the used value, and reset initial value used for isdirty check
+ mSpinEnrollmentFee->set( (F32)gdatap->mMembershipFee );
}
}
@@ -494,6 +497,8 @@ bool LLPanelGroupGeneral::apply(LLString& mesg)
mChanged = FALSE;
notifyObservers();
+ notifyObservers();
+
return true;
}
@@ -792,28 +797,32 @@ void LLPanelGroupGeneral::updateMembers()
void LLPanelGroupGeneral::updateChanged()
{
+ // List all the controls we want to check for changes...
+ LLUICtrl *check_list[] =
+ {
+ mGroupNameEditor,
+ mGroupName,
+ mFounderName,
+ mInsignia,
+ mEditCharter,
+ mCtrlShowInGroupList,
+ mCtrlMature,
+ mCtrlOpenEnrollment,
+ mCtrlEnrollmentFee,
+ mSpinEnrollmentFee,
+ mCtrlReceiveNotices,
+ mCtrlListGroup,
+ mComboActiveTitle
+ };
+
mChanged = FALSE;
- if ( mGroupNameEditor )
- mChanged = mGroupNameEditor->isDirty();
- if ( mGroupName )
- mChanged |= mGroupName->isDirty();
- if ( mFounderName )
- mChanged |= mFounderName->isDirty();
- if ( mInsignia )
- mChanged |= mInsignia->isDirty();
- if ( mEditCharter )
- mChanged |= mEditCharter->isDirty();
- if ( mCtrlShowInGroupList)
- mChanged |= mCtrlShowInGroupList->isDirty();
- if ( mCtrlMature)
- mChanged |= mCtrlMature->isDirty();
- if ( mCtrlOpenEnrollment)
- mChanged |= mCtrlOpenEnrollment->isDirty();
- if ( mCtrlEnrollmentFee)
- mChanged |= mCtrlEnrollmentFee->isDirty();
- if ( mSpinEnrollmentFee)
- mChanged |= mSpinEnrollmentFee->isDirty();
-// if ( mCtrlReceiveNotices ) // "Receive group notices" is different, see onReceiveNotices()
-// mChanged |= mCtrlReceiveNotices->isDirty();
-}
+ for( int i= 0; i< sizeof(check_list)/sizeof(*check_list); i++ )
+ {
+ if( check_list[i] && check_list[i]->isDirty() )
+ {
+ mChanged = TRUE;
+ break;
+ }
+ }
+}