[Ttssh2-commit] [8367] その他の設定に debug proparty page を追加

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2019年 11月 9日 (土) 00:39:57 JST


Revision: 8367
          https://osdn.net/projects/ttssh2/scm/svn/commits/8367
Author:   zmatsuo
Date:     2019-11-09 00:39:57 +0900 (Sat, 09 Nov 2019)
Log Message:
-----------
その他の設定に debug proparty page を追加

- コードポップアップのenable/keyの設定
- デバグ用コンソールウィンドウを表示するボタン

Modified Paths:
--------------
    branches/unicode_buf/teraterm/common/tt_res.h
    branches/unicode_buf/teraterm/teraterm/CMakeLists.txt
    branches/unicode_buf/teraterm/teraterm/addsetting.cpp
    branches/unicode_buf/teraterm/teraterm/addsetting.h
    branches/unicode_buf/teraterm/teraterm/teraterm.cpp
    branches/unicode_buf/teraterm/teraterm/ttermpro.rc
    branches/unicode_buf/teraterm/teraterm/unicode_test.h
    branches/unicode_buf/teraterm/teraterm/vtwin.cpp

Added Paths:
-----------
    branches/unicode_buf/teraterm/teraterm/debug_pp.cpp
    branches/unicode_buf/teraterm/teraterm/debug_pp.h
    branches/unicode_buf/teraterm/teraterm/debug_pp.rc

-------------- next part --------------
Modified: branches/unicode_buf/teraterm/common/tt_res.h
===================================================================
--- branches/unicode_buf/teraterm/common/tt_res.h	2019-11-08 15:39:31 UTC (rev 8366)
+++ branches/unicode_buf/teraterm/common/tt_res.h	2019-11-08 15:39:57 UTC (rev 8367)
@@ -1,6 +1,6 @@
 //{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by ttermpro.rc
+// Microsoft Visual C++ \x82Ő\xB6\x90\xAC\x82\xB3\x82ꂽ\x83C\x83\x93\x83N\x83\x8B\x81[\x83h \x83t\x83@\x83C\x83\x8B\x81B
+// C:\work\teraterm\git\teraterm\teraterm\teraterm\debugpropartypage.rc \x82Ŏg\x97p
 //
 #define IDI_TTERM                       100
 #define IDR_ACC                         100
@@ -25,6 +25,7 @@
 #define IDD_SETUP_DIR_DIALOG            123
 #define IDI_TTERM_3D                    124
 #define IDI_VT_3D                       125
+#define IDD_TABSHEET_DEBUG              126
 #define IDR_TEKMENU                     1000
 #define IDC_EDIT_COMMENT                1000
 #define IDC_EDIT_FULLPATH               1001
@@ -240,6 +241,10 @@
 #define IDC_DAD_NOTE                    2588
 #define IDC_SELECT_ON_ACTIVATE          2589
 #define IDC_MIXED_THEME_FILE            2590
+#define IDC_DEBUG_POPUP_ENABLE          2591
+#define IDC_DEBUG_POPUP_KEY1            2592
+#define IDC_DEBUG_POPUP_KEY2            2593
+#define IDC_DEBUG_CONSOLE_BUTTON        2594
 #define ID_ACC_SENDBREAK                50001
 #define ID_ACC_COPY                     50002
 #define ID_ACC_NEWCONNECTION            50003
@@ -336,9 +341,9 @@
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_NO_MFC                     1
-#define _APS_NEXT_RESOURCE_VALUE        126
+#define _APS_NEXT_RESOURCE_VALUE        127
 #define _APS_NEXT_COMMAND_VALUE         52031
-#define _APS_NEXT_CONTROL_VALUE         2591
+#define _APS_NEXT_CONTROL_VALUE         2594
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif

Modified: branches/unicode_buf/teraterm/teraterm/CMakeLists.txt
===================================================================
--- branches/unicode_buf/teraterm/teraterm/CMakeLists.txt	2019-11-08 15:39:31 UTC (rev 8366)
+++ branches/unicode_buf/teraterm/teraterm/CMakeLists.txt	2019-11-08 15:39:57 UTC (rev 8367)
@@ -95,6 +95,9 @@
   ftdlg_lite.cpp
   clipboarddlg.h
   clipboarddlg.cpp
