361 lines
10 KiB
C++
361 lines
10 KiB
C++
// TouchSetupDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "TouchBoard.h"
|
|
#include "TouchSetupDlg.h"
|
|
#include "TouchBoardDlg.h"
|
|
#include "afxdialogex.h"
|
|
|
|
|
|
// CTouchSetupDlg dialog
|
|
|
|
extern CTouchBoardDlg *g_pMainDlg;
|
|
|
|
IMPLEMENT_DYNAMIC(CTouchSetupDlg, CDialogEx)
|
|
|
|
CTouchSetupDlg::CTouchSetupDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialogEx(CTouchSetupDlg::IDD, pParent)
|
|
{
|
|
m_bSendLineIn = FALSE;
|
|
ZeroMemory(m_ctAddr, sizeof(m_ctAddr));
|
|
ZeroMemory(m_esAddr, sizeof(m_esAddr));
|
|
ZeroMemory(m_psAddr, sizeof(m_psAddr));
|
|
}
|
|
|
|
CTouchSetupDlg::~CTouchSetupDlg()
|
|
{
|
|
}
|
|
|
|
void CTouchSetupDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialogEx::DoDataExchange(pDX);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CTouchSetupDlg, CDialogEx)
|
|
ON_BN_CLICKED(IDC_BUTTON_SELECT1, &CTouchSetupDlg::OnBnClickedButtonSelect1)
|
|
ON_BN_CLICKED(IDC_BUTTON_SELECT2, &CTouchSetupDlg::OnBnClickedButtonSelect2)
|
|
ON_BN_CLICKED(IDC_BUTTON_SAVE, &CTouchSetupDlg::OnBnClickedButtonSave)
|
|
ON_BN_CLICKED(IDC_BUTTON_MICVOL_MINUS, &CTouchSetupDlg::OnBnClickedButtonMicvolMinus)
|
|
ON_BN_CLICKED(IDC_BUTTON_MICVOL_PLUS, &CTouchSetupDlg::OnBnClickedButtonMicvolPlus)
|
|
ON_BN_CLICKED(IDC_BUTTON_LINEVOL_MINUS, &CTouchSetupDlg::OnBnClickedButtonLinevolMinus)
|
|
ON_BN_CLICKED(IDC_BUTTON_LINEVOL_PLUS, &CTouchSetupDlg::OnBnClickedButtonLinevolPlus)
|
|
ON_BN_CLICKED(IDC_CHECK_LINESEND, &CTouchSetupDlg::OnBnClickedCheckLinesend)
|
|
ON_BN_CLICKED(IDCANCEL, &CTouchSetupDlg::OnBnClickedCancel)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
// CTouchSetupDlg message handlers
|
|
|
|
|
|
void CTouchSetupDlg::OnBnClickedButtonSelect1()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
TCHAR szFilter[] = L"½ÇÇàÆÄÀÏ(*.exe)|*.exe|All Files(*.*)|*.*||";
|
|
CString strPathName;
|
|
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, szFilter);
|
|
|
|
if(IDOK == dlg.DoModal()) {
|
|
strPathName = dlg.GetPathName();
|
|
GetDlgItem(IDC_EDIT_WIRELESS_EXEC)->SetWindowTextW(strPathName);
|
|
}
|
|
TRACE("pszPathname : %S", strPathName);
|
|
}
|
|
|
|
|
|
void CTouchSetupDlg::OnBnClickedButtonSelect2()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
TCHAR szFilter[] = L"½ÇÇàÆÄÀÏ(*.exe)|*.exe|All Files(*.*)|*.*||";
|
|
CString strPathName;
|
|
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, szFilter);
|
|
|
|
if(IDOK == dlg.DoModal()) {
|
|
strPathName = dlg.GetPathName();
|
|
GetDlgItem(IDC_EDIT_CALL_EXEC)->SetWindowTextW(strPathName);
|
|
}
|
|
}
|
|
|
|
|
|
void CTouchSetupDlg::LoadSettings()
|
|
{
|
|
TCHAR strPath[512] = {0, };
|
|
CString strFilePath;
|
|
HRESULT hr = SHGetFolderPath(0, CSIDL_LOCAL_APPDATA, 0, 0, strPath);
|
|
FILE *fp = NULL;
|
|
|
|
strFilePath = strPath;
|
|
strFilePath += L"\\touch_setting.txt";
|
|
m_bSendTTS = FALSE;
|
|
|
|
_wfopen_s(&fp, strFilePath, L"rt");
|
|
if(fp)
|
|
{
|
|
char strLine[128 * 1024];
|
|
char strData[128 * 1024];
|
|
char *pResult;
|
|
int isChecked;
|
|
|
|
while(!feof(fp))
|
|
{
|
|
ZeroMemory(strLine, sizeof(strLine));
|
|
pResult = fgets(strLine, sizeof(strLine), fp);
|
|
if(!pResult)
|
|
break;
|
|
|
|
ZeroMemory(strData, sizeof(strData));
|
|
if (strncmp(strLine, "CT_ADDRESS=", strlen("CT_ADDRESS=")) == 0) {
|
|
INT32 value[4];
|
|
sscanf_s(strLine, "CT_ADDRESS=%d.%d.%d.%d", &value[0], &value[1], &value[2], &value[3]);
|
|
for (int i = 0; i < 4; i++)
|
|
m_ctAddr[i] = value[i];
|
|
//swscanf_s(strLine, L"CT_ADDRESS=%d.%d.%d.%d", &m_ctAddr[0], &m_ctAddr[1], &m_ctAddr[2], &m_ctAddr[3]);
|
|
} else if (strncmp(strLine, "ES_ADDRESS=", strlen("ES_ADDRESS=")) == 0) {
|
|
INT32 value[4];
|
|
sscanf_s(strLine, "ES_ADDRESS=%d.%d.%d.%d", &value[0], &value[1], &value[2], &value[3]);
|
|
for (int i = 0; i < 4; i++)
|
|
m_esAddr[i] = value[i];
|
|
} else if (strncmp(strLine, "PS_ADDRESS=", strlen("PS_ADDRESS=")) == 0) {
|
|
INT32 value[4];
|
|
sscanf_s(strLine, "PS_ADDRESS=%d.%d.%d.%d", &value[0], &value[1], &value[2], &value[3]);
|
|
for (int i = 0; i < 4; i++)
|
|
m_psAddr[i] = value[i];
|
|
} else if(strncmp(strLine, "WIRELESS_PATH=", strlen("WIRELESS_PATH=")) == 0) {
|
|
sscanf_s(strLine, "WIRELESS_PATH=%[^\r\n]", strData, _countof(strData));
|
|
m_strWirelessPath = strData;
|
|
} else if(strncmp(strLine, "CALL_PATH=", strlen("CALL_PATH=")) == 0) {
|
|
sscanf_s(strLine, "CALL_PATH=%[^\r\n]", strData, _countof(strData));
|
|
m_strCallPath = strData;
|
|
} else if(strncmp(strLine, "SEND_TTS_MSG=", strlen("SEND_TTS_MSG=")) == 0) {
|
|
sscanf_s(strLine, "SEND_TTS_MSG=%[^\r\n]", strData, _countof(strData));
|
|
if(atoi(strData) == 1) {
|
|
//m_bSendTTS = TRUE;
|
|
}
|
|
} else if(strncmp(strLine, "TTS_MSG=", strlen("TTS_MSG=")) == 0) {
|
|
UTF8_CONVERSION_EX;
|
|
sscanf_s(strLine, "TTS_MSG=%[^\r\n]", strData, _countof(strData));
|
|
m_strTTSMessage = UTF82W_EX((char *)strData);
|
|
m_strTTSMessage.Replace(L"|", L"\r\n");
|
|
}
|
|
}
|
|
fclose(fp);
|
|
|
|
TRACE(L"LOAD SETTINGS : %s\n", strFilePath);
|
|
}
|
|
else
|
|
{
|
|
for(INT32 i = 0;i < 4;i++)
|
|
m_ctAddr[i] = 0;
|
|
|
|
m_strWirelessPath = "";
|
|
m_strCallPath = "";
|
|
}
|
|
}
|
|
|
|
void CTouchSetupDlg::SaveSettings()
|
|
{
|
|
TCHAR strPath[512] = {0, };
|
|
CString strFilePath;
|
|
CString strInfo;
|
|
UINT isChecked;
|
|
HRESULT hr = SHGetFolderPath(0, CSIDL_LOCAL_APPDATA, 0, 0, strPath);
|
|
FILE *fp = NULL;
|
|
BYTE addr[4];
|
|
BOOL isIpChanged = false;
|
|
|
|
strFilePath = strPath;
|
|
strFilePath += L"\\touch_setting.txt";
|
|
|
|
CIPAddressCtrl *pCtrl = (CIPAddressCtrl *)GetDlgItem(IDC_IPADDRESS_CT);
|
|
pCtrl->GetAddress(addr[0], addr[1], addr[2], addr[3]);
|
|
for(INT32 i = 0;i < 4;i++) {
|
|
if(addr[i] != m_ctAddr[i])
|
|
isIpChanged = true;
|
|
|
|
m_ctAddr[i] = addr[i];
|
|
}
|
|
|
|
pCtrl = (CIPAddressCtrl *)GetDlgItem(IDC_IPADDRESS_ES);
|
|
pCtrl->GetAddress(addr[0], addr[1], addr[2], addr[3]);
|
|
for (INT32 i = 0; i < 4; i++) {
|
|
if (addr[i] != m_esAddr[i])
|
|
isIpChanged = true;
|
|
|
|
m_esAddr[i] = addr[i];
|
|
}
|
|
|
|
pCtrl = (CIPAddressCtrl *)GetDlgItem(IDC_IPADDRESS_PS);
|
|
pCtrl->GetAddress(addr[0], addr[1], addr[2], addr[3]);
|
|
for (INT32 i = 0; i < 4; i++) {
|
|
if (addr[i] != m_psAddr[i])
|
|
isIpChanged = true;
|
|
|
|
m_psAddr[i] = addr[i];
|
|
}
|
|
|
|
//pCtrl->GetAddress(m_ctAddr[0], m_ctAddr[1], m_ctAddr[2], m_ctAddr[3]);
|
|
CEdit *pEdit = (CEdit *)GetDlgItem(IDC_EDIT_CALL_EXEC);
|
|
pEdit->GetWindowTextW(m_strCallPath);
|
|
pEdit = (CEdit *)GetDlgItem(IDC_EDIT_WIRELESS_EXEC);
|
|
pEdit->GetWindowTextW(m_strWirelessPath);
|
|
|
|
pEdit = (CEdit *)GetDlgItem(IDC_EDIT_TTS);
|
|
pEdit->GetWindowTextW(m_strTTSMessage);
|
|
|
|
CButton *pBox = (CButton *)GetDlgItem(IDC_CHECK_TTS);
|
|
if(pBox->GetCheck()) {
|
|
m_bSendTTS = TRUE;
|
|
} else {
|
|
m_bSendTTS = FALSE;
|
|
}
|
|
|
|
if(m_bSendTTS) {
|
|
if(m_strTTSMessage.GetLength() > 0) {
|
|
char strTTSMessage[128 * 1024];
|
|
UTF8_CONVERSION_EX;
|
|
CString strMsg = m_strTTSMessage;
|
|
strMsg.Replace(L"\r\n", L".");
|
|
sprintf(strTTSMessage, "BYPASS\r\nREQUEST_TTS_MESSAGE=0|%s\r\n", W2UTF8_EX(strMsg));
|
|
g_pMainDlg->SocketSendExceptionHandle(strTTSMessage, strlen(strTTSMessage));
|
|
}
|
|
}
|
|
|
|
_wfopen_s(&fp, strFilePath, L"wt");
|
|
if(fp)
|
|
{
|
|
fprintf(fp, "CT_ADDRESS=%d.%d.%d.%d\r\n", m_ctAddr[0], m_ctAddr[1], m_ctAddr[2], m_ctAddr[3]);
|
|
fprintf(fp, "ES_ADDRESS=%d.%d.%d.%d\r\n", m_esAddr[0], m_esAddr[1], m_esAddr[2], m_esAddr[3]);
|
|
fprintf(fp, "PS_ADDRESS=%d.%d.%d.%d\r\n", m_psAddr[0], m_psAddr[1], m_psAddr[2], m_psAddr[3]);
|
|
fprintf(fp, "WIRELESS_PATH=%S\r\n", m_strWirelessPath);
|
|
fprintf(fp, "CALL_PATH=%S\r\n", m_strCallPath);
|
|
|
|
if(m_bSendTTS)
|
|
fprintf(fp, "SEND_TTS_MSG=1\r\n");
|
|
if(m_strTTSMessage.GetLength() > 0) {
|
|
UTF8_CONVERSION_EX;
|
|
CString strMsg = m_strTTSMessage;
|
|
strMsg.Replace(L"\r\n", L"|");
|
|
fprintf(fp, "TTS_MSG=%s\r\n", W2UTF8_EX(strMsg));
|
|
}
|
|
fclose(fp);
|
|
|
|
TRACE(L"SAVE SETTINGS : %s\n", strFilePath);
|
|
MessageBox(L"¼³Á¤ÀÌ ÀúÀåµÇ¾ú½À´Ï´Ù");
|
|
ShowWindow(SW_HIDE);
|
|
}
|
|
|
|
AfxGetMainWnd()->PostMessage(WM_TBD_SETUP_SAVE, isIpChanged);
|
|
}
|
|
|
|
|
|
void CTouchSetupDlg::UpdateVariableToCtrl()
|
|
{
|
|
CIPAddressCtrl *pCtrl = (CIPAddressCtrl *)GetDlgItem(IDC_IPADDRESS_CT);
|
|
pCtrl->SetAddress(m_ctAddr[0], m_ctAddr[1], m_ctAddr[2], m_ctAddr[3]);
|
|
CEdit *pEdit = (CEdit *)GetDlgItem(IDC_EDIT_CALL_EXEC);
|
|
pEdit->SetWindowTextW(m_strCallPath);
|
|
pEdit = (CEdit *)GetDlgItem(IDC_EDIT_WIRELESS_EXEC);
|
|
pEdit->SetWindowTextW(m_strWirelessPath);
|
|
pEdit = (CEdit *)GetDlgItem(IDC_EDIT_TTS);
|
|
pEdit->SetWindowTextW(m_strTTSMessage);
|
|
|
|
pCtrl = (CIPAddressCtrl *)GetDlgItem(IDC_IPADDRESS_ES);
|
|
pCtrl->SetAddress(m_esAddr[0], m_esAddr[1], m_esAddr[2], m_esAddr[3]);
|
|
pCtrl = (CIPAddressCtrl *)GetDlgItem(IDC_IPADDRESS_PS);
|
|
pCtrl->SetAddress(m_psAddr[0], m_psAddr[1], m_psAddr[2], m_psAddr[3]);
|
|
|
|
|
|
CButton *pBox = (CButton *)GetDlgItem(IDC_CHECK_TTS);
|
|
if(m_bSendTTS)
|
|
pBox->SetCheck(TRUE);
|
|
}
|
|
|
|
void CTouchSetupDlg::OnBnClickedButtonSave()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
SaveSettings();
|
|
}
|
|
|
|
|
|
|
|
|
|
void CTouchSetupDlg::OnBnClickedButtonMicvolMinus()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
char strMessage[256];
|
|
sprintf(strMessage, "MIC_VOLUME=MINUS\r\n\r\n");
|
|
g_pMainDlg->SocketSendExceptionHandle(strMessage, strlen(strMessage));
|
|
|
|
}
|
|
|
|
|
|
void CTouchSetupDlg::OnBnClickedButtonMicvolPlus()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
char strMessage[256];
|
|
sprintf(strMessage, "MIC_VOLUME=PLUS\r\n\r\n");
|
|
g_pMainDlg->SocketSendExceptionHandle(strMessage, strlen(strMessage));
|
|
}
|
|
|
|
|
|
void CTouchSetupDlg::OnBnClickedButtonLinevolMinus()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
char strMessage[256];
|
|
sprintf(strMessage, "LINEIN_VOLUME=MINUS\r\n\r\n");
|
|
g_pMainDlg->SocketSendExceptionHandle(strMessage, strlen(strMessage));
|
|
}
|
|
|
|
|
|
void CTouchSetupDlg::OnBnClickedButtonLinevolPlus()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
char strMessage[256];
|
|
sprintf(strMessage, "LINEIN_VOLUME=PLUS\r\n\r\n");
|
|
g_pMainDlg->SocketSendExceptionHandle(strMessage, strlen(strMessage));
|
|
}
|
|
|
|
|
|
BOOL CTouchSetupDlg::PreTranslateMessage(MSG* pMsg)
|
|
{
|
|
// TODO: Add your specialized code here and/or call the base class
|
|
|
|
if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN)
|
|
{
|
|
if (GetDlgItem(IDC_EDIT_TTS) == GetFocus())
|
|
{
|
|
CEdit* edit = (CEdit*)GetDlgItem(IDC_EDIT_TTS);
|
|
int nLen = edit->GetWindowTextLength();
|
|
edit->SetSel( nLen, nLen );
|
|
edit->ReplaceSel(_T("\r\n"));
|
|
}
|
|
}
|
|
|
|
return CDialogEx::PreTranslateMessage(pMsg);
|
|
}
|
|
|
|
|
|
void CTouchSetupDlg::OnBnClickedCheckLinesend()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
CButton *pBox = (CButton *)GetDlgItem(IDC_CHECK_LINESEND);
|
|
CWnd *pWnd = (CWnd *)g_pMainDlg->GetDlgItem(IDC_STATIC_LINEIN);
|
|
if(pBox->GetCheck()) {
|
|
m_bSendLineIn = TRUE;
|
|
pWnd->ShowWindow(SW_SHOW);
|
|
} else {
|
|
m_bSendLineIn = FALSE;
|
|
pWnd->ShowWindow(SW_HIDE);
|
|
}
|
|
}
|
|
|
|
|
|
void CTouchSetupDlg::OnBnClickedCancel()
|
|
{
|
|
// TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
|
|
CDialogEx::OnCancel();
|
|
}
|