Index: src/ch/OptionsDlg.cpp =================================================================== diff -u -N -r7d6b4eae7b58d17c4b554c25cc4cff875bd53161 -r9ea1e103b5fa4ddfebf8028f121ce16e917eec04 --- src/ch/OptionsDlg.cpp (.../OptionsDlg.cpp) (revision 7d6b4eae7b58d17c4b554c25cc4cff875bd53161) +++ src/ch/OptionsDlg.cpp (.../OptionsDlg.cpp) (revision 9ea1e103b5fa4ddfebf8028f121ce16e917eec04) @@ -102,26 +102,13 @@ m_ctlProperties.Init(); // copy shortcut and recent paths - icpf::config& rConfig = GetConfig(); + TConfig& rConfig = GetConfig(); - m_cvRecent.clear(true); - size_t stSize = rConfig.get_value_count(PP_RECENTPATHS); - const tchar_t* pszPath = NULL; - for(size_t stIndex = 0; stIndex < stSize; stIndex++) - { - pszPath = rConfig.get_string(PP_RECENTPATHS, stIndex); - if(pszPath) - m_cvRecent.push_back(pszPath); - } + m_cvRecent.clear(); + GetPropValue(rConfig, m_cvRecent); - m_cvShortcuts.clear(true); - stSize = rConfig.get_value_count(PP_SHORTCUTS); - for(size_t stIndex = 0; stIndex < stSize; stIndex++) - { - pszPath = rConfig.get_string(PP_SHORTCUTS, stIndex); - if(pszPath) - m_cvShortcuts.push_back(pszPath); - } + m_cvShortcuts.clear(); + GetPropValue(rConfig, m_cvShortcuts); _tcscpy(m_szLangPath, _T("\\Langs\\")); GetApp().ExpandPath(m_szLangPath); @@ -180,13 +167,12 @@ COptionsDlg* pDlg=static_cast(lpParam); CShortcutsDlg dlg; - dlg.m_cvShortcuts.assign(pDlg->m_cvShortcuts.begin(), pDlg->m_cvShortcuts.end(), true, true); + dlg.m_cvShortcuts = pDlg->m_cvShortcuts; dlg.m_pcvRecent=&pDlg->m_cvRecent; if (dlg.DoModal() == IDOK) { // restore shortcuts to pDlg->cvShortcuts - pDlg->m_cvShortcuts.assign(dlg.m_cvShortcuts.begin(), dlg.m_cvShortcuts.end(), true, false); - dlg.m_cvShortcuts.erase(dlg.m_cvShortcuts.begin(), dlg.m_cvShortcuts.end(), false); + pDlg->m_cvShortcuts = dlg.m_cvShortcuts; // property list TCHAR szBuf[32]; @@ -201,12 +187,11 @@ COptionsDlg* pDlg=static_cast(lpParam); CRecentDlg dlg; - dlg.m_cvRecent.assign(pDlg->m_cvRecent.begin(), pDlg->m_cvRecent.end(), true, true); + dlg.m_cvRecent = pDlg->m_cvRecent; if (dlg.DoModal() == IDOK) { // restore - pDlg->m_cvRecent.assign(dlg.m_cvRecent.begin(), dlg.m_cvRecent.end(), true, false); - dlg.m_cvRecent.erase(dlg.m_cvRecent.begin(), dlg.m_cvRecent.end(), false); + pDlg->m_cvRecent = dlg.m_cvRecent; // property list TCHAR szBuf[32]; @@ -233,16 +218,16 @@ // load settings PROP_SEPARATOR(IDS_PROGRAM_STRING); - PROP_BOOL(IDS_CLIPBOARDMONITORING_STRING, GetConfig().get_bool(PP_PCLIPBOARDMONITORING)); - PROP_UINT(IDS_CLIPBOARDINTERVAL_STRING, GetConfig().get_signed_num(PP_PMONITORSCANINTERVAL)); - PROP_BOOL(IDS_AUTORUNPROGRAM_STRING, GetConfig().get_bool(PP_PRELOADAFTERRESTART)); - PROP_COMBO(IDS_CFG_CHECK_FOR_UPDATES_FREQUENCY, IDS_UPDATE_FREQUENCIES, GetConfig().get_unsigned_num(PP_PCHECK_FOR_UPDATES_FREQUENCY)); - PROP_BOOL(IDS_CFG_UPDATE_CHECK_FOR_BETA, GetConfig().get_bool(PP_PUPDATE_CHECK_FOR_BETA)); - PROP_BOOL(IDS_AUTOSHUTDOWN_STRING, GetConfig().get_bool(PP_PSHUTDOWNAFTREFINISHED)); - PROP_UINT(IDS_SHUTDOWNTIME_STRING, GetConfig().get_signed_num(PP_PTIMEBEFORESHUTDOWN)); - PROP_COMBO(IDS_FORCESHUTDOWN_STRING, IDS_FORCESHUTDOWNVALUES_STRING, GetConfig().get_bool(PP_PFORCESHUTDOWN) ? 1 : 0); - PROP_UINT(IDS_AUTOSAVEINTERVAL_STRING, GetConfig().get_signed_num(PP_PAUTOSAVEINTERVAL)); - PROP_COMBO(IDS_CFGPRIORITYCLASS_STRING, IDS_CFGPRIORITYCLASSITEMS_STRING, PriorityClassToIndex(boost::numeric_cast(GetConfig().get_signed_num(PP_PPROCESSPRIORITYCLASS)))); + PROP_BOOL(IDS_CLIPBOARDMONITORING_STRING, GetPropValue(GetConfig())); + PROP_UINT(IDS_CLIPBOARDINTERVAL_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_AUTORUNPROGRAM_STRING, GetPropValue(GetConfig())); + PROP_COMBO(IDS_CFG_CHECK_FOR_UPDATES_FREQUENCY, IDS_UPDATE_FREQUENCIES, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFG_UPDATE_CHECK_FOR_BETA, GetPropValue(GetConfig())); + PROP_BOOL(IDS_AUTOSHUTDOWN_STRING, GetPropValue(GetConfig())); + PROP_UINT(IDS_SHUTDOWNTIME_STRING, GetPropValue(GetConfig())); + PROP_COMBO(IDS_FORCESHUTDOWN_STRING, IDS_FORCESHUTDOWNVALUES_STRING, GetPropValue(GetConfig()) ? 1 : 0); + PROP_UINT(IDS_AUTOSAVEINTERVAL_STRING, GetPropValue(GetConfig())); + PROP_COMBO(IDS_CFGPRIORITYCLASS_STRING, IDS_CFGPRIORITYCLASSITEMS_STRING, PriorityClassToIndex(boost::numeric_cast(GetPropValue(GetConfig())))); PROP_DIR(IDS_TEMPFOLDER_STRING, IDS_TEMPFOLDERCHOOSE_STRING, strPath); // lang @@ -261,75 +246,71 @@ ///////////////// PROP_SEPARATOR(IDS_STATUSWINDOW_STRING); - PROP_UINT(IDS_REFRESHSTATUSINTERVAL_STRING, GetConfig().get_signed_num(PP_STATUSREFRESHINTERVAL)); - PROP_BOOL(IDS_STATUSSHOWDETAILS_STRING, GetConfig().get_bool(PP_STATUSSHOWDETAILS)); - PROP_BOOL(IDS_STATUSAUTOREMOVE_STRING, GetConfig().get_bool(PP_STATUSAUTOREMOVEFINISHED)); + PROP_UINT(IDS_REFRESHSTATUSINTERVAL_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_STATUSSHOWDETAILS_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_STATUSAUTOREMOVE_STRING, GetPropValue(GetConfig())); PROP_SEPARATOR(IDS_MINIVIEW_STRING); - PROP_BOOL(IDS_SHOWFILENAMES_STRING, GetConfig().get_bool(PP_MVSHOWFILENAMES)); - PROP_BOOL(IDS_SHOWSINGLETASKS_STRING, GetConfig().get_bool(PP_MVSHOWSINGLETASKS)); - PROP_UINT(IDS_MINIVIEWREFRESHINTERVAL_STRING, GetConfig().get_signed_num(PP_MVREFRESHINTERVAL)); - PROP_BOOL(IDS_MINIVIEWSHOWAFTERSTART_STRING, GetConfig().get_bool(PP_MVAUTOSHOWWHENRUN)); - PROP_BOOL(IDS_MINIVIEWAUTOHIDE_STRING, GetConfig().get_bool(PP_MVAUTOHIDEWHENEMPTY)); - PROP_BOOL(IDS_MINIVIEWSMOOTHPROGRESS_STRING, GetConfig().get_bool(PP_MVUSESMOOTHPROGRESS)); + PROP_BOOL(IDS_SHOWFILENAMES_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_SHOWSINGLETASKS_STRING, GetPropValue(GetConfig())); + PROP_UINT(IDS_MINIVIEWREFRESHINTERVAL_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_MINIVIEWSHOWAFTERSTART_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_MINIVIEWAUTOHIDE_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_MINIVIEWSMOOTHPROGRESS_STRING, GetPropValue(GetConfig())); PROP_SEPARATOR(IDS_CFGFOLDERDIALOG_STRING); - PROP_BOOL(IDS_CFGFDEXTVIEW_STRING, GetConfig().get_bool(PP_FDEXTENDEDVIEW)); - PROP_UINT(IDS_CFGFDWIDTH_STRING, GetConfig().get_signed_num(PP_FDWIDTH)); - PROP_UINT(IDS_CFGFDHEIGHT_STRING, GetConfig().get_signed_num(PP_FDHEIGHT)); - PROP_COMBO(IDS_CFGFDSHORTCUTS_STRING, IDS_CFGFDSHORTCUTSSTYLES_STRING, GetConfig().get_signed_num(PP_FDSHORTCUTLISTSTYLE)); - PROP_BOOL(IDS_CFGFDIGNOREDIALOGS_STRING, GetConfig().get_bool(PP_FDIGNORESHELLDIALOGS)); + PROP_BOOL(IDS_CFGFDEXTVIEW_STRING, GetPropValue(GetConfig())); + PROP_UINT(IDS_CFGFDWIDTH_STRING, GetPropValue(GetConfig())); + PROP_UINT(IDS_CFGFDHEIGHT_STRING, GetPropValue(GetConfig())); + PROP_COMBO(IDS_CFGFDSHORTCUTS_STRING, IDS_CFGFDSHORTCUTSSTYLES_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGFDIGNOREDIALOGS_STRING, GetPropValue(GetConfig())); PROP_SEPARATOR(IDS_CFGSHELL_STRING); - PROP_BOOL(IDS_CFGSHCOPY_STRING, GetConfig().get_bool(PP_SHSHOWCOPY)); - PROP_BOOL(IDS_CFGSHMOVE_STRING, GetConfig().get_bool(PP_SHSHOWMOVE)); - PROP_BOOL(IDS_CFGSHCMSPECIAL_STRING, GetConfig().get_bool(PP_SHSHOWCOPYMOVE)); - PROP_BOOL(IDS_CFGSHPASTE_STRING, GetConfig().get_bool(PP_SHSHOWPASTE)); - PROP_BOOL(IDS_CFGSHPASTESPECIAL_STRING, GetConfig().get_bool(PP_SHSHOWPASTESPECIAL)); - PROP_BOOL(IDS_CFGSHCOPYTO_STRING, GetConfig().get_bool(PP_SHSHOWCOPYTO)); - PROP_BOOL(IDS_CFGSHMOVETO_STRING, GetConfig().get_bool(PP_SHSHOWMOVETO)); - PROP_BOOL(IDS_CFGSHCMTOSPECIAL_STRING, GetConfig().get_bool(PP_SHSHOWCOPYMOVETO)); - PROP_BOOL(IDS_CFGSHSHOWFREESPACE_STRING, GetConfig().get_bool(PP_SHSHOWFREESPACE)); - PROP_BOOL(IDS_CFGSHSHOWICONS_STRING, GetConfig().get_bool(PP_SHSHOWSHELLICONS)); - PROP_BOOL(IDS_CFGSHINTERCEPTDRAG_STRING, GetConfig().get_bool(PP_SHINTERCEPTDRAGDROP)); - PROP_BOOL(IDS_CFGINTERCEPTKEYACTION_STRING, GetConfig().get_bool(PP_SHINTERCEPTKEYACTIONS)); - PROP_BOOL(IDS_CFGINTERCEPTCONTEXTMENU_STRING, GetConfig().get_bool(PP_SHINTERCEPTCTXMENUACTIONS)); + PROP_BOOL(IDS_CFGSHCOPY_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGSHMOVE_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGSHCMSPECIAL_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGSHPASTE_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGSHPASTESPECIAL_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGSHCOPYTO_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGSHMOVETO_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGSHCMTOSPECIAL_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGSHSHOWFREESPACE_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGSHSHOWICONS_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGSHINTERCEPTDRAG_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGINTERCEPTKEYACTION_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_CFGINTERCEPTCONTEXTMENU_STRING, GetPropValue(GetConfig())); PROP_SEPARATOR(IDS_PROCESSINGTHREAD_STRING); - PROP_BOOL(IDS_SETDESTATTRIB_STRING, GetConfig().get_bool(PP_CMSETDESTATTRIBUTES)); - PROP_BOOL(IDS_SETDESTTIME_STRING, GetConfig().get_bool(PP_CMSETDESTDATE)); - PROP_BOOL(IDS_PROTECTROFILES_STRING, GetConfig().get_bool(PP_CMPROTECTROFILES)); - PROP_UINT(IDS_LIMITOPERATIONS_STRING, GetConfig().get_signed_num(PP_CMLIMITMAXOPERATIONS)); - PROP_BOOL(IDS_READSIZEBEFOREBLOCK_STRING, GetConfig().get_bool(PP_CMREADSIZEBEFOREBLOCKING)); - PROP_COMBO(IDS_DEFAULTPRIORITY_STRING, MakeCompoundString(IDS_PRIORITY0_STRING, 7, _T("!")), PriorityToIndex(boost::numeric_cast(GetConfig().get_signed_num(PP_CMDEFAULTPRIORITY)))); - PROP_BOOL(IDS_CFGDISABLEPRIORITYBOOST_STRING, GetConfig().get_bool(PP_CMDISABLEPRIORITYBOOST)); - PROP_BOOL(IDS_DELETEAFTERFINISHED_STRING, GetConfig().get_bool(PP_CMDELETEAFTERFINISHED)); + PROP_BOOL(IDS_SETDESTATTRIB_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_SETDESTTIME_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_PROTECTROFILES_STRING, GetPropValue(GetConfig())); + PROP_UINT(IDS_LIMITOPERATIONS_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_READSIZEBEFOREBLOCK_STRING, GetPropValue(GetConfig())); + PROP_COMBO(IDS_DEFAULTPRIORITY_STRING, MakeCompoundString(IDS_PRIORITY0_STRING, 7, _T("!")), PriorityToIndex(boost::numeric_cast(GetPropValue(GetConfig())))); + PROP_BOOL(IDS_CFGDISABLEPRIORITYBOOST_STRING, GetPropValue(GetConfig())); + PROP_BOOL(IDS_DELETEAFTERFINISHED_STRING, GetPropValue(GetConfig())); // Buffer PROP_SEPARATOR(IDS_OPTIONSBUFFER_STRING); - PROP_BOOL(IDS_AUTODETECTBUFFERSIZE_STRING, GetConfig().get_bool(PP_BFUSEONLYDEFAULT)); - PROP_CUSTOM_UINT(IDS_DEFAULTBUFFERSIZE_STRING, GetConfig().get_signed_num(PP_BFDEFAULT), &CustomPropertyCallbackProc, 0); - PROP_CUSTOM_UINT(IDS_ONEDISKBUFFERSIZE_STRING, GetConfig().get_signed_num(PP_BFONEDISK), &CustomPropertyCallbackProc, 1); - PROP_CUSTOM_UINT(IDS_TWODISKSBUFFERSIZE_STRING, GetConfig().get_signed_num(PP_BFTWODISKS), &CustomPropertyCallbackProc, 2); - PROP_CUSTOM_UINT(IDS_CDBUFFERSIZE_STRING, GetConfig().get_signed_num(PP_BFCD), &CustomPropertyCallbackProc, 3); - PROP_CUSTOM_UINT(IDS_LANBUFFERSIZE_STRING, GetConfig().get_signed_num(PP_BFLAN), &CustomPropertyCallbackProc, 4); - PROP_BOOL(IDS_USENOBUFFERING_STRING, GetConfig().get_bool(PP_BFUSENOBUFFERING)); - PROP_UINT(IDS_LARGEFILESMINSIZE_STRING, GetConfig().get_signed_num(PP_BFBOUNDARYLIMIT)); + PROP_BOOL(IDS_AUTODETECTBUFFERSIZE_STRING, GetPropValue(GetConfig())); + PROP_CUSTOM_UINT(IDS_DEFAULTBUFFERSIZE_STRING, GetPropValue(GetConfig()), &CustomPropertyCallbackProc, 0); + PROP_CUSTOM_UINT(IDS_ONEDISKBUFFERSIZE_STRING, GetPropValue(GetConfig()), &CustomPropertyCallbackProc, 1); + PROP_CUSTOM_UINT(IDS_TWODISKSBUFFERSIZE_STRING, GetPropValue(GetConfig()), &CustomPropertyCallbackProc, 2); + PROP_CUSTOM_UINT(IDS_CDBUFFERSIZE_STRING, GetPropValue(GetConfig()), &CustomPropertyCallbackProc, 3); + PROP_CUSTOM_UINT(IDS_LANBUFFERSIZE_STRING, GetPropValue(GetConfig()), &CustomPropertyCallbackProc, 4); + PROP_BOOL(IDS_USENOBUFFERING_STRING, GetPropValue(GetConfig())); + PROP_UINT(IDS_LARGEFILESMINSIZE_STRING, GetPropValue(GetConfig())); PROP_SEPARATOR(IDS_CFGLOGFILE_STRING); - PROP_BOOL(IDS_CFGENABLELOGGING_STRING, GetConfig().get_bool(PP_LOGENABLELOGGING)); - PROP_UINT(IDS_CFGMAXLIMIT_STRING, GetConfig().get_signed_num(PP_LOGMAXSIZE)); - PROP_COMBO(IDS_CFGLOGLEVEL, IDS_CFGLOGLEVEL_VALUES, GetConfig().get_unsigned_num(PP_LOGLEVEL)); + PROP_BOOL(IDS_CFGENABLELOGGING_STRING, GetPropValue(GetConfig())); + PROP_UINT(IDS_CFGMAXLIMIT_STRING, GetPropValue(GetConfig())); + PROP_COMBO(IDS_CFGLOGLEVEL, IDS_CFGLOGLEVEL_VALUES, GetPropValue(GetConfig())); // Sounds PROP_SEPARATOR(IDS_SOUNDS_STRING); - PROP_BOOL(IDS_PLAYSOUNDS_STRING, GetConfig().get_bool(PP_SNDPLAYSOUNDS)); - GetConfig().get_string(PP_SNDERRORSOUNDPATH, strPath.GetBuffer(_MAX_PATH), _MAX_PATH); - strPath.ReleaseBuffer(); - PROP_PATH(IDS_SOUNDONERROR_STRING, IDS_SOUNDSWAVFILTER_STRING, strPath); - GetConfig().get_string(PP_SNDFINISHEDSOUNDPATH, strPath.GetBuffer(_MAX_PATH), _MAX_PATH); - strPath.ReleaseBuffer(); - PROP_PATH(IDS_SOUNDONFINISH_STRING, IDS_SOUNDSWAVFILTER_STRING, strPath); + PROP_BOOL(IDS_PLAYSOUNDS_STRING, GetPropValue(GetConfig())); + PROP_PATH(IDS_SOUNDONERROR_STRING, IDS_SOUNDSWAVFILTER_STRING, GetPropValue(GetConfig())); + PROP_PATH(IDS_SOUNDONFINISH_STRING, IDS_SOUNDSWAVFILTER_STRING, GetPropValue(GetConfig())); PROP_SEPARATOR(IDS_CFGSHORTCUTS_STRING); PROP_CUSTOM_UINT(IDS_CFGSCCOUNT_STRING, m_cvShortcuts.size(), &ShortcutsPropertyCallbackProc, 0); @@ -343,115 +324,110 @@ // counter int iPosition=0; - icpf::config& rConfig = GetConfig(); + TConfig& rConfig = GetConfig(); + rConfig.DelayNotifications(); SKIP_SEPARATOR(iPosition); - rConfig.set_bool(PP_PCLIPBOARDMONITORING, GetBoolProp(iPosition++)); - rConfig.set_signed_num(PP_PMONITORSCANINTERVAL, GetUintProp(iPosition++)); - rConfig.set_bool(PP_PRELOADAFTERRESTART, GetBoolProp(iPosition++)); - rConfig.set_unsigned_num(PP_PCHECK_FOR_UPDATES_FREQUENCY, GetIndexProp(iPosition++)); - rConfig.set_bool(PP_PUPDATE_CHECK_FOR_BETA, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_PSHUTDOWNAFTREFINISHED, GetBoolProp(iPosition++)); - rConfig.set_signed_num(PP_PTIMEBEFORESHUTDOWN, GetUintProp(iPosition++)); - rConfig.set_bool(PP_PFORCESHUTDOWN, GetBoolProp(iPosition++)); - rConfig.set_signed_num(PP_PAUTOSAVEINTERVAL, GetUintProp(iPosition++)); - rConfig.set_signed_num(PP_PPROCESSPRIORITYCLASS, IndexToPriorityClass(GetIndexProp(iPosition++))); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetIndexProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, IndexToPriorityClass(GetIndexProp(iPosition++))); // language PCTSTR pszSrc=m_vld.at(GetIndexProp(iPosition++)).GetFilename(true); if (_tcsnicmp(pszSrc, GetApp().GetProgramPath(), _tcslen(GetApp().GetProgramPath())) == 0) { // replace the first part of path with TCHAR szData[_MAX_PATH]; _sntprintf(szData, _MAX_PATH, _T("%s"), pszSrc+_tcslen(GetApp().GetProgramPath())); - rConfig.set_string(PP_PLANGUAGE, szData); + SetPropValue(rConfig, szData); } else - rConfig.set_string(PP_PLANGUAGE, pszSrc); + SetPropValue(rConfig, pszSrc); SKIP_SEPARATOR(iPosition); - rConfig.set_signed_num(PP_STATUSREFRESHINTERVAL, GetUintProp(iPosition++)); - rConfig.set_bool(PP_STATUSSHOWDETAILS, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_STATUSAUTOREMOVEFINISHED, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); SKIP_SEPARATOR(iPosition); - rConfig.set_bool(PP_MVSHOWFILENAMES, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_MVSHOWSINGLETASKS, GetBoolProp(iPosition++)); - rConfig.set_signed_num(PP_MVREFRESHINTERVAL, GetUintProp(iPosition++)); - rConfig.set_bool(PP_MVAUTOSHOWWHENRUN, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_MVAUTOHIDEWHENEMPTY, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_MVUSESMOOTHPROGRESS, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); SKIP_SEPARATOR(iPosition); - rConfig.set_bool(PP_FDEXTENDEDVIEW, GetBoolProp(iPosition++)); - rConfig.set_signed_num(PP_FDWIDTH, GetUintProp(iPosition++)); - rConfig.set_signed_num(PP_FDHEIGHT, GetUintProp(iPosition++)); - rConfig.set_signed_num(PP_FDSHORTCUTLISTSTYLE, GetIndexProp(iPosition++)); - rConfig.set_bool(PP_FDIGNORESHELLDIALOGS, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetIndexProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); SKIP_SEPARATOR(iPosition); - rConfig.set_bool(PP_SHSHOWCOPY, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHSHOWMOVE, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHSHOWCOPYMOVE, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHSHOWPASTE, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHSHOWPASTESPECIAL, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHSHOWCOPYTO, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHSHOWMOVETO, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHSHOWCOPYMOVETO, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHSHOWFREESPACE, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHSHOWSHELLICONS, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHINTERCEPTDRAGDROP, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHINTERCEPTKEYACTIONS, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_SHINTERCEPTCTXMENUACTIONS, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); SKIP_SEPARATOR(iPosition); - rConfig.set_bool(PP_CMSETDESTATTRIBUTES, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_CMSETDESTDATE, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_CMPROTECTROFILES, GetBoolProp(iPosition++)); - rConfig.set_signed_num(PP_CMLIMITMAXOPERATIONS, GetUintProp(iPosition++)); - rConfig.set_bool(PP_CMREADSIZEBEFOREBLOCKING, GetBoolProp(iPosition++)); - rConfig.set_signed_num(PP_CMDEFAULTPRIORITY, IndexToPriority(GetIndexProp(iPosition++))); - rConfig.set_bool(PP_CMDISABLEPRIORITYBOOST, GetBoolProp(iPosition++)); - rConfig.set_bool(PP_CMDELETEAFTERFINISHED, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, IndexToPriority(GetIndexProp(iPosition++))); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); // Buffer SKIP_SEPARATOR(iPosition); - rConfig.set_bool(PP_BFUSEONLYDEFAULT, GetBoolProp(iPosition++)); - rConfig.set_signed_num(PP_BFDEFAULT, GetUintProp(iPosition++)); - rConfig.set_signed_num(PP_BFONEDISK, GetUintProp(iPosition++)); - rConfig.set_signed_num(PP_BFTWODISKS, GetUintProp(iPosition++)); - rConfig.set_signed_num(PP_BFCD, GetUintProp(iPosition++)); - rConfig.set_signed_num(PP_BFLAN, GetUintProp(iPosition++)); - rConfig.set_bool(PP_BFUSENOBUFFERING, GetBoolProp(iPosition++)); - rConfig.set_signed_num(PP_BFBOUNDARYLIMIT, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); // log file SKIP_SEPARATOR(iPosition); - rConfig.set_bool(PP_LOGENABLELOGGING, GetBoolProp(iPosition++)); - rConfig.set_signed_num(PP_LOGMAXSIZE, GetUintProp(iPosition++)); - rConfig.set_unsigned_num(PP_LOGLEVEL, GetIndexProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetUintProp(iPosition++)); + SetPropValue(rConfig, GetIndexProp(iPosition++)); // Sounds SKIP_SEPARATOR(iPosition); - rConfig.set_bool(PP_SNDPLAYSOUNDS, GetBoolProp(iPosition++)); - rConfig.set_string(PP_SNDERRORSOUNDPATH, GetStringProp(iPosition++)); - rConfig.set_string(PP_SNDFINISHEDSOUNDPATH, GetStringProp(iPosition++)); + SetPropValue(rConfig, GetBoolProp(iPosition++)); + SetPropValue(rConfig, GetStringProp(iPosition++)); + SetPropValue(rConfig, GetStringProp(iPosition++)); // shortcuts & recent paths SKIP_SEPARATOR(iPosition); - rConfig.clear_array_values(PP_SHORTCUTS); - for(char_vector::iterator it = m_cvShortcuts.begin(); it != m_cvShortcuts.end(); it++) - { - rConfig.set_string(PP_SHORTCUTS, (*it), icpf::property::action_add); - } - + SetPropValue(rConfig, m_cvShortcuts); + SKIP_SEPARATOR(iPosition); - rConfig.clear_array_values(PP_RECENTPATHS); - for(char_vector::iterator it = m_cvRecent.begin(); it != m_cvRecent.end(); it++) - { - rConfig.set_string(PP_RECENTPATHS, (*it), icpf::property::action_add); - } + SetPropValue(rConfig, m_cvRecent); - rConfig.write(NULL); + rConfig.ResumeNotifications(); + + rConfig.Write(); } void COptionsDlg::OnCancel()