+  debug_pp.cpp
+  debug_pp.h
+  debug_pp.rc
   )
 
 target_sources(

Modified: branches/unicode_buf/teraterm/teraterm/addsetting.cpp
===================================================================
--- branches/unicode_buf/teraterm/teraterm/addsetting.cpp	2019-11-08 15:39:31 UTC (rev 8366)
+++ branches/unicode_buf/teraterm/teraterm/addsetting.cpp	2019-11-08 15:39:57 UTC (rev 8367)
@@ -49,6 +49,7 @@
 #include "compat_win.h"
 #include "helpid.h"
 #include "addsetting.h"
+#include "debug_pp.h"
 
 #include "tipwin.h"
 
@@ -1716,20 +1717,24 @@
 	HINSTANCE hInstance, HWND hParentWnd) :
 	TTCPropertySheet(hInstance, hParentWnd)
 {
-	m_GeneralPage = new CGeneralPropPageDlg(hInstance, this);
-	m_SequencePage = new CSequencePropPageDlg(hInstance, this);
-	m_CopypastePage = new CCopypastePropPageDlg(hInstance, this);
-	m_VisualPage = new CVisualPropPageDlg(hInstance, this);
-	m_LogPage = new CLogPropPageDlg(hInstance, this);
-	m_CygwinPage = new CCygwinPropPageDlg(hInstance, this);
+	int i = 0;
+	m_Page[i++] = new CGeneralPropPageDlg(hInstance, this);
+	m_Page[i++] = new CSequencePropPageDlg(hInstance, this);
+	m_Page[i++] = new CCopypastePropPageDlg(hInstance, this);
+	m_Page[i++] = new CVisualPropPageDlg(hInstance, this);
+	m_Page[i++] = new CLogPropPageDlg(hInstance, this);
+	m_Page[i++] = new CCygwinPropPageDlg(hInstance, this);
+	if ((GetKeyState(VK_CONTROL) & 0x8000) != 0 ||
+		(GetKeyState(VK_SHIFT) & 0x8000) != 0 ) {
+		m_Page[i++] = new CDebugPropPage(hInstance, this);
+	}
+	m_PageCount = i;
 
-	hPsp[0] = m_GeneralPage->CreatePropertySheetPage();
-	hPsp[1] = m_SequencePage->CreatePropertySheetPage();
-	hPsp[2] = m_CopypastePage->CreatePropertySheetPage();
-	hPsp[3] = m_VisualPage->CreatePropertySheetPage();
-	hPsp[4] = m_LogPage->CreatePropertySheetPage();
-	hPsp[5] = m_CygwinPage->CreatePropertySheetPage();
-	m_psh.nPages = 6;
+	for (i = 0; i < m_PageCount; i++) {
+		hPsp[i] = m_Page[i]->CreatePropertySheetPage();
+	}
+
+	m_psh.nPages = m_PageCount;
 	m_psh.phpage = hPsp;
 
 	wchar_t UIMsg[MAX_UIMSG];
@@ -1741,12 +1746,9 @@
 CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
 {
 	free((void*)m_psh.pszCaption);
-	delete m_GeneralPage;
-	delete m_SequencePage;
-	delete m_CopypastePage;
-	delete m_VisualPage;
-	delete m_LogPage;
-	delete m_CygwinPage;
+	for (int i = 0; i < m_PageCount; i++) {
+		delete m_Page[i];
+	}
 }
 
 void CAddSettingPropSheetDlg::OnInitDialog()

Modified: branches/unicode_buf/teraterm/teraterm/addsetting.h
===================================================================
--- branches/unicode_buf/teraterm/teraterm/addsetting.h	2019-11-08 15:39:31 UTC (rev 8366)
+++ branches/unicode_buf/teraterm/teraterm/addsetting.h	2019-11-08 15:39:57 UTC (rev 8367)
@@ -134,15 +134,11 @@
 public:
 	CAddSettingPropSheetDlg(HINSTANCE hInstance, HWND hParentWnd);
 	virtual ~CAddSettingPropSheetDlg();
+
 private:
 	void OnInitDialog();
 
-	HPROPSHEETPAGE hPsp[6];
-
-	CGeneralPropPageDlg   *m_GeneralPage;
-	CSequencePropPageDlg  *m_SequencePage;
-	CCopypastePropPageDlg *m_CopypastePage;
-	CVisualPropPageDlg    *m_VisualPage;
-	CLogPropPageDlg       *m_LogPage;
-	CCygwinPropPageDlg    *m_CygwinPage;
+	int m_PageCount;
+	HPROPSHEETPAGE hPsp[7];
+	TTCPropertyPage *m_Page[7];
 };

