[ttssh2-commit] [11013] ログダイアログに反映されない設定があったので修正

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2023年 10月 19日 (木) 21:51:47 JST


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


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