Apply backgroundcolors.patch
[TortoiseGit.git] / src / TortoiseMerge / SetColorPage.h
blob5f524592dfe8caeb05d11294b0bf2c28ffd566a4
1 // TortoiseGitMerge - a Diff/Patch program
3 // Copyright (C) 2006-2008, 2013-2014, 2017, 2020 - TortoiseSVN
4 // Copyright (C) 2016, 2023 - TortoiseGit
6 // This program is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU General Public License
8 // as published by the Free Software Foundation; either version 2
9 // of the License, or (at your option) any later version.
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software Foundation,
18 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #pragma once
22 #include "registry.h"
25 /**
26 * \ingroup TortoiseMerge
27 * Color settings page
29 class CSetColorPage : public CPropertyPage
31 DECLARE_DYNAMIC(CSetColorPage)
33 public:
34 CSetColorPage();
35 virtual ~CSetColorPage();
36 /**
37 * Saves the changed settings to the registry.
38 * \remark If the dialog is closed/dismissed without calling
39 * this method first then all settings the user made must be
40 * discarded!
42 void SaveData();
44 BOOL m_bReloadNeeded = FALSE;
45 bool m_IsDarkMode;
47 // Dialog Data
48 enum { IDD = IDD_SETCOLORPAGE };
50 protected:
51 void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
52 BOOL OnInitDialog() override;
53 void SetupColorButtons();
54 BOOL OnApply() override;
56 afx_msg void OnBnClickedColor();
57 afx_msg void OnBnClickedRestore();
58 afx_msg void OnBnClickedDarkmode();
60 DECLARE_MESSAGE_MAP()
62 protected:
63 BOOL m_bInit = FALSE;
64 CRegDWORD m_regInlineAdded;
65 CRegDWORD m_regInlineRemoved;
66 CRegDWORD m_regModifiedBackground;
67 CRegDWORD m_regDarkInlineAdded;
68 CRegDWORD m_regDarkInlineRemoved;
69 CRegDWORD m_regDarkModifiedBackground;
70 CRegDWORD m_regUseDarkMode;
71 CMFCColorButton m_cBkNormal;
72 CMFCColorButton m_cBkRemoved;
73 CMFCColorButton m_cBkAdded;
74 CMFCColorButton m_cBkInlineAdded;
75 CMFCColorButton m_cBkInlineRemoved;
76 CMFCColorButton m_cBkEmpty;
77 CMFCColorButton m_cBkConflict;
78 CMFCColorButton m_cBkConflictResolved;
79 CMFCColorButton m_cBkModified;
80 CMFCColorButton m_cFgNormal;
81 CMFCColorButton m_cFgRemoved;
82 CMFCColorButton m_cFgAdded;
83 CMFCColorButton m_cFgEmpty;
84 CMFCColorButton m_cFgConflict;
85 CMFCColorButton m_cFgConflictResolved;
86 CMFCColorButton m_cFgWhitespaces;
87 CMFCColorButton m_cBkFiltered;
88 CButton m_chkUseDarkMode;
89 int m_themeCallbackId = 0;