OSDN Git Service

Fix a crash problem when the Diff algorithm is set to something other than default...
[winmerge-jp/winmerge-jp.git] / Src / PropShell.h
1 /**
2  * @file  PropShell.h
3  *
4  * @brief Declaration of Shell options dialog class
5  */
6 #pragma once
7
8 #include "OptionsPanel.h"
9
10
11 /**
12  * @brief Class for Shell options -propertypage.
13  */
14 class PropShell : public OptionsPanel
15 {
16 // Construction
17 public:
18         explicit PropShell(COptionsMgr *optionsMgr);
19
20 // Implement IOptionsPanel
21         virtual void ReadOptions() override;
22         virtual void WriteOptions() override;
23
24 // Dialog Data
25         enum { IDD = IDD_PROPPAGE_SHELL };
26         bool m_bContextAdded;
27         bool m_bContextAdvanced;
28         bool m_bContextCompareAs;
29         CListCtrl m_list;
30
31 // Overrides
32         protected:
33         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
34
35 // Implementation
36 protected:
37         virtual BOOL OnInitDialog() override;
38         afx_msg void OnAddToExplorer();
39         afx_msg void OnAddToExplorerAdvanced();
40         afx_msg void OnRegisterShellExtension();
41         afx_msg void OnUnregisterShellExtension();
42         afx_msg void OnRegisterShellExtensionPerUser();
43         afx_msg void OnUnregisterShellExtensionPerUser();
44         afx_msg void OnRegisterWinMergeContextMenu();
45         afx_msg void OnUnregisterWinMergeContextMenu();
46         afx_msg void OnClearAllRecentItems();
47         afx_msg void OnTimer(UINT_PTR nIDEvent);
48
49         void GetContextRegValues();
50         void AdvancedContextMenuCheck();
51         void CompareAsContextMenuCheck();
52         void UpdateButtons();
53
54         DECLARE_MESSAGE_MAP()
55
56         void SaveMergePath();
57 };