Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/teraterm/teraterm/addsetting.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 10279 by zmatsuo, Tue Sep 20 14:57:58 2022 UTC revision 10280 by zmatsuo, Wed Sep 21 14:25:06 2022 UTC
# Line 616  private: Line 616  private:
616          void OnHScroll(UINT nSBCode, UINT nPos, HWND pScrollBar);          void OnHScroll(UINT nSBCode, UINT nPos, HWND pScrollBar);
617          void SetupRGBbox(int index);          void SetupRGBbox(int index);
618          void OnHelp();          void OnHelp();
619            BOOL CheckColorChanged();
620            BOOL CheckThemeColor();
621          CTipWin* TipWin;          CTipWin* TipWin;
622          COLORREF ANSIColor[16];          COLORREF ANSIColor[16];
623  };  };
# Line 1025  HBRUSH CVisualPropPageDlg::OnCtlColor(HD Line 1027  HBRUSH CVisualPropPageDlg::OnCtlColor(HD
1027          return TTCPropertyPage::OnCtlColor(hDC, hWnd);          return TTCPropertyPage::OnCtlColor(hDC, hWnd);
1028  }  }
1029    
1030    /**
1031     *      色の設定を変更したかチェックする
1032     *      @retval TRUE    変更した
1033     *      @retval FALSE   変更していない
1034     */
1035    BOOL CVisualPropPageDlg::CheckColorChanged()
1036    {
1037            for (int i = 0; i < 16; i++) {
1038                    if (ts.ANSIColor[i] != ANSIColor[i]) {
1039                            return TRUE;
1040                    }
1041            }
1042            return FALSE;
1043    }
1044    
1045    /**
1046     *      テーマカラーが設定してあるかチェックする
1047     *      @retval TRUE    設定されている
1048     *      @retval FALSE   設定されていない
1049     */
1050    BOOL CVisualPropPageDlg::CheckThemeColor()
1051    {
1052            TColorTheme def;        // default color (=ts.ANSIColor[])
1053            ThemeGetColorDefault(&def);
1054            TColorTheme disp;       // 今表示されている色
1055            ThemeGetColor(&disp);
1056            for (int i = 0; i < 16; i++) {
1057                    if (disp.ansicolor.color[i] != def.ansicolor.color[i]) {
1058                            return TRUE;
1059                    }
1060            }
1061            return FALSE;
1062    }
1063    
1064  void CVisualPropPageDlg::OnOK()  void CVisualPropPageDlg::OnOK()
1065  {  {
1066          int sel;          int sel;
# Line 1144  void CVisualPropPageDlg::OnOK() Line 1180  void CVisualPropPageDlg::OnOK()
1180          ts.EtermLookfeel.BGNoCopyBits = GetCheck(IDC_CHECK_FLICKER_LESS_MOVE);          ts.EtermLookfeel.BGNoCopyBits = GetCheck(IDC_CHECK_FLICKER_LESS_MOVE);
1181    
1182          // ANSI Color          // ANSI Color
1183          TColorTheme color;          if (CheckColorChanged()) {
1184          // 色(デフォルト色)を設定                  // 色の変更が行われた
1185          for (i = 0; i < 16; i++) {                  bool set_color = TRUE;
1186                  ts.ANSIColor[i] = ANSIColor[i];  
1187          }                  // カラーテーマを使って色が変更されている?
1188          // デフォルト色を設定する                  if (CheckThemeColor()) {
1189          ThemeGetColorDefault(&color);                          static const TTMessageBoxInfoW info = {
1190          ThemeSetColor(&color);                                  "Tera Term",
1191                                    "MSG_TT_NOTICE", L"Tera Term: Notice",
1192                                    NULL, L"Color settings have been changed.\nDo you want to display this?",
1193                                    MB_ICONQUESTION | MB_YESNO };
1194                            int r = TTMessageBoxW(m_hWnd, &info, ts.UILanguageFileW);
1195                            if (r == IDNO) {
1196                                    set_color = FALSE;
1197                            }
1198                    }
1199    
1200                    // 色を設定(デフォルト色)に反映
1201                    for (i = 0; i < 16; i++) {
1202                            ts.ANSIColor[i] = ANSIColor[i];
1203                    }
1204    
1205                    // 設定された色を表示に反映
1206                    if (set_color) {
1207                            TColorTheme color;
1208                            // デフォルト色を設定する
1209                            ThemeGetColorDefault(&color);
1210                            ThemeSetColor(&color);
1211                    }
1212            }
1213    
1214          if (flag_changed) {          if (flag_changed) {
1215                  // re-launch                  // re-launch

Legend:
Removed from v.10279  
changed lines
  Added in v.10280

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26