diff options
author | Alexander Gavriliuk <alexandrgproductengine@lindenlab.com> | 2023-11-07 23:13:00 +0100 |
---|---|---|
committer | Guru <alexandrgproductengine@lindenlab.com> | 2023-11-08 11:15:35 +0100 |
commit | 716b9af35d0dbc3ba8048a1bcca2c8c8f703bed0 (patch) | |
tree | 3cc496a6dd1e810b8ad5fafbb2a3797b2ce20258 /indra/newview/llfloateremojipicker.h | |
parent | 2e0892e53041f75fc991b77870a4f2f4672fefb1 (diff) |
SL-20356 EmojiPicker - Implement arrow keys navigation
Diffstat (limited to 'indra/newview/llfloateremojipicker.h')
-rw-r--r-- | indra/newview/llfloateremojipicker.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/newview/llfloateremojipicker.h b/indra/newview/llfloateremojipicker.h index b8e3190bf3..48f66d7950 100644 --- a/indra/newview/llfloateremojipicker.h +++ b/indra/newview/llfloateremojipicker.h @@ -63,6 +63,7 @@ public: private: void fillGroups(); void moveGroups(); + void showPreview(bool show); void fillEmojis(bool fromResize = false); void onGroupButtonClick(LLUICtrl* ctrl); @@ -76,9 +77,18 @@ private: void onEmojiMouseDown(LLUICtrl* ctrl); void onEmojiMouseUp(LLUICtrl* ctrl); + bool enterArrowMode(); + void exitArrowMode(); + void selectFocusedIcon(); + bool moveFocusedIconUp(); + bool moveFocusedIconDown(); + bool moveFocusedIconLeft(); + bool moveFocusedIconRight(); + void selectGridIcon(LLUICtrl* ctrl); void unselectGridIcon(LLUICtrl* ctrl); + virtual BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent) override; virtual BOOL handleKeyHere(KEY key, MASK mask) override; class LLPanel* mGroups { nullptr }; @@ -97,6 +107,9 @@ private: S32 mRecentBadgeWidth { 0 }; S32 mRecentGridWidth { 0 }; S32 mRecentMaxIcons { 0 }; + S32 mFocusedIconRow { 0 }; + S32 mFocusedIconCol { 0 }; + LLUICtrl* mFocusedIcon { nullptr }; LLUICtrl* mHoveredIcon { nullptr }; }; |