[Ttssh2-commit] [6594] 貼り付け関連の設定を ts.PasteFlag に統合

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2017年 2月 21日 (火) 03:46:35 JST


Revision: 6594
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6594
Author:   doda
Date:     2017-02-21 03:46:35 +0900 (Tue, 21 Feb 2017)
Log Message:
-----------
貼り付け関連の設定を ts.PasteFlag に統合

Modified Paths:
--------------
    trunk/teraterm/common/tttypes.h
    trunk/teraterm/teraterm/addsetting.cpp
    trunk/teraterm/teraterm/clipboar.c
    trunk/teraterm/teraterm/vtwin.cpp
    trunk/teraterm/ttpset/ttset.c

-------------- next part --------------
Modified: trunk/teraterm/common/tttypes.h
===================================================================
--- trunk/teraterm/common/tttypes.h	2017-02-20 18:46:30 UTC (rev 6593)
+++ trunk/teraterm/common/tttypes.h	2017-02-20 18:46:35 UTC (rev 6594)
@@ -291,6 +291,14 @@
 #define DBGF_NOUT	4
 #define DBGF_ALL	(DBGF_NORM | DBGF_HEXD | DBGF_NOUT)
 
+// Clipboard Paste Flags (used in ts.PasteFlag)
+#define CPF_DISABLE_RBUTTON        0x0001
+#define CPF_CONFIRM_RBUTTON        0x0002
+#define CPF_DISABLE_MBUTTON        0x0004
+#define CPF_CONFIRM_CHANGEPASTE    0x0010
+#define CPF_CONFIRM_CHANGEPASTE_CR 0x0020
+#define CPF_TRIM_TRAILING_NL       0x0100
+
 // Title Reporting Type
 #define IdTitleReportIgnore 0
 #define IdTitleReportAccept 8
@@ -496,8 +504,8 @@
 	char LogDefaultName[80];
 	char LogDefaultPath[MAX_PATH];
 	WORD LogAutoStart;
-	int DisablePasteMouseRButton;
-	WORD ConfirmPasteMouseRButton;
+	unsigned int PasteFlag;
+	WORD Dummy1;		// \x8B\x8CConfirmPasteMouseRButton. PasteFlag\x82ɓ\x9D\x8D\x87\x82\xB5\x82\xBD\x82\xBD\x82ߔp\x8E~\x81B\x91\xBC\x82֓]\x97p
 	WORD DisableAcceleratorSendBreak;
 	int EnableClickableUrl;
 	eterm_lookfeel_t EtermLookfeel;
@@ -532,9 +540,9 @@
 	int TerminalOldWidth;
 	int TerminalOldHeight;
 	WORD MaximizedBugTweak;
-	WORD ConfirmChangePaste;
+	WORD Dummy2;		// \x8B\x8CConfirmChangePaste. PasteFlag\x82ɓ\x9D\x8D\x87\x82\xB5\x82\xBD\x82\xBD\x82ߔp\x8E~\x81B\x91\xBC\x82֓]\x97p
 	WORD SaveVTWinPos;
-	WORD DisablePasteMouseMButton;
+	WORD Dummy3;		// \x8B\x8CDisablePasteMouseMButton. PasteFlag\x82ɓ\x9D\x8D\x87\x82\xB5\x82\xBD\x82\xBD\x82ߔp\x8E~\x81B\x91\xBC\x82֓]\x97p
 	int MouseWheelScrollLine;
 	WORD CRSend_ini;
 	WORD LocalEcho_ini;
@@ -565,7 +573,7 @@
 	WORD DisableMenuDuplicateSession;
 	WORD DisableMenuNewConnection;
 	char TerminalUID[9];
-	WORD ConfirmChangePasteCR;
+	WORD Dummy4;		// \x8B\x8CConfirmChangePasteCR. PasteFlag\x82ɓ\x9D\x8D\x87\x82\xB5\x82\xBD\x82\xBD\x82ߔp\x8E~\x81B\x91\xBC\x82֓]\x97p
 	WORD JumpList;
 	WORD TabStopFlag;
 	DWORD CtrlFlag;
@@ -612,7 +620,7 @@
 	int ZmodemTimeOutInit;
 	int ZmodemTimeOutFin;
 	WORD WaitCom;
