From: <sag...@us...> - 2015-05-26 21:16:59
|
Revision: 5196 http://sourceforge.net/p/modplug/code/5196 Author: saga-games Date: 2015-05-26 21:16:52 +0000 (Tue, 26 May 2015) Log Message: ----------- [New] Order list: Can now also just copy the order list pattern IDs instead of their content (available from context menu or shortcut) [Ref] Remove unused author setup dialog. Modified Paths: -------------- trunk/OpenMPT/mptrack/CommandSet.cpp trunk/OpenMPT/mptrack/CommandSet.h trunk/OpenMPT/mptrack/Ctrl_pat.h trunk/OpenMPT/mptrack/Ctrl_seq.cpp trunk/OpenMPT/mptrack/PatternClipboard.cpp trunk/OpenMPT/mptrack/PatternClipboard.h trunk/OpenMPT/mptrack/mptrack.rc trunk/OpenMPT/mptrack/resource.h Modified: trunk/OpenMPT/mptrack/CommandSet.cpp =================================================================== --- trunk/OpenMPT/mptrack/CommandSet.cpp 2015-05-26 20:04:55 UTC (rev 5195) +++ trunk/OpenMPT/mptrack/CommandSet.cpp 2015-05-26 21:16:52 UTC (rev 5196) @@ -684,9 +684,9 @@ wsprintf(s, _T("Preview Sample Cue %u"), j - kcStartSampleCues + 1); DefineKeyCommand((CommandID)j, 1924 + j - kcStartSampleCues, s); } + // Safety margin if we want to add more cues + DefineKeyCommand(kcOrderlistEditCopyOrders, 1950, _T("Copy Orders")); - - // Add new key commands here. #ifdef _DEBUG Modified: trunk/OpenMPT/mptrack/CommandSet.h =================================================================== --- trunk/OpenMPT/mptrack/CommandSet.h 2015-05-26 20:04:55 UTC (rev 5195) +++ trunk/OpenMPT/mptrack/CommandSet.h 2015-05-26 21:16:52 UTC (rev 5196) @@ -1095,6 +1095,7 @@ kcStartOrderlistEdit=kcStartOrderlistCommands, kcOrderlistEditDelete=kcStartOrderlistEdit, kcOrderlistEditInsert, + kcOrderlistEditCopyOrders, kcOrderlistEditPattern, kcOrderlistSwitchToPatternView, kcEndOrderlistEdit=kcOrderlistSwitchToPatternView, Modified: trunk/OpenMPT/mptrack/Ctrl_pat.h =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_pat.h 2015-05-26 20:04:55 UTC (rev 5195) +++ trunk/OpenMPT/mptrack/Ctrl_pat.h 2015-05-26 21:16:52 UTC (rev 5196) @@ -106,13 +106,11 @@ // Set given sqeuence and update orderlist display. void SelectSequence(const SEQUENCEINDEX nSeq); - // Clipboard. - void OnEditCopy(); - void OnEditCut(); - // Helper function for entering pattern number void EnterPatternNum(int enterNum); + void OnCopy(bool onlyOrders); + //{{AFX_VIRTUAL(COrderList) virtual BOOL PreTranslateMessage(MSG *pMsg); virtual void UpdateView(UpdateHint hint, CObject *pObj = nullptr); @@ -146,6 +144,9 @@ afx_msg void OnDuplicatePattern(); afx_msg void OnPatternCopy(); afx_msg void OnPatternPaste(); + afx_msg void OnEditCopy() { OnCopy(false); } + afx_msg void OnEditCopyOrders() { OnCopy(true); } + afx_msg void OnEditCut(); afx_msg LRESULT OnDragonDropping(WPARAM bDoDrop, LPARAM lParam); afx_msg LRESULT OnHelpHitTest(WPARAM, LPARAM lParam); afx_msg void OnSelectSequence(UINT nid); Modified: trunk/OpenMPT/mptrack/Ctrl_seq.cpp =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_seq.cpp 2015-05-26 20:04:55 UTC (rev 5195) +++ trunk/OpenMPT/mptrack/Ctrl_seq.cpp 2015-05-26 21:16:52 UTC (rev 5196) @@ -71,6 +71,7 @@ ON_COMMAND(ID_ORDERLIST_RENDER, OnRenderOrder) ON_COMMAND(ID_ORDERLIST_EDIT_COPY, OnEditCopy) ON_COMMAND(ID_ORDERLIST_EDIT_CUT, OnEditCut) + ON_COMMAND(ID_ORDERLIST_EDIT_COPY_ORDERS, OnEditCopyOrders) ON_COMMAND(ID_PATTERN_PROPERTIES, OnPatternProperties) ON_COMMAND(ID_PLAYER_PLAY, OnPlayerPlay) @@ -566,12 +567,12 @@ } -void COrderList::OnEditCopy() -//--------------------------- +void COrderList::OnCopy(bool onlyOrders) +//-------------------------------------- { const OrdSelection ordsel = GetCurSel(false); BeginWaitCursor(); - PatternClipboard::Copy(m_pModDoc.GetrSoundFile(), ordsel.firstOrd, ordsel.lastOrd); + PatternClipboard::Copy(m_pModDoc.GetrSoundFile(), ordsel.firstOrd, ordsel.lastOrd, onlyOrders); PatternClipboardDialog::UpdateList(); EndWaitCursor(); } @@ -966,6 +967,7 @@ AppendMenu(hMenu, MF_STRING, ID_ORDERLIST_DELETE, "&Remove Patterns\t" + ih->GetKeyTextFromCommand(kcOrderlistEditDelete)); AppendMenu(hMenu, MF_SEPARATOR, NULL, ""); AppendMenu(hMenu, MF_STRING, ID_ORDERLIST_EDIT_COPY, "&Copy Patterns\t" + ih->GetKeyTextFromCommand(kcEditCopy)); + AppendMenu(hMenu, MF_STRING, ID_ORDERLIST_EDIT_COPY_ORDERS, "&Copy Orders\t" + ih->GetKeyTextFromCommand(kcOrderlistEditCopyOrders)); AppendMenu(hMenu, MF_STRING, ID_ORDERLIST_EDIT_CUT, "&C&ut Patterns\t" + ih->GetKeyTextFromCommand(kcEditCut)); AppendMenu(hMenu, MF_STRING | greyed, ID_PATTERNPASTE, "P&aste Patterns\t" + ih->GetKeyTextFromCommand(kcEditPaste)); AppendMenu(hMenu, MF_SEPARATOR, NULL, ""); Modified: trunk/OpenMPT/mptrack/PatternClipboard.cpp =================================================================== --- trunk/OpenMPT/mptrack/PatternClipboard.cpp 2015-05-26 20:04:55 UTC (rev 5195) +++ trunk/OpenMPT/mptrack/PatternClipboard.cpp 2015-05-26 21:16:52 UTC (rev 5196) @@ -54,8 +54,8 @@ // Copy a range of patterns to both the system clipboard and the internal clipboard. -bool PatternClipboard::Copy(CSoundFile &sndFile, ORDERINDEX first, ORDERINDEX last) -//--------------------------------------------------------------------------------- +bool PatternClipboard::Copy(CSoundFile &sndFile, ORDERINDEX first, ORDERINDEX last, bool onlyOrders) +//-------------------------------------------------------------------------------------------------- { LimitMax(first, sndFile.Order.GetLength()); LimitMax(last, sndFile.Order.GetLength()); @@ -85,8 +85,11 @@ data.AppendChar('+'); } else if(sndFile.Patterns.IsValidPat(pattern)) { - if(patList[pattern] == PATTERNINDEX_INVALID) + if(onlyOrders) { + patList[pattern] = pattern; + } else if(patList[pattern] == PATTERNINDEX_INVALID) + { // New pattern patList[pattern] = insertedPats++; @@ -106,13 +109,16 @@ data.AppendFormat("%u", patList[pattern]); } } - data.Append("\r\n" + patternData); + if(!onlyOrders) + { + data.Append("\r\n" + patternData); + } if(instance.activeClipboard < instance.clipboards.size()) { // Copy to internal clipboard CStringA desc; - desc.Format("%u Patterns (%u to %u)", last - first + 1, first, last); + desc.Format("%u %s (%u to %u)", last - first + 1, onlyOrders ? "Orders" : "Patterns", first, last); instance.clipboards[instance.activeClipboard] = PatternClipboardElement(data, desc); } @@ -367,6 +373,12 @@ pos = startPos + 8; startPos = data.Find("\n", pos) + 1; ORDERINDEX writeOrder = curOrder; + bool onlyOrders = (startPos == 0); + if(onlyOrders) + { + // Only create order list, no patterns + startPos = data.GetLength(); + } while(pos < startPos && pos != 0) { @@ -385,7 +397,7 @@ { // Duplicate pattern insertPat = patList[insertPat]; - } else + } else if(!onlyOrders) { // New pattern if(insertPat >= patList.size()) Modified: trunk/OpenMPT/mptrack/PatternClipboard.h =================================================================== --- trunk/OpenMPT/mptrack/PatternClipboard.h 2015-05-26 20:04:55 UTC (rev 5195) +++ trunk/OpenMPT/mptrack/PatternClipboard.h 2015-05-26 21:16:52 UTC (rev 5196) @@ -67,7 +67,7 @@ public: // Copy a range of patterns to both the system clipboard and the internal clipboard. - static bool Copy(CSoundFile &sndFile, ORDERINDEX first, ORDERINDEX last); + static bool Copy(CSoundFile &sndFile, ORDERINDEX first, ORDERINDEX last, bool onlyOrders); // Copy a pattern selection to both the system clipboard and the internal clipboard. static bool Copy(CSoundFile &sndFile, PATTERNINDEX pattern, PatternRect selection); // Try pasting a pattern selection from the system clipboard. Modified: trunk/OpenMPT/mptrack/mptrack.rc =================================================================== --- trunk/OpenMPT/mptrack/mptrack.rc 2015-05-26 20:04:55 UTC (rev 5195) +++ trunk/OpenMPT/mptrack/mptrack.rc 2015-05-26 21:16:52 UTC (rev 5196) @@ -1351,27 +1351,6 @@ CONTROL "",IDC_COMBO1,"ComboBoxEx32",CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP,60,60,78,78 END -IDD_OPTIONS_AUTHOR DIALOGEX 0, 0, 214, 151 -STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Identification" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - GROUPBOX "Author Information",IDC_STATIC,6,6,202,66 - LTEXT "Name:",IDC_STATIC,12,20,25,8 - EDITTEXT IDC_EDIT1,42,18,157,12,ES_AUTOHSCROLL - LTEXT "E-Mail:",IDC_STATIC,12,38,24,8 - EDITTEXT IDC_EDIT2,42,36,157,12,ES_AUTOHSCROLL - LTEXT "URL:",IDC_STATIC,12,56,24,8 - EDITTEXT IDC_EDIT3,42,54,157,12,ES_AUTOHSCROLL - GROUPBOX "Group Information",IDC_STATIC,6,78,202,66 - LTEXT "Name:",IDC_STATIC,12,92,25,8 - EDITTEXT IDC_EDIT4,42,90,157,12,ES_AUTOHSCROLL - LTEXT "E-Mail:",IDC_STATIC,12,110,22,8 - EDITTEXT IDC_EDIT5,42,108,157,12,ES_AUTOHSCROLL - LTEXT "URL:",IDC_STATIC,12,128,18,8 - EDITTEXT IDC_EDIT6,42,126,157,12,ES_AUTOHSCROLL -END - IDD_SOUNDBANK_INFO DIALOGEX 0, 0, 271, 167 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Sound Bank Information" @@ -1884,11 +1863,6 @@ BOTTOMMARGIN, 76 END - IDD_OPTIONS_AUTHOR, DIALOG - BEGIN - BOTTOMMARGIN, 150 - END - IDD_SOUNDBANK_INFO, DIALOG BEGIN LEFTMARGIN, 7 Modified: trunk/OpenMPT/mptrack/resource.h =================================================================== --- trunk/OpenMPT/mptrack/resource.h 2015-05-26 20:04:55 UTC (rev 5195) +++ trunk/OpenMPT/mptrack/resource.h 2015-05-26 21:16:52 UTC (rev 5196) @@ -30,7 +30,6 @@ #define IDD_SAMPLE_AMPLIFY 130 #define IDD_SAMPLE_RESAMPLE 131 #define IDD_OPTIONS_EFFECTS 133 -#define IDD_OPTIONS_AUTHOR 134 #define IDR_MAINFRAME 200 #define IDR_MODULETYPE 201 #define IDR_TOOLBARS 202 @@ -1204,6 +1203,7 @@ #define ID_EDIT_PUSHFORWARDPASTE 43234 #define ID_EDIT_SPLITKEYBOARDSETTINGS 43235 #define ID_EDIT_PASTESPECIAL 43236 +#define ID_ORDERLIST_EDIT_COPY_ORDERS 43237 #define ID_CHANGE_PCNOTE_PARAM 43242 // From here: Command range [ID_CHANGE_PCNOTE_PARAM, ID_CHANGE_PCNOTE_PARAM + ModCommand::maxColumnValue] #define ID_MODTREE_CLOSE 44243 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |