From: <sag...@us...> - 2010-12-06 23:54:37
|
Revision: 771 http://modplug.svn.sourceforge.net/modplug/?rev=771&view=rev Author: saga-games Date: 2010-12-06 23:54:31 +0000 (Mon, 06 Dec 2010) Log Message: ----------- [Imp] Find/Replace: When changing the content of a combobox, the corresponding checkbox is now automatically checked. Likewise, the "Replace By" checkbox is checked if a checkbox or combobox on the "Replace" tab is enabled. Modified Paths: -------------- trunk/OpenMPT/mptrack/dlg_misc.cpp trunk/OpenMPT/mptrack/dlg_misc.h Modified: trunk/OpenMPT/mptrack/dlg_misc.cpp =================================================================== --- trunk/OpenMPT/mptrack/dlg_misc.cpp 2010-12-04 20:07:14 UTC (rev 770) +++ trunk/OpenMPT/mptrack/dlg_misc.cpp 2010-12-06 23:54:31 UTC (rev 771) @@ -730,7 +730,19 @@ // Find/Replace Dialog BEGIN_MESSAGE_MAP(CFindReplaceTab, CPropertyPage) + ON_CBN_SELCHANGE(IDC_COMBO1, OnNoteChanged) + ON_CBN_SELCHANGE(IDC_COMBO2, OnInstrChanged) + ON_CBN_SELCHANGE(IDC_COMBO3, OnVolCmdChanged) + ON_CBN_SELCHANGE(IDC_COMBO4, OnVolumeChanged) ON_CBN_SELCHANGE(IDC_COMBO5, OnEffectChanged) + ON_CBN_SELCHANGE(IDC_COMBO6, OnParamChanged) + ON_COMMAND(IDC_CHECK1, OnCheckNote) + ON_COMMAND(IDC_CHECK2, OnCheckInstr) + ON_COMMAND(IDC_CHECK3, OnCheckVolCmd) + ON_COMMAND(IDC_CHECK4, OnCheckVolume) + ON_COMMAND(IDC_CHECK5, OnCheckEffect) + ON_COMMAND(IDC_CHECK6, OnCheckParam) + ON_COMMAND(IDC_CHECK7, OnCheckChannelSearch) END_MESSAGE_MAP() @@ -880,14 +892,14 @@ break; } } - OnEffectChanged(); + ChangeEffect(); OnCheckChannelSearch(); return TRUE; } -void CFindReplaceTab::OnEffectChanged() -//------------------------------------- +void CFindReplaceTab::ChangeEffect() +//---------------------------------- { int fxndx = -1; CComboBox *combo; Modified: trunk/OpenMPT/mptrack/dlg_misc.h =================================================================== --- trunk/OpenMPT/mptrack/dlg_misc.h 2010-12-04 20:07:14 UTC (rev 770) +++ trunk/OpenMPT/mptrack/dlg_misc.h 2010-12-06 23:54:31 UTC (rev 771) @@ -188,13 +188,34 @@ // Make sure there's unused notes between NOTE_MAX and NOTE_MIN_SPECIAL. STATIC_ASSERT(NOTE_MIN_SPECIAL - 4 > NOTE_MAX); +protected: + void ChangeEffect(); + public: CFindReplaceTab(UINT nIDD, BOOL bReplaceTab, CModDoc *pModDoc):CPropertyPage(nIDD) { m_bReplace = bReplaceTab; m_pModDoc = pModDoc; } protected: virtual BOOL OnInitDialog(); virtual void OnOK(); - afx_msg void OnEffectChanged(); + + // When a combobox is focussed, check the corresponding checkbox. + void CheckOnChange(int nIDButton) { CheckDlgButton(nIDButton, BST_CHECKED); CheckReplace(nIDButton); }; + afx_msg void OnNoteChanged() { CheckOnChange(IDC_CHECK1); }; + afx_msg void OnInstrChanged() { CheckOnChange(IDC_CHECK2); }; + afx_msg void OnVolCmdChanged() { CheckOnChange(IDC_CHECK3); }; + afx_msg void OnVolumeChanged() { CheckOnChange(IDC_CHECK4); }; + afx_msg void OnEffectChanged() { CheckOnChange(IDC_CHECK5); ChangeEffect(); }; + afx_msg void OnParamChanged() { CheckOnChange(IDC_CHECK6); }; + // When a checkbox is checked, also check "Replace By". + afx_msg void OnCheckNote() { CheckReplace(IDC_CHECK1); }; + afx_msg void OnCheckInstr() { CheckReplace(IDC_CHECK2); }; + afx_msg void OnCheckVolCmd() { CheckReplace(IDC_CHECK3); }; + afx_msg void OnCheckVolume() { CheckReplace(IDC_CHECK4); }; + afx_msg void OnCheckEffect() { CheckReplace(IDC_CHECK5); }; + afx_msg void OnCheckParam() { CheckReplace(IDC_CHECK6); }; + // Check "Replace By" + afx_msg void CheckReplace(int nIDButton) { if(m_bReplace && IsDlgButtonChecked(nIDButton)) CheckDlgButton(IDC_CHECK7, BST_CHECKED); }; + afx_msg void OnCheckChannelSearch(); DECLARE_MESSAGE_MAP() }; @@ -392,9 +413,9 @@ addsilence_resize, // Resize sample }; -//=========================== +//================================== class CAddSilenceDlg: public CDialog -//=========================== +//================================== { protected: enmAddSilenceOptions GetEditMode(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |