2 * @file OptionsDirColors.cpp
4 * @brief Implementation for OptionsDirColors class.
7 #include "OptionsDirColors.h"
8 #include "OptionsDef.h"
9 #include "OptionsMgr.h"
11 namespace Options { namespace DirColors {
13 void SetDefaults(COptionsMgr *pOptionsMgr)
15 int defaultTextColor = static_cast<int>(GetSysColor(COLOR_WINDOWTEXT));
16 pOptionsMgr->InitOption(OPT_DIRCLR_ITEM_EQUAL, (int)GetSysColor(COLOR_WINDOW));
17 pOptionsMgr->InitOption(OPT_DIRCLR_ITEM_EQUAL_TEXT, defaultTextColor);
18 pOptionsMgr->InitOption(OPT_DIRCLR_ITEM_DIFF, (int)RGB(240,222,125));
19 pOptionsMgr->InitOption(OPT_DIRCLR_ITEM_DIFF_TEXT, defaultTextColor);
20 pOptionsMgr->InitOption(OPT_DIRCLR_ITEM_NOT_EXIST_ALL, (int)RGB(221,221,221));
21 pOptionsMgr->InitOption(OPT_DIRCLR_ITEM_NOT_EXIST_ALL_TEXT, defaultTextColor);
22 pOptionsMgr->InitOption(OPT_DIRCLR_ITEM_FILTERED, (int)RGB(250,245,215));
23 pOptionsMgr->InitOption(OPT_DIRCLR_ITEM_FILTERED_TEXT, defaultTextColor);
24 pOptionsMgr->InitOption(OPT_DIRCLR_MARGIN, (int)GetSysColor(COLOR_WINDOW));
25 pOptionsMgr->InitOption(OPT_DIRCLR_USE_COLORS, true);
28 void Load(const COptionsMgr *pOptionsMgr, DIRCOLORSETTINGS& colors)
30 colors.clrDirItemEqual = pOptionsMgr->GetInt(OPT_DIRCLR_ITEM_EQUAL);
31 colors.clrDirItemEqualText = pOptionsMgr->GetInt(OPT_DIRCLR_ITEM_EQUAL_TEXT);
32 colors.clrDirItemDiff = pOptionsMgr->GetInt(OPT_DIRCLR_ITEM_DIFF);
33 colors.clrDirItemDiffText = pOptionsMgr->GetInt(OPT_DIRCLR_ITEM_DIFF_TEXT);
34 colors.clrDirItemNotExistAll = pOptionsMgr->GetInt(OPT_DIRCLR_ITEM_NOT_EXIST_ALL);
35 colors.clrDirItemNotExistAllText = pOptionsMgr->GetInt(OPT_DIRCLR_ITEM_NOT_EXIST_ALL_TEXT);
36 colors.clrDirItemFiltered = pOptionsMgr->GetInt(OPT_DIRCLR_ITEM_FILTERED);
37 colors.clrDirItemFilteredText = pOptionsMgr->GetInt(OPT_DIRCLR_ITEM_FILTERED_TEXT);
38 colors.clrDirMargin = pOptionsMgr->GetInt(OPT_DIRCLR_MARGIN);
41 void Save(COptionsMgr *pOptionsMgr, const DIRCOLORSETTINGS& colors)
43 pOptionsMgr->SaveOption(OPT_DIRCLR_ITEM_EQUAL, (int)colors.clrDirItemEqual);
44 pOptionsMgr->SaveOption(OPT_DIRCLR_ITEM_EQUAL_TEXT, (int)colors.clrDirItemEqualText);
45 pOptionsMgr->SaveOption(OPT_DIRCLR_ITEM_DIFF, (int)colors.clrDirItemDiff);
46 pOptionsMgr->SaveOption(OPT_DIRCLR_ITEM_DIFF_TEXT, (int)colors.clrDirItemDiffText);
47 pOptionsMgr->SaveOption(OPT_DIRCLR_ITEM_NOT_EXIST_ALL, (int)colors.clrDirItemNotExistAll);
48 pOptionsMgr->SaveOption(OPT_DIRCLR_ITEM_NOT_EXIST_ALL_TEXT, (int)colors.clrDirItemNotExistAllText);
49 pOptionsMgr->SaveOption(OPT_DIRCLR_ITEM_FILTERED, (int)colors.clrDirItemFiltered);
50 pOptionsMgr->SaveOption(OPT_DIRCLR_ITEM_FILTERED_TEXT, (int)colors.clrDirItemFilteredText);
51 pOptionsMgr->SaveOption(OPT_DIRCLR_MARGIN, (int)colors.clrDirMargin);