diff options
author | Mnikolenko ProductEngine <mnikolenko@productengine.com> | 2015-04-17 11:52:29 +0300 |
---|---|---|
committer | Mnikolenko ProductEngine <mnikolenko@productengine.com> | 2015-04-17 11:52:29 +0300 |
commit | 2b9be2ac8c046fac069b20cf110b14ceb5f43d89 (patch) | |
tree | 6b57be857204e2d29f00451c4e5a2c1f82055c4a /indra/llui | |
parent | dd4f3c90797339fff98d92edeb5d7815fe8e32ed (diff) |
MAINT-4784 FIXED Don't clear destination beacon, when text is unchanged in input boxes.
Diffstat (limited to 'indra/llui')
-rwxr-xr-x | indra/llui/llsearcheditor.cpp | 13 | ||||
-rwxr-xr-x | indra/llui/llsearcheditor.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/indra/llui/llsearcheditor.cpp b/indra/llui/llsearcheditor.cpp index ea96fc573d..1fdd05a11c 100755 --- a/indra/llui/llsearcheditor.cpp +++ b/indra/llui/llsearcheditor.cpp @@ -29,6 +29,7 @@ #include "linden_common.h" #include "llsearcheditor.h" +#include "llkeyboard.h" LLSearchEditor::LLSearchEditor(const LLSearchEditor::Params& p) : LLUICtrl(p), @@ -166,4 +167,16 @@ void LLSearchEditor::handleKeystroke() { mKeystrokeCallback(this, getValue()); } + + KEY key = gKeyboard->currentKey(); + if (key == KEY_LEFT || + key == KEY_RIGHT) + { + return; + } + + if (mTextChangedCallback) + { + mTextChangedCallback(this, getValue()); + } } diff --git a/indra/llui/llsearcheditor.h b/indra/llui/llsearcheditor.h index c2d7916938..3b12868225 100755 --- a/indra/llui/llsearcheditor.h +++ b/indra/llui/llsearcheditor.h @@ -82,12 +82,14 @@ public: virtual void setFocus( BOOL b ); void setKeystrokeCallback( commit_callback_t cb ) { mKeystrokeCallback = cb; } + void setTextChangedCallback( commit_callback_t cb ) { mTextChangedCallback = cb; } protected: void onClearButtonClick(const LLSD& data); virtual void handleKeystroke(); commit_callback_t mKeystrokeCallback; + commit_callback_t mTextChangedCallback; LLLineEditor* mSearchEditor; LLButton* mSearchButton; LLButton* mClearButton; |