Added: branches/unicode_buf/teraterm/teraterm/debug_pp.cpp
===================================================================
--- branches/unicode_buf/teraterm/teraterm/debug_pp.cpp	                        (rev 0)
+++ branches/unicode_buf/teraterm/teraterm/debug_pp.cpp	2019-11-08 15:39:57 UTC (rev 8367)
@@ -0,0 +1,70 @@
+
+
+/* debug property page */
+
+#include <stdio.h>
+
+#include "tmfc.h"
+#include "tt_res.h"
+#include "debug_pp.h"
+#include "../common/tt_res.h"
+#include "unicode_test.h"
+#include "dlglib.h"
+
+CDebugPropPage::CDebugPropPage(HINSTANCE inst, TTCPropertySheet *sheet)
+	: TTCPropertyPage(inst, IDD_TABSHEET_DEBUG, sheet)
+{
+}
+
+CDebugPropPage::~CDebugPropPage()
+{
+}
+
+static const struct {
+	WORD key_code;
+	const char *key_str;
+} key_list[] = {
+	{VK_CONTROL, "VT_CONTROL"},
+	{VK_SHIFT, "VK_SHIFT"},
+};
+
+void CDebugPropPage::OnInitDialog()
+{
+	SetCheck(IDC_DEBUG_POPUP_ENABLE, UnicodeDebugParam.CodePopupEnable);
+	for (int i = 0; i < _countof(key_list); i++) {
+		const char *key_str = key_list[i].key_str;
+		SendDlgItemMessage(IDC_DEBUG_POPUP_KEY1, CB_ADDSTRING, 0, (LPARAM)key_list[i].key_str);
+		SendDlgItemMessage(IDC_DEBUG_POPUP_KEY2, CB_ADDSTRING, 0, (LPARAM)key_list[i].key_str);
+		if (UnicodeDebugParam.CodePopupKey1 == key_list[i].key_code) {
+			SendDlgItemMessageA(IDC_DEBUG_POPUP_KEY1, CB_SETCURSEL, i, 0);
+		}
+		if (UnicodeDebugParam.CodePopupKey2 == key_list[i].key_code) {
+			SendDlgItemMessageA(IDC_DEBUG_POPUP_KEY2, CB_SETCURSEL, i, 0);
+		}
+	}
+}
+
+BOOL CDebugPropPage::OnCommand(WPARAM wParam, LPARAM lParam)
+{
+	switch (wParam) {
+		case IDC_DEBUG_CONSOLE_BUTTON | (BN_CLICKED << 16): {
+			FILE *fp;
+			AllocConsole();
+			freopen_s(&fp, "CONOUT$", "w", stdout);
+			freopen_s(&fp, "CONOUT$", "w", stderr);
+			break;
+		}
+		default:
+			break;
+	}
+	return FALSE;
+}
+
+void CDebugPropPage::OnOK()
+{
+	UnicodeDebugParam.CodePopupEnable = GetCheck(IDC_DEBUG_POPUP_ENABLE);
+	int i = GetCurSel(IDC_DEBUG_POPUP_KEY1);
+	UnicodeDebugParam.CodePopupKey1 = key_list[i].key_code;
+	i = GetCurSel(IDC_DEBUG_POPUP_KEY2);
+	UnicodeDebugParam.CodePopupKey2 = key_list[i].key_code;
+}

Added: branches/unicode_buf/teraterm/teraterm/debug_pp.h
===================================================================
--- branches/unicode_buf/teraterm/teraterm/debug_pp.h	                        (rev 0)
+++ branches/unicode_buf/teraterm/teraterm/debug_pp.h	2019-11-08 15:39:57 UTC (rev 8367)
@@ -0,0 +1,14 @@
+
+
+#include "tmfc.h"
+
+class CDebugPropPage : public TTCPropertyPage
+{
+public:
+	CDebugPropPage(HINSTANCE inst, TTCPropertySheet *sheet);
+	virtual ~CDebugPropPage();
+private:
+	void OnInitDialog();
+	BOOL OnCommand(WPARAM wParam, LPARAM lParam);
+	void OnOK();
+};

