diff --git a/common/widgets/widget_hotkey_list.cpp b/common/widgets/widget_hotkey_list.cpp index 61a0f7b147..036c3012e3 100644 --- a/common/widgets/widget_hotkey_list.cpp +++ b/common/widgets/widget_hotkey_list.cpp @@ -249,7 +249,7 @@ private: }; -WIDGET_HOTKEY_CLIENT_DATA* WIDGET_HOTKEY_LIST::GetHKClientData( wxTreeListItem aItem ) +WIDGET_HOTKEY_CLIENT_DATA* WIDGET_HOTKEY_LIST::getHKClientData( wxTreeListItem aItem ) { if( aItem.IsOk() ) { @@ -265,7 +265,7 @@ WIDGET_HOTKEY_CLIENT_DATA* WIDGET_HOTKEY_LIST::GetHKClientData( wxTreeListItem a WIDGET_HOTKEY_CLIENT_DATA* WIDGET_HOTKEY_LIST::getExpectedHkClientData( wxTreeListItem aItem ) { - const auto hkdata = GetHKClientData( aItem ); + const auto hkdata = getHKClientData( aItem ); // This probably means a hotkey-only action is being attempted on // a row that is not a hotkey (like a section heading) @@ -275,11 +275,11 @@ WIDGET_HOTKEY_CLIENT_DATA* WIDGET_HOTKEY_LIST::getExpectedHkClientData( wxTreeLi } -void WIDGET_HOTKEY_LIST::UpdateFromClientData() +void WIDGET_HOTKEY_LIST::updateFromClientData() { for( wxTreeListItem i = GetFirstItem(); i.IsOk(); i = GetNextItem( i ) ) { - WIDGET_HOTKEY_CLIENT_DATA* hkdata = GetHKClientData( i ); + WIDGET_HOTKEY_CLIENT_DATA* hkdata = getHKClientData( i ); if( hkdata ) { @@ -311,13 +311,13 @@ void WIDGET_HOTKEY_LIST::changeHotkey( HOTKEY& aHotkey, long aKey ) if( exists && aHotkey.m_EditKeycode != aKey ) { - if( aKey == 0 || ResolveKeyConflicts( aHotkey.m_Actions[ 0 ], aKey ) ) + if( aKey == 0 || resolveKeyConflicts( aHotkey.m_Actions[ 0 ], aKey ) ) aHotkey.m_EditKeycode = aKey; } } -void WIDGET_HOTKEY_LIST::EditItem( wxTreeListItem aItem ) +void WIDGET_HOTKEY_LIST::editItem( wxTreeListItem aItem ) { WIDGET_HOTKEY_CLIENT_DATA* hkdata = getExpectedHkClientData( aItem ); @@ -333,12 +333,12 @@ void WIDGET_HOTKEY_LIST::EditItem( wxTreeListItem aItem ) if( key ) { changeHotkey( hkdata->GetChangedHotkey(), key ); - UpdateFromClientData(); + updateFromClientData(); } } -void WIDGET_HOTKEY_LIST::ResetItem( wxTreeListItem aItem, int aResetId ) +void WIDGET_HOTKEY_LIST::resetItem( wxTreeListItem aItem, int aResetId ) { WIDGET_HOTKEY_CLIENT_DATA* hkdata = getExpectedHkClientData( aItem ); @@ -354,24 +354,24 @@ void WIDGET_HOTKEY_LIST::ResetItem( wxTreeListItem aItem, int aResetId ) else if( aResetId == ID_DEFAULT ) changeHotkey( changed_hk, changed_hk.m_Actions[ 0 ]->GetDefaultHotKey() ); - UpdateFromClientData(); + updateFromClientData(); } -void WIDGET_HOTKEY_LIST::OnActivated( wxTreeListEvent& aEvent ) +void WIDGET_HOTKEY_LIST::onActivated( wxTreeListEvent& aEvent ) { - EditItem( aEvent.GetItem() ); + editItem( aEvent.GetItem()); } -void WIDGET_HOTKEY_LIST::OnContextMenu( wxTreeListEvent& aEvent ) +void WIDGET_HOTKEY_LIST::onContextMenu( wxTreeListEvent& aEvent ) { // Save the active event for use in OnMenu m_context_menu_item = aEvent.GetItem(); wxMenu menu; - WIDGET_HOTKEY_CLIENT_DATA* hkdata = GetHKClientData( m_context_menu_item ); + WIDGET_HOTKEY_CLIENT_DATA* hkdata = getHKClientData( m_context_menu_item ); // Some actions only apply if the row is hotkey data if( hkdata ) @@ -387,18 +387,16 @@ void WIDGET_HOTKEY_LIST::OnContextMenu( wxTreeListEvent& aEvent ) } -void WIDGET_HOTKEY_LIST::OnMenu( wxCommandEvent& aEvent ) +void WIDGET_HOTKEY_LIST::onMenu( wxCommandEvent& aEvent ) { switch( aEvent.GetId() ) { - case ID_EDIT_HOTKEY: - EditItem( m_context_menu_item ); + case ID_EDIT_HOTKEY:editItem( m_context_menu_item ); break; case ID_RESET: case ID_CLEAR: - case ID_DEFAULT: - ResetItem( m_context_menu_item, aEvent.GetId() ); + case ID_DEFAULT:resetItem( m_context_menu_item, aEvent.GetId()); break; default: @@ -407,7 +405,7 @@ void WIDGET_HOTKEY_LIST::OnMenu( wxCommandEvent& aEvent ) } -bool WIDGET_HOTKEY_LIST::ResolveKeyConflicts( TOOL_ACTION* aAction, long aKey ) +bool WIDGET_HOTKEY_LIST::resolveKeyConflicts( TOOL_ACTION* aAction, long aKey ) { HOTKEY* conflictingHotKey = nullptr; @@ -429,7 +427,7 @@ bool WIDGET_HOTKEY_LIST::ResolveKeyConflicts( TOOL_ACTION* aAction, long aKey ) { // Reset the other hotkey conflictingHotKey->m_EditKeycode = 0; - UpdateFromClientData(); + updateFromClientData(); return true; } @@ -456,9 +454,9 @@ WIDGET_HOTKEY_LIST::WIDGET_HOTKEY_LIST( wxWindow* aParent, HOTKEY_STORE& aHotkey if( !m_readOnly ) { // The event only apply if the widget is in editable mode - Bind( wxEVT_TREELIST_ITEM_ACTIVATED, &WIDGET_HOTKEY_LIST::OnActivated, this ); - Bind( wxEVT_TREELIST_ITEM_CONTEXT_MENU, &WIDGET_HOTKEY_LIST::OnContextMenu, this ); - Bind( wxEVT_MENU, &WIDGET_HOTKEY_LIST::OnMenu, this ); + Bind( wxEVT_TREELIST_ITEM_ACTIVATED, &WIDGET_HOTKEY_LIST::onActivated, this ); + Bind( wxEVT_TREELIST_ITEM_CONTEXT_MENU, &WIDGET_HOTKEY_LIST::onContextMenu, this ); + Bind( wxEVT_MENU, &WIDGET_HOTKEY_LIST::onMenu, this ); } } @@ -481,7 +479,7 @@ void WIDGET_HOTKEY_LIST::ResetAllHotkeys( bool aResetToDefault ) else m_hk_store.ResetAllHotkeysToOriginal(); - UpdateFromClientData(); + updateFromClientData(); wxDataViewColumn* col = GetDataView()->GetColumn( 0 ); col->SetWidth( wxCOL_WIDTH_AUTOSIZE ); @@ -535,7 +533,7 @@ void WIDGET_HOTKEY_LIST::updateShownItems( const wxString& aFilterStr ) Expand( parent ); } - UpdateFromClientData(); + updateFromClientData(); Thaw(); } diff --git a/include/widgets/widget_hotkey_list.h b/include/widgets/widget_hotkey_list.h index 1cc5a960e1..2ecbfa855b 100644 --- a/include/widgets/widget_hotkey_list.h +++ b/include/widgets/widget_hotkey_list.h @@ -39,97 +39,6 @@ class WIDGET_HOTKEY_CLIENT_DATA; class WIDGET_HOTKEY_LIST : public wxTreeListCtrl { - HOTKEY_STORE& m_hk_store; - bool m_readOnly; - - wxTreeListItem m_context_menu_item; - - /** - * Method GetHKClientData - * Return the WIDGET_HOTKEY_CLIENT_DATA for the given item, or NULL if the item is invalid. - */ - WIDGET_HOTKEY_CLIENT_DATA* GetHKClientData( wxTreeListItem aItem ); - - /** - * Get the WIDGET_HOTKEY_CLIENT_DATA form an item and assert if it isn't found. This is for - * use when the data not being present indicates an error. - */ - WIDGET_HOTKEY_CLIENT_DATA* getExpectedHkClientData( wxTreeListItem aItem ); - - /** - * Method UpdateFromClientData - * Refresh the visible text on the widget from the rows' client data objects. - */ - void UpdateFromClientData(); - - /** - * Method updateShownItems - * - * Update the items shown in the widget based on a given filter string. - * - * @param aFilterStr the string to filter with. Empty means no filter. - */ - void updateShownItems( const wxString& aFilterStr ); - - /** - * Attempt to change the given hotkey to the given key code. - * - * If the hotkey conflicts, the user is prompted to change anyway (and in doing so, unset - * the conflicting key), or cancel the attempt. - * - * @param aHotkey the change-able hotkey to try to change - * @param aKey the key code to change it to - */ - void changeHotkey( HOTKEY& aHotkey, long aKey ); - -protected: - /** - * Method EditItem - * Prompt the user for a new hotkey given a list item. - */ - void EditItem( wxTreeListItem aItem ); - - /** - * Method ResetItem - * Reset the item to either the default, the value when the dialog was opened, or none. - */ - void ResetItem( wxTreeListItem aItem, int aResetId ); - - /** - * Method OnActivated - * Handle activation of a row. - */ - void OnActivated( wxTreeListEvent& aEvent ); - - /** - * Method OnContextMenu - * Handle right-click on a row. - */ - void OnContextMenu( wxTreeListEvent& aEvent ); - - /** - * Method OnMenu - * Handle activation of a context menu item. - */ - void OnMenu( wxCommandEvent& aEvent ); - - /** - * Method ResolveKeyConflicts - * Check if we can set a hotkey, and prompt the user if there is a conflict between keys. - * The key code should already have been checked that it's not for the same entry as it's - * current in, or else this method will prompt for the self-change. - * - * The method will do conflict resolution depending on aSectionTag. - * g_CommonSectionTag means the key code must only be checkd with the aSectionTag section - * and g_CommonSectionTag section. - * - * @param aKey - key to check - * @param aActionName - name of the action into which the key is proposed to be installed - * - * @return true iff the user accepted the overwrite or no conflict existed - */ - bool ResolveKeyConflicts( TOOL_ACTION* aAction, long aKey ); - public: /** * Constructor WIDGET_HOTKEY_LIST @@ -176,6 +85,99 @@ public: * Map a keypress event to the correct key code for use as a hotkey. */ static long MapKeypressToKeycode( const wxKeyEvent& aEvent ); + +protected: + /** + * Method editItem + * Prompt the user for a new hotkey given a list item. + */ + void editItem( wxTreeListItem aItem ); + + /** + * Method resetItem + * Reset the item to either the default, the value when the dialog was opened, or none. + */ + void resetItem( wxTreeListItem aItem, int aResetId ); + + /** + * Method onActivated + * Handle activation of a row. + */ + void onActivated( wxTreeListEvent& aEvent ); + + /** + * Method onContextMenu + * Handle right-click on a row. + */ + void onContextMenu( wxTreeListEvent& aEvent ); + + /** + * Method onMenu + * Handle activation of a context menu item. + */ + void onMenu( wxCommandEvent& aEvent ); + + /** + * Method resolveKeyConflicts + * Check if we can set a hotkey, and prompt the user if there is a conflict between keys. + * The key code should already have been checked that it's not for the same entry as it's + * current in, or else this method will prompt for the self-change. + * + * The method will do conflict resolution depending on aSectionTag. + * g_CommonSectionTag means the key code must only be checkd with the aSectionTag section + * and g_CommonSectionTag section. + * + * @param aKey - key to check + * @param aActionName - name of the action into which the key is proposed to be installed + * + * @return true iff the user accepted the overwrite or no conflict existed + */ + bool resolveKeyConflicts( TOOL_ACTION* aAction, long aKey ); + +private: + /** + * Method getHKClientData + * Return the WIDGET_HOTKEY_CLIENT_DATA for the given item, or NULL if the item is invalid. + */ + WIDGET_HOTKEY_CLIENT_DATA* getHKClientData( wxTreeListItem aItem ); + + /** + * Get the WIDGET_HOTKEY_CLIENT_DATA form an item and assert if it isn't found. This is for + * use when the data not being present indicates an error. + */ + WIDGET_HOTKEY_CLIENT_DATA* getExpectedHkClientData( wxTreeListItem aItem ); + + /** + * Method updateFromClientData + * Refresh the visible text on the widget from the rows' client data objects. + */ + void updateFromClientData(); + + /** + * Method updateShownItems + * + * Update the items shown in the widget based on a given filter string. + * + * @param aFilterStr the string to filter with. Empty means no filter. + */ + void updateShownItems( const wxString& aFilterStr ); + + /** + * Attempt to change the given hotkey to the given key code. + * + * If the hotkey conflicts, the user is prompted to change anyway (and in doing so, unset + * the conflicting key), or cancel the attempt. + * + * @param aHotkey the change-able hotkey to try to change + * @param aKey the key code to change it to + */ + void changeHotkey( HOTKEY& aHotkey, long aKey ); + +private: + HOTKEY_STORE& m_hk_store; + bool m_readOnly; + + wxTreeListItem m_context_menu_item; }; #endif // __widget_hotkey_list__ diff --git a/include/widgets/widget_save_restore.h b/include/widgets/widget_save_restore.h index a8b917eab0..14d8ada790 100644 --- a/include/widgets/widget_save_restore.h +++ b/include/widgets/widget_save_restore.h @@ -38,7 +38,8 @@ class UNIT_BINDER; class WIDGET_SAVE_RESTORE { public: - WIDGET_SAVE_RESTORE( bool& aValidFlag ) : m_valid( aValidFlag ) + WIDGET_SAVE_RESTORE( bool& aValidFlag ) : + m_valid( aValidFlag ) { } @@ -116,27 +117,33 @@ private: }; union CONTROL { - CONTROL( wxCheckBox* aCtrl ) : m_checkbox( aCtrl ) + CONTROL( wxCheckBox* aCtrl ) : + m_checkbox( aCtrl ) { } - CONTROL( wxChoice* aCtrl ) : m_choice( aCtrl ) + CONTROL( wxChoice* aCtrl ) : + m_choice( aCtrl ) { } - CONTROL( wxNotebook* aCtrl ) : m_notebook( aCtrl ) + CONTROL( wxNotebook* aCtrl ) : + m_notebook( aCtrl ) { } - CONTROL( wxRadioBox* aCtrl ) : m_radiobox( aCtrl ) + CONTROL( wxRadioBox* aCtrl ) : + m_radiobox( aCtrl ) { } - CONTROL( wxTextCtrl* aCtrl ) : m_textctrl( aCtrl ) + CONTROL( wxTextCtrl* aCtrl ) : + m_textctrl( aCtrl ) { } - CONTROL( UNIT_BINDER* aCtrl ) : m_unit_binder( aCtrl ) + CONTROL( UNIT_BINDER* aCtrl ) : + m_unit_binder( aCtrl ) { } @@ -149,19 +156,23 @@ private: }; union DATA { - DATA( long* aDest ) : m_long( aDest ) + DATA( long* aDest ) : + m_long( aDest ) { } - DATA( bool* aDest ) : m_bool( aDest ) + DATA( bool* aDest ) : + m_bool( aDest ) { } - DATA( wxString* aDest ) : m_str( aDest ) + DATA( wxString* aDest ) : + m_str( aDest ) { } - DATA( double* aDest ) : m_double( aDest ) + DATA( double* aDest ) : + m_double( aDest ) { } @@ -177,8 +188,10 @@ private: struct WIDGET_CTRL_T { template - WIDGET_CTRL_T( WIDGET_CTRL_TYPE_T aType, CTRL_T& aCtrl, DEST_T& aDest ) - : m_type( aType ), m_control( &aCtrl ), m_dest( &aDest ) + WIDGET_CTRL_T( WIDGET_CTRL_TYPE_T aType, CTRL_T& aCtrl, DEST_T& aDest ) : + m_type( aType ), + m_control( &aCtrl ), + m_dest( &aDest ) { }