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);