📄 mpichconfigdlg.cpp
字号:
m_jobhost_yes_btn.EnableWindow(m_buse_jobhost); m_jobhost_no_btn.EnableWindow(m_buse_jobhost); m_jobhost_static.EnableWindow(m_buse_jobhost && m_jobhost_yes); m_jobhost_edit.EnableWindow(m_buse_jobhost && m_jobhost_yes); m_use_jobhost_pwd_chk.EnableWindow(m_buse_jobhost && m_jobhost_yes); m_jobhost_pwd_edit.EnableWindow(m_buse_jobhost && m_jobhost_yes && m_buse_jobhost_pwd); UpdateApplyButtonStates();}void CMPICHConfigDlg::OnJobhostYes() { UpdateData(); m_jobhost_yes = TRUE; m_jobhost_no = FALSE; m_jobhost_static.EnableWindow(); m_jobhost_edit.EnableWindow(); m_use_jobhost_pwd_chk.EnableWindow(); m_jobhost_pwd_edit.EnableWindow(m_buse_jobhost_pwd); UpdateData(FALSE);}void CMPICHConfigDlg::OnJobhostNo() { UpdateData(); m_jobhost_yes = FALSE; m_jobhost_no = TRUE; m_jobhost_static.EnableWindow(FALSE); m_jobhost_edit.EnableWindow(FALSE); m_use_jobhost_pwd_chk.EnableWindow(FALSE); m_jobhost_pwd_edit.EnableWindow(FALSE); UpdateData(FALSE);}void CMPICHConfigDlg::OnUseJobhostPwdChk() { UpdateData(); m_jobhost_pwd_edit.EnableWindow(m_buse_jobhost_pwd);}void CMPICHConfigDlg::OnColorChk() { UpdateData(); m_color_yes_btn.EnableWindow(m_bcolor); m_color_no_btn.EnableWindow(m_bcolor); UpdateApplyButtonStates();}void CMPICHConfigDlg::OnColorYes() { UpdateData(); m_color_yes = TRUE; m_color_no = FALSE; UpdateData(FALSE);}void CMPICHConfigDlg::OnColorNo() { UpdateData(); m_color_yes = FALSE; m_color_no = TRUE; UpdateData(FALSE);}void CMPICHConfigDlg::OnDotsChk() { UpdateData(); m_dots_yes_btn.EnableWindow(m_bdots); m_dots_no_btn.EnableWindow(m_bdots); UpdateApplyButtonStates();}void CMPICHConfigDlg::OnDotsYes() { UpdateData(); m_dots_yes = TRUE; m_dots_no = FALSE; UpdateData(FALSE);}void CMPICHConfigDlg::OnDotsNo() { UpdateData(); m_dots_yes = FALSE; m_dots_no = TRUE; UpdateData(FALSE);}void CMPICHConfigDlg::OnMappingChk() { UpdateData(); m_mapping_yes_btn.EnableWindow(m_bmapping); m_mapping_no_btn.EnableWindow(m_bmapping); UpdateApplyButtonStates();}void CMPICHConfigDlg::OnMappingYes() { UpdateData(); m_mapping_yes = TRUE; m_mapping_no = FALSE; UpdateData(FALSE);}void CMPICHConfigDlg::OnMappingNo() { UpdateData(); m_mapping_yes = FALSE; m_mapping_no = TRUE; UpdateData(FALSE);}void CMPICHConfigDlg::OnPopupDebugChk() { UpdateData(); m_popup_debug_no_btn.EnableWindow(m_bpopup_debug); m_popup_debug_yes_btn.EnableWindow(m_bpopup_debug); UpdateApplyButtonStates();}void CMPICHConfigDlg::OnPopupDebugYes() { UpdateData(); m_popup_debug_yes = TRUE; m_popup_debug_no = FALSE; UpdateData(FALSE);}void CMPICHConfigDlg::OnPopupDebugNo() { UpdateData(); m_popup_debug_yes = FALSE; m_popup_debug_no = TRUE; UpdateData(FALSE);}void ApplyBtnThread(CMPICHConfigDlg *pDlg){ int i; int num_hosts; char pszStr[8192]; char host[100]; SOCKET sock; num_hosts = pDlg->m_host_list.GetItemCount(); if (num_hosts == 0) { CloseHandle(pDlg->m_hApplyBtnThread); pDlg->m_hApplyBtnThread = NULL; return; } if (pDlg->m_bNeedPassword) { if (pDlg->m_buse_default_passphrase) strcpy(pDlg->m_pszPhrase, MPD_DEFAULT_PASSPHRASE); else strcpy(pDlg->m_pszPhrase, pDlg->m_mpd_phrase); } // disable the dialog buttons PostMessage(pDlg->m_hWnd, USER_MSG_DISABLE, 0, 0); PostMessage(pDlg->m_hWnd, USER_MSG_NUM_STEPS, num_hosts, 0); for (i=0; i<num_hosts; i++) { if (pDlg->m_host_list.GetItemText(i, 0, host, 100) == 0) { PostMessage(pDlg->m_hWnd, USER_MSG_STEPIT, 0, 0); continue; } if (ConnectToMPD(host, pDlg->m_nPort, pDlg->m_pszPhrase, &sock) != 0) { PostMessage(pDlg->m_hWnd, USER_MSG_STEPIT, 0, 0); continue; } // set hosts if (pDlg->m_bhosts) { sprintf(pszStr, "lset hosts=%s", pDlg->m_hosts); WriteString(sock, pszStr); } // set launch timeout if (pDlg->m_blaunch) { sprintf(pszStr, "lset timeout=%d", pDlg->m_launch); WriteString(sock, pszStr); } // set jobhost if (pDlg->m_buse_jobhost) { sprintf(pszStr, "lset usejobhost=%s", (pDlg->m_jobhost_yes) ? "yes" : "no"); WriteString(sock, pszStr); if (pDlg->m_jobhost_yes) { sprintf(pszStr, "lset jobhost=%s", pDlg->m_jobhost); WriteString(sock, pszStr); if (pDlg->m_buse_jobhost_pwd) { sprintf(pszStr, "lset jobhostpwd=%s", pDlg->m_jobhost_pwd); WriteString(sock, pszStr); } else { WriteString(sock, "ldelete jobhostpwd"); } } } // set logfile if (pDlg->m_blogfile) { if (pDlg->m_logfile_yes) sprintf(pszStr, "setdbgoutput %s", pDlg->m_logfile); else sprintf(pszStr, "canceldbgoutput"); WriteString(sock, pszStr); ReadString(sock, pszStr); } // set color if (pDlg->m_bcolor) { sprintf(pszStr, "lset nocolor=%s", (pDlg->m_color_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set dots if (pDlg->m_bdots) { sprintf(pszStr, "lset nodots=%s", (pDlg->m_dots_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set mapping if (pDlg->m_bmapping) { sprintf(pszStr, "lset nomapping=%s", (pDlg->m_mapping_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set popup_debug if (pDlg->m_bpopup_debug) { sprintf(pszStr, "lset nopopup_debug=%s", (pDlg->m_popup_debug_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set dbg if (pDlg->m_bcatch) { sprintf(pszStr, "lset dbg=%s", (pDlg->m_catch_yes) ? "yes" : "no"); WriteString(sock, pszStr); } // set exitcodes if (pDlg->m_bcodes) { sprintf(pszStr, "lset exitcodes=%s", (pDlg->m_codes_yes) ? "yes" : "no"); WriteString(sock, pszStr); } // close the session WriteString(sock, "done"); easy_closesocket(sock); PostMessage(pDlg->m_hWnd, USER_MSG_STEPIT, 0, 0); } // enable the dialog buttons PostMessage(pDlg->m_hWnd, USER_MSG_ENABLE, 0, 0); if (pDlg->m_bshow_config) { PostMessage(pDlg->m_hWnd, USER_MSG_GETHOST, 0, 0); } CloseHandle(pDlg->m_hApplyBtnThread); pDlg->m_hApplyBtnThread = NULL;}void CMPICHConfigDlg::OnApplyBtn() { UpdateData(); if (m_blogfile && m_logfile_yes && m_logfile.GetLength() < 1) { MessageBox("You must specify a log file if you are setting the logfile redirection option", "Error"); return; } m_hApplyBtnThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ApplyBtnThread, this, 0, NULL);}void CMPICHConfigDlg::OnApplySingleBtn() { int index; char pszStr[8192]; char host[100]; SOCKET sock; POSITION pos; UpdateData(); if (m_blogfile && m_logfile_yes && m_logfile.GetLength() < 1) { MessageBox("You must specify a log file if you are setting the logfile redirection option", "Error"); return; } pos = m_host_list.GetFirstSelectedItemPosition(); if (pos == NULL) return; index = m_host_list.GetNextSelectedItem(pos); if (m_bNeedPassword) { if (m_buse_default_passphrase) strcpy(m_pszPhrase, MPD_DEFAULT_PASSPHRASE); else strcpy(m_pszPhrase, m_mpd_phrase); } HCURSOR hOldCursor = SetCursor( LoadCursor(NULL, IDC_WAIT) ); if (m_host_list.GetItemText(index, 0, host, 100) == 0) { SetCursor(hOldCursor); return; } if (ConnectToMPD(host, m_nPort, m_pszPhrase, &sock) != 0) { SetCursor(hOldCursor); sprintf(pszStr, "Failed to connect to the mpd on host %s", host); MessageBox(pszStr, "Error"); return; } // set hosts if (m_bhosts) { sprintf(pszStr, "lset hosts=%s", m_hosts); WriteString(sock, pszStr); } // set launch timeout if (m_blaunch) { sprintf(pszStr, "lset timeout=%d", m_launch); WriteString(sock, pszStr); } // set jobhost if (m_buse_jobhost) { sprintf(pszStr, "lset usejobhost=%s", (m_jobhost_yes) ? "yes" : "no"); WriteString(sock, pszStr); if (m_jobhost_yes) { sprintf(pszStr, "lset jobhost=%s", m_jobhost); WriteString(sock, pszStr); if (m_buse_jobhost_pwd) { sprintf(pszStr, "lset jobhostpwd=%s", m_jobhost_pwd); WriteString(sock, pszStr); } else { WriteString(sock, "ldelete jobhostpwd"); } } } // set logfile if (m_blogfile) { if (m_logfile_yes) sprintf(pszStr, "setdbgoutput %s", m_logfile); else sprintf(pszStr, "canceldbgoutput"); WriteString(sock, pszStr); ReadString(sock, pszStr); } // set color if (m_bcolor) { sprintf(pszStr, "lset nocolor=%s", (m_color_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set dots if (m_bdots) { sprintf(pszStr, "lset nodots=%s", (m_dots_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set mapping if (m_bmapping) { sprintf(pszStr, "lset nomapping=%s", (m_mapping_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set popup_debug if (m_bpopup_debug) { sprintf(pszStr, "lset nopopup_debug=%s", (m_popup_debug_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set dbg if (m_bcatch) { sprintf(pszStr, "lset dbg=%s", (m_catch_yes) ? "yes" : "no"); WriteString(sock, pszStr); } // set exitcodes if (m_bcodes) { sprintf(pszStr, "lset exitcodes=%s", (m_codes_yes) ? "yes" : "no"); WriteString(sock, pszStr); } // close the session WriteString(sock, "done"); easy_closesocket(sock); SetCursor(hOldCursor); if (m_bshow_config) GetHostConfig();}void CMPICHConfigDlg::OnShowConfigChk() { UpdateData(); m_host_toggle_btn.EnableWindow(m_bshow_config); m_host_hosts_chk.EnableWindow(m_bshow_config); m_host_launch_chk.EnableWindow(m_bshow_config); m_host_use_jobhost_chk.EnableWindow(m_bshow_config); m_host_color_chk.EnableWindow(m_bshow_config); m_host_dots_chk.EnableWindow(m_bshow_config); m_host_mapping_chk.EnableWindow(m_bshow_config); m_host_popup_debug_chk.EnableWindow(m_bshow_config); m_host_catch_chk.EnableWindow(m_bshow_config); m_host_codes_chk.EnableWindow(m_bshow_config); m_host_logfile_chk.EnableWindow(m_bshow_config); if (m_bshow_config) { GetHostConfig(); OnHostHostsChk(); OnHostLaunchChk(); OnHostUseJobhostChk(); OnHostColorChk(); OnHostDotsChk(); OnHostMappingChk(); OnHostPopupDebugChk(); OnHostCatchChk(); OnHostCodesChk(); OnHostRedirectMpdChk(); //GetHostConfig(); //m_config_host_static.EnableWindow(); //m_config_host_msg_static.EnableWindow(); m_config_host_static.ShowWindow(SW_SHOW); m_config_host_msg_static.ShowWindow(SW_SHOW); } else { m_host_hosts_edit.EnableWindow(FALSE); m_host_launch_edit.EnableWindow(FALSE); m_host_jobhost_yes_btn.EnableWindow(FALSE); m_host_jobhost_no_btn.EnableWindow(FALSE); m_host_use_jobhost_pwd_chk.EnableWindow(FALSE); m_host_jobhost_edit.EnableWindow(FALSE); m_host_jobhost_pwd_edit.EnableWindow(FALSE); m_host_color_yes_btn.EnableWindow(FALSE); m_host_color_no_btn.EnableWindow(FALSE); m_host_dots_yes_btn.EnableWindow(FALSE); m_host_dots_no_btn.EnableWindow(FALSE); m_host_mapping_yes_btn.EnableWindow(FALSE); m_host_mapping_no_btn.EnableWindow(FALSE); m_host_popup_debug_yes_btn.EnableWindow(FALSE); m_host_popup_debug_no_btn.EnableWindow(FALSE); m_host_catch_yes_btn.EnableWindow(FALSE); m_host_catch_no_btn.EnableWindow(FALSE); m_host_codes_yes_btn.EnableWindow(FALSE); m_host_codes_no_btn.EnableWindow(FALSE); m_host_logfile_yes_btn.EnableWindow(FALSE); m_host_logfile_no_btn.EnableWindow(FALSE); m_host_logfile_edit.EnableWindow(FALSE); //m_config_host_static.EnableWindow(FALSE); //m_config_host_msg_static.EnableWindow(FALSE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -