• R/O
  • HTTP
  • SSH
  • HTTPS

winmerge-jp: Commit


Commit MetaInfo

Révision781d4ad78632e9c5e6092c0267f7dc0363170543 (tree)
l'heure2014-02-09 13:24:00
Auteursdottaka <sdottaka@sour...>
Commitersdottaka

Message de Log

Enable changing save codepage

--HG--
branch : stable

Change Summary

Modification

--- a/Src/DiffTextBuffer.h
+++ b/Src/DiffTextBuffer.h
@@ -62,7 +62,7 @@ public :
6262 ucr::UNICODESET getUnicoding() const { return m_encoding.m_unicoding; }
6363 void setUnicoding(ucr::UNICODESET value) { m_encoding.m_unicoding = value; }
6464 int getCodepage() const { return m_encoding.m_codepage; }
65- void setCodepage(int value) { m_encoding.m_codepage = value; }
65+ void setCodepage(int value) { m_encoding.SetCodepage(value); }
6666 bool getHasBom() const { return m_encoding.m_bom; }
6767 void setHasBom(bool value) { m_encoding.m_bom = value; }
6868 const FileTextEncoding & getEncoding() const { return m_encoding; }
--- a/Src/LoadSaveCodepageDlg.cpp
+++ b/Src/LoadSaveCodepageDlg.cpp
@@ -107,8 +107,9 @@ BOOL CLoadSaveCodepageDlg::OnInitDialog()
107107 IExconverter *pexconv = Exconverter::getInstance();
108108 if (pexconv != NULL)
109109 {
110- CComboBox combo;
111- combo.Attach(::GetDlgItem(m_hWnd, IDC_LOAD_CODEPAGE_TEXTBOX));
110+ CComboBox combol, combos;
111+ combol.Attach(::GetDlgItem(m_hWnd, IDC_LOAD_CODEPAGE_TEXTBOX));
112+ combos.Attach(::GetDlgItem(m_hWnd, IDC_SAVE_CODEPAGE_TEXTBOX));
112113 CodePageInfo cpi[256];
113114 int count = pexconv->enumCodePages(cpi, sizeof(cpi)/sizeof(CodePageInfo));
114115 int i, j;
@@ -118,13 +119,19 @@ BOOL CLoadSaveCodepageDlg::OnInitDialog()
118119 continue;
119120 TCHAR desc[256];
120121 wsprintf(desc, _T("%05d - %ls"), cpi[i].codepage, cpi[i].desc);
121- combo.AddString(desc);
122- combo.SetItemData(j, cpi[i].codepage);
122+ combol.AddString(desc);
123+ combol.SetItemData(j, cpi[i].codepage);
124+ combos.AddString(desc);
125+ combos.SetItemData(j, cpi[i].codepage);
123126 if (cpi[i].codepage == m_nLoadCodepage)
124- combo.SetCurSel(j);
127+ {
128+ combol.SetCurSel(j);
129+ combos.SetCurSel(j);
130+ }
125131 j++;
126132 }
127- combo.Detach();
133+ combol.Detach();
134+ combos.Detach();
128135 }
129136
130137 AfxGetMainWnd()->CenterWindow(this);
--- a/Src/MergeDocEncoding.cpp
+++ b/Src/MergeDocEncoding.cpp
@@ -50,6 +50,7 @@ bool CMergeDoc::DoFileEncodingDialog()
5050 return false;
5151
5252 CLoadSaveCodepageDlg dlg(m_nBuffers);
53+ dlg.EnableSaveCodepage(true);
5354 dlg.SetCodepages(m_ptBuf[0]->getCodepage());
5455 if (IDOK != dlg.DoModal())
5556 return false;
@@ -79,7 +80,24 @@ bool CMergeDoc::DoFileEncodingDialog()
7980 theApp.m_strDescriptions[pane] = m_strDesc[pane];
8081 }
8182 OpenDocs(fileloc, bRO);
82-
83+
84+ if (dlg.GetSaveCodepage() != dlg.GetLoadCodepage())
85+ {
86+ int nSaveCodepage = dlg.GetSaveCodepage();
87+ for (int pane = 0; pane < m_nBuffers; pane++)
88+ {
89+ bRO[pane] = m_ptBuf[pane]->GetReadOnly();
90+ if ((pane == 0 && doLeft) ||
91+ (pane == 1 && doRight && m_nBuffers < 3) ||
92+ (pane == 1 && doMiddle && m_nBuffers == 3) ||
93+ (pane == 2 && doRight && m_nBuffers == 3))
94+ {
95+ m_ptBuf[pane]->setCodepage(nSaveCodepage);
96+ m_ptBuf[pane]->SetModified();
97+ UpdateHeaderPath(pane);
98+ }
99+ }
100+ }
83101 return true;
84102 }
85103
Afficher sur ancien navigateur de dépôt.