• R/O
  • SSH
  • HTTPS

ttssh2: Commit


Commit MetaInfo

Revision10278 (tree)
Time2022-09-20 23:57:48
Authorzmatsuo

Log Message

ANSIカラー設定で色変更できなくなっていたので修正

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

- 従来は ok/cancel に関係なく色を変更すると設定に反映されていた

ticket #45559

Change Summary

Incremental Difference

--- trunk/teraterm/teraterm/addsetting.cpp (revision 10277)
+++ trunk/teraterm/teraterm/addsetting.cpp (revision 10278)
@@ -56,6 +56,7 @@
5656 #include "asprintf.h"
5757 #include "win32helper.h"
5858 #include "themedlg.h"
59+#include "theme.h"
5960
6061 const mouse_cursor_t MouseCursor[] = {
6162 {"ARROW", IDC_ARROW},
@@ -66,21 +67,6 @@
6667 };
6768 #define MOUSE_CURSOR_MAX (sizeof(MouseCursor)/sizeof(MouseCursor[0]) - 1)
6869
69-void CVisualPropPageDlg::SetupRGBbox(int index)
70-{
71- COLORREF Color = ts.ANSIColor[index];
72- BYTE c;
73-
74- c = GetRValue(Color);
75- SetDlgItemNum(IDC_COLOR_RED, c);
76-
77- c = GetGValue(Color);
78- SetDlgItemNum(IDC_COLOR_GREEN, c);
79-
80- c = GetBValue(Color);
81- SetDlgItemNum(IDC_COLOR_BLUE, c);
82-}
83-
8470 // CGeneralPropPageDlg ダイアログ
8571
8672 CGeneralPropPageDlg::CGeneralPropPageDlg(HINSTANCE inst)
@@ -620,6 +606,23 @@
620606 }
621607
622608 // CVisualPropPageDlg ダイアログ
609+class CVisualPropPageDlg : public TTCPropertyPage
610+{
611+public:
612+ CVisualPropPageDlg(HINSTANCE inst);
613+ virtual ~CVisualPropPageDlg();
614+private:
615+ void OnInitDialog();
616+ void OnOK();
617+ HBRUSH OnCtlColor(HDC hDC, HWND hWnd);
618+ enum { IDD = IDD_TABSHEET_VISUAL };
619+ BOOL OnCommand(WPARAM wParam, LPARAM lParam);
620+ void OnHScroll(UINT nSBCode, UINT nPos, HWND pScrollBar);
621+ void SetupRGBbox(int index);
622+ void OnHelp();
623+ CTipWin* TipWin;
624+ COLORREF ANSIColor[16];
625+};
623626
624627 CVisualPropPageDlg::CVisualPropPageDlg(HINSTANCE inst)
625628 : TTCPropertyPage(inst, CVisualPropPageDlg::IDD)
@@ -640,6 +643,21 @@
640643 TipWin = NULL;
641644 }
642645
646+void CVisualPropPageDlg::SetupRGBbox(int index)
647+{
648+ COLORREF Color = ANSIColor[index];
649+ BYTE c;
650+
651+ c = GetRValue(Color);
652+ SetDlgItemNum(IDC_COLOR_RED, c);
653+
654+ c = GetGValue(Color);
655+ SetDlgItemNum(IDC_COLOR_GREEN, c);
656+
657+ c = GetBValue(Color);
658+ SetDlgItemNum(IDC_COLOR_BLUE, c);
659+}
660+
643661 // CVisualPropPageDlg メッセージ ハンドラ
644662
645663 void CVisualPropPageDlg::OnInitDialog()
@@ -737,6 +755,9 @@
737755 }
738756
739757 // (5)ANSI color
758+ for (int i = 0; i < 16; i++) {
759+ ANSIColor[i] = ts.ANSIColor[i];
760+ }
740761 for (int i = 0 ; i < 16 ; i++) {
741762 char buf[4];
742763 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
@@ -918,7 +939,7 @@
918939 int r, g, b;
919940
920941 sel = GetCurSel(IDC_ANSI_COLOR);
921- if (sel < 0 || sel > _countof(ts.ANSIColor)-1) {
942+ if (sel < 0 || sel > _countof(ANSIColor)-1) {
922943 return TRUE;
923944 }
924945
@@ -952,8 +973,7 @@
952973 SetDlgItemNum(IDC_COLOR_BLUE, b);
953974 }
954975
955- // OK を押さなくても設定が保存されている
956- ts.ANSIColor[sel] = RGB(r, g, b);
976+ ANSIColor[sel] = RGB(r, g, b);
957977
958978 ::InvalidateRect(GetDlgItem(IDC_SAMPLE_COLOR), NULL, TRUE);
959979 }
@@ -1142,6 +1162,16 @@
11421162 ts.EtermLookfeel.BGFastSizeMove = GetCheck(IDC_CHECK_FAST_SIZE_MOVE);
11431163 ts.EtermLookfeel.BGNoCopyBits = GetCheck(IDC_CHECK_FLICKER_LESS_MOVE);
11441164
1165+ // ANSI Color
1166+ TColorTheme color;
1167+ // 色(デフォルト色)を設定
1168+ for (i = 0; i < 16; i++) {
1169+ ts.ANSIColor[i] = ANSIColor[i];
1170+ }
1171+ // デフォルト色を設定する
1172+ ThemeGetColorDefault(&color);
1173+ ThemeSetColor(&color);
1174+
11451175 if (flag_changed) {
11461176 // re-launch
11471177 // RestartTeraTerm(GetSafeHwnd(), &ts);
--- trunk/teraterm/teraterm/addsetting.h (revision 10277)
+++ trunk/teraterm/teraterm/addsetting.h (revision 10278)
@@ -82,24 +82,6 @@
8282 void OnHelp();
8383 };
8484
85-// Visual Page
86-class CVisualPropPageDlg : public TTCPropertyPage
87-{
88-public:
89- CVisualPropPageDlg(HINSTANCE inst);
90- virtual ~CVisualPropPageDlg();
91-private:
92- void OnInitDialog();
93- void OnOK();
94- HBRUSH OnCtlColor(HDC hDC, HWND hWnd);
95- enum { IDD = IDD_TABSHEET_VISUAL };
96- BOOL OnCommand(WPARAM wParam, LPARAM lParam);
97- void OnHScroll(UINT nSBCode, UINT nPos, HWND pScrollBar);
98- void SetupRGBbox(int index);
99- void OnHelp();
100- CTipWin* TipWin;
101-};
102-
10385 // Log Page
10486 class CLogPropPageDlg : public TTCPropertyPage
10587 {
Show on old repository browser