diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-06-15 20:35:58 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-06-23 14:51:30 +0300 |
commit | e578491be761fefa34e4041458e2cf5badc81873 (patch) | |
tree | 46402c1ee9af1d11352a3277a3f094394821a9cb /indra/newview/llfloaterpreference.h | |
parent | 6092e2ffab9ec76bdd8821e188db9cb785456eee (diff) |
SL-13418 Restored previously removed 'click on land' controls from 'move & view'
According to UX UI engineer. Also adapted it to new system, but it needs a better solution.
Diffstat (limited to 'indra/newview/llfloaterpreference.h')
-rw-r--r-- | indra/newview/llfloaterpreference.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h index ea6e1070cd..066deb97ee 100644 --- a/indra/newview/llfloaterpreference.h +++ b/indra/newview/llfloaterpreference.h @@ -106,6 +106,8 @@ public: void selectPrivacyPanel(); void selectChatPanel(); void getControlNames(std::vector<std::string>& names); + // updates click/double-click action controls depending on values from settings.xml + void updateClickActionViews(); protected: void onBtnOK(const LLSD& userdata); @@ -131,6 +133,11 @@ protected: // callback for when client turns on impostors void onAvatarImpostorsEnable(); + // callback for commit in the "Single click on land" and "Double click on land" comboboxes. + void onClickActionChange(); + // updates click/double-click action keybindngs depending on view values + void updateClickActionControls(); + public: // This function squirrels away the current values of the controls so that // cancel() can restore them. @@ -304,9 +311,20 @@ public: void onModeCommit(); void onRestoreDefaultsBtn(); void onRestoreDefaultsResponse(const LLSD& notification, const LLSD& response); + + // Bypass to let Move & view read values without need to create own key binding handler + // Todo: consider a better way to share access to keybindings + bool canKeyBindHandle(const std::string &control, EMouseClickType click, KEY key, MASK mask); + // Bypasses to let Move & view modify values without need to create own key binding handler + void setKeyBind(const std::string &control, EMouseClickType click, KEY key, MASK mask, bool set /*set or reset*/ ); + + // from interface /*virtual*/ bool onSetKeyBind(EMouseClickType click, KEY key, MASK mask, bool all_modes); /*virtual*/ void onDefaultKeyBind(bool all_modes); - /*virtual*/ void onCancelKeyBind(); + /*virtual*/ void onCancelKeyBind(); + + // Updates keybindings from storage to table + void updateTable(); private: // reloads settings, discards current changes, updates table @@ -319,8 +337,6 @@ private: // Cleans content and then adds content from xml files according to current mEditingMode void populateControlTable(); - // Updates keybindings from storage to table - void updateTable(); LLScrollListCtrl* pControlsTable; LLComboBox *pKeyModeBox; |