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 {