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 SelectFilterByFilePath(const String& path);
46 void AddToGrid(int filterIndex);
47 bool IsFilterItemNone(int item) const;
48 void UpdateFiltersList();
49 void EditFileFilter(const String& path);
52 // ClassWizard generated virtual function overrides
53 //{{AFX_VIRTUAL(FileFiltersDlg)
55 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
58 // Generated message map functions
59 //{{AFX_MSG(FileFiltersDlg)
60 virtual BOOL OnInitDialog() override;
62 afx_msg void OnFiltersEditbtn();
63 afx_msg void OnDblclkFiltersList(NMHDR* pNMHDR, LRESULT* pResult);
64 afx_msg void OnLvnItemchangedFilterfileList(NMHDR *pNMHDR, LRESULT *pResult);
65 afx_msg void OnInfoTip(NMHDR * pNMHDR, LRESULT * pResult);
66 afx_msg void OnMouseMove(UINT nFlags, CPoint point);
67 afx_msg void OnBnClickedFilterfileTestButton();
68 afx_msg void OnBnClickedFilterfileNewbutton();
69 afx_msg void OnBnClickedFilterfileDelete();
70 afx_msg void OnHelp();
71 afx_msg void OnBnClickedFilterfileInstall();