From: <sag...@us...> - 2011-01-03 22:00:41
|
Revision: 784 http://modplug.svn.sourceforge.net/modplug/?rev=784&view=rev Author: saga-games Date: 2011-01-03 22:00:34 +0000 (Mon, 03 Jan 2011) Log Message: ----------- [Fix] Various actions in the instrument note map and envelope view should now also mark the instrument as modified. Modified Paths: -------------- trunk/OpenMPT/mptrack/Ctrl_ins.cpp trunk/OpenMPT/mptrack/Ctrl_ins.h trunk/OpenMPT/mptrack/View_ins.cpp trunk/OpenMPT/mptrack/View_ins.h Modified: trunk/OpenMPT/mptrack/Ctrl_ins.cpp =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_ins.cpp 2011-01-03 19:08:33 UTC (rev 783) +++ trunk/OpenMPT/mptrack/Ctrl_ins.cpp 2011-01-03 22:00:34 UTC (rev 784) @@ -381,7 +381,7 @@ } if (bModified) { - m_pModDoc->SetModified(); + m_pParent->SetInstrumentModified(); InvalidateRect(NULL, FALSE); } } @@ -407,7 +407,7 @@ } if (bModified) { - m_pModDoc->SetModified(); + m_pParent->SetInstrumentModified(); InvalidateRect(NULL, FALSE); } } @@ -434,7 +434,7 @@ } if (bModified) { - m_pModDoc->SetModified(); + m_pParent->SetInstrumentModified(); InvalidateRect(NULL, FALSE); } } @@ -479,7 +479,7 @@ } if (bModified) { - m_pModDoc->SetModified(); + m_pParent->SetInstrumentModified(); InvalidateRect(NULL, FALSE); } } @@ -583,7 +583,7 @@ if (n != pIns->NoteMap[m_nNote]) { pIns->NoteMap[m_nNote] = n; - m_pModDoc->SetModified(); + m_pParent->SetInstrumentModified(); InvalidateRect(NULL, FALSE); } if (bOk) @@ -618,7 +618,7 @@ if (n != pIns->Keyboard[m_nNote]) { pIns->Keyboard[m_nNote] = n; - m_pModDoc->SetModified(); + m_pParent->SetInstrumentModified(); InvalidateRect(NULL, FALSE); PlayNote(m_nNote+1); } @@ -650,7 +650,7 @@ if (n != pIns->NoteMap[m_nNote]) { pIns->NoteMap[m_nNote] = n; - m_pModDoc->SetModified(); + m_pParent->SetInstrumentModified(); InvalidateRect(NULL, FALSE); } @@ -999,6 +999,7 @@ } } + BOOL CCtrlInstruments::SetCurrentInstrument(UINT nIns, BOOL bUpdNum) //------------------------------------------------------------------ { Modified: trunk/OpenMPT/mptrack/Ctrl_ins.h =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_ins.h 2011-01-03 19:08:33 UTC (rev 783) +++ trunk/OpenMPT/mptrack/Ctrl_ins.h 2011-01-03 22:00:34 UTC (rev 784) @@ -113,6 +113,7 @@ virtual ~CCtrlInstruments(); public: + void SetInstrumentModified(const bool modified = true); BOOL SetCurrentInstrument(UINT nIns, BOOL bUpdNum=TRUE); BOOL OpenInstrument(LPCSTR lpszFileName); BOOL OpenInstrument(CSoundFile *pSndFile, UINT nInstr); @@ -120,9 +121,6 @@ VOID UpdateFilterText(); LONG* GetSplitPosRef() {return &CMainFrame::glInstrumentWindowHeight;} //rewbs.varWindowSize -protected: - void CCtrlInstruments::SetInstrumentModified(const bool modified); - public: //{{AFX_VIRTUAL(CCtrlInstruments) virtual BOOL OnInitDialog(); Modified: trunk/OpenMPT/mptrack/View_ins.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_ins.cpp 2011-01-03 19:08:33 UTC (rev 783) +++ trunk/OpenMPT/mptrack/View_ins.cpp 2011-01-03 22:00:34 UTC (rev 784) @@ -160,6 +160,21 @@ } +// Set instrument (and moddoc) as modified. +void CViewInstrument::SetInstrumentModified() +//------------------------------------------- +{ + CModDoc *pModDoc = GetDocument(); + if(pModDoc == nullptr) return; +// -> CODE#0023 +// -> DESC="IT project files (.itp)" + pModDoc->m_bsInstrumentModified.set(m_nInstrument - 1, true); + pModDoc->UpdateAllViews(NULL, (m_nInstrument << HINT_SHIFT_INS) | HINT_INSNAMES, this); +// -! NEW_FEATURE#0023 + pModDoc->SetModified(); +} + + BOOL CViewInstrument::SetCurrentInstrument(INSTRUMENTINDEX nIns, enmEnvelopeTypes nEnv) //------------------------------------------------------------------------------------- { @@ -1003,7 +1018,7 @@ envelope->nReleaseNode = ENV_RELEASE_NODE_UNSET; } - pModDoc->SetModified(); + SetInstrumentModified(); pModDoc->UpdateAllViews(NULL, (m_nInstrument << HINT_SHIFT_INS) | HINT_ENVELOPE, NULL); return true; } @@ -1070,7 +1085,7 @@ if (envelope->nSustainEnd >= i) envelope->nSustainEnd++; if (envelope->nReleaseNode >= i && envelope->nReleaseNode != ENV_RELEASE_NODE_UNSET) envelope->nReleaseNode++; - pModDoc->SetModified(); + SetInstrumentModified(); pModDoc->UpdateAllViews(NULL, (m_nInstrument << HINT_SHIFT_INS) | HINT_ENVELOPE, NULL); return i + 1; } @@ -1476,7 +1491,7 @@ CModDoc *pModDoc = GetDocument(); if(pModDoc) { - pModDoc->SetModified(); + SetInstrumentModified(); pModDoc->UpdateAllViews(NULL, (m_nInstrument << HINT_SHIFT_INS) | HINT_ENVELOPE, NULL); } UpdateWindow(); //rewbs: TODO - optimisation here so we don't redraw whole view. @@ -1729,7 +1744,7 @@ CModDoc *pModDoc = GetDocument(); if ((pModDoc) && (EnvSetLoop(!EnvGetLoop()))) { - pModDoc->SetModified(); + SetInstrumentModified(); pModDoc->UpdateAllViews(NULL, (m_nInstrument << HINT_SHIFT_INS) | HINT_ENVELOPE, NULL); UpdateNcButtonState(); } @@ -1742,7 +1757,7 @@ CModDoc *pModDoc = GetDocument(); if ((pModDoc) && (EnvSetSustain(!EnvGetSustain()))) { - pModDoc->SetModified(); + SetInstrumentModified(); pModDoc->UpdateAllViews(NULL, (m_nInstrument << HINT_SHIFT_INS) | HINT_ENVELOPE, NULL); UpdateNcButtonState(); } @@ -1755,7 +1770,7 @@ CModDoc *pModDoc = GetDocument(); if ((pModDoc) && (EnvSetCarry(!EnvGetCarry()))) { - pModDoc->SetModified(); + SetInstrumentModified(); UpdateNcButtonState(); } } @@ -1765,7 +1780,7 @@ { if(IsDragItemEnvPoint() && EnvToggleReleaseNode(m_nDragItem - 1)) { - if(GetDocument() != nullptr) GetDocument()->SetModified(); + SetInstrumentModified(); InvalidateRect(NULL, FALSE); } } @@ -1774,10 +1789,9 @@ void CViewInstrument::OnEnvVolChanged() //------------------------------------- { - CModDoc *pModDoc = GetDocument(); - if ((pModDoc) && (EnvSetVolEnv(!EnvGetVolEnv()))) + if (EnvSetVolEnv(!EnvGetVolEnv())) { - pModDoc->SetModified(); + SetInstrumentModified(); UpdateNcButtonState(); } } @@ -1786,10 +1800,9 @@ void CViewInstrument::OnEnvPanChanged() //------------------------------------- { - CModDoc *pModDoc = GetDocument(); - if ((pModDoc) && (EnvSetPanEnv(!EnvGetPanEnv()))) + if (EnvSetPanEnv(!EnvGetPanEnv())) { - pModDoc->SetModified(); + SetInstrumentModified(); UpdateNcButtonState(); } } @@ -1798,10 +1811,9 @@ void CViewInstrument::OnEnvPitchChanged() //--------------------------------------- { - CModDoc *pModDoc = GetDocument(); - if ((pModDoc) && (EnvSetPitchEnv(!EnvGetPitchEnv()))) + if (EnvSetPitchEnv(!EnvGetPitchEnv())) { - pModDoc->SetModified(); + SetInstrumentModified(); UpdateNcButtonState(); } } @@ -1810,10 +1822,9 @@ void CViewInstrument::OnEnvFilterChanged() //---------------------------------------- { - CModDoc *pModDoc = GetDocument(); - if ((pModDoc) && (EnvSetFilterEnv(!EnvGetFilterEnv()))) + if (EnvSetFilterEnv(!EnvGetFilterEnv())) { - pModDoc->SetModified(); + SetInstrumentModified(); UpdateNcButtonState(); } } @@ -2061,8 +2072,8 @@ } if (bUpdate) { + SetInstrumentModified(); pModDoc->UpdateAllViews(NULL, (m_nInstrument << HINT_SHIFT_INS) | HINT_INSTRUMENT | HINT_ENVELOPE | HINT_INSNAMES, NULL); - pModDoc->SetModified(); } CMDIChildWnd *pMDIFrame = (CMDIChildWnd *)GetParentFrame(); if (pMDIFrame) @@ -2245,7 +2256,7 @@ CScaleEnvPointsDlg dlg(this, GetEnvelopePtr(), nOffset); if(dlg.DoModal()) { - pModDoc->SetModified(); + SetInstrumentModified(); pModDoc->UpdateAllViews(NULL, (m_nInstrument << HINT_SHIFT_INS) | HINT_ENVELOPE, NULL); } } @@ -2303,7 +2314,7 @@ return; pEnv->Ticks[m_nDragItem - 1]--; - GetDocument()->SetModified(); // sanity checks are done in GetEnvelopePtr() already + SetInstrumentModified(); InvalidateRect(NULL, FALSE); } @@ -2317,7 +2328,7 @@ return; pEnv->Ticks[m_nDragItem - 1]++; - GetDocument()->SetModified(); // sanity checks are done in GetEnvelopePtr() already + SetInstrumentModified(); InvalidateRect(NULL, FALSE); } @@ -2332,7 +2343,7 @@ else pEnv->Values[m_nDragItem - 1] = ENVELOPE_MAX; - GetDocument()->SetModified(); // sanity checks are done in GetEnvelopePtr() already + SetInstrumentModified(); InvalidateRect(NULL, FALSE); } @@ -2347,7 +2358,7 @@ else pEnv->Values[m_nDragItem - 1] = ENVELOPE_MIN; - GetDocument()->SetModified(); // sanity checks are done in GetEnvelopePtr() already + SetInstrumentModified(); InvalidateRect(NULL, FALSE); } @@ -2443,7 +2454,7 @@ if(EnvToggleReleaseNode(m_nDragItem - 1)) { CModDoc *pModDoc = GetDocument(); // sanity checks are done in GetEnvelopePtr() already - pModDoc->SetModified(); + SetInstrumentModified(); pModDoc->UpdateAllViews(NULL, (m_nInstrument << HINT_SHIFT_INS) | HINT_ENVELOPE, NULL); } } Modified: trunk/OpenMPT/mptrack/View_ins.h =================================================================== --- trunk/OpenMPT/mptrack/View_ins.h 2011-01-03 19:08:33 UTC (rev 783) +++ trunk/OpenMPT/mptrack/View_ins.h 2011-01-03 22:00:34 UTC (rev 784) @@ -116,6 +116,7 @@ //////////////////////// // Misc stuff void UpdateScrollSize(); + void SetInstrumentModified(); BOOL SetCurrentInstrument(INSTRUMENTINDEX nIns, enmEnvelopeTypes m_nEnv = ENV_VOLUME); MODINSTRUMENT *GetInstrumentPtr() const; INSTRUMENTENVELOPE *GetEnvelopePtr() const; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |