📄 mpichconfigdlg.cpp
字号:
m_config_host_static.ShowWindow(SW_HIDE); m_config_host_msg_static.ShowWindow(SW_HIDE); } UpdateModifyButtonState();}void CMPICHConfigDlg::OnHostToggleBtn() { UpdateData(); m_bHostToggle = !m_bHostToggle; m_bhost_color = m_bHostToggle; m_bhost_dots = m_bHostToggle; m_bhost_hosts = m_bHostToggle; m_bhost_launch = m_bHostToggle; m_bhost_mapping = m_bHostToggle; m_bhost_popup_debug = m_bHostToggle; m_bhost_use_jobhost = m_bHostToggle; m_bhost_catch = m_bHostToggle; m_bhost_codes = m_bHostToggle; m_bhost_logfile = m_bHostToggle; UpdateData(FALSE); OnHostColorChk(); OnHostDotsChk(); OnHostHostsChk(); OnHostLaunchChk(); OnHostMappingChk(); OnHostPopupDebugChk(); OnHostUseJobhostChk(); OnHostCatchChk(); OnHostCodesChk(); OnHostRedirectMpdChk();}void CMPICHConfigDlg::OnHostHostsChk() { UpdateData(); //m_host_hosts_edit.EnableWindow(m_bhost_hosts); m_host_hosts_edit.EnableWindow(); UpdateModifyButtonState();}void CMPICHConfigDlg::OnHostLaunchChk() { UpdateData(); //m_host_launch_edit.EnableWindow(m_bhost_launch); m_host_launch_edit.EnableWindow(); UpdateModifyButtonState();}void CMPICHConfigDlg::OnHostUseJobhostChk() { UpdateData(); /* m_host_jobhost_yes_btn.EnableWindow(m_bhost_use_jobhost); m_host_jobhost_no_btn.EnableWindow(m_bhost_use_jobhost); m_host_jobhost_edit.EnableWindow(m_bhost_use_jobhost && m_host_jobhost_yes); m_host_use_jobhost_pwd_chk.EnableWindow(m_bhost_use_jobhost && m_host_jobhost_yes); m_host_jobhost_pwd_edit.EnableWindow(m_bhost_use_jobhost && m_host_jobhost_yes && m_bhost_use_jobhost_pwd); */ m_host_jobhost_yes_btn.EnableWindow(); m_host_jobhost_no_btn.EnableWindow(); m_host_jobhost_edit.EnableWindow(m_host_jobhost_yes); m_host_use_jobhost_pwd_chk.EnableWindow(m_host_jobhost_yes); m_host_jobhost_pwd_edit.EnableWindow(m_host_jobhost_yes && m_bhost_use_jobhost_pwd); UpdateModifyButtonState();}void CMPICHConfigDlg::OnHostJobhostYes() { UpdateData(); m_host_jobhost_yes = TRUE; m_host_jobhost_no = FALSE; m_host_jobhost_edit.EnableWindow(); m_host_use_jobhost_pwd_chk.EnableWindow(); m_host_jobhost_pwd_edit.EnableWindow(m_bhost_use_jobhost_pwd); UpdateData(FALSE);}void CMPICHConfigDlg::OnHostJobhostNo() { UpdateData(); m_host_jobhost_yes = FALSE; m_host_jobhost_no = TRUE; m_host_jobhost_edit.EnableWindow(FALSE); m_host_use_jobhost_pwd_chk.EnableWindow(FALSE); m_host_jobhost_pwd_edit.EnableWindow(FALSE); UpdateData(FALSE);}void CMPICHConfigDlg::OnHostUseJobhostPwdChk() { UpdateData(); //m_host_jobhost_pwd_edit.EnableWindow(m_bhost_use_jobhost_pwd); m_host_jobhost_pwd_edit.EnableWindow();}void CMPICHConfigDlg::OnHostColorChk() { UpdateData(); //m_host_color_yes_btn.EnableWindow(m_bhost_color); //m_host_color_no_btn.EnableWindow(m_bhost_color); m_host_color_yes_btn.EnableWindow(); m_host_color_no_btn.EnableWindow(); UpdateModifyButtonState();}void CMPICHConfigDlg::OnHostColorYes() { UpdateData(); m_host_color_yes = TRUE; m_host_color_no = FALSE; UpdateData(FALSE);}void CMPICHConfigDlg::OnHostColorNo() { UpdateData(); m_host_color_yes = FALSE; m_host_color_no = TRUE; UpdateData(FALSE);}void CMPICHConfigDlg::OnHostDotsChk() { UpdateData(); //m_host_dots_yes_btn.EnableWindow(m_bhost_dots); //m_host_dots_no_btn.EnableWindow(m_bhost_dots); m_host_dots_yes_btn.EnableWindow(); m_host_dots_no_btn.EnableWindow(); UpdateModifyButtonState();}void CMPICHConfigDlg::OnHostDotsYes() { UpdateData(); m_host_dots_yes = TRUE; m_host_dots_no = FALSE; UpdateData(FALSE);}void CMPICHConfigDlg::OnHostDotsNo() { UpdateData(); m_host_dots_yes = FALSE; m_host_dots_no = TRUE; UpdateData(FALSE);}void CMPICHConfigDlg::OnHostMappingChk() { UpdateData(); //m_host_mapping_yes_btn.EnableWindow(m_bhost_mapping); //m_host_mapping_no_btn.EnableWindow(m_bhost_mapping); m_host_mapping_yes_btn.EnableWindow(); m_host_mapping_no_btn.EnableWindow(); UpdateModifyButtonState();}void CMPICHConfigDlg::OnHostMappingYes() { UpdateData(); m_host_mapping_yes = TRUE; m_host_mapping_no = FALSE; UpdateData(FALSE);}void CMPICHConfigDlg::OnHostMappingNo() { UpdateData(); m_host_mapping_yes = FALSE; m_host_mapping_no = TRUE; UpdateData(FALSE);}void CMPICHConfigDlg::OnHostPopupDebugChk() { UpdateData(); //m_host_popup_debug_yes_btn.EnableWindow(m_bhost_popup_debug); //m_host_popup_debug_no_btn.EnableWindow(m_bhost_popup_debug); m_host_popup_debug_yes_btn.EnableWindow(); m_host_popup_debug_no_btn.EnableWindow(); UpdateModifyButtonState();}void CMPICHConfigDlg::OnHostPopupDebugYes() { UpdateData(); m_host_popup_debug_yes = TRUE; m_host_popup_debug_no = FALSE; UpdateData(FALSE);}void CMPICHConfigDlg::OnHostPopupDebugNo() { UpdateData(); m_host_popup_debug_yes = FALSE; m_host_popup_debug_no = TRUE; UpdateData(FALSE);}void CMPICHConfigDlg::OnModifyBtn() { char pszStr[8192]; SOCKET sock; UpdateData(); if (m_config_host == "") return; 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 (ConnectToMPD(m_config_host, m_nPort, m_pszPhrase, &sock) != 0) { SetCursor(hOldCursor); sprintf(pszStr, "Failed to connect to the mpd on host %s", m_config_host); MessageBox(pszStr, "Error"); return; } // set hosts if (m_bhost_hosts) { sprintf(pszStr, "lset hosts=%s", m_host_hosts); WriteString(sock, pszStr); } // set launch timeout if (m_bhost_launch) { sprintf(pszStr, "lset timeout=%d", m_host_launch); WriteString(sock, pszStr); } // set jobhost if (m_bhost_use_jobhost) { sprintf(pszStr, "lset usejobhost=%s", (m_host_jobhost_yes) ? "yes" : "no"); WriteString(sock, pszStr); if (m_host_jobhost_yes) { sprintf(pszStr, "lset jobhost=%s", m_host_jobhost); WriteString(sock, pszStr); if (m_bhost_use_jobhost_pwd) { sprintf(pszStr, "lset jobhostpwd=%s", m_host_jobhost_pwd); WriteString(sock, pszStr); } else { WriteString(sock, "ldelete jobhostpwd"); } } } // set logfile if (m_bhost_logfile) { if (m_host_logfile_yes) sprintf(pszStr, "setdbgoutput %s", m_host_logfile); else sprintf(pszStr, "canceldbgoutput"); WriteString(sock, pszStr); ReadString(sock, pszStr); } // set color if (m_bhost_color) { sprintf(pszStr, "lset nocolor=%s", (m_host_color_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set dots if (m_bhost_dots) { sprintf(pszStr, "lset nodots=%s", (m_host_dots_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set mapping if (m_bhost_mapping) { sprintf(pszStr, "lset nomapping=%s", (m_host_mapping_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set popup_debug if (m_bhost_popup_debug) { sprintf(pszStr, "lset nopopup_debug=%s", (m_host_popup_debug_yes) ? "no" : "yes"); WriteString(sock, pszStr); } // set dbg if (m_bhost_catch) { sprintf(pszStr, "lset dbg=%s", (m_host_catch_yes) ? "yes" : "no"); WriteString(sock, pszStr); } // set exitcodes if (m_bhost_codes) { sprintf(pszStr, "lset exitcodes=%s", (m_host_codes_yes) ? "yes" : "no"); WriteString(sock, pszStr); } // close the session WriteString(sock, "done"); easy_closesocket(sock); SetCursor(hOldCursor); if (m_bshow_config) GetHostConfig();}BOOL CMPICHConfigDlg::OnInitDialog() { CDialog::OnInitDialog(); easy_socket_init(); ParseRegistry(); // set the host configuration stuff OnShowConfigChk(); // set the configuration selection stuff OnHostsChk(); OnLaunchChk(); OnUseJobhostChk(); OnColorChk(); OnDotsChk(); OnMappingChk(); OnPopupDebugChk(); OnCatchChk(); OnCodesChk(); OnRedirectMpdChk(); char host[100] = ""; gethostname(host, 100); m_add_hostname = host; UpdateData(FALSE); m_mpd_default_radio.SetCheck(1); m_mpd_phrase_edit.EnableWindow(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE}void CMPICHConfigDlg::UpdateModifyButtonState(){ UpdateData(); if (m_bhost_hosts || m_bhost_launch || m_bhost_use_jobhost || m_bhost_color || m_bhost_dots || m_bhost_mapping || m_bhost_popup_debug || m_bhost_catch || m_bhost_codes || m_bhost_logfile) { m_modify_btn.EnableWindow(m_bshow_config); m_modify_static.EnableWindow(m_bshow_config); } else { m_modify_btn.EnableWindow(FALSE); m_modify_static.EnableWindow(FALSE); }}void CMPICHConfigDlg::UpdateApplyButtonStates(){ UpdateData(); if (m_bhosts || m_blaunch || m_buse_jobhost || m_bcolor || m_bdots || m_bmapping || m_bpopup_debug || m_bcatch || m_bcodes || m_blogfile) { m_apply_btn.EnableWindow(TRUE); m_apply_single_btn.EnableWindow(TRUE); } else { m_apply_btn.EnableWindow(FALSE); m_apply_single_btn.EnableWindow(FALSE); }}void CMPICHConfigDlg::OnKeydownHostList(NMHDR* pNMHDR, LRESULT* pResult) { LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR; if (pLVKeyDow->wVKey == VK_DELETE) { if (pLVKeyDow->hdr.hwndFrom == m_host_list.m_hWnd) { int index, n; POSITION pos; pos = m_host_list.GetFirstSelectedItemPosition(); index = m_host_list.GetNextSelectedItem(pos); if (index != LB_ERR) { m_host_list.DeleteItem(index); n = m_host_list.GetItemCount(); if (n == index) index--; if (n > 0) m_host_list.SetItemState(index, LVIS_SELECTED, LVIS_SELECTED); GetHostsString(); } } } *pResult = 0;}void CMPICHConfigDlg::OnClose() { if (m_hApplyBtnThread != NULL) { TerminateThread(m_hApplyBtnThread, 0); CloseHandle(m_hApplyBtnThread); m_hApplyBtnThread = NULL; } easy_socket_finalize(); CDialog::OnClose();}void CMPICHConfigDlg::OnItemchangingHostList(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if (pNMListView->uNewState & LVIS_SELECTED) { m_host_list.GetItemText(pNMListView->iItem, pNMListView->iSubItem, m_config_host.GetBuffer(100), 100); m_config_host.ReleaseBuffer(); m_config_host_msg = ""; UpdateData(FALSE); if (m_bshow_config) { GetHostConfig(); } } *pResult = 0;}void CMPICHConfigDlg::GetHostConfig(){ SOCKET sock; char pszStr[MAX_CMD_LENGTH] = "mpd not installed"; UpdateData(); if (m_config_host == "") { int index; POSITION pos; pos = m_host_list.GetFirstSelectedItemPosition(); index = m_host_list.GetNextSelectedItem(pos); if (index == LB_ERR) return; m_config_host = m_host_list.GetItemText(index, 0); } 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 (ConnectToMPDquickReport(m_config_host, m_nPort, m_pszPhrase, &sock, pszStr) != 0) { //m_config_host_msg = "connect to " + m_config_host + " failed"; if (strstr(pszStr, "10061")) m_config_host_msg = "mpd not installed"; else if (strstr(pszStr, "11001")) m_config_host_msg = "unknown host"; else m_config_host_msg = pszStr;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -