1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * @file FileFiltersDlg.h
5 * @brief Declaration file for File Filters dialog
12 struct FileFilterInfo;
15 * @brief Class for dialog allowing user to select
16 * and edit used file filters
18 class FileFiltersDlg : public CTrPropertyPage
20 DECLARE_DYNCREATE(FileFiltersDlg)
24 FileFiltersDlg(); // standard constructor
25 void SetFilterArray(const std::vector<FileFilterInfo>& fileFilters);
27 void SetSelected(const String & selected);
29 // Implementation data
31 String m_sFileFilterPath;
32 CPoint m_ptLastMousePos;
33 std::vector<FileFilterInfo> m_Filters;
36 //{{AFX_DATA(FileFiltersDlg)
37 enum { IDD = IDD_FILTERS_FILEFILTERS };
38 CListCtrl m_listFilters;
41 // Implementation methods
44 void SelectFilterByIndex(int index);
45 void AddToGrid(int filterIndex);
46 bool IsFilterItemNone(int item) const;
47 void UpdateFiltersList();
48 void EditFileFilter(const String& path);
51 // ClassWizard generated virtual function overrides
52 //{{AFX_VIRTUAL(FileFiltersDlg)
54 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
57 // Generated message map functions
58 //{{AFX_MSG(FileFiltersDlg)
59 virtual BOOL OnInitDialog() override;
61 afx_msg void OnFiltersEditbtn();
62 afx_msg void OnDblclkFiltersList(NMHDR* pNMHDR, LRESULT* pResult);
63 afx_msg void OnLvnItemchangedFilterfileList(NMHDR *pNMHDR, LRESULT *pResult);
64 afx_msg void OnInfoTip(NMHDR * pNMHDR, LRESULT * pResult);
65 afx_msg void OnMouseMove(UINT nFlags, CPoint point);
66 afx_msg void OnBnClickedFilterfileTestButton();
67 afx_msg void OnBnClickedFilterfileNewbutton();
68 afx_msg void OnBnClickedFilterfileDelete();
69 afx_msg void OnHelp();
70 afx_msg void OnBnClickedFilterfileInstall();