| | |
| | | #include "SettingsDlg.h" |
| | | #include "UserManager.h" |
| | | #include "LoginDlg.h" |
| | | #include "ChangePasswordDlg.h" |
| | | #include "InputDialog.h" |
| | | |
| | | // test |
| | | #include "AxisSettingsDlg.h" |
| | |
| | | InitRxWindows(); |
| | | |
| | | |
| | | // 登录管理 |
| | | if (userManager.isLoggedIn()) { |
| | | m_pTopToolbar->SetOperatorBtnText(userManager.getCurrentUser().c_str()); |
| | | } |
| | | // 更新登录状态 |
| | | UpdateLoginStatus(); |
| | | |
| | | |
| | | return TRUE; // 除非将焦点设置到控件,否则返回 TRUE |
| | |
| | | LRESULT CBondEqDlg::OnToolbarBtnClicked(WPARAM wParam, LPARAM lParam) |
| | | { |
| | | int id = (int)lParam; |
| | | if (id == IDC_BUTTON_RUN || id == IDC_BUTTON_STOP || id == IDC_BUTTON_SETTINGS) |
| | | { |
| | | CInputDialog inputDialog(_T("验证用户"), _T("请输入用户密码:")); |
| | | if (inputDialog.DoModal() != IDOK) { |
| | | AfxMessageBox(_T("取消验证!")); |
| | | return 0; |
| | | } |
| | | |
| | | CString inputText = inputDialog.GetInputText(); |
| | | std::string strPass = UserManager::getInstance().getCurrentPass(); |
| | | if (inputText.Compare(strPass.c_str()) != 0) { |
| | | AfxMessageBox(_T("密码错误!")); |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | if (id == IDC_BUTTON_RUN) { |
| | | m_pTopToolbar->GetBtn(IDC_BUTTON_RUN)->EnableWindow(FALSE); |
| | | m_pTopToolbar->GetBtn(IDC_BUTTON_STOP)->EnableWindow(TRUE); |
| | |
| | | int menuId = (int)wParam; |
| | | UserManager& userManager = UserManager::getInstance(); |
| | | if (menuId == 0) { |
| | | ShowLoginDlg(); |
| | | CLoginDlg loginDlg; |
| | | loginDlg.DoModal(); |
| | | UpdateLoginStatus(); |
| | | } |
| | | else if (1 == menuId) { |
| | | CChangePasswordDlg changePasswordDlg; |
| | | if (changePasswordDlg.DoModal() == IDOK) { |
| | | } |
| | | } |
| | | else if (2 == menuId) { |
| | | CUserManagerDlg dlg; |
| | | dlg.DoModal(); |
| | | } |
| | | else if (3 == menuId) { |
| | | int ret = AfxMessageBox(_T("是否切换用户?切换用户会退出当前账号!"), MB_OK | MB_ICONEXCLAMATION); |
| | | if (ret != MB_OK) { |
| | | return 0; |
| | | } |
| | | |
| | | if (userManager.isLoggedIn()) { |
| | | userManager.logout(); |
| | | } |
| | | |
| | | ShowLoginDlg(); |
| | | CLoginDlg loginDlg; |
| | | loginDlg.DoModal(); |
| | | UpdateLoginStatus(); |
| | | } |
| | | else if (2 == menuId) { |
| | | // test |
| | | CUserManagerDlg dlg; |
| | | dlg.DoModal(); |
| | | |
| | | //if (userManager.isLoggedIn()) { |
| | | // userManager.logout(); |
| | | // m_pTopToolbar->SetOperatorBtnText(_T("未登录")); |
| | | //} |
| | | else { |
| | | userManager.logout(); |
| | | UpdateLoginStatus(); |
| | | } |
| | | } |
| | | |
| | |
| | | return pDlg; |
| | | } |
| | | |
| | | void CBondEqDlg::ShowLoginDlg() |
| | | void CBondEqDlg::UpdateLoginStatus() |
| | | { |
| | | CLoginDlg loginDlg; |
| | | loginDlg.DoModal(); |
| | | |
| | | HMENU hMenu = m_pTopToolbar->GetOperatorMenu(); |
| | | UserManager& userManager = UserManager::getInstance(); |
| | | if (userManager.isLoggedIn()) |
| | | { |
| | | ::EnableMenuItem(hMenu, ID_OPEATOR_LOGIN, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); |
| | | ::EnableMenuItem(hMenu, ID_OPERATOR_CHANGE_PASSWORD, MF_BYCOMMAND | MF_ENABLED); |
| | | ::EnableMenuItem(hMenu, ID_OPEATOR_SWITCH, MF_BYCOMMAND | MF_ENABLED); |
| | | ::EnableMenuItem(hMenu, ID_OPERATOR_LOGOUT, MF_BYCOMMAND | MF_ENABLED); |
| | | |
| | | if (userManager.getCurrentUserRole() == UserRole::SuperAdmin) { |
| | | ::EnableMenuItem(hMenu, ID_OPEATOR_USER_MANAGER, MF_BYCOMMAND | MF_ENABLED); |
| | | } |
| | | else { |
| | | ::EnableMenuItem(hMenu, ID_OPEATOR_USER_MANAGER, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); |
| | | } |
| | | |
| | | m_pTopToolbar->SetOperatorBtnText(userManager.getCurrentUser().c_str()); |
| | | } |
| | | else { |
| | | ::EnableMenuItem(hMenu, ID_OPEATOR_LOGIN, MF_BYCOMMAND | MF_ENABLED); |
| | | ::EnableMenuItem(hMenu, ID_OPERATOR_CHANGE_PASSWORD, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); |
| | | ::EnableMenuItem(hMenu, ID_OPEATOR_USER_MANAGER, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); |
| | | ::EnableMenuItem(hMenu, ID_OPEATOR_SWITCH, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); |
| | | ::EnableMenuItem(hMenu, ID_OPERATOR_LOGOUT, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); |
| | | |
| | | m_pTopToolbar->SetOperatorBtnText(_T("未登录")); |
| | | } |
| | | } |