Clone
ixen <ixen@copyhandler.com>
committed
on 30 Sep 10
Rewritten configuration system to use boost::property_tree (to allow easy embedding parts of configuration in task definition).
LoggerImprovements + 5 more
src/ch/CfgProperties.cpp (deleted)
1   /***************************************************************************
2   *   Copyright (C) 2001-2008 by J�zef Starosczyk                           *
3   *   ixen@copyhandler.com                                                  *
4   *                                                                         *
5   *   This program is free software; you can redistribute it and/or modify  *
6   *   it under the terms of the GNU Library General Public License          *
7   *   (version 2) as published by the Free Software Foundation;             *
8   *                                                                         *
9   *   This program is distributed in the hope that it will be useful,       *
10   *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
11   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
12   *   GNU General Public License for more details.                          *
13   *                                                                         *
14   *   You should have received a copy of the GNU Library General Public     *
15   *   License along with this program; if not, write to the                 *
16   *   Free Software Foundation, Inc.,                                       *
17   *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
18   ***************************************************************************/
19   #include "stdafx.h"
20   #include "CfgProperties.h"
21   #include "../libicpf/config_property.h"
22  
23   #ifdef  DEBUG
24   #define new DEBUG NEW
25   #endif
26  
27   bool RegisterProperties(icpf::config* pManager)
28   {
29           const long long llHour = 3600UL*1000UL;
30   //      const long long llMinute = 60UL*1000UL;
31           const long long llSecond = 1000UL;
32  
33           pManager->register_bool(_t("Program/Enabled clipboard monitoring"), false);
34           pManager->register_signed_num(_t("Program/Monitor scan interval"), 1000, 0, llHour);
35           pManager->register_bool(_t("Program/Reload after restart"), false);
36           pManager->register_unsigned_num(_t("Program/Check for updates frequency"), eFreq_Weekly, eFreq_Never, eFreq_Max - 1);
37           pManager->register_bool(_t("Program/Updater checks for beta"), true);
38  
39           pManager->register_bool(_t("Program/Shutdown system after finished"), false);
40           pManager->register_signed_num(_t("Program/Time before shutdown"), 10000, 0, 24*llHour);
41           pManager->register_bool(_t("Program/Force shutdown"), false);
42           pManager->register_signed_num(_t("Program/Autosave interval"), 30*llSecond, 0, 24*llHour);
43           pManager->register_signed_num(_t("Program/Process priority class"), NORMAL_PRIORITY_CLASS, 0, 0xffffffff);
44           pManager->register_string(_t("Program/Language"), _t("<PROGRAM>\\Langs\\English.lng"));
45  
46           pManager->register_signed_num(_t("Status dialog/Status refresh interval"), 1000, 0, 24*llHour);
47           pManager->register_bool(_t("Status dialog/Show details"), true);
48           pManager->register_bool(_t("Status dialog/Auto remove finished"), false);
49  
50           pManager->register_signed_num(_t("Folder dialog/Dialog width"), -1, -1, 32767);
51           pManager->register_signed_num(_t("Folder dialog/Dialog height"), -1, -1, 32767);
52           pManager->register_signed_num(_t("Folder dialog/Shortcut list style"), 1, 0, 3);
53           pManager->register_bool(_t("Folder dialog/Extended view"), true);
54           pManager->register_bool(_t("Folder dialog/Ignore shell dialogs"), false);
55  
56           pManager->register_bool(_t("Mini view/Show filenames"), true);
57           pManager->register_bool(_t("Mini view/Show single tasks"), true);
58           pManager->register_signed_num(_t("Mini view/Miniview refresh interval"), 200, 0, 24*llHour);
59           pManager->register_bool(_t("Mini view/Autoshow when run"), true);
60           pManager->register_bool(_t("Mini view/Autohide when empty"), true);
61           pManager->register_bool(_t("Mini view/Use smooth progress"), true);
62  
63           pManager->register_bool(_t("Copying/Always set destination attributes"), true);
64           pManager->register_bool(_t("Copying/Always set destination time"), true);
65           pManager->register_bool(_t("Copying/Protect read-only files"), false);
66           pManager->register_signed_num(_t("Copying/Limit max operations"), 1, 0, 0xffffffff);
67           pManager->register_bool(_t("Copying/Read tasks size before blocking"), true);
68           pManager->register_signed_num(_t("Copying/Default priority"), THREAD_PRIORITY_NORMAL, 0, 0xffffffff);
69           pManager->register_bool(_t("Copying/Disable priority boost"), false);
70           pManager->register_bool(_t("Copying/Delete files after finished"), true);
71  
72           pManager->register_bool(_t("Shell/Show 'Copy' command"), true);
73           pManager->register_bool(_t("Shell/Show 'Move' command"), true);
74           pManager->register_bool(_t("Shell/Show 'Copy,move special' command"), true);
75           pManager->register_bool(_t("Shell/Show 'Paste' command"), true);
76           pManager->register_bool(_t("Shell/Show 'Paste special' command"), true);
77           pManager->register_bool(_t("Shell/Show 'Copy to' command"), true);
78           pManager->register_bool(_t("Shell/Show 'Move to' command"), true);
79           pManager->register_bool(_t("Shell/Show 'Copy to,Move to special' command"), true);
80           pManager->register_bool(_t("Shell/Show free space along with shortcut"), true);
81           pManager->register_bool(_t("Shell/Show shell icons in shortcuts menu"), false);
82           pManager->register_bool(_t("Shell/Intercept drag&drop"), true);
83           pManager->register_bool(_t("Shell/Intercept keyboard actions"), true);
84           pManager->register_bool(_t("Shell/Intercept context menu actions"), false);
85  
86           pManager->register_bool(_t("Buffer/Use only default buffer"), false);
87           pManager->register_signed_num(_t("Buffer/Default buffer size"), 2097152, 1, 0xffffffff);
88           pManager->register_signed_num(_t("Buffer/One physical disk buffer size"), 4194304, 1, 0xffffffff);
89           pManager->register_signed_num(_t("Buffer/Two different hard disks buffer size"), 524288, 1, 0xffffffff);
90           pManager->register_signed_num(_t("Buffer/CD buffer size"), 262144, 1, 0xffffffff);
91           pManager->register_signed_num(_t("Buffer/LAN buffer size"), 131072, 1, 0xffffffff);
92           pManager->register_bool(_t("Buffer/Use no buffering for large files"), true);
93           pManager->register_signed_num(_t("Buffer/Large files lower boundary limit"), 2097152, 1, 0xffffffff);
94  
95           pManager->register_bool(_t("Log file/Enable logging"), true);
96           pManager->register_signed_num(_t("Log file/Max log size limit"), 512384, 1024, 0xffffffff);
97           pManager->register_unsigned_num(_t("Log file/Logging level"), 1, 0, 3);         // 0=debug, 1=info, 2=warning, 3=error
98  
99           pManager->register_bool(_t("Sounds/Play sounds"), true);
100           pManager->register_string(_t("Sounds/Error sound path"), _t("<WINDOWS>\\media\\chord.wav"), icpf::property::flag_path);
101           pManager->register_string(_t("Sounds/Finished sound path"), _t("<WINDOWS>\\media\\ding.wav"), icpf::property::flag_path);
102  
103           pManager->register_string(_t("Shortcuts/Shortcut"), _t(""), icpf::property::flag_array);
104           pManager->register_string(_t("Recent paths/Path"), _t(""), icpf::property::flag_array);
105  
106           // invisible options
107           pManager->register_unsigned_num(_t("Runtime state/Last checked for updates"), 0, 0, ULLONG_MAX);
108  
109           return true;
110   }