diff options
author | Vadim Savchuk <vsavchuk@productengine.com> | 2010-01-22 18:06:53 +0200 |
---|---|---|
committer | Vadim Savchuk <vsavchuk@productengine.com> | 2010-01-22 18:06:53 +0200 |
commit | ba3bbb2131f299f4a6bcef1fec72169e47d5717b (patch) | |
tree | dc4c35345c61d0612c325a8b77789f3728c07bdb /indra/newview/lltexturectrl.cpp | |
parent | 2d42ec6a833d843b95f0c9dce1773c8d0d5d0e4f (diff) |
Fixed bug EXT-4583 ([BSI] Changing group image via drag and drop from Inventory floater doesn't trigger "save" button to become active).
Modified LLTextureCtrl's no_commit_on_selection paramater behavior so that
the widget gets dirty only on DnD or when the OK button is pressed in the picker.
This is needed for panels that rely on LLTextureCtrl::isDirty() to enable their "Apply" button.
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/lltexturectrl.cpp')
-rw-r--r-- | indra/newview/lltexturectrl.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index 9c4825763b..2b846d33fc 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -1103,7 +1103,10 @@ void LLTextureCtrl::onFloaterCommit(ETexturePickOp op) { if (op == TEXTURE_CANCEL) mViewModel->resetDirty(); - else + // If the "no_commit_on_selection" parameter is set + // we get dirty only when user presses OK in the picker + // (i.e. op == TEXTURE_SELECT) or texture changes via DnD. + else if (mCommitOnSelection || op == TEXTURE_SELECT) mViewModel->setDirty(); // *TODO: shouldn't we be using setValue() here? if( floaterp->isDirty() ) @@ -1125,7 +1128,7 @@ void LLTextureCtrl::onFloaterCommit(ETexturePickOp op) { // If the "no_commit_on_selection" parameter is set // we commit only when user presses OK in the picker - // (i.e. op == TEXTURE_SELECT) or changes texture via DnD. + // (i.e. op == TEXTURE_SELECT) or texture changes via DnD. if (mCommitOnSelection || op == TEXTURE_SELECT) onCommit(); } @@ -1165,6 +1168,9 @@ BOOL LLTextureCtrl::handleDragAndDrop(S32 x, S32 y, MASK mask, { if(doDrop(item)) { + if (!mCommitOnSelection) + mViewModel->setDirty(); + // This removes the 'Multiple' overlay, since // there is now only one texture selected. setTentative( FALSE ); |