Added: branches/unicode_buf/teraterm/teraterm/debug_pp.rc
===================================================================
--- branches/unicode_buf/teraterm/teraterm/debug_pp.rc	                        (rev 0)
+++ branches/unicode_buf/teraterm/teraterm/debug_pp.rc	2019-11-08 15:39:57 UTC (rev 8367)
@@ -0,0 +1,104 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "../common/tt_res.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include <winresrc.h>
+#define IDC_STATIC -1
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// \x93\xFA\x96{\x8C\xEA (\x93\xFA\x96{) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
+LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
+#pragma code_page(932)
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_TABSHEET_DEBUG DIALOGEX 0, 0, 175, 95
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Debug"
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    CONTROL         "Enable charactor info popup",IDC_DEBUG_POPUP_ENABLE,
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,11,106,10
+    COMBOBOX        IDC_DEBUG_POPUP_KEY1,61,31,94,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_DEBUG_POPUP_KEY2,61,49,94,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "1st Key",IDC_STATIC,23,33,25,8
+    LTEXT           "2nd Key",IDC_STATIC,23,51,27,8
+    PUSHBUTTON      "Display consol window",IDC_DEBUG_CONSOLE_BUTTON,10,71,93,14
+END
+
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE 
+BEGIN
+    "../common/tt_res.h\0"
+END
+
+2 TEXTINCLUDE 
+BEGIN
+    "#include <winresrc.h>\r\n"
+    "#define IDC_STATIC -1\0"
+END
+
+3 TEXTINCLUDE 
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO
+BEGIN
+    IDD_TABSHEET_DEBUG, DIALOG
+    BEGIN
+        RIGHTMARGIN, 171
+        VERTGUIDE, 10
+        VERTGUIDE, 23
+        VERTGUIDE, 61
+        VERTGUIDE, 155
+        BOTTOMMARGIN, 88
+        HORZGUIDE, 37
+        HORZGUIDE, 55
+    END
+END
+#endif    // APSTUDIO_INVOKED
+
+#endif    // \x93\xFA\x96{\x8C\xEA (\x93\xFA\x96{) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+

Modified: branches/unicode_buf/teraterm/teraterm/teraterm.cpp
===================================================================
--- branches/unicode_buf/teraterm/teraterm/teraterm.cpp	2019-11-08 15:39:31 UTC (rev 8366)
+++ branches/unicode_buf/teraterm/teraterm/teraterm.cpp	2019-11-08 15:39:57 UTC (rev 8367)
@@ -310,14 +310,6 @@
 #ifdef _DEBUG
 	_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
 #endif
-#if UNICODE_DEBUG
-	if (_access("teraterm_debug.txt", 0) == 0) {
-		FILE* fp;
-		AllocConsole();
-		freopen_s(&fp, "CONOUT$", "w", stdout);
-		freopen_s(&fp, "CONOUT$", "w", stderr);
-	}
-#endif
 
 	init();
 	hInst = hInstance;

Modified: branches/unicode_buf/teraterm/teraterm/ttermpro.rc
===================================================================
--- branches/unicode_buf/teraterm/teraterm/ttermpro.rc	2019-11-08 15:39:31 UTC (rev 8366)
+++ branches/unicode_buf/teraterm/teraterm/ttermpro.rc	2019-11-08 15:39:57 UTC (rev 8367)
@@ -16,10 +16,8 @@
 // \x89p\x8C\xEA (\x95č\x91) resources
 
 #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 #pragma code_page(1252)
-#endif //_WIN32
 
 /////////////////////////////////////////////////////////////////////////////
 //
@@ -153,10 +151,10 @@
     LTEXT           "Window Opacity",IDC_ALPHABLEND,5,5,78,8
     LTEXT           "&Active",IDC_ALPHA_BLEND_ACTIVE_LABEL,7,17,60,12
     EDITTEXT        IDC_ALPHA_BLEND_ACTIVE,69,16,19,12,ES_AUTOHSCROLL | ES_NUMBER
