1 // settings\SettingsBugtraqConfig.cpp : implementation file
5 #include "TortoiseProc.h"
6 #include "settings\SettingsBugtraqConfig.h"
7 #include "ProjectProperties.h"
9 #include "messagebox.h"
10 // CSettingsBugtraqConfig dialog
12 IMPLEMENT_DYNAMIC(CSettingsBugtraqConfig
, ISettingsPropPage
)
14 CSettingsBugtraqConfig::CSettingsBugtraqConfig(CString cmdPath
)
15 : ISettingsPropPage(CSettingsBugtraqConfig::IDD
)
17 , m_bNWarningifnoissue(FALSE
)
27 CSettingsBugtraqConfig::~CSettingsBugtraqConfig()
31 void CSettingsBugtraqConfig::DoDataExchange(CDataExchange
* pDX
)
33 CPropertyPage::DoDataExchange(pDX
);
34 DDX_Text(pDX
, IDC_BUGTRAQ_URL
, m_URL
);
35 DDX_Radio(pDX
, IDC_BUGTRAQ_WARNINGIFNOISSUE_TRUE
, m_bNWarningifnoissue
);
36 DDX_Text(pDX
, IDC_BUGTRAQ_MESSAGE
, m_Message
);
37 DDX_Radio(pDX
, IDC_BUGTRAQ_APPEND_TRUE
, m_bNAppend
);
38 DDX_Text(pDX
, IDC_BUGTRAQ_LABEL
, m_Label
);
39 DDX_Radio(pDX
, IDC_BUGTRAQ_NUMBER_TRUE
, m_bNNumber
);
40 DDX_Text(pDX
, IDC_BUGTRAQ_LOGREGEX
, m_Logregex
);
44 BEGIN_MESSAGE_MAP(CSettingsBugtraqConfig
, ISettingsPropPage
)
46 ON_EN_CHANGE(IDC_BUGTRAQ_URL
, &CSettingsBugtraqConfig::OnEnChangeBugtraqUrl
)
47 ON_BN_CLICKED(IDC_BUGTRAQ_WARNINGIFNOISSUE_TRUE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqWarningifnoissueTrue
)
48 ON_BN_CLICKED(IDC_BUGTRAQ_WARNINGIFNOISSUE_FALSE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqWarningifnoissueFalse
)
49 ON_EN_CHANGE(IDC_BUGTRAQ_MESSAGE
, &CSettingsBugtraqConfig::OnEnChangeBugtraqMessage
)
50 ON_BN_CLICKED(IDC_BUGTRAQ_APPEND_TRUE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqAppendTrue
)
51 ON_BN_CLICKED(IDC_BUGTRAQ_APPEND_FALSE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqAppendFalse
)
52 ON_EN_CHANGE(IDC_BUGTRAQ_LABEL
, &CSettingsBugtraqConfig::OnEnChangeBugtraqLabel
)
53 ON_BN_CLICKED(IDC_BUGTRAQ_NUMBER_TRUE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqNumberTrue
)
54 ON_BN_CLICKED(IDC_BUGTRAQ_NUMBER_FALSE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqNumberFalse
)
55 ON_EN_CHANGE(IDC_BUGTRAQ_LOGREGEX
, &CSettingsBugtraqConfig::OnEnChangeBugtraqLogregex
)
58 BOOL
CSettingsBugtraqConfig::OnInitDialog()
60 ISettingsPropPage::OnInitDialog();
61 ProjectProperties::GetStringProps(this->m_URL
,_T("bugtraq.url"));
62 ProjectProperties::GetStringProps(this->m_Logregex
,_T("bugtraq.logregex"),false);
63 ProjectProperties::GetStringProps(this->m_Label
,_T("bugtraq.label"));
64 ProjectProperties::GetStringProps(this->m_Message
,_T("bugtraq.message"));
66 ProjectProperties::GetBOOLProps(this->m_bNAppend
,_T("bugtraq.append"));
67 ProjectProperties::GetBOOLProps(this->m_bNNumber
,_T("bugtraq.number"));
68 ProjectProperties::GetBOOLProps(this->m_bNWarningifnoissue
,_T("bugtraq.warnifnoissue"));
71 m_Logregex
.Replace(_T("\n"),_T("\r\n"));
73 m_bNAppend
= !m_bNAppend
;
74 m_bNNumber
= !m_bNNumber
;
75 m_bNWarningifnoissue
= !m_bNWarningifnoissue
;
77 this->UpdateData(FALSE
);
81 BOOL
CSettingsBugtraqConfig::OnApply()
86 if(m_ChangeMask
& BUG_URL
)
88 if (g_Git
.SetConfigValue(_T("bugtraq.url"), m_URL
,CONFIG_LOCAL
, CP_UTF8
))
90 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
94 if(m_ChangeMask
& BUG_WARNING
)
96 if(g_Git
.SetConfigValue(_T("bugtraq.warnifnoissue"),(!this->m_bNWarningifnoissue
)?_T("true"):_T("false")))
98 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
103 if(m_ChangeMask
& BUG_MESSAGE
)
105 if(g_Git
.SetConfigValue(_T("bugtraq.message"),m_Message
,CONFIG_LOCAL
,g_Git
.GetGitEncode(L
"i18n.commitencoding")))
107 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
111 if(m_ChangeMask
& BUG_APPEND
)
113 if(g_Git
.SetConfigValue(_T("bugtraq.append"),(!this->m_bNAppend
)?_T("true"):_T("false")))
115 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
120 if(m_ChangeMask
& BUG_LABEL
)
122 if(g_Git
.SetConfigValue(_T("bugtraq.label"),m_Label
))
124 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
128 if(m_ChangeMask
&BUG_NUMBER
)
130 if(g_Git
.SetConfigValue(_T("bugtraq.number"),(!this->m_bNNumber
)?_T("true"):_T("false")))
132 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
136 if(m_ChangeMask
& BUG_LOGREGEX
)
138 m_Logregex
.Replace(_T("\r\n"),_T("\n"));
139 if(g_Git
.SetConfigValue(_T("bugtraq.logregex"),m_Logregex
))
141 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
143 m_Logregex
.Replace(_T("\n"),_T("\r\n"));
149 // CSettingsBugtraqConfig message handlers
151 void CSettingsBugtraqConfig::OnEnChangeBugtraqUrl()
153 m_ChangeMask
|= BUG_URL
;
157 void CSettingsBugtraqConfig::OnBnClickedBugtraqWarningifnoissueTrue()
159 m_ChangeMask
|= BUG_WARNING
;
163 void CSettingsBugtraqConfig::OnBnClickedBugtraqWarningifnoissueFalse()
165 m_ChangeMask
|= BUG_WARNING
;
169 void CSettingsBugtraqConfig::OnEnChangeBugtraqMessage()
171 m_ChangeMask
|= BUG_MESSAGE
;
175 void CSettingsBugtraqConfig::OnBnClickedBugtraqAppendTrue()
177 m_ChangeMask
|= BUG_APPEND
;
181 void CSettingsBugtraqConfig::OnBnClickedBugtraqAppendFalse()
183 m_ChangeMask
|= BUG_APPEND
;
187 void CSettingsBugtraqConfig::OnEnChangeBugtraqLabel()
189 m_ChangeMask
|= BUG_LABEL
;
193 void CSettingsBugtraqConfig::OnBnClickedBugtraqNumberTrue()
195 m_ChangeMask
|= BUG_NUMBER
;
199 void CSettingsBugtraqConfig::OnBnClickedBugtraqNumberFalse()
201 m_ChangeMask
|= BUG_NUMBER
;
205 void CSettingsBugtraqConfig::OnEnChangeBugtraqLogregex()
207 m_ChangeMask
|= BUG_LOGREGEX
;