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
);
41 DDX_Control(pDX
, IDC_BUGTRAQ_LOGREGEX
, m_BugtraqRegex1
);
45 BEGIN_MESSAGE_MAP(CSettingsBugtraqConfig
, ISettingsPropPage
)
47 ON_EN_CHANGE(IDC_BUGTRAQ_URL
, &CSettingsBugtraqConfig::OnEnChangeBugtraqUrl
)
48 ON_BN_CLICKED(IDC_BUGTRAQ_WARNINGIFNOISSUE_TRUE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqWarningifnoissueTrue
)
49 ON_BN_CLICKED(IDC_BUGTRAQ_WARNINGIFNOISSUE_FALSE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqWarningifnoissueFalse
)
50 ON_EN_CHANGE(IDC_BUGTRAQ_MESSAGE
, &CSettingsBugtraqConfig::OnEnChangeBugtraqMessage
)
51 ON_BN_CLICKED(IDC_BUGTRAQ_APPEND_TRUE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqAppendTrue
)
52 ON_BN_CLICKED(IDC_BUGTRAQ_APPEND_FALSE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqAppendFalse
)
53 ON_EN_CHANGE(IDC_BUGTRAQ_LABEL
, &CSettingsBugtraqConfig::OnEnChangeBugtraqLabel
)
54 ON_BN_CLICKED(IDC_BUGTRAQ_NUMBER_TRUE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqNumberTrue
)
55 ON_BN_CLICKED(IDC_BUGTRAQ_NUMBER_FALSE
, &CSettingsBugtraqConfig::OnBnClickedBugtraqNumberFalse
)
56 ON_EN_CHANGE(IDC_BUGTRAQ_LOGREGEX
, &CSettingsBugtraqConfig::OnEnChangeBugtraqLogregex
)
59 BOOL
CSettingsBugtraqConfig::OnInitDialog()
61 ISettingsPropPage::OnInitDialog();
62 ProjectProperties::GetStringProps(this->m_URL
,_T("bugtraq.url"));
63 ProjectProperties::GetStringProps(this->m_Logregex
,_T("bugtraq.logregex"),false);
64 ProjectProperties::GetStringProps(this->m_Label
,_T("bugtraq.label"));
65 ProjectProperties::GetStringProps(this->m_Message
,_T("bugtraq.message"));
67 ProjectProperties::GetBOOLProps(this->m_bNAppend
,_T("bugtraq.append"));
68 ProjectProperties::GetBOOLProps(this->m_bNNumber
,_T("bugtraq.number"));
69 ProjectProperties::GetBOOLProps(this->m_bNWarningifnoissue
,_T("bugtraq.warnifnoissue"));
72 m_Logregex
.Replace(_T("\n"),_T("\r\n"));
74 m_bNAppend
= !m_bNAppend
;
75 m_bNNumber
= !m_bNNumber
;
76 m_bNWarningifnoissue
= !m_bNWarningifnoissue
;
78 this->UpdateData(FALSE
);
82 BOOL
CSettingsBugtraqConfig::OnApply()
87 if(m_ChangeMask
& BUG_URL
)
89 if (g_Git
.SetConfigValue(_T("bugtraq.url"), m_URL
,CONFIG_LOCAL
, CP_UTF8
))
91 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
95 if(m_ChangeMask
& BUG_WARNING
)
97 if(g_Git
.SetConfigValue(_T("bugtraq.warnifnoissue"),(!this->m_bNWarningifnoissue
)?_T("true"):_T("false")))
99 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
104 if(m_ChangeMask
& BUG_MESSAGE
)
106 if(g_Git
.SetConfigValue(_T("bugtraq.message"),m_Message
,CONFIG_LOCAL
,g_Git
.GetGitEncode(L
"i18n.commitencoding")))
108 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
112 if(m_ChangeMask
& BUG_APPEND
)
114 if(g_Git
.SetConfigValue(_T("bugtraq.append"),(!this->m_bNAppend
)?_T("true"):_T("false")))
116 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
121 if(m_ChangeMask
& BUG_LABEL
)
123 if(g_Git
.SetConfigValue(_T("bugtraq.label"),m_Label
))
125 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
129 if(m_ChangeMask
&BUG_NUMBER
)
131 if(g_Git
.SetConfigValue(_T("bugtraq.number"),(!this->m_bNNumber
)?_T("true"):_T("false")))
133 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
137 if(m_ChangeMask
& BUG_LOGREGEX
)
139 m_Logregex
.Replace(_T("\r\n"),_T("\n"));
140 if(g_Git
.SetConfigValue(_T("bugtraq.logregex"),m_Logregex
))
142 CMessageBox::Show(NULL
,_T("Fail to set config"),_T("TortoiseGit"),MB_OK
);
144 m_Logregex
.Replace(_T("\n"),_T("\r\n"));
150 // CSettingsBugtraqConfig message handlers
152 void CSettingsBugtraqConfig::OnEnChangeBugtraqUrl()
154 m_ChangeMask
|= BUG_URL
;
158 void CSettingsBugtraqConfig::OnBnClickedBugtraqWarningifnoissueTrue()
160 m_ChangeMask
|= BUG_WARNING
;
164 void CSettingsBugtraqConfig::OnBnClickedBugtraqWarningifnoissueFalse()
166 m_ChangeMask
|= BUG_WARNING
;
170 void CSettingsBugtraqConfig::OnEnChangeBugtraqMessage()
172 m_ChangeMask
|= BUG_MESSAGE
;
176 void CSettingsBugtraqConfig::OnBnClickedBugtraqAppendTrue()
178 m_ChangeMask
|= BUG_APPEND
;
182 void CSettingsBugtraqConfig::OnBnClickedBugtraqAppendFalse()
184 m_ChangeMask
|= BUG_APPEND
;
188 void CSettingsBugtraqConfig::OnEnChangeBugtraqLabel()
190 m_ChangeMask
|= BUG_LABEL
;
194 void CSettingsBugtraqConfig::OnBnClickedBugtraqNumberTrue()
196 m_ChangeMask
|= BUG_NUMBER
;
200 void CSettingsBugtraqConfig::OnBnClickedBugtraqNumberFalse()
202 m_ChangeMask
|= BUG_NUMBER
;
206 void CSettingsBugtraqConfig::OnEnChangeBugtraqLogregex()
208 m_ChangeMask
|= BUG_LOGREGEX
;