-    CONTROL         "", IDC_ALPHA_BLEND_ACTIVE_TRACKBAR, "msctls_trackbar32", WS_TABSTOP | TBS_BOTH | TBS_NOTICKS, 4, 30, 89, 12
+    CONTROL         "",IDC_ALPHA_BLEND_ACTIVE_TRACKBAR,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,4,30,89,12
     LTEXT           "Ina&ctive",IDC_ALPHA_BLEND_INACTIVE_LABEL,7,45,60,12
     EDITTEXT        IDC_ALPHA_BLEND_INACTIVE,69,44,19,12,ES_AUTOHSCROLL | ES_NUMBER
-    CONTROL         "", IDC_ALPHA_BLEND_INACTIVE_TRACKBAR, "msctls_trackbar32", WS_TABSTOP | TBS_BOTH | TBS_NOTICKS, 4, 58, 89, 12
+    CONTROL         "",IDC_ALPHA_BLEND_INACTIVE_TRACKBAR,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,4,58,89,12
     GROUPBOX        "",IDC_STATIC,97,2,155,70
     CONTROL         "&Eterm lookfeel(*)",IDC_ETERM_LOOKFEEL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,99,8,66,12
     CONTROL         "Mixed &ThemeFile to Background",IDC_MIXED_THEME_FILE,
@@ -310,7 +308,7 @@
     LTEXT           "Elapsed time:",IDC_PROT_ELAPSED,12,48,46,8
     RTEXT           "",IDC_PROTOELAPSEDTIME,60,48,70,8
     RTEXT           "",IDC_PROTOPERCENT,104,61,26,8,0,WS_EX_TRANSPARENT
-    CONTROL         "",IDC_PROTOPROGRESS,"msctls_progress32",NOT WS_VISIBLE | WS_BORDER | 0x1,12,58,92,14,WS_EX_TRANSPARENT
+    CONTROL         "",IDC_PROTOPROGRESS,"msctls_progress32",PBS_SMOOTH | NOT WS_VISIBLE | WS_BORDER,12,58,92,14,WS_EX_TRANSPARENT
     DEFPUSHBUTTON   "Cancel",IDCANCEL,51,77,40,14
 END
 
@@ -362,7 +360,7 @@
 //
 
 #ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO 
+GUIDELINES DESIGNINFO
 BEGIN
     IDD_DAD_DIALOG, DIALOG
     BEGIN
@@ -493,20 +491,28 @@
 // Icon with lowest ID value placed first to ensure application icon
 // remains consistent on all systems.
 IDI_TTERM               ICON                    "../common/teraterm.ico"
+
 IDI_VT                  ICON                    "../common/vt.ico"
+
 IDI_TEK                 ICON                    "../common/tek.ico"
+
 IDI_TTERM_CLASSIC       ICON                    "../common/teraterm_classic.ico"
+
 IDI_VT_CLASSIC          ICON                    "../common/vt_classic.ico"
+
 IDI_TTERM_3D            ICON                    "../common/teraterm_3d.ico"
+
 IDI_VT_3D               ICON                    "../common/vt_3d.ico"
+
 IDI_CYGTERM             ICON                    "../../cygterm/cygterm.ico"
 
+
 /////////////////////////////////////////////////////////////////////////////
 //
 // Menu
 //
 
-IDR_MENU MENU 
+IDR_MENU MENU
 BEGIN
     POPUP "&File"
     BEGIN
@@ -624,7 +630,7 @@
     END
 END
 
-IDR_TEKMENU MENU 
+IDR_TEKMENU MENU
 BEGIN
     POPUP "&File"
     BEGIN
@@ -655,7 +661,7 @@
     END
 END
 
-IDR_PASTEMENU MENU 
+IDR_PASTEMENU MENU
 BEGIN
     MENUITEM "&Paste",                      ID_EDIT_PASTE2
     MENUITEM "Paste<C&R>",                  ID_EDIT_PASTECR
@@ -667,7 +673,7 @@
 // Accelerator
 //
 
-IDR_ACC ACCELERATORS 
+IDR_ACC ACCELERATORS
 BEGIN
     "T",            ID_ACC_AREYOUTHERE,     VIRTKEY, ALT, NOINVERT
     "C",            ID_ACC_COPY,            VIRTKEY, ALT, NOINVERT

