SL-17570 Color picker should properly focus it's parent when closing

This reverts MAINT-1401, but looks like that was fixed properly later
master
Andrey Kleshchev 2022-06-29 23:48:23 +03:00
parent 61407e3f69
commit c2c22b9053
3 changed files with 16 additions and 13 deletions

View File

@ -290,9 +290,14 @@ void LLColorSwatchCtrl::onColorChanged ( void* data, EColorPickOp pick_op )
pickerp->getCurG (),
pickerp->getCurB (),
subject->mColor.mV[VALPHA] ); // keep current alpha
subject->mColor = updatedColor;
subject->setControlValue(updatedColor.getValue());
pickerp->setRevertOnCancel(TRUE);
bool color_changed = subject->mColor != updatedColor;
if (color_changed)
{
subject->mColor = updatedColor;
subject->setControlValue(updatedColor.getValue());
}
if (pick_op == COLOR_CANCEL && subject->mOnCancelCallback)
{
subject->mOnCancelCallback( subject, LLSD());
@ -306,6 +311,13 @@ void LLColorSwatchCtrl::onColorChanged ( void* data, EColorPickOp pick_op )
// just commit change
subject->onCommit ();
}
if (pick_op == COLOR_CANCEL || pick_op == COLOR_SELECT)
{
// both select and cancel close LLFloaterColorPicker
// but COLOR_CHANGE does not
subject->setFocus(TRUE);
}
}
}
}

View File

@ -173,7 +173,6 @@ void LLFloaterColorPicker::showUI ()
openFloater(getKey());
setVisible ( TRUE );
setFocus ( TRUE );
setRevertOnCancel(FALSE);
// HACK: if system color picker is required - close the SL one we made and use default system dialog
if ( gSavedSettings.getBOOL ( "UseDefaultColorPicker" ) )
@ -391,10 +390,7 @@ void LLFloaterColorPicker::onClickCancel ( void* data )
if ( self )
{
if(self->getRevertOnCancel())
{
self->cancelSelection ();
}
self->cancelSelection();
self->closeFloater();
}
}

View File

@ -104,9 +104,6 @@ class LLFloaterColorPicker
void setMouseDownInSwatch (BOOL mouse_down_in_swatch);
BOOL getMouseDownInSwatch () { return mMouseDownInSwatch; }
void setRevertOnCancel (BOOL revertOnCancel) { mRevertOnCancel = revertOnCancel; };
BOOL getRevertOnCancel () { return mRevertOnCancel; }
BOOL isColorChanged ();
// called when text entries (RGB/HSL etc.) are changed by user
@ -149,8 +146,6 @@ class LLFloaterColorPicker
BOOL mMouseDownInHueRegion;
BOOL mMouseDownInSwatch;
BOOL mRevertOnCancel;
const S32 mRGBViewerImageLeft;
const S32 mRGBViewerImageTop;
const S32 mRGBViewerImageWidth;