xref: /MusicPlayer2/MusicPlayer2/TagEditDlg.h (revision ead86454da3af0f0f92b604977e8985caecdf15c)
1 #pragma once
2 
3 // CTagEditDlg 对话框
4 
5 class CTagEditDlg : public CDialog
6 {
7 	DECLARE_DYNAMIC(CTagEditDlg)
8 
9 public:
10 	struct ItemInfo
11 	{
12 		wstring file_path;
13 		SongInfo song_info;
14 		bool operator==(const ItemInfo& a) const
15 		{
16 			if (!a.song_info.is_cue)
17 				return file_path == a.file_path;
18 			else
19 				return (file_path == a.file_path && song_info.track == a.song_info.track);
20 		}
21 	};
22 
23 
24 	CTagEditDlg(vector<ItemInfo>& file_list, int index, CWnd* pParent = nullptr);   // 标准构造函数
25 	virtual ~CTagEditDlg();
26 
27 // 对话框数据
28 #ifdef AFX_DESIGN_TIME
29 	enum { IDD = IDD_TAG_EDIT_DIALOG };
30 #endif
31 
32 protected:
33 	vector<ItemInfo>& m_file_list;
34 	int m_index;
35 
36 	CComboBox m_genre_combo;
37 
38 	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
39 
40 	void ShowInfo();
41 
42 	DECLARE_MESSAGE_MAP()
43 public:
44 	virtual BOOL OnInitDialog();
45 	afx_msg void OnBnClickedPreviousButton();
46 	afx_msg void OnBnClickedNextButton();
47 	afx_msg void OnBnClickedSaveButton();
48 };
49