Skip to content

Commit

Permalink
unicode3
Browse files Browse the repository at this point in the history
  • Loading branch information
craftwar committed Jul 10, 2018
1 parent db4de19 commit e28b59b
Show file tree
Hide file tree
Showing 9 changed files with 152 additions and 151 deletions.
8 changes: 4 additions & 4 deletions Lite/AutoUpdate.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ int CAutoUpdater::CompareVersions(CString ver1, CString ver2)
}

// Get version 1 to DWORDs
TCHAR *pToken = strtok(pVer1, _T("."));
TCHAR *pToken = _tcstok(pVer1, _T("."));
if (pToken == NULL)
{
return -21;
Expand All @@ -339,13 +339,13 @@ int CAutoUpdater::CompareVersions(CString ver1, CString ver2)
return -21; // Error in structure, too many parameters
}
wVer1[i] = _tstoi(pToken);
pToken = strtok(NULL, _T("."));
pToken = _tcstok(NULL, _T("."));
i--;
}
ver1.ReleaseBuffer();

// Get version 2 to DWORDs
pToken = strtok(pVer2, _T("."));
pToken = _tcstok(pVer2, _T("."));
if (pToken == NULL)
{
return -22;
Expand All @@ -359,7 +359,7 @@ int CAutoUpdater::CompareVersions(CString ver1, CString ver2)
return -22; // Error in structure, too many parameters
}
wVer2[i] = _tstoi(pToken);
pToken = strtok(NULL, _T("."));
pToken = _tcstok(NULL, _T("."));
i--;
}
ver2.ReleaseBuffer();
Expand Down
20 changes: 10 additions & 10 deletions Lite/BBSHyperLink.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ const char* CBBSHyperLink::FindHyperLink(const char *src, int &len) const
if (pemail && pemail < plink)
return pemail;

