void CSetColorPage::SaveData() { if (!m_bInit) return; COLORREF cFg = GetColorFromButton(m_cFgNormal); COLORREF cBk = GetColorFromButton(m_cBkNormal); CDiffColors::GetInstance().SetColors(DIFFSTATE_NORMAL, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_UNKNOWN, cBk, cFg); cFg = GetColorFromButton(m_cFgRemoved); cBk = GetColorFromButton(m_cBkRemoved); CDiffColors::GetInstance().SetColors(DIFFSTATE_REMOVED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_IDENTICALREMOVED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_THEIRSREMOVED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_YOURSREMOVED, cBk, cFg); cFg = GetColorFromButton(m_cFgAdded); cBk = GetColorFromButton(m_cBkAdded); CDiffColors::GetInstance().SetColors(DIFFSTATE_ADDED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_IDENTICALADDED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_THEIRSADDED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_YOURSADDED, cBk, cFg); if ((DWORD)m_regInlineAdded != (DWORD)m_cBkInlineAdded.GetColor()) m_bReloadNeeded = true; m_regInlineAdded = GetColorFromButton(m_cBkInlineAdded); if ((DWORD)m_regInlineRemoved != (DWORD)m_cBkInlineRemoved.GetColor()) m_bReloadNeeded = true; m_regInlineRemoved = GetColorFromButton(m_cBkInlineRemoved); if ((DWORD)m_regModifiedBackground != (DWORD)m_cBkModified.GetColor()) m_bReloadNeeded = true; m_regModifiedBackground = GetColorFromButton(m_cBkModified); CDiffColors::GetInstance().SetColors(DIFFSTATE_EDITED, (DWORD)m_regModifiedBackground, cFg); cFg = GetColorFromButton(m_cFgEmpty); cBk = GetColorFromButton(m_cBkEmpty); CDiffColors::GetInstance().SetColors(DIFFSTATE_EMPTY, cBk, cFg); COLORREF adjustedcolor = cBk; cFg = GetColorFromButton(m_cFgConflict); cBk = GetColorFromButton(m_cBkConflict); CDiffColors::GetInstance().SetColors(DIFFSTATE_CONFLICTED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_CONFLICTED_IGNORED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_CONFLICTADDED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_CONFLICTEMPTY, adjustedcolor, cFg); cFg = GetColorFromButton(m_cFgConflictResolved); cBk = GetColorFromButton(m_cBkConflictResolved); CDiffColors::GetInstance().SetColors(DIFFSTATE_CONFLICTRESOLVED, cBk, cFg); cFg = GetColorFromButton(m_cFgWhitespaces); CRegDWORD regWhitespaceColor(L"Software\\TortoiseGitMerge\\Colors\\Whitespace", GetSysColor(COLOR_3DSHADOW)); regWhitespaceColor = cFg; cBk = GetColorFromButton(m_cBkFiltered); CDiffColors::GetInstance().SetColors(DIFFSTATE_FILTEREDDIFF, cBk, DIFFSTATE_NORMAL_DEFAULT_FG); }
BOOL CSetColorPage::OnInitDialog() { CPropertyPage::OnInitDialog(); COLORREF cBk; COLORREF cFg; CString sDefaultText, sCustomText; sDefaultText.LoadString(IDS_COLOURPICKER_DEFAULTTEXT); sCustomText.LoadString(IDS_COLOURPICKER_CUSTOMTEXT); CDiffColors::GetInstance().GetColors(DIFFSTATE_NORMAL, cBk, cFg); m_cFgNormal.SetColor(cFg); m_cFgNormal.EnableAutomaticButton(sDefaultText, DIFFSTATE_NORMAL_DEFAULT_FG); m_cFgNormal.EnableOtherButton(sCustomText); m_cBkNormal.SetColor(cBk); m_cBkNormal.EnableAutomaticButton(sDefaultText, DIFFSTATE_NORMAL_DEFAULT_BG); m_cBkNormal.EnableOtherButton(sCustomText); CDiffColors::GetInstance().GetColors(DIFFSTATE_REMOVED, cBk, cFg); m_cFgRemoved.SetColor(cFg); m_cFgRemoved.EnableAutomaticButton(sDefaultText, DIFFSTATE_REMOVED_DEFAULT_FG); m_cFgRemoved.EnableOtherButton(sCustomText); m_cBkRemoved.SetColor(cBk); m_cBkRemoved.EnableAutomaticButton(sDefaultText, DIFFSTATE_REMOVED_DEFAULT_BG); m_cBkRemoved.EnableOtherButton(sCustomText); CDiffColors::GetInstance().GetColors(DIFFSTATE_ADDED, cBk, cFg); m_cFgAdded.SetColor(cFg); m_cFgAdded.EnableAutomaticButton(sDefaultText, DIFFSTATE_ADDED_DEFAULT_FG); m_cFgAdded.EnableOtherButton(sCustomText); m_cBkAdded.SetColor(cBk); m_cBkAdded.EnableAutomaticButton(sDefaultText, DIFFSTATE_ADDED_DEFAULT_BG); m_cBkAdded.EnableOtherButton(sCustomText); m_cBkInlineAdded.SetColor((DWORD)m_regInlineAdded); m_cBkInlineAdded.EnableAutomaticButton(sDefaultText, INLINEADDED_COLOR); m_cBkInlineAdded.EnableOtherButton(sCustomText); m_cBkInlineRemoved.SetColor((DWORD)m_regInlineRemoved); m_cBkInlineRemoved.EnableAutomaticButton(sDefaultText, INLINEREMOVED_COLOR); m_cBkInlineRemoved.EnableOtherButton(sCustomText); m_cBkModified.SetColor((DWORD)m_regModifiedBackground); m_cBkModified.EnableAutomaticButton(sDefaultText, MODIFIED_COLOR); m_cBkModified.EnableOtherButton(sCustomText); CDiffColors::GetInstance().GetColors(DIFFSTATE_EMPTY, cBk, cFg); m_cFgEmpty.SetColor(cFg); m_cFgEmpty.EnableAutomaticButton(sDefaultText, DIFFSTATE_EMPTY_DEFAULT_FG); m_cFgEmpty.EnableOtherButton(sCustomText); m_cBkEmpty.SetColor(cBk); m_cBkEmpty.EnableAutomaticButton(sDefaultText, DIFFSTATE_EMPTY_DEFAULT_BG); m_cBkEmpty.EnableOtherButton(sCustomText); CDiffColors::GetInstance().GetColors(DIFFSTATE_CONFLICTED, cBk, cFg); m_cFgConflict.SetColor(cFg); m_cFgConflict.EnableAutomaticButton(sDefaultText, DIFFSTATE_CONFLICTED_DEFAULT_FG); m_cFgConflict.EnableOtherButton(sCustomText); m_cBkConflict.SetColor(cBk); m_cBkConflict.EnableAutomaticButton(sDefaultText, DIFFSTATE_CONFLICTED_DEFAULT_BG); m_cBkConflict.EnableOtherButton(sCustomText); CDiffColors::GetInstance().GetColors(DIFFSTATE_CONFLICTRESOLVED, cBk, cFg); m_cFgConflictResolved.SetColor(cFg); m_cFgConflictResolved.EnableAutomaticButton(sDefaultText, DIFFSTATE_CONFLICTRESOLVED_DEFAULT_FG); m_cFgConflictResolved.EnableOtherButton(sCustomText); m_cBkConflictResolved.SetColor(cBk); m_cBkConflictResolved.EnableAutomaticButton(sDefaultText, DIFFSTATE_CONFLICTRESOLVED_DEFAULT_BG); m_cBkConflictResolved.EnableOtherButton(sCustomText); CRegDWORD regWhitespaceColor(L"Software\\TortoiseGitMerge\\Colors\\Whitespace", GetSysColor(COLOR_3DSHADOW)); m_cFgWhitespaces.SetColor((COLORREF)(DWORD)regWhitespaceColor); m_cFgWhitespaces.EnableAutomaticButton(sDefaultText, GetSysColor(COLOR_3DSHADOW)); m_cFgWhitespaces.EnableOtherButton(sCustomText); CDiffColors::GetInstance().GetColors(DIFFSTATE_FILTEREDDIFF, cBk, cFg); m_cBkFiltered.SetColor(cBk); m_cBkFiltered.EnableAutomaticButton(sDefaultText, DIFFSTATE_FILTERED_DEFAULT_BG); m_cBkFiltered.EnableOtherButton(sCustomText); m_bInit = TRUE; return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CSetColorPage::SaveData() { if (!m_bInit) return; COLORREF cFg = ::GetSysColor(COLOR_WINDOWTEXT); COLORREF cBk = m_cBkNormal.GetColor(); if (cBk == -1) cBk = m_cBkNormal.GetAutomaticColor(); CDiffColors::GetInstance().SetColors(DIFFSTATE_NORMAL, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_UNKNOWN, cBk, cFg); cBk = m_cBkRemoved.GetColor(); if (cBk == -1) cBk = m_cBkRemoved.GetAutomaticColor(); CDiffColors::GetInstance().SetColors(DIFFSTATE_REMOVED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_IDENTICALREMOVED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_THEIRSREMOVED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_YOURSREMOVED, cBk, cFg); cBk = m_cBkAdded.GetColor(); if (cBk == -1) cBk = m_cBkAdded.GetAutomaticColor(); CDiffColors::GetInstance().SetColors(DIFFSTATE_ADDED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_IDENTICALADDED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_THEIRSADDED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_YOURSADDED, cBk, cFg); if ((DWORD)m_regInlineAdded != (DWORD)m_cBkInlineAdded.GetColor()) m_bReloadNeeded = true; m_regInlineAdded = (m_cBkInlineAdded.GetColor() == -1 ? m_cBkInlineAdded.GetAutomaticColor() : m_cBkInlineAdded.GetColor()); if ((DWORD)m_regInlineRemoved != (DWORD)m_cBkInlineRemoved.GetColor()) m_bReloadNeeded = true; m_regInlineRemoved = (m_cBkInlineRemoved.GetColor() == -1 ? m_cBkInlineRemoved.GetAutomaticColor() : m_cBkInlineRemoved.GetColor()); if ((DWORD)m_regModifiedBackground != (DWORD)m_cBkModified.GetColor()) m_bReloadNeeded = true; m_regModifiedBackground = (m_cBkModified.GetColor() == -1 ? m_cBkModified.GetAutomaticColor() : m_cBkModified.GetColor()); CDiffColors::GetInstance().SetColors(DIFFSTATE_EDITED, (DWORD)m_regModifiedBackground, cFg); cBk = m_cBkEmpty.GetColor(); if (cBk == -1) cBk = m_cBkEmpty.GetAutomaticColor(); CDiffColors::GetInstance().SetColors(DIFFSTATE_EMPTY, cBk, cFg); COLORREF adjustedcolor = cBk; cBk = m_cBkConflict.GetColor(); if (cBk == -1) cBk = m_cBkConflict.GetAutomaticColor(); CDiffColors::GetInstance().SetColors(DIFFSTATE_CONFLICTED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_CONFLICTED_IGNORED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_CONFLICTADDED, cBk, cFg); CDiffColors::GetInstance().SetColors(DIFFSTATE_CONFLICTEMPTY, adjustedcolor, cFg); cBk = m_cBkConflictResolved.GetColor(); if (cBk == -1) cBk = m_cBkConflictResolved.GetAutomaticColor(); CDiffColors::GetInstance().SetColors(DIFFSTATE_CONFLICTRESOLVED, cBk, cFg); cFg = m_cFgWhitespaces.GetColor(); if (cFg == -1) cFg = m_cFgWhitespaces.GetAutomaticColor(); CRegDWORD regWhitespaceColor(L"Software\\TortoiseMerge\\Colors\\Whitespace", GetSysColor(COLOR_GRAYTEXT)); regWhitespaceColor = cFg; }