VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Main/UserPreferences.h
blob: 73da46ebbb194840b081fd710c1001226981f356 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/*
 Copyright (c) 2008-2009 TrueCrypt Developers Association. All rights reserved.

 Governed by the TrueCrypt License 3.0 the full text of which is contained in
 the file License.txt included in TrueCrypt binary and source code distribution
 packages.
*/

#ifndef TC_HEADER_Main_UserPreferences
#define TC_HEADER_Main_UserPreferences

#include "System.h"
#include "Main.h"
#include "Hotkey.h"

namespace VeraCrypt
{
	struct UserPreferences
	{
		UserPreferences ()
			:
			BackgroundTaskEnabled (true),
			BackgroundTaskMenuDismountItemsEnabled (true),
			BackgroundTaskMenuMountItemsEnabled (true),
			BackgroundTaskMenuOpenItemsEnabled (true),
			BeepAfterHotkeyMountDismount (false),
			CloseBackgroundTaskOnNoVolumes (true),
			CloseExplorerWindowsOnDismount (true),
			CloseSecurityTokenSessionsAfterMount (false),
			DisableKernelEncryptionModeWarning (false),
			DismountOnInactivity (false),
			DismountOnLogOff (true),
			DismountOnPowerSaving (false),
			DismountOnScreenSaver (false),
			DisplayMessageAfterHotkeyDismount (false),
			ForceAutoDismount (true),
			LastSelectedSlotNumber (0),
			MaxVolumeIdleTime (60),
			MountDevicesOnLogon (false),
			MountFavoritesOnLogon (false),
			NonInteractive (false),
			OpenExplorerWindowAfterMount (false),
			SaveHistory (false),
			StartOnLogon (false),
			UseKeyfiles (false),
			Verbose (false),
			WipeCacheOnAutoDismount (true),
			WipeCacheOnClose (false)
		{
		}

		virtual ~UserPreferences ()
		{
		}
		void Load();
		void Save() const;

		HotkeyList Hotkeys;
		KeyfileList DefaultKeyfiles;
		MountOptions DefaultMountOptions;

		bool BackgroundTaskEnabled;
		bool BackgroundTaskMenuDismountItemsEnabled;
		bool BackgroundTaskMenuMountItemsEnabled;
		bool BackgroundTaskMenuOpenItemsEnabled;
		bool BeepAfterHotkeyMountDismount;
		bool CloseBackgroundTaskOnNoVolumes;
		bool CloseExplorerWindowsOnDismount;
		bool CloseSecurityTokenSessionsAfterMount;
		bool DisableKernelEncryptionModeWarning;
		bool DismountOnInactivity;
		bool DismountOnLogOff;
		bool DismountOnPowerSaving;
		bool DismountOnScreenSaver;
		bool DisplayMessageAfterHotkeyDismount;
		bool ForceAutoDismount;
		uint64 LastSelectedSlotNumber;
		int32 MaxVolumeIdleTime;
		bool MountDevicesOnLogon;
		bool MountFavoritesOnLogon;
		bool NonInteractive;
		bool OpenExplorerWindowAfterMount;
		bool SaveHistory;
		FilePath SecurityTokenModule;
		bool StartOnLogon;
		bool UseKeyfiles;
		bool Verbose;
		bool WipeCacheOnAutoDismount;
		bool WipeCacheOnClose;

	protected:
		wxString GetDefaultKeyfilesFileName () const { return L"Default Keyfiles.xml"; }
#ifdef TC_PROTOTYPE
		wxString GetPreferencesFileName () const { return L"Configuration_Debug.xml"; }
#else
		wxString GetPreferencesFileName () const { return L"Configuration.xml"; }
#endif
		void SetValue (const wxString &cfgText, bool &cfgVar);
		void SetValue (const wxString &cfgText, int &cfgVar);
		void SetValue (const wxString &cfgText, uint64 &cfgVar);
		void SetValue (const wxString &cfgText, wstring &cfgVar);
		void SetValue (const wxString &cfgText, wxString &cfgVar);
		void SetValue (const wxString &cfgText, FilesystemPath &cfgVar);
	};
}

#endif // TC_HEADER_Main_UserPreferences
ogram files. If the specified folder does not exist, it will be automatically created.",IDT_INSTALL_DESTINATION,11,14,319,25 END IDD_INFO_PAGE_DLG DIALOGEX 0, 0, 217, 156 STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN LTEXT "",IDC_BOX_HELP,0,10,217,146 END IDD_INTRO_PAGE_DLG DIALOGEX 0, 0, 346, 152 STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN CONTROL "",IDC_LICENSE_TEXT,"RichEdit20A",ES_MULTILINE | ES_READONLY | ES_NUMBER | WS_BORDER | WS_VSCROLL | WS_TABSTOP,0,23,345,108 CONTROL "",IDC_AGREE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,2,137,126,10 LTEXT "",IDC_BOX_HELP,0,0,346,22 END IDD_INSTL_DLG DIALOGEX 0, 0, 374, 231 STYLE DS_SETFONT | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "VeraCrypt Setup Wizard" CLASS "VeraCryptCustomDlg" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN PUSHBUTTON "&Help",IDHELP,150,211,50,14 PUSHBUTTON "",IDC_PREV,209,211,50,14 DEFPUSHBUTTON "",IDC_NEXT,259,211,50,14 PUSHBUTTON "Cancel",IDCANCEL,317,211,50,14 LTEXT "",IDC_BOX_TITLE,11,5,324,12,0,WS_EX_TRANSPARENT CONTROL 107,IDC_BITMAP_SETUP_WIZARD,"Static",SS_BITMAP | SS_NOTIFY,139,3,228,30 CONTROL 109,IDC_SETUP_WIZARD_BKG,"Static",SS_BITMAP,0,0,11,10 CONTROL "",IDC_SETUP_WIZARD_GFX_AREA,"Static",SS_GRAYRECT | NOT WS_VISIBLE,0,0,378,36,WS_EX_TRANSPARENT | WS_EX_STATICEDGE CONTROL "",IDC_HR_BOTTOM,"Static",SS_ETCHEDHORZ,67,204,306,1,WS_EX_STATICEDGE CONTROL "",IDC_HR,"Static",SS_ETCHEDHORZ,0,35,399,1,WS_EX_STATICEDGE LTEXT "VeraCrypt Installer",IDC_STATIC,4,200,62,8,WS_DISABLED LTEXT "",IDC_BOX_INFO,18,18,317,13,0,WS_EX_TRANSPARENT LTEXT "",IDC_MAIN_CONTENT_CANVAS,0,36,374,164 LTEXT "",IDC_POS_BOX,14,42,346,155,0,WS_EX_TRANSPARENT END IDD_EXTRACTION_OPTIONS_PAGE_DLG DIALOGEX 0, 0, 346, 152 STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN PUSHBUTTON "Bro&wse...",IDC_BROWSE,277,32,62,14 EDITTEXT IDC_DESTINATION,6,33,264,12,ES_AUTOHSCROLL LTEXT "Please select or type the location where you want to place the extracted files:",IDT_EXTRACT_DESTINATION,6,15,333,17 CONTROL "&Open the destination location when finished",IDC_OPEN_CONTAINING_FOLDER, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,91,318,16 LTEXT "",IDC_BOX_HELP,6,56,333,32 END IDD_WIZARD_MODE_PAGE_DLG DIALOGEX 0, 0, 346, 152 STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN CONTROL "&Install",IDC_WIZARD_MODE_INSTALL,"Button",BS_AUTORADIOBUTTON,6,14,232,10 CONTROL "&Extract",IDC_WIZARD_MODE_EXTRACT_ONLY,"Button",BS_AUTORADIOBUTTON,6,60,232,10 LTEXT "",IDC_BOX_HELP,42,77,286,64 LTEXT "",IDC_BOX_HELP2,42,30,286,29 END IDD_PROGRESS_PAGE_DLG DIALOGEX 0, 0, 346, 152 STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN LISTBOX IDC_LOG_WINDOW,0,1,345,131,LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | LBS_NOSEL | WS_VSCROLL CONTROL "",IDC_PROGRESS_BAR,"msctls_progress32",PBS_SMOOTH | WS_BORDER,0,139,345,12 END IDD_DONATIONS_PAGE_DLG DIALOGEX 0, 0, 346, 152 STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD EXSTYLE WS_EX_TRANSPARENT FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN PUSHBUTTON "Donate now...",IDC_DONATE,124,94,96,14 END ///////////////////////////////////////////////////////////////////////////// // // Icon // // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. IDI_SETUP ICON "Setup.ico" #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // TEXTINCLUDE // 1 TEXTINCLUDE BEGIN "resource.h\0" END 2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" "#include ""..\\\\common\\\\resource.h""\r\n" "\0" END 3 TEXTINCLUDE BEGIN "#include ""..\\\\common\\\\common.rc""\r\n" "\0" END #endif // APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // DESIGNINFO // #ifdef APSTUDIO_INVOKED GUIDELINES DESIGNINFO BEGIN IDD_UNINSTALL, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 342 TOPMARGIN, 7 BOTTOMMARGIN, 229 END IDD_INSTALL_OPTIONS_PAGE_DLG, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 339 TOPMARGIN, 7 BOTTOMMARGIN, 147 END IDD_INFO_PAGE_DLG, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 210 TOPMARGIN, 7 BOTTOMMARGIN, 149 END IDD_INTRO_PAGE_DLG, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 339 TOPMARGIN, 7 BOTTOMMARGIN, 145 END IDD_INSTL_DLG, DIALOG BEGIN RIGHTMARGIN, 367 TOPMARGIN, 1 BOTTOMMARGIN, 229 HORZGUIDE, 196 END IDD_EXTRACTION_OPTIONS_PAGE_DLG, DIALOG BEGIN RIGHTMARGIN, 343 BOTTOMMARGIN, 147 END IDD_WIZARD_MODE_PAGE_DLG, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 339 TOPMARGIN, 7 BOTTOMMARGIN, 145 END IDD_PROGRESS_PAGE_DLG, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 339 TOPMARGIN, 7 BOTTOMMARGIN, 145 END IDD_DONATIONS_PAGE_DLG, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 339 TOPMARGIN, 7 BOTTOMMARGIN, 147 END END #endif // APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // Bitmap // IDB_SETUP_WIZARD BITMAP "VeraCrypt_setup.bmp" IDB_SETUP_WIZARD_BKG BITMAP "VeraCrypt_setup_background.bmp" #endif // English (U.S.) resources ///////////////////////////////////////////////////////////////////////////// #ifndef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 3 resource. // #include "..\\common\\common.rc" ///////////////////////////////////////////////////////////////////////////// #endif // not APSTUDIO_INVOKED