Develop and Download Open Source Software

Browse Subversion Repository

Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/auth.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 7636 by zmatsuo, Mon Apr 29 16:22:43 2019 UTC revision 7639 by zmatsuo, Tue Apr 30 15:57:34 2019 UTC
# Line 246  static void update_server_supported_type Line 246  static void update_server_supported_type
246          }          }
247  }  }
248    
249    static LRESULT CALLBACK username_proc(HWND hWnd, UINT msg,
250                                                                              WPARAM wParam, LPARAM lParam)
251    {
252            const WNDPROC ProcOrg = (WNDPROC)GetWindowLongPtr(hWnd, GWLP_USERDATA);
253            const LRESULT result = CallWindowProc(ProcOrg, hWnd, msg, wParam, lParam);
254            switch (msg) {
255            case WM_CHAR:
256            case WM_SETTEXT: {
257                    // ユーザー名が入力されていた場合、オプションを使うことはないので、
258                    // tabでのフォーカス移動時、オプションボタンをパスするようにする
259                    // 従来と同じキー操作でユーザー名とパスフレーズを入力可能とする
260                    const HWND dlg = GetParent(hWnd);
261                    const HWND hWndOption = GetDlgItem(dlg, IDC_USERNAME_OPTION);
262                    const int len = GetWindowTextLength(hWnd);
263                    LONG_PTR style = GetWindowLongPtr(hWndOption, GWL_STYLE);
264                    if (len > 0) {
265                            // 不要tabstop
266                            style = style & (~(LONG_PTR)WS_TABSTOP);
267                    } else {
268                            // 要tabstop
269                            style = style | WS_TABSTOP;
270                    }
271                    SetWindowLongPtr(hWndOption, GWL_STYLE, style);
272            }
273            }
274            return result;
275    }
276    
277  static void init_auth_dlg(PTInstVar pvar, HWND dlg, BOOL *UseControlChar)  static void init_auth_dlg(PTInstVar pvar, HWND dlg, BOOL *UseControlChar)
278  {  {
279          const static DlgTextInfo text_info[] = {          const static DlgTextInfo text_info[] = {
# Line 304  static void init_auth_dlg(PTInstVar pvar Line 332  static void init_auth_dlg(PTInstVar pvar
332                  SetDlgItemText(dlg, IDC_SSHUSETIS, pvar->ts->UIMsg);                  SetDlgItemText(dlg, IDC_SSHUSETIS, pvar->ts->UIMsg);
333          }          }
334    
335            // usernameのサブクラス化
336            {
337                    HWND hWndUserName = GetDlgItem(dlg, IDC_SSHUSERNAME);
338                    LONG_PTR ProcOrg =
339                            SetWindowLongPtr(hWndUserName, GWLP_WNDPROC, (LONG_PTR)username_proc);
340                    SetWindowLongPtr(hWndUserName, GWLP_USERDATA, ProcOrg);
341            }
342    
343          if (pvar->auth_state.user != NULL) {          if (pvar->auth_state.user != NULL) {
344                  SetDlgItemText(dlg, IDC_SSHUSERNAME, pvar->auth_state.user);                  SetDlgItemText(dlg, IDC_SSHUSERNAME, pvar->auth_state.user);
345                  EnableWindow(GetDlgItem(dlg, IDC_SSHUSERNAME), FALSE);                  EnableWindow(GetDlgItem(dlg, IDC_SSHUSERNAME), FALSE);
# Line 842  static BOOL CALLBACK auth_dlg_proc(HWND Line 878  static BOOL CALLBACK auth_dlg_proc(HWND
878                          DlgAuthFont = NULL;                          DlgAuthFont = NULL;
879                  }                  }
880  #endif  #endif
881                    // "▼"画像をセットする
882                  hIconDropdown = LoadImage(hInst, MAKEINTRESOURCE(IDI_DROPDOWN),                  hIconDropdown = LoadImage(hInst, MAKEINTRESOURCE(IDI_DROPDOWN),
883                                                                    IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR);                                                                    IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR);
884                  SendMessage(GetDlgItem(dlg, IDC_USERNAME_OPTION), BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIconDropdown);                  SendMessage(GetDlgItem(dlg, IDC_USERNAME_OPTION), BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIconDropdown);

Legend:
Removed from v.7636  
changed lines
  Added in v.7639

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26