Modified: branches/unicode_buf/teraterm/teraterm/unicode_test.h
===================================================================
--- branches/unicode_buf/teraterm/teraterm/unicode_test.h	2019-11-08 15:39:31 UTC (rev 8366)
+++ branches/unicode_buf/teraterm/teraterm/unicode_test.h	2019-11-08 15:39:57 UTC (rev 8367)
@@ -14,3 +14,23 @@
 #define UNICODE_API				1	// UNICODE API\x82\xF0\x8B\x96\x89\xC2
 #define	UNICODE_DEBUG			1	// \x83f\x83o\x83O\x97p\x8B@\x94\enable
 #define	UNICODE_DEBUG_CARET_OFF	0	// \x83J\x81[\x83\\x83\x8B\x93_\x96Ōn\x82\xF0\x8E~\x82߂\xE9\x83f\x83o\x83O\x97p
+
+#ifdef __cplusplus
+
+class CUnicodeDebugParam
+{
+public:
+	BOOL CodePopupEnable;
+	WORD CodePopupKey1;
+	WORD CodePopupKey2;
+	CUnicodeDebugParam()
+	{
+		CodePopupEnable = FALSE;
+		CodePopupKey1 = VK_CONTROL;
+		CodePopupKey2 = VK_CONTROL;
+	}
+};
+
+extern CUnicodeDebugParam UnicodeDebugParam;
+
+#endif

Modified: branches/unicode_buf/teraterm/teraterm/vtwin.cpp
===================================================================
--- branches/unicode_buf/teraterm/teraterm/vtwin.cpp	2019-11-08 15:39:31 UTC (rev 8366)
+++ branches/unicode_buf/teraterm/teraterm/vtwin.cpp	2019-11-08 15:39:57 UTC (rev 8367)
@@ -152,6 +152,10 @@
 #define WM_IME_COMPOSITION              0x010F
 #endif
 
+#if UNICODE_INTERNAL_BUFF
+CUnicodeDebugParam UnicodeDebugParam;
+#endif
+
 /////////////////////////////////////////////////////////////////////////////
 // CVTWindow
 
@@ -2139,20 +2143,27 @@
 	MSG M;
 
 #if UNICODE_DEBUG
-	if (nChar == VK_CONTROL) {
+	if (UnicodeDebugParam.CodePopupEnable)
+	{
 		const DWORD now = GetTickCount();
 		switch(CtrlKeyState) {
 		case 0:
-			CtrlKeyDownTick = now;
-			CtrlKeyState = 1;
+			if (nChar == UnicodeDebugParam.CodePopupKey1) {
+				CtrlKeyDownTick = now;
+				CtrlKeyState = 1;
+			}
 			break;
 		case 2:
+			if (nChar != UnicodeDebugParam.CodePopupKey2) {
+				CtrlKeyState = 0;
+				break;
+			}
 			if (now - CtrlKeyDownTick < 500 && TipWinCodeDebug == NULL) {
 				POINT pos;
 				GetCursorPos(&pos);
 				ScreenToClient(m_hWnd, &pos);
 				CodePopup(pos.x, pos.y);
-				CtrlKeyState++;
+				CtrlKeyState = 3;
 			} else {
 				CtrlKeyDownTick = now;
 				CtrlKeyState = 1;
@@ -2164,8 +2175,6 @@
 			CtrlKeyState = 0;
 			break;
 		}
-	} else {
-		CtrlKeyState = 0;
 	}
 	if (TipWinCodeDebug != NULL && nChar == VK_SHIFT) {
 		POINT pos;
@@ -2209,12 +2218,12 @@
 {
 	KeyUp(nChar);
 #if UNICODE_DEBUG
-	if (CtrlKeyState == 1 && nChar == VK_CONTROL) {
+	if (CtrlKeyState == 1 && nChar == UnicodeDebugParam.CodePopupKey1) {
 		CtrlKeyState++;
 	} else {
 		CtrlKeyState = 0;
 	}
-	if (nChar == VK_CONTROL) {
+	if (nChar == UnicodeDebugParam.CodePopupKey2) {
 		if (TipWinCodeDebug != NULL) {
 			TipWinDestroy(TipWinCodeDebug);
 			TipWinCodeDebug = NULL;


Ttssh2-commit メーリングリストの案内
Back to archive index