1 |
/* wptPreferencesDlg.cpp - Dialog for the preferences |
/* wptPreferencesDlg.cpp - Dialog for the preferences |
2 |
* Copyright (C) 2001, 2002, 2003 Timo Schulz |
* Copyright (C) 2001, 2002, 2003, 2005 Timo Schulz |
3 |
* |
* |
4 |
* This file is part of WinPT. |
* This file is part of WinPT. |
5 |
* |
* |
50 |
|
|
51 |
|
|
52 |
static int |
static int |
53 |
check_hotkey( char * key ) |
check_hotkey (char * key) |
54 |
{ |
{ |
55 |
if( *key >= 'A' && *key <= 'Z' ) |
if (*key >= 'A' && *key <= 'Z') |
56 |
return 1; |
return 1; |
57 |
else if( *key >= 'a' && *key <= 'z' ) { |
else if (*key >= 'a' && *key <= 'z') { |
58 |
*key = *key - 32; |
*key = *key - 32; |
59 |
return 1; |
return 1; |
60 |
} |
} |
61 |
return 0; |
return 0; |
62 |
} /* check_hotkey */ |
} /* check_hotkey */ |
63 |
|
|
64 |
|
|
65 |
static void |
static void |
66 |
disable_hotkey_items( HWND dlg, int yes ) |
disable_hotkey_items (HWND dlg, int val) |
67 |
{ |
{ |
68 |
int mode = yes ? FALSE : TRUE; |
int mode = val? FALSE : TRUE; |
69 |
int i, id; |
int i, id; |
70 |
|
|
71 |
for( i=0; (id = hotkeys[i]); i++ ) |
for (i=0; (id = hotkeys[i]); i++) |
72 |
EnableWindow( GetDlgItem( dlg, id ), mode ); |
EnableWindow( GetDlgItem( dlg, id ), mode ); |
73 |
} /* disable_hotkey_items */ |
} /* disable_hotkey_items */ |
74 |
|
|
75 |
|
|
76 |
static void |
static void |
77 |
enable_backup_items( HWND dlg, int yes ) |
enable_backup_items (HWND dlg, int val) |
78 |
{ |
{ |
79 |
int mode = yes ? TRUE : FALSE; |
int mode = val? TRUE : FALSE; |
80 |
|
|
81 |
EnableWindow( GetDlgItem( dlg, IDC_PREFS_BAKHOME ), mode ); |
EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKHOME), mode); |
82 |
EnableWindow( GetDlgItem( dlg, IDC_PREFS_BAKUSER ), mode ); |
EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKUSER), mode); |
83 |
EnableWindow( GetDlgItem( dlg, IDC_PREFS_BAKSELECT ), mode ); |
EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKSELECT), mode); |
84 |
EnableWindow( GetDlgItem( dlg, IDC_PREFS_BAKPATH ), mode ); |
EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKPATH), mode); |
85 |
} /* enable_backup_items */ |
} /* enable_backup_items */ |
86 |
|
|
87 |
|
|
88 |
static void |
static void |
89 |
set_keylist_mode( HWND dlg ) |
set_keylist_mode (HWND dlg) |
90 |
{ |
{ |
91 |
HWND cb = GetDlgItem( dlg, IDC_PREFS_LISTMODE ); |
HWND cb = GetDlgItem (dlg, IDC_PREFS_LISTMODE); |
92 |
combox_add_string( cb, (char *)"NORMAL" ); |
combox_add_string (cb, (char *)"NORMAL"); |
93 |
combox_add_string( cb, (char *)"MINIMAL" ); |
combox_add_string (cb, (char *)"MINIMAL"); |
94 |
SendMessage( cb, CB_SETCURSEL, (WPARAM)reg_prefs.keylist_mode, 0 ); |
SendMessage (cb, CB_SETCURSEL, (WPARAM)reg_prefs.keylist_mode, 0); |
95 |
} /* set_keylist_mode */ |
} /* set_keylist_mode */ |
96 |
|
|
97 |
|
|
98 |
static void |
static void |
99 |
set_wipe_mode( HWND dlg ) |
set_wipe_mode (HWND dlg) |
100 |
{ |
{ |
101 |
HWND cb = GetDlgItem( dlg, IDC_PREFS_WIPEMODE ); |
HWND cb = GetDlgItem (dlg, IDC_PREFS_WIPEMODE); |
102 |
combox_add_string( cb, (char *)"Simple" ); |
combox_add_string (cb, (char *)"Simple"); |
103 |
combox_add_string( cb, (char *)"DoD" ); |
combox_add_string (cb, (char *)"DoD"); |
104 |
combox_add_string( cb, (char *)"Gutmann" ); |
combox_add_string (cb, (char *)"Gutmann"); |
105 |
SendMessage( cb, CB_SETCURSEL, (WPARAM)reg_prefs.wipe_mode, 0 ); |
SendMessage (cb, CB_SETCURSEL, (WPARAM)reg_prefs.wipe_mode, 0); |
106 |
} /* set_wipe_mode */ |
} /* set_wipe_mode */ |
107 |
|
|
108 |
|
|
109 |
BOOL CALLBACK |
BOOL CALLBACK |
110 |
prefs_dlg_proc( HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam ) |
prefs_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam) |
111 |
{ |
{ |
112 |
int rc; |
int rc; |
113 |
int i, id; |
int i, id; |
131 |
if (reg_prefs.kserv_conf) |
if (reg_prefs.kserv_conf) |
132 |
SetDlgItemText (dlg, IDC_PREFS_KSERVER, reg_prefs.kserv_conf); |
SetDlgItemText (dlg, IDC_PREFS_KSERVER, reg_prefs.kserv_conf); |
133 |
|
|
134 |
for( i=0; (id=hotkeys[i]); i++ ) |
for (i=0; (id=hotkeys[i]); i++) |
135 |
SetDlgItemText( dlg, id, reg_hotkeys[i].key ); |
SetDlgItemText (dlg, id, reg_hotkeys[i].key); |
136 |
CheckDlgButton( dlg, IDC_PREFS_DISABLE_HOTKEYS, |
CheckDlgButton( dlg, IDC_PREFS_DISABLE_HOTKEYS, |
137 |
reg_prefs.no_hotkeys ? BST_CHECKED : BST_UNCHECKED ); |
reg_prefs.no_hotkeys ? BST_CHECKED : BST_UNCHECKED ); |
138 |
CheckDlgButton( dlg, IDC_PREFS_SECMODE, |
CheckDlgButton( dlg, IDC_PREFS_SECMODE, |
175 |
disable_hotkey_items( dlg, reg_prefs.no_hotkeys ); |
disable_hotkey_items( dlg, reg_prefs.no_hotkeys ); |
176 |
break; |
break; |
177 |
|
|
178 |
case IDC_PREFS_TRUST: |
case IDC_PREFS_TRUST: |
179 |
reg_prefs.always_trust ^= 1; |
reg_prefs.always_trust ^= 1; |
180 |
if( reg_prefs.always_trust ) { |
if( reg_prefs.always_trust ) { |
181 |
msg_box( NULL, |
msg_box (dlg, |
182 |
_("In most cases it is not a good idea to enable this setting.\n" |
_("In most cases it is not a good idea to enable this setting.\n" |
183 |
"If you know what you are doing let this flag enabled, otherwise\n" |
"If you know what you are doing let this flag enabled, otherwise\n" |
184 |
"it is safe to leave this flag untouched."), |
"it is safe to leave this flag untouched."), |
188 |
|
|
189 |
case IDC_PREFS_AUTOBACKUP: |
case IDC_PREFS_AUTOBACKUP: |
190 |
reg_prefs.auto_backup ^= 1; |
reg_prefs.auto_backup ^= 1; |
191 |
enable_backup_items( dlg, reg_prefs.auto_backup ); |
enable_backup_items (dlg, reg_prefs.auto_backup); |
192 |
|
if (reg_prefs.auto_backup == 1) { |
193 |
|
if (!IsDlgButtonChecked (dlg, IDC_PREFS_BAKHOME) && |
194 |
|
!IsDlgButtonChecked (dlg, IDC_PREFS_BAKUSER)) |
195 |
|
CheckDlgButton (dlg, IDC_PREFS_BAKHOME, BST_CHECKED); |
196 |
|
} |
197 |
break; |
break; |
198 |
|
|
199 |
case IDC_PREFS_BAKHOME: |
case IDC_PREFS_BAKHOME: |
200 |
EnableWindow( GetDlgItem( dlg, IDC_PREFS_BAKSELECT ), FALSE ); |
EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKSELECT), FALSE); |
201 |
EnableWindow( GetDlgItem( dlg, IDC_PREFS_BAKPATH ), FALSE ); |
EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKPATH), FALSE); |
202 |
break; |
break; |
203 |
|
|
204 |
case IDC_PREFS_BAKUSER: |
case IDC_PREFS_BAKUSER: |
205 |
EnableWindow( GetDlgItem( dlg, IDC_PREFS_BAKSELECT ), TRUE ); |
EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKSELECT), TRUE); |
206 |
EnableWindow( GetDlgItem( dlg, IDC_PREFS_BAKPATH ), TRUE ); |
EnableWindow (GetDlgItem (dlg, IDC_PREFS_BAKPATH), TRUE); |
207 |
break; |
break; |
208 |
} |
} |
209 |
break; |
break; |
210 |
} |
} |
211 |
switch( LOWORD( wparam ) ) { |
switch( LOWORD( wparam ) ) { |
212 |
case IDC_PREFS_BAKSELECT: |
case IDC_PREFS_BAKSELECT: |
213 |
BROWSEINFO bi; |
const char *bpath; |
214 |
ITEMIDLIST * item; |
bpath = get_folder_dlg (dlg, _("Select GPG backup path"), NULL); |
215 |
|
if (bpath) |
216 |
memset( &bi, 0, sizeof (bi) ); |
SetDlgItemText (dlg, IDC_PREFS_BAKPATH, bpath); |
|
item = SHBrowseForFolder( &bi ); |
|
|
if( item ) { |
|
|
SHGetPathFromIDList( item, path ); |
|
|
SetDlgItemText( dlg, IDC_PREFS_BAKPATH, path ); |
|
|
} |
|
217 |
break; |
break; |
218 |
|
|
219 |
case IDC_PREFS_KSELFILE: { |
case IDC_PREFS_KSELFILE: { |
274 |
{ |
{ |
275 |
char cwd[256], * fn; |
char cwd[256], * fn; |
276 |
FILE * fp = fopen ("keyserver.conf", "wb"); |
FILE * fp = fopen ("keyserver.conf", "wb"); |
277 |
if (fp) |
if (fp) { |
|
{ |
|
278 |
fprintf (fp, "%s\r\n", DEF_HKP_KEYSERVER); |
fprintf (fp, "%s\r\n", DEF_HKP_KEYSERVER); |
279 |
fclose (fp); |
fclose (fp); |
280 |
} |
} |