//檢查是否為已知連結
//檢查是否為已知連結
for (int i = 0;i < links.GetSize();i++)
{
int scheme_len = links[i].scheme.GetLength();
Expand All @@ -158,16 +158,16 @@ const char* CBBSHyperLink::FindHyperLink(const char *src, int &len) const

void CBBSHyperLink::OpenURL(LPCTSTR url)
{
//查詢是否有設定超連結開啟程式,如果沒有,用預設程式開啟
//查詢是否有設定超連結開啟程式,如果沒有,用預設程式開啟
int t = GetURLType(url);
CString mailto;
LPCTSTR path = url;
LPCTSTR param = NULL;

//檢查是不是e-mail
//檢查是不是e-mail
if (t >= 0)
{
if (t == email) //如果是E-mail
if (t == email) //如果是E-mail
{
mailto = "mailto:";
mailto += url;
Expand All @@ -184,11 +184,11 @@ void CBBSHyperLink::OpenURL(LPCTSTR url)
else
{
#ifdef _COMBO_
if (path == url) //如果是預設程式開啟,而且不是E-mail
if (path == url) //如果是預設程式開啟,而且不是E-mail
((CMainFrame*)AfxGetApp()->m_pMainWnd)->view.ConnectWeb(CAddress(url), AppConfig.link_autoswitch);
else
#endif
::ShellExecute(AfxGetMainWnd()->m_hWnd, "open", path, param, NULL,
::ShellExecute(AfxGetMainWnd()->m_hWnd, TEXT("open"), path, param, NULL,
AppConfig.link_autoswitch ? SW_SHOWMAXIMIZED : SW_SHOWMINIMIZED);
}
}
Expand All @@ -215,7 +215,7 @@ void CBBSHyperLink::Default()
d.color = 0x00ff00;
links.Add(d);

// E-mail為內建型態,要進階處理
// E-mail為內建型態,要進階處理
d.scheme = "@";
d.color = 0xff0080;
email = links.Add(d);
Expand All @@ -226,16 +226,16 @@ void CBBSHyperLink::Default()
int CBBSHyperLink::GetURLType(const char *url)
{
CBBSHyperLinkData* plinks = links.GetData();
//檢查是不是e-mail
//檢查是不是e-mail
const char* psymbol = strstr(url, "://");
if (!psymbol && strchr(url, '@')) //如果是E-mail
if (!psymbol && strchr(url, '@')) //如果是E-mail
return email;

int len = int(psymbol) - int(url);
int i;
for (i = 0;i < links.GetSize(); ++i)
{
if (strnicmp(plinks[i].scheme, url, len) == 0) //如果有偵測到
if (strnicmp(plinks[i].scheme, url, len) == 0) //如果有偵測到
break;
}

Expand Down
2 changes: 1 addition & 1 deletion Lite/Clipboard.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class CClipboard

inline BOOL CClipboard::SetText(HWND owner, LPCTSTR str)
{
return SetText(owner, str, strlen(str));
return SetText(owner, str, _tcslen(str));
}

inline BOOL CClipboard::SetTextW(HWND owner, const wchar_t* str)
Expand Down
7 changes: 4 additions & 3 deletions Lite/ConfigFile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ bool CConfigFile::DoSave(ConfigTable table)
CString str, esc_str;
for (; table->name; table++)
{
str.Format("[%s]\r\n", table->name);
str.Format(TEXT("[%s]\r\n"), table->name);
file.Write(LPCTSTR(str), str.GetLength());

if (table->type == VT_CUSTOM_SECT)
Expand All @@ -209,7 +209,8 @@ bool CConfigFile::DoSave(ConfigTable table)
else
cur_sect = (ConfigEntry*)table->data;

char strval[64]; const char* pstrval;
char strval[64];
const char* pstrval;
for (; cur_sect->name; cur_sect++)
{
pstrval = strval;
Expand Down Expand Up @@ -256,7 +257,7 @@ bool CConfigFile::DoSave(ConfigTable table)
}
break;
}
str.Format("%s=%s\r\n", cur_sect->name, pstrval);
str.Format(TEXT("%s=%s\r\n"), cur_sect->name, pstrval);
file.Write(LPCTSTR(str), str.GetLength());
}
file.Write("\r\n", 2);
Expand Down
8 changes: 4 additions & 4 deletions Lite/ConnectPage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ void CConnectPage::InitWithAddress(const CString& addr)
int pos = address.ReverseFind(':');
if (pos != -1)
{
port = (unsigned short)atoi(address.Mid(pos + 1));
port = (unsigned short)_tstoi(address.Mid(pos + 1));
address = address.Left(pos);
}
}
Expand All @@ -53,7 +53,7 @@ CString CConnectPage::GetFormattedAddress() const
if (port == 23 || port <= 0)
return address;
CString buf;
buf.Format("%s:%d", LPCTSTR(address), port);
buf.Format(TEXT("%s:%d"), LPCTSTR(address), port);
return buf;
}

Expand Down Expand Up @@ -117,7 +117,7 @@ void CConnectPage::OnAddressChanged()
if (addr.IsValid())
{
CString port_text;
port_text.Format("%d", addr.Port());
port_text.Format(TEXT("%d"), addr.Port());
port_field->SetWindowText(port_text);
}
}
}
6 changes: 3 additions & 3 deletions Lite/CtrlEdit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,15 @@ LRESULT CCtrlEdit::OnPaste(WPARAM w, LPARAM l)
if (hmem != NULL)
{
LPSTR data = (LPSTR)GlobalLock(hmem);
if (strstr(data, "\x1b[")) //如果含有色彩控制碼
if (strstr(data, "\x1b[")) //如果含有色彩控制碼
{
CString tmp = data;
tmp.Replace("\x1b[", "^[[");
tmp.Replace(TEXT("\x1b["), TEXT("^[["));
ReplaceSel(tmp, FALSE);
CStringDlg* pdlg = (CStringDlg*)GetParent();
if (pdlg)
{
pdlg->ansi.SetCheck(1); //勾選控制碼選項
pdlg->ansi.SetCheck(1); //勾選控制碼選項
}
}
else
Expand Down
56 changes: 28 additions & 28 deletions Lite/CustomizeDlg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,15 @@ char* CCustomizeDlg::UIRead(CTreeCtrl& tree, char* buf, HTREEITEM parent)
BYTE type = *buf;
// *buf=TYPE;
buf++;
WORD count = *(WORD*)buf; //取得sub item count
buf += 6 + *(WORD*)(buf + 4); //到第一個sub item
WORD count = *(WORD*)buf; //取得sub item count
buf += 6 + *(WORD*)(buf + 4); //到第一個sub item

while (count)
{
LPSTR text;
WORD len;
// type=*buf; id=*(WORD*)(buf+1);
if (!*buf) //如果是separator
if (!*buf) //如果是separator
{
tree.InsertItem(separator, parent);
buf++;
Expand All @@ -72,7 +72,7 @@ char* CCustomizeDlg::UIRead(CTreeCtrl& tree, char* buf, HTREEITEM parent)
data->key = data->fVirt = 0;
data->hitem = hitem;

//將HotkeyData中的id對照accels table,順便建立每個使用同樣id的其他熱鍵
//將HotkeyData中的id對照accels table,順便建立每個使用同樣id的其他熱鍵
if (!(data->type & CT_HAS_SUB))
{
WORD id = data->id;
Expand Down Expand Up @@ -128,10 +128,10 @@ BOOL CCustomizeDlg::OnInitDialog()
DWORD l = ui->GetLength();
char* ui_buf = new char[l];
ui->Read(ui_buf, l);
// 讀取Accelerator
// 讀取Accelerator
accel_count = *(WORD*)ui_buf;
accels = (ACCEL*)(ui_buf + sizeof(WORD));
// 讀取Accelerator結束,開始讀取 UI,建立HotkeyData的list
// 讀取Accelerator結束,開始讀取 UI,建立HotkeyData的list
char* menu = ((char*)accels) + accel_count * sizeof(ACCEL);
menuitem_count = *(WORD*)(menu + 1);
UIRead(tree, menu, TVI_ROOT);
Expand Down Expand Up @@ -179,24 +179,24 @@ void CCustomizeDlg::OnApply()
if (!data)
return;

if (!hkedit.key) //沒設定熱鍵或是有子選單的項目都只更新文字顯示
if (!hkedit.key) //沒設定熱鍵或是有子選單的項目都只更新文字顯示
{
UpdateItemDisplay(hitem);
return;
}

HotkeyData* old = HotkeyDataFromKeys(hkedit.fVirt, hkedit.key);

if (old) //如果現在正要設定熱鍵原本已經被使用
if (old) //如果現在正要設定熱鍵原本已經被使用
{
if (old->id != data->id) //如果本來是被別的功能使用
if (old->id != data->id) //如果本來是被別的功能使用
{
if (MessageBox(LoadString(IDS_REPLACE_OLD_HOTKEY_CONFIRM) , NULL, MB_OKCANCEL | MB_ICONQUESTION) != IDOK)
return;
}
else //如果是正在設定的功能本來就有的熱鍵,先刪除再新增到第一個
else //如果是正在設定的功能本來就有的熱鍵,先刪除再新增到第一個
{
//找出list中對應的項目並刪除
//找出list中對應的項目並刪除
int c = list.GetCount();
for (int i = 0;i < c;i++)
if (list.GetItemData(i) == DWORD(old))
Expand All @@ -208,16 +208,16 @@ void CCustomizeDlg::OnApply()
DeleteHotkeyForID(old);
}

//新增熱鍵
//新增熱鍵
HotkeyData* hkitem = (HotkeyData*)tree.GetItemData(hitem);
WORD id = hkitem->id;
//加到hkitem前一個,並且更新畫面
//加到hkitem前一個,並且更新畫面
hkitem = HotkeyDataFromID(pfirst, id);

while (hkitem)
{
HotkeyData* newkitem;
if (hkitem->key) //如果原本有熱鍵,建立新的,插入到他前面
if (hkitem->key) //如果原本有熱鍵,建立新的,插入到他前面
{
newkitem = new HotkeyData;
newkitem->type = hkitem->type;
Expand All @@ -226,32 +226,32 @@ void CCustomizeDlg::OnApply()
newkitem->fVirt = hkedit.fVirt;
newkitem->key = hkedit.key;
newkitem->hitem = hkitem->hitem;
//插入串列
//插入串列
newkitem->pnext = hkitem;
newkitem->pprev = hkitem->pprev;
hkitem->pprev = newkitem;
if (!newkitem->pprev)
pfirst = newkitem;
else
newkitem->pprev->pnext = newkitem;
//插入串列完成
//插入串列完成
}
else //如果本來沒熱鍵,不用配置記憶體
else //如果本來沒熱鍵,不用配置記憶體
{
newkitem = hkitem;
hkitem->fVirt = hkedit.fVirt;
hkitem->key = hkedit.key;
}

if (newkitem->hitem == hitem) //如果是現在正選取的項目
if (newkitem->hitem == hitem) //如果是現在正選取的項目
{
list.InsertString(0, HotkeyToStr(newkitem->fVirt, newkitem->key));
list.SetItemData(0, DWORD(newkitem));
}
tree.SetItemData(newkitem->hitem, DWORD(newkitem));
UpdateItemDisplay(newkitem->hitem);

while (hkitem && hkitem->id == id) //略過相同id的其他熱鍵
while (hkitem && hkitem->id == id) //略過相同id的其他熱鍵
hkitem = hkitem->pnext;

hkitem = HotkeyDataFromID(hkitem, id);
Expand Down Expand Up @@ -281,7 +281,7 @@ void CCustomizeDlg::OnDel()
void CCustomizeDlg::OnSelChanged(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
list.ResetContent(); //清除list顯示
list.ResetContent(); //清除list顯示
HTREEITEM item = tree.GetSelectedItem();
if (!item)
return;
Expand Down Expand Up @@ -349,7 +349,7 @@ void CCustomizeDlg::OnSelChanged(NMHDR* pNMHDR, LRESULT* pResult)

LRESULT CALLBACK CCustomizeDlg::HotkeyEdit2Proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
char a[] = {0, 0};
TCHAR a[] = {0, 0};
if (msg == WM_CHAR)
{
if (isalnum(wparam))
Expand Down Expand Up @@ -447,9 +447,9 @@ void CCustomizeDlg::UIWriteAccels()
HotkeyData* hkitem = pfirst;
while (hkitem)
{
hkitem->fVirt |= (FNOINVERT | FVIRTKEY); //加入fVirt的其他flags
hkitem->fVirt |= (FNOINVERT | FVIRTKEY); //加入fVirt的其他flags
BOOL can_add = TRUE;
for (int i = 0;i < accel_count;i++) //檢查是否已經有此熱鍵
for (int i = 0;i < accel_count;i++) //檢查是否已經有此熱鍵
{
if (accels[i].fVirt == hkitem->fVirt && accels[i].key == hkitem->key)
{
Expand Down Expand Up @@ -544,7 +544,7 @@ CCustomizeDlg::HotkeyData* CCustomizeDlg::HotkeyDataFromKeys(BYTE fVirt, WORD ke
return NULL;
}

// 從所有具有相同 ID (hkdel->id) 的選單項目中,移除和 hkdel 相同的熱鍵 (hkdel->fVirt + hkdel->key)
// 從所有具有相同 ID (hkdel->id) 的選單項目中,移除和 hkdel 相同的熱鍵 (hkdel->fVirt + hkdel->key)
void CCustomizeDlg::DeleteHotkeyForID(CCustomizeDlg::HotkeyData* hkdel)
{
WORD id = hkdel->id;
Expand All @@ -558,19 +558,19 @@ void CCustomizeDlg::DeleteHotkeyForID(CCustomizeDlg::HotkeyData* hkdel)
if (hkdel->fVirt == fVirt && hkdel->key == key)
{
HTREEITEM hitem = hkdel->hitem;
if (hkdel->pprev && hkdel->pprev->id == id) //如果同id前一個還有熱鍵
if (hkdel->pprev && hkdel->pprev->id == id) //如果同id前一個還有熱鍵
DeleteHotkeyData(hkdel);
else if (hkdel->pnext && hkdel->pnext->id == id) //如果同id前一個沒有但是後一個還有熱鍵
else if (hkdel->pnext && hkdel->pnext->id == id) //如果同id前一個沒有但是後一個還有熱鍵
{
tree.SetItemData(hitem, DWORD(hkdel->pnext));
DeleteHotkeyData(hkdel);
}
else //已經沒有熱鍵了,不能釋放記憶體
else //已經沒有熱鍵了,不能釋放記憶體
{
hkdel->fVirt = 0;
hkdel->key = 0;
}
UpdateItemDisplay(hitem); //更新文字顯示
UpdateItemDisplay(hitem); //更新文字顯示
}
hkdel = knext;
}
Expand Down
Loading

0 comments on commit e28b59b

Please sign in to comment.