Connect Ctrl key in WinBoard
[xboard.git] / winboard / wengineoutput.c
index 0633f8a..47bca87 100644 (file)
@@ -5,6 +5,8 @@
  *\r
  * Copyright 2005 Alessandro Scotti\r
  *\r
+ * Enhancements Copyright 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.\r
+ *\r
  * ------------------------------------------------------------------------\r
  *\r
  * GNU XBoard is free software: you can redistribute it and/or modify\r
@@ -237,7 +239,7 @@ GetMemoLine(HWND hDlg, int x, int y)
        memo = currentPV ? IDC_EngineMemo2 : IDC_EngineMemo1;\r
        index = SendDlgItemMessage( hDlg, memo, EM_CHARFROMPOS, 0, (LPARAM) &pt );\r
        GetDlgItemText(hDlg, memo, buf, sizeof(buf));\r
-       if(LoadMultiPV(x, y, buf, index, &start, &end)) {\r
+       if(LoadMultiPV(x, y, buf, index, &start, &end, currentPV)) {\r
            SetCapture(hDlg);\r
            SendMessage( outputField[currentPV][nMemo], EM_SETSEL, (WPARAM)start, (LPARAM)end );\r
            highTextStart[currentPV] = start; highTextEnd[currentPV] = end;\r
@@ -274,6 +276,11 @@ void DoSetWindowText(int which, int field, char *s_label)
     SetWindowText( outputField[which][field], s_label );\r
 }\r
 \r
+void SetEngineOutputTitle(char *title)\r
+{\r
+    SetWindowText( engineOutputDialog, title );\r
+}\r
+\r
 // This seems pure front end\r
 LRESULT CALLBACK EngineOutputProc( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )\r
 {\r
@@ -332,7 +339,8 @@ LRESULT CALLBACK EngineOutputProc( HWND hDlg, UINT message, WPARAM wParam, LPARA
     case WM_NOTIFY:\r
         if( wParam == IDC_EngineMemo1 || wParam == IDC_EngineMemo2 ) {\r
             MSGFILTER * lpMF = (MSGFILTER *) lParam;\r
-            if( lpMF->msg == WM_RBUTTONDOWN && (lpMF->wParam & (MK_CONTROL | MK_SHIFT)) == 0 ) {\r
+            if( lpMF->msg == WM_RBUTTONDOWN && (lpMF->wParam & (MK_CONTROL)) == 0 ) {\r
+               shiftKey = (lpMF->wParam & MK_SHIFT) != 0; // [HGM] remember last shift status\r
                 currentPV = (wParam == IDC_EngineMemo2);\r
                 GetMemoLine(hDlg, LOWORD(lpMF->lParam), HIWORD(lpMF->lParam));\r
             }\r