Revision: 11013 https://osdn.net/projects/ttssh2/scm/svn/commits/11013 Author: zmatsuo Date: 2023-10-19 21:51:47 +0900 (Thu, 19 Oct 2023) Log Message: ----------- ログダイアログに反映されない設定があったので修正 Modified Paths: -------------- trunk/teraterm/teraterm/logdlg.cpp -------------- next part -------------- Modified: trunk/teraterm/teraterm/logdlg.cpp =================================================================== --- trunk/teraterm/teraterm/logdlg.cpp 2023-10-19 12:51:38 UTC (rev 11012) +++ trunk/teraterm/teraterm/logdlg.cpp 2023-10-19 12:51:47 UTC (rev 11013) @@ -145,34 +145,19 @@ } } -/* - * Log \x83_\x83C\x83A\x83\x8D\x83O\x82̂\xA4\x82\xBF\x81AEnable/Disable \x82\xAA\x95ω\xBB\x82\xB7\x82\xE9\x83R\x83\x93\x83g\x83\x8D\x81[\x83\x8B - * - * - Append - * \x8Ew\x92肳\x82ꂽ\x83t\x83@\x83C\x83\x8B\x82\xAA\x91\xB6\x8D݂\xB7\x82\xE9\x8Fꍇ\x82\xCD Enable - * \x8Ew\x92肳\x82ꂽ\x83t\x83@\x83C\x83\x8B\x82\xAA\x91\xB6\x8D݂\xB5\x82Ȃ\xA2\x8Fꍇ\x82\xCD Disable - * - * - BOM, Encoding - * Text \x82\xA9\x82\xC2 New/Overwrite \x82̏ꍇ\x82\xC9 Enable - * \x82\xBB\x82\xA4\x82łȂ\xA2\x8Fꍇ\x82\xC9 Disable - * BOM \x82̓t\x83@\x83C\x83\x8B\x82̐擪\x82\xA9\x82珑\x82\xAB\x8D\x9E\x82ނƂ\xAB\x82\xB5\x82\xA9\x88Ӗ\xA1\x82\xAA\x82Ȃ\xA2 - * Encoding \x82͒NjL\x82ł\xE0\x88Ӗ\xA1\x82\xAA\x82\xA0\x82邪\x81A\x8A\xF9\x91\xB6\x83t\x83@\x83C\x83\x8B\x82̃G\x83\x93\x83R\x81[\x83f\x83B\x83\x93\x83O\x82\xF0 - * \x8B\xAD\x90\xA7\x93I\x82Ƀ_\x83C\x83A\x83\x8D\x83O\x82ɔ\xBD\x89f\x82\xB7\x82\xE9\x82̂ŁA\x83\x86\x81[\x83U\x82ɂ\xE6\x82\xE9\x8Ew\x92\xE8\x82͂\xB3\x82\xB9\x82Ȃ\xA2 - * - * - Plain Text, Timestamp, Timestamp \x8E\xED\x95\xCA - * Text \x82̏ꍇ\x82\xCD Enable - * Binary \x82̏ꍇ\x82\xCD Disable - * - * - Timestamp \x8E\xED\x95\xCA - * Timestamp=on \x82̏ꍇ\x82\xCD Enable - * Timestamp=off \x82̏ꍇ\x82\xCD Disable +/** + * \x83\x89\x83W\x83I\x83{\x83^\x83\x93\x81A\x83t\x83@\x83C\x83\x8B\x82̏\xF3\x91Ԃ\xA9\x82\xE7\x83R\x83\x93\x83g\x83\x8D\x81[\x83\x8B\x82\xF0Enable/Disable\x82\xB7\x82\xE9 */ -static void ArrangeControls(HWND Dialog, LogDlgWork_t *work, - WORD Append, WORD LogBinary, - WORD LogTypePlainText, WORD LogTimestamp) +static void ArrangeControls(HWND Dialog, LogDlgWork_t *work) { + WORD Append, LogBinary; + + GetRB(Dialog, &Append, IDC_APPEND, IDC_APPEND); + GetRB(Dialog, &LogBinary, IDC_FOPTBIN, IDC_FOPTBIN); + + // Append \x83\x89\x83W\x83I\x83{\x83^\x83\x93 if (work->file_exist) { - // Append \x83\x89\x83W\x83I\x83{\x83^\x83\x93\x82́A\x83t\x83@\x83C\x83\x8B\x82\xAA\x82\xA0\x82\xE9\x82Ƃ\xAB\x82\xBE\x82\xAF\x97L\x8C\xF8\x82ɂȂ\xE9 + // \x8Ew\x92肳\x82ꂽ\x83t\x83@\x83C\x83\x8B\x82\xAA\x91\xB6\x8D݂\xB7\x82\xE9\x8Fꍇ\x82\xCD Enable EnableWindow(GetDlgItem(Dialog, IDC_APPEND), TRUE); if (Append > 0) { @@ -182,21 +167,32 @@ CheckRadioButton(Dialog, IDC_NEW_OVERWRITE, IDC_APPEND, IDC_NEW_OVERWRITE); } } - else { // \x83t\x83@\x83C\x83\x8B\x82\xAA\x82Ȃ\xA2 -> \x90V\x8BK + else { + // \x8Ew\x92肳\x82ꂽ\x83t\x83@\x83C\x83\x8B\x82\xAA\x91\xB6\x8D݂\xB5\x82Ȃ\xA2\x8Fꍇ\x82\xCD Disable EnableWindow(GetDlgItem(Dialog, IDC_APPEND), FALSE); + + // \x83t\x83@\x83C\x83\x8B\x82\xAA\x82Ȃ\xA2 -> \x90V\x8BK CheckRadioButton(Dialog, IDC_NEW_OVERWRITE, IDC_APPEND, IDC_NEW_OVERWRITE); } + // BOM, Encoding if (!LogBinary && !Append) { + // Text \x82\xA9\x82\xC2 New/Overwrite \x82̏ꍇ\x82\xC9 Enable EnableWindow(GetDlgItem(Dialog, IDC_BOM), TRUE); EnableWindow(GetDlgItem(Dialog, IDC_TEXTCODING_DROPDOWN), TRUE); } else { + // \x82\xBB\x82\xA4\x82łȂ\xA2\x8Fꍇ\x82\xC9 Disable + // BOM \x82̓t\x83@\x83C\x83\x8B\x82̐擪\x82\xA9\x82珑\x82\xAB\x8D\x9E\x82ނƂ\xAB\x82\xB5\x82\xA9\x88Ӗ\xA1\x82\xAA\x82Ȃ\xA2 + // Encoding \x82͒NjL\x82ł\xE0\x88Ӗ\xA1\x82\xAA\x82\xA0\x82邪\x81A\x8A\xF9\x91\xB6\x83t\x83@\x83C\x83\x8B\x82̃G\x83\x93\x83R\x81[\x83f\x83B\x83\x93\x83O\x82\xF0 + // \x8B\xAD\x90\xA7\x93I\x82Ƀ_\x83C\x83A\x83\x8D\x83O\x82ɔ\xBD\x89f\x82\xB7\x82\xE9\x82̂ŁA\x83\x86\x81[\x83U\x82ɂ\xE6\x82\xE9\x8Ew\x92\xE8\x82͂\xB3\x82\xB9\x82Ȃ\xA2 EnableWindow(GetDlgItem(Dialog, IDC_BOM), FALSE); EnableWindow(GetDlgItem(Dialog, IDC_TEXTCODING_DROPDOWN), FALSE); } + // Plain Text, Timestamp, Timestamp \x8E\xED\x95\xCA if (LogBinary) { + // Binary \x82̏ꍇ\x82\xCD Disable CheckRadioButton(Dialog, IDC_FOPTBIN, IDC_FOPTTEXT, IDC_FOPTBIN); DisableDlgItem(Dialog, IDC_PLAINTEXT, IDC_PLAINTEXT); @@ -204,20 +200,19 @@ DisableDlgItem(Dialog, IDC_TIMESTAMPTYPE, IDC_TIMESTAMPTYPE); } else { + // Text \x82̏ꍇ\x82\xCD Enable CheckRadioButton(Dialog, IDC_FOPTBIN, IDC_FOPTTEXT, IDC_FOPTTEXT); EnableDlgItem(Dialog, IDC_PLAINTEXT, IDC_PLAINTEXT); EnableDlgItem(Dialog, IDC_TIMESTAMP, IDC_TIMESTAMP); - EnableDlgItem(Dialog, IDC_TIMESTAMPTYPE, IDC_TIMESTAMPTYPE); - if (LogTypePlainText) { - SetRB(Dialog, 1, IDC_PLAINTEXT, IDC_PLAINTEXT); - } - if (LogTimestamp) { - SetRB(Dialog, 1, IDC_TIMESTAMP, IDC_TIMESTAMP); - } - else { + // Timestamp \x8E\xED\x95\xCA + if (IsDlgButtonChecked(Dialog, IDC_TIMESTAMP) == BST_UNCHECKED) { + // Timestamp=off \x82̏ꍇ\x82\xCD Disable DisableDlgItem(Dialog, IDC_TIMESTAMPTYPE, IDC_TIMESTAMPTYPE); + } else { + // Timestamp=on \x82̏ꍇ\x82\xCD Enable + EnableDlgItem(Dialog, IDC_TIMESTAMPTYPE, IDC_TIMESTAMPTYPE); } } @@ -312,6 +307,9 @@ SetWindowLongPtr(file_edit, GWLP_USERDATA, (LONG_PTR)work); work->proc = (WNDPROC)SetWindowLongPtrW(file_edit, GWLP_WNDPROC, (LONG_PTR)FNameEditProc); + // timestamp + CheckDlgButton(Dialog, IDC_TIMESTAMP, pts->LogTimestamp == 0 ? BST_UNCHECKED : BST_CHECKED); + // timestamp \x8E\xED\x95\xCA int tstype = pts->LogTimestampType == TIMESTAMP_LOCAL ? 0 : pts->LogTimestampType == TIMESTAMP_UTC ? 1 : @@ -318,7 +316,11 @@ pts->LogTimestampType == TIMESTAMP_ELAPSED_LOGSTART ? 2 : pts->LogTimestampType == TIMESTAMP_ELAPSED_CONNECTED ? 3 : 0; SendDlgItemMessageA(Dialog, IDC_TIMESTAMPTYPE, CB_SETCURSEL, tstype, 0); + EnableWindow(GetDlgItem(Dialog, IDC_TIMESTAMPTYPE), pts->LogTimestamp == 0 ? FALSE : TRUE); + // plain text + CheckDlgButton(Dialog, IDC_PLAINTEXT, pts->LogTypePlainText == 0 ? BST_UNCHECKED : BST_CHECKED); + // Hide dialog \x83`\x83F\x83b\x83N\x83{\x83b\x83N\x83X if (pts->LogHideDialog) { SetRB(Dialog, 1, IDC_HIDEDIALOG, IDC_HIDEDIALOG); @@ -402,14 +404,7 @@ case IDC_FOPTTEXT: case IDC_FOPTBIN: case IDC_TIMESTAMP: - { - WORD Appnd, LogBinary, LogTypePlainText, LogTimestamp; - GetRB(Dialog, &Appnd, IDC_APPEND, IDC_APPEND); - GetRB(Dialog, &LogBinary, IDC_FOPTBIN, IDC_FOPTBIN); - GetRB(Dialog, &LogTypePlainText, IDC_PLAINTEXT, IDC_PLAINTEXT); - GetRB(Dialog, &LogTimestamp, IDC_TIMESTAMP, IDC_TIMESTAMP); - ArrangeControls(Dialog, work, Appnd, LogBinary, LogTypePlainText, LogTimestamp); - } + ArrangeControls(Dialog, work); break; case IDC_FOPT_FILENAME_EDIT: if (HIWORD(wParam) == EN_CHANGE){ @@ -417,14 +412,7 @@ hGetDlgItemTextW(Dialog, IDC_FOPT_FILENAME_EDIT, &filename); CheckLogFile(Dialog, filename, work); free(filename); - { - WORD Appnd, LogBinary, LogTypePlainText, LogTimestamp; - GetRB(Dialog, &Appnd, IDC_APPEND, IDC_APPEND); - GetRB(Dialog, &LogBinary, IDC_FOPTBIN, IDC_FOPTBIN); - GetRB(Dialog, &LogTypePlainText, IDC_PLAINTEXT, IDC_PLAINTEXT); - GetRB(Dialog, &LogTimestamp, IDC_TIMESTAMP, IDC_TIMESTAMP); - ArrangeControls(Dialog, work, Appnd, LogBinary, LogTypePlainText, LogTimestamp); - } + ArrangeControls(Dialog, work); } break; }