[ttssh2-commit] [10278] ANSIカラー設定で色変更できなくなっていたので修正

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2022年 9月 20日 (火) 23:57:48 JST


Revision: 10278
          https://osdn.net/projects/ttssh2/scm/svn/commits/10278
Author:   zmatsuo
Date:     2022-09-20 23:57:48 +0900 (Tue, 20 Sep 2022)
Log Message:
-----------
ANSIカラー設定で色変更できなくなっていたので修正

- r10274 で色番号の対応を正しくしたが、変更した色がすぐ反映されなくなった
- 変更した色が反映されるよう修正
- その他の設定ダイアログの表示タブにあるANSIカラー設定
- ok ボタンを押したときに色変更が反映されるようになった、cancel時は反映されない
  - 従来は ok/cancel に関係なく色を変更すると設定に反映されていた

ticket #45559

Revision Links:
--------------
    https://osdn.net/projects/ttssh2/scm/svn/commits/10274

Ticket Links:
------------
    https://osdn.net/projects/ttssh2/tracker/detail/45559

Modified Paths:
--------------
    trunk/teraterm/teraterm/addsetting.cpp
    trunk/teraterm/teraterm/addsetting.h

-------------- next part --------------
Modified: trunk/teraterm/teraterm/addsetting.cpp
===================================================================
--- trunk/teraterm/teraterm/addsetting.cpp	2022-09-19 15:49:51 UTC (rev 10277)
+++ trunk/teraterm/teraterm/addsetting.cpp	2022-09-20 14:57:48 UTC (rev 10278)
@@ -56,6 +56,7 @@
 #include "asprintf.h"
 #include "win32helper.h"
 #include "themedlg.h"
+#include "theme.h"
 
 const mouse_cursor_t MouseCursor[] = {
 	{"ARROW", IDC_ARROW},
@@ -66,21 +67,6 @@
 };
 #define MOUSE_CURSOR_MAX (sizeof(MouseCursor)/sizeof(MouseCursor[0]) - 1)
 
-void CVisualPropPageDlg::SetupRGBbox(int index)
-{
-	COLORREF Color = ts.ANSIColor[index];
-	BYTE c;
-
-	c = GetRValue(Color);
-	SetDlgItemNum(IDC_COLOR_RED, c);
-
-	c = GetGValue(Color);
-	SetDlgItemNum(IDC_COLOR_GREEN, c);
-
-	c = GetBValue(Color);
-	SetDlgItemNum(IDC_COLOR_BLUE, c);
-}
-
 // CGeneralPropPageDlg \x83_\x83C\x83A\x83\x8D\x83O
 
 CGeneralPropPageDlg::CGeneralPropPageDlg(HINSTANCE inst)
@@ -620,6 +606,23 @@
 }
 
 // CVisualPropPageDlg \x83_\x83C\x83A\x83\x8D\x83O
+class CVisualPropPageDlg : public TTCPropertyPage
+{
+public:
+	CVisualPropPageDlg(HINSTANCE inst);
+	virtual ~CVisualPropPageDlg();
+private:
+	void OnInitDialog();
+	void OnOK();
+	HBRUSH OnCtlColor(HDC hDC, HWND hWnd);
+	enum { IDD = IDD_TABSHEET_VISUAL };
+	BOOL OnCommand(WPARAM wParam, LPARAM lParam);
+	void OnHScroll(UINT nSBCode, UINT nPos, HWND pScrollBar);
+	void SetupRGBbox(int index);
+	void OnHelp();
+	CTipWin* TipWin;
+	COLORREF ANSIColor[16];
+};
 
 CVisualPropPageDlg::CVisualPropPageDlg(HINSTANCE inst)
 	: TTCPropertyPage(inst, CVisualPropPageDlg::IDD)
@@ -640,6 +643,21 @@
 	TipWin = NULL;
 }
 