-	WORD TrimTrailingNLonPaste;
+	WORD Dummy5;	// \x8B\x8CTrimTrailingNLonPaste. PasteFlag\x82ɓ\x9D\x8D\x87\x82\xB5\x82\xBD\x88הp\x8E~\x81B\x91\xBC\x82֓]\x97p
 };
 
 typedef struct tttset TTTSet, *PTTSet;

Modified: trunk/teraterm/teraterm/addsetting.cpp
===================================================================
--- trunk/teraterm/teraterm/addsetting.cpp	2017-02-20 18:46:30 UTC (rev 6593)
+++ trunk/teraterm/teraterm/addsetting.cpp	2017-02-20 18:46:35 UTC (rev 6594)
@@ -553,19 +553,20 @@
 	// (2)DisablePasteMouseRButton
 	btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
 	btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
-	btn->SetCheck(ts.DisablePasteMouseRButton);
-	if (ts.DisablePasteMouseRButton) {
+	if (ts.PasteFlag & CPF_DISABLE_RBUTTON) {
+		btn->SetCheck(BST_CHECKED);
 		btn2->EnableWindow(FALSE);
 	} else {
+		btn->SetCheck(BST_UNCHECKED);
 		btn2->EnableWindow(TRUE);
 	}
 
 	// (3)ConfirmPasteMouseRButton
-	btn2->SetCheck(ts.ConfirmPasteMouseRButton);
+	btn2->SetCheck((ts.PasteFlag & CPF_CONFIRM_RBUTTON)?BST_CHECKED:BST_UNCHECKED);
 
 	// (4)DisablePasteMouseMButton
 	btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);
-	btn->SetCheck(ts.DisablePasteMouseMButton);
+	btn->SetCheck((ts.PasteFlag & CPF_DISABLE_MBUTTON)?BST_CHECKED:BST_UNCHECKED);
 
 	// (5)SelectOnlyByLButton
 	btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
@@ -573,17 +574,17 @@
 
 	// (6)TrimTrailingNLonPaste
 	btn = (CButton *)GetDlgItem(IDC_TRIMNLCHAR);
-	btn->SetCheck(ts.TrimTrailingNLonPaste);
+	btn->SetCheck((ts.PasteFlag & CPF_TRIM_TRAILING_NL)?BST_CHECKED:BST_UNCHECKED);
 
 	// (7)ConfirmChangePaste
 	btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
-	btn->SetCheck(ts.ConfirmChangePaste);
+	btn->SetCheck((ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE)?BST_CHECKED:BST_UNCHECKED);
 
 	// \x83t\x83@\x83C\x83\x8B\x83p\x83X
 	SetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
 	edit = (CEdit *)GetDlgItem(IDC_CONFIRM_STRING_FILE);
 	btn = (CButton *)GetDlgItem(IDC_CONFIRM_STRING_FILE_PATH);
-	if (ts.ConfirmChangePaste) {
+	if (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE) {
 		edit->EnableWindow(TRUE);
 		btn->EnableWindow(TRUE);
 	} else {
@@ -672,15 +673,30 @@
 
 	// (2)
 	btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
-	ts.DisablePasteMouseRButton = btn->GetCheck();
+	if (btn->GetCheck()) {
+		ts.PasteFlag |= CPF_DISABLE_RBUTTON;
+	}
+	else {
+		ts.PasteFlag &= ~CPF_DISABLE_RBUTTON;
+	}
 
 	// (3)
 	btn = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
-	ts.ConfirmPasteMouseRButton = btn->GetCheck();
+	if (btn->GetCheck()) {
+		ts.PasteFlag |= CPF_CONFIRM_RBUTTON;
+	}
+	else {
+		ts.PasteFlag &= ~CPF_CONFIRM_RBUTTON;
+	}
 
 	// (4)
 	btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);
-	ts.DisablePasteMouseMButton = btn->GetCheck();
+	if (btn->GetCheck()) {
+		ts.PasteFlag |= CPF_DISABLE_MBUTTON;
+	}
+	else {
+		ts.PasteFlag &= ~CPF_DISABLE_MBUTTON;
+	}
 
 	// (5)
 	btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
@@ -688,11 +704,21 @@
 
 	// (6)
 	btn = (CButton *)GetDlgItem(IDC_TRIMNLCHAR);
-	ts.TrimTrailingNLonPaste = btn->GetCheck();
+	if (btn->GetCheck()) {
+		ts.PasteFlag |= CPF_TRIM_TRAILING_NL;
+	}
+	else {
+		ts.PasteFlag &= ~CPF_TRIM_TRAILING_NL;
+	}
 
 	// (7)IDC_CONFIRM_CHANGE_PASTE
 	btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
-	ts.ConfirmChangePaste = btn->GetCheck();
+	if (btn->GetCheck()) {
+		ts.PasteFlag |= CPF_CONFIRM_CHANGEPASTE;
+	}
+	else {
+		ts.PasteFlag &= ~CPF_CONFIRM_CHANGEPASTE;
+	}
 	GetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile, sizeof(ts.ConfirmChangePasteStringFile));
 
 	// (8)

Modified: trunk/teraterm/teraterm/clipboar.c
===================================================================
--- trunk/teraterm/teraterm/clipboar.c	2017-02-20 18:46:30 UTC (rev 6593)
+++ trunk/teraterm/teraterm/clipboar.c	2017-02-20 18:46:35 UTC (rev 6594)
@@ -146,7 +146,7 @@
 // \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x83o\x83b\x83t\x83@\x82̖\x96\x94\xF6\x82ɂ\xA0\x82\xE9 CR / LF \x82\xF0\x82\xB7\x82ׂč폜\x82\xB7\x82\xE9
 BOOL TrimTrailingNL(BOOL AddCR, BOOL Bracketed) {
 	PCHAR tail;
-	if (ts.TrimTrailingNLonPaste) {
+	if (ts.PasteFlag & CPF_TRIM_TRAILING_NL) {
 		for (tail = CBMemPtr+strlen(CBMemPtr)-1; tail >= CBMemPtr; tail--) {
 			if (*tail != '\r' && *tail != '\n') {
 				break;
@@ -205,7 +205,7 @@
 	int ret = IDOK;
 	BOOL confirm = FALSE;
 
-	if (!ts.ConfirmChangePaste) {
+	if ((ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE) == 0) {
 		return TRUE;
 	}
 
@@ -225,7 +225,7 @@
  */
 
 	if (AddCR) {
-		if (ts.ConfirmChangePasteCR) {
+		if (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE_CR) {
 			confirm = TRUE;
 		}
 	}

Modified: trunk/teraterm/teraterm/vtwin.cpp
===================================================================
--- trunk/teraterm/teraterm/vtwin.cpp	2017-02-20 18:46:30 UTC (rev 6593)
+++ trunk/teraterm/teraterm/vtwin.cpp	2017-02-20 18:46:35 UTC (rev 6594)
@@ -1002,8 +1002,8 @@
 
 	// added ConfirmPasteMouseRButton (2007.3.17 maya)
 	if ((LMR == IdRightButton) &&
-		!ts.DisablePasteMouseRButton &&
-		ts.ConfirmPasteMouseRButton &&
+		(ts.PasteFlag & CPF_DISABLE_RBUTTON) == 0 &&
+		(ts.PasteFlag & CPF_CONFIRM_RBUTTON) != 0 &&
 		cv.Ready &&
 		!mousereport &&
 		(SendVar==NULL) && (FileVar==NULL) &&
@@ -2357,7 +2357,7 @@
 	}
 
 	// added DisablePasteMouseMButton (2008.3.2 maya)
-	if (ts.DisablePasteMouseMButton || mousereport) {
+	if ((ts.PasteFlag & CPF_DISABLE_MBUTTON) || mousereport) {
 		ButtonUp(FALSE);
 	}
 	else {
@@ -2538,12 +2538,12 @@
 
 	/*
 	 *  \x83y\x81[\x83X\x83g\x8F\xF0\x8C\x8F:
-	 *  \x81Ets.DisableMouseRButton      -> \x89E\x83{\x83^\x83\x93\x82ɂ\xE6\x82\xE9\x83y\x81[\x83X\x83g\x96\xB3\x8C\xF8
-	 *  \x81Ets.ConfirmPasteMouseRButton -> \x95\\x8E\xA6\x82\xB3\x82ꂽ\x83\x81\x83j\x83\x85\x81[\x82\xA9\x82\xE7\x83y\x81[\x83X\x83g\x82\xF0\x8Ds\x82\xA4\x82̂ŁA
-	 *                                   \x89E\x83{\x83^\x83\x93\x83A\x83b\x83v\x82ɂ\xE6\x82\xE9\x83y\x81[\x83X\x83g\x82͍s\x82\xED\x82Ȃ\xA2
-	 *  \x81Emousereport                 -> \x83}\x83E\x83X\x83g\x83\x89\x83b\x83L\x83\x93\x83O\x92\x86\x82̓y\x81[\x83X\x83g\x82\xF0\x8Ds\x82\xED\x82Ȃ\xA2
+	 *  \x81Ets.PasteFlag & CPF_DISABLE_RBUTTON -> \x89E\x83{\x83^\x83\x93\x82ɂ\xE6\x82\xE9\x83y\x81[\x83X\x83g\x96\xB3\x8C\xF8
+	 *  \x81Ets.PasteFlag & CPF_CONFIRM_RBUTTON -> \x95\\x8E\xA6\x82\xB3\x82ꂽ\x83\x81\x83j\x83\x85\x81[\x82\xA9\x82\xE7\x83y\x81[\x83X\x83g\x82\xF0\x8Ds\x82\xA4\x82̂ŁA
+	 *                                          \x89E\x83{\x83^\x83\x93\x83A\x83b\x83v\x82ɂ\xE6\x82\xE9\x83y\x81[\x83X\x83g\x82͍s\x82\xED\x82Ȃ\xA2
+	 *  \x81Emousereport                        -> \x83}\x83E\x83X\x83g\x83\x89\x83b\x83L\x83\x93\x83O\x92\x86\x82̓y\x81[\x83X\x83g\x82\xF0\x8Ds\x82\xED\x82Ȃ\xA2
 	 */
-	if (ts.DisablePasteMouseRButton || ts.ConfirmPasteMouseRButton || mousereport) {
+	if ((ts.PasteFlag & CPF_DISABLE_RBUTTON) || (ts.PasteFlag & CPF_CONFIRM_RBUTTON) || mousereport) {
 		ButtonUp(FALSE);
 	} else {
 		ButtonUp(TRUE);

Modified: trunk/teraterm/ttpset/ttset.c
===================================================================
--- trunk/teraterm/ttpset/ttset.c	2017-02-20 18:46:30 UTC (rev 6593)
+++ trunk/teraterm/ttpset/ttset.c	2017-02-20 18:46:35 UTC (rev 6594)
@@ -512,6 +512,7 @@
 	ts->PortFlag = 0;			// Port flags
 	ts->WindowFlag = 0;			// Window flags
 	ts->CtrlFlag = 0;			// Control sequence flags
+	ts->PasteFlag = 0;			// Clipboard Paste flags
 	ts->TelPort = 23;
 
 	ts->DisableTCPEchoCR = FALSE;
@@ -1465,28 +1466,29 @@
 	                        ts->ZModemRcvCommand, sizeof(ts->ZModemRcvCommand), FName);
 
 #ifndef NO_COPYLINE_FIX
-
 	/* Enable continued-line copy  -- special option */
 	ts->EnableContinuedLineCopy =
 		GetOnOff(Section, "EnableContinuedLineCopy", FName, FALSE);
 #endif							/* NO_COPYLINE_FIX */
 
-	ts->DisablePasteMouseRButton =
-		GetOnOff(Section, "DisablePasteMouseRButton", FName, FALSE);
+	if (GetOnOff(Section, "DisablePasteMouseRButton", FName, FALSE))
+		ts->PasteFlag |= CPF_DISABLE_RBUTTON;
 
-	// added DisablePasteMouseMButton (2008.3.2 maya)
-	ts->DisablePasteMouseMButton =
-		GetOnOff(Section, "DisablePasteMouseMButton", FName, TRUE);
+	if (GetOnOff(Section, "DisablePasteMouseMButton", FName, TRUE))
+		ts->PasteFlag |= CPF_DISABLE_MBUTTON;
 
-	// added ConfirmPasteMouseRButton (2007.3.17 maya)
-	ts->ConfirmPasteMouseRButton =
-		GetOnOff(Section, "ConfirmPasteMouseRButton", FName, FALSE);
+	if (GetOnOff(Section, "ConfirmPasteMouseRButton", FName, FALSE))
+		ts->PasteFlag |= CPF_CONFIRM_RBUTTON;
 
-	// added ConfirmChangePaste (2008.2.3 yutaka)
-	ts->ConfirmChangePaste =
-		GetOnOff(Section, "ConfirmChangePaste", FName, TRUE);
+	if (GetOnOff(Section, "ConfirmChangePaste", FName, TRUE))
+		ts->PasteFlag |= CPF_CONFIRM_CHANGEPASTE;
+
+	if (GetOnOff(Section, "ConfirmChangePasteCR", FName, TRUE))
+		ts->PasteFlag |= CPF_CONFIRM_CHANGEPASTE_CR;
+
 	GetPrivateProfileString(Section, "ConfirmChangePasteStringFile", "",
 	                        Temp, sizeof(Temp), FName);
+
 	strncpy_s(ts->ConfirmChangePasteStringFile, sizeof(ts->ConfirmChangePasteStringFile), Temp,
 	          _TRUNCATE);
 
@@ -1766,9 +1768,6 @@
 	if (GetOnOff(Section, "LockTUID", FName, TRUE))
 		ts->TermFlag |= TF_LOCKTUID;
 
-	// Confirm PasteCR
-	ts->ConfirmChangePasteCR = GetOnOff(Section, "ConfirmChangePasteCR", FName, TRUE);
-
 	// Jump List
 	ts->JumpList = GetOnOff(Section, "JumpList", FName, TRUE);
 
@@ -1921,8 +1920,8 @@
 		ts->ZmodemTimeOutFin = 1;
 
 	// Trim trailing new line character when pasting
-	ts->TrimTrailingNLonPaste =
-		GetOnOff(Section, "TrimTrailingNLonPaste", FName, FALSE);
+	if (GetOnOff(Section, "TrimTrailingNLonPaste", FName, FALSE))
+		ts->PasteFlag |= CPF_TRIM_TRAILING_NL;
 
 	// CygTerm Configuration File
 	ReadCygtermConfFile(ts);
@@ -2126,19 +2125,21 @@
 	WriteInt(Section, "ConnectingTimeout", FName, ts->ConnectingTimeout);
 
 	WriteOnOff(Section, "DisablePasteMouseRButton", FName,
-	           ts->DisablePasteMouseRButton);
+	           (WORD) (ts->PasteFlag & CPF_DISABLE_RBUTTON));
 
-	// added DisablePasteMouseMButton (2008.3.2 maya)
 	WriteOnOff(Section, "DisablePasteMouseMButton", FName,
-	           ts->DisablePasteMouseMButton);
+	           (WORD) (ts->PasteFlag & CPF_DISABLE_MBUTTON));
 
-	// added ConfirmPasteMouseRButton (2007.3.17 maya)
 	WriteOnOff(Section, "ConfirmPasteMouseRButton", FName,
-	           ts->ConfirmPasteMouseRButton);
+	           (WORD) (ts->PasteFlag & CPF_CONFIRM_RBUTTON));
 
 	// added ConfirmChangePaste
 	WriteOnOff(Section, "ConfirmChangePaste", FName,
-	           ts->ConfirmChangePaste);
+	           (WORD) (ts->PasteFlag & CPF_CONFIRM_CHANGEPASTE));
+
+	WriteOnOff(Section, "ConfirmChangePasteCR", FName,
+	           (WORD) (ts->PasteFlag & CPF_CONFIRM_CHANGEPASTE_CR));
+
 	WritePrivateProfileString(Section, "ConfirmChangePasteStringFile",
 	                          ts->ConfirmChangePasteStringFile, FName);
 
@@ -3034,9 +3035,6 @@
 	// Lock Terminal UID
 	WriteOnOff(Section, "LockTUID", FName, ts->TermFlag & TF_LOCKTUID);
 
-	// Confirm PasteCR
-	WriteOnOff(Section, "ConfirmChangePasteCR", FName, ts->ConfirmChangePasteCR);
-
 	// Jump List
 	WriteOnOff(Section, "JumpList", FName, ts->JumpList);
 
@@ -3183,7 +3181,8 @@
 	WritePrivateProfileString(Section, "ZmodemTimeouts", Temp, FName);
 
 	// Trim trailing new line character when pasting
-	WriteOnOff(Section, "TrimTrailingNLonPaste", FName, ts->TrimTrailingNLonPaste);
+	WriteOnOff(Section, "TrimTrailingNLonPaste", FName,
+		(WORD) (ts->PasteFlag & CPF_TRIM_TRAILING_NL));
 
 	// CygTerm Configuration File
 	WriteCygtermConfFile(ts);



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