OSDN Git Service

Options dialog: Update color buttons when importing a .ini file
authorTakashi Sawanaka <sdottaka@users.sourceforge.net>
Sat, 4 Mar 2017 12:58:38 +0000 (21:58 +0900)
committerTakashi Sawanaka <sdottaka@users.sourceforge.net>
Sat, 4 Mar 2017 12:58:38 +0000 (21:58 +0900)
Src/Common/ColorButton.cpp
Src/Common/PreferencesDlg.cpp
Src/PropSyntaxColors.cpp
Src/PropTextColors.cpp

index 093cab5..fb6a2c8 100644 (file)
@@ -45,6 +45,6 @@ void CColorButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
 void CColorButton::SetColor(COLORREF clrFill, BOOL bInvalidate /* = TRUE*/)
 {
        m_clrFill = clrFill;
-       if (bInvalidate)
+       if (bInvalidate && m_hWnd)
                Invalidate();
 }
index d805752..c52869c 100644 (file)
@@ -18,6 +18,7 @@
 #include "Merge.h"
 #include "paths.h"
 #include "FileOrFolderSelect.h"
+#include "OptionsSyntaxColors.h"
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -323,6 +324,7 @@ void CPreferencesDlg::OnImportButton()
        {
                if (m_pOptionsMgr->ImportOptions(s) == COption::OPT_OK)
                {
+                       Options::SyntaxColors::Load(m_pOptionsMgr, m_pSyntaxColors);
                        ReadOptions(TRUE);
                        LangMessageBox(IDS_OPT_IMPORT_DONE, MB_ICONINFORMATION);
                }
index 2fe530c..9724f24 100644 (file)
@@ -27,14 +27,6 @@ PropSyntaxColors::PropSyntaxColors(COptionsMgr *optionsMgr, SyntaxColors *pColor
 : OptionsPanel(optionsMgr, PropSyntaxColors::IDD)
 {
        m_pTempColors = pColors;
-
-       // Set colors for buttons, do NOT invalidate
-       for (auto&& colorIndex : ColorIndices)
-       {
-               m_colorButtons[colorIndex].SetColor(m_pTempColors->GetColor(colorIndex), FALSE);
-               m_nBolds[colorIndex] = GetCheckVal(colorIndex);
-       }
-
        memset(m_cCustColors, 0, sizeof(m_cCustColors));
 }
 
@@ -90,6 +82,12 @@ END_MESSAGE_MAP()
  */
 void PropSyntaxColors::ReadOptions()
 {
+       // Set colors for buttons
+       for (auto&& colorIndex : ColorIndices)
+       {
+               m_colorButtons[colorIndex].SetColor(m_pTempColors->GetColor(colorIndex));
+               m_nBolds[colorIndex] = GetCheckVal(colorIndex);
+       }
 }
 
 /** 
index f1e66c1..6b72563 100644 (file)
@@ -189,23 +189,12 @@ void PropTextColors::SerializeColorsToFromScreen(OPERATION op)
  */
 void PropTextColors::SerializeColorToFromScreen(OPERATION op, CColorButton & btn, int colorIndex)
 {
-       
        switch (op)
        {
        case SET_DEFAULTS:
-               {
-               COLORREF color = m_pTempColors->GetColor(colorIndex);
-               btn.SetColor(color);
-               return;
-               }
-
        case LOAD_COLORS:
-               {
-               COLORREF color = m_pTempColors->GetColor(colorIndex);
-               // Set colors for buttons, do NOT invalidate
-               btn.SetColor(color, FALSE);
-               return;
-               }
+               btn.SetColor(m_pTempColors->GetColor(colorIndex));
+               break;
        }
 }