+void CVisualPropPageDlg::SetupRGBbox(int index)
+{
+	COLORREF Color = ANSIColor[index];
+	BYTE c;
+
+	c = GetRValue(Color);
+	SetDlgItemNum(IDC_COLOR_RED, c);
+
+	c = GetGValue(Color);
+	SetDlgItemNum(IDC_COLOR_GREEN, c);
+
+	c = GetBValue(Color);
+	SetDlgItemNum(IDC_COLOR_BLUE, c);
+}
+
 // CVisualPropPageDlg \x83\x81\x83b\x83Z\x81[\x83W \x83n\x83\x93\x83h\x83\x89
 
 void CVisualPropPageDlg::OnInitDialog()
@@ -737,6 +755,9 @@
 	}
 
 	// (5)ANSI color
+	for (int i = 0; i < 16; i++) {
+		ANSIColor[i] = ts.ANSIColor[i];
+	}
 	for (int i = 0 ; i < 16 ; i++) {
 		char buf[4];
 		_snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
@@ -918,7 +939,7 @@
 				int r, g, b;
 
 				sel = GetCurSel(IDC_ANSI_COLOR);
-				if (sel < 0 || sel > _countof(ts.ANSIColor)-1) {
+				if (sel < 0 || sel > _countof(ANSIColor)-1) {
 					return TRUE;
 				}
 
@@ -952,8 +973,7 @@
 					SetDlgItemNum(IDC_COLOR_BLUE, b);
 				}
 
-				// OK \x82\xF0\x89\x9F\x82\xB3\x82Ȃ\xAD\x82Ă\xE0\x90ݒ肪\x95ۑ\xB6\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9
-				ts.ANSIColor[sel] = RGB(r, g, b);
+				ANSIColor[sel] = RGB(r, g, b);
 
 				::InvalidateRect(GetDlgItem(IDC_SAMPLE_COLOR), NULL, TRUE);
 			}
@@ -1142,6 +1162,16 @@
 	ts.EtermLookfeel.BGFastSizeMove = GetCheck(IDC_CHECK_FAST_SIZE_MOVE);
 	ts.EtermLookfeel.BGNoCopyBits = GetCheck(IDC_CHECK_FLICKER_LESS_MOVE);
 
+	// ANSI Color
+	TColorTheme color;
+	// \x90F(\x83f\x83t\x83H\x83\x8B\x83g\x90F)\x82\xF0\x90ݒ\xE8
+	for (i = 0; i < 16; i++) {
+		ts.ANSIColor[i] = ANSIColor[i];
+	}
+	// \x83f\x83t\x83H\x83\x8B\x83g\x90F\x82\xF0\x90ݒ肷\x82\xE9
+	ThemeGetColorDefault(&color);
+	ThemeSetColor(&color);
+
 	if (flag_changed) {
 		// re-launch
 		// RestartTeraTerm(GetSafeHwnd(), &ts);

Modified: trunk/teraterm/teraterm/addsetting.h
===================================================================
--- trunk/teraterm/teraterm/addsetting.h	2022-09-19 15:49:51 UTC (rev 10277)
+++ trunk/teraterm/teraterm/addsetting.h	2022-09-20 14:57:48 UTC (rev 10278)
@@ -82,24 +82,6 @@
 	void OnHelp();
 };
 
-// Visual Page
-class CVisualPropPageDlg : public TTCPropertyPage
-{
-public:
-	CVisualPropPageDlg(HINSTANCE inst);
-	virtual ~CVisualPropPageDlg();
-private:
-	void OnInitDialog();
-	void OnOK();
-	HBRUSH OnCtlColor(HDC hDC, HWND hWnd);
-	enum { IDD = IDD_TABSHEET_VISUAL };
-	BOOL OnCommand(WPARAM wParam, LPARAM lParam);
-	void OnHScroll(UINT nSBCode, UINT nPos, HWND pScrollBar);
-	void SetupRGBbox(int index);
-	void OnHelp();
-	CTipWin* TipWin;
-};
-
 // Log Page
 class CLogPropPageDlg : public TTCPropertyPage
 {


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