25 |
#include <windows.h> |
#include <windows.h> |
26 |
#include <commctrl.h> |
#include <commctrl.h> |
27 |
#include <sys/stat.h> |
#include <sys/stat.h> |
28 |
|
#include <stdio.h> |
29 |
|
|
30 |
#include "resource.h" |
#include "resource.h" |
31 |
#include "wptCommonCtl.h" |
#include "wptCommonCtl.h" |
63 |
{ |
{ |
64 |
static listview_ctrl_t lv = NULL; |
static listview_ctrl_t lv = NULL; |
65 |
static fm_state_t c; |
static fm_state_t c; |
|
static int req_signer = 0; |
|
66 |
static keylist_t list = NULL; |
static keylist_t list = NULL; |
67 |
gpg_keycache_t kc; |
gpg_keycache_t kc; |
68 |
gpgme_ctx_t ctx; |
gpgme_ctx_t ctx; |
70 |
|
|
71 |
switch (msg) { |
switch (msg) { |
72 |
case WM_INITDIALOG: |
case WM_INITDIALOG: |
|
req_signer = 0; |
|
73 |
c = (fm_state_t)lparam; |
c = (fm_state_t)lparam; |
74 |
if (!c) |
if (!c) |
75 |
dlg_fatal_error( dlg, "Could not get dialog state!" ); |
dlg_fatal_error( dlg, "Could not get dialog state!" ); |
76 |
kc = keycache_get_ctx (KEYCACHE_PUB); |
kc = keycache_get_ctx (KEYCACHE_PUB); |
77 |
if (!kc) |
if (!kc) |
78 |
BUG (dlg); |
BUG (dlg); |
79 |
#ifndef LANG_DE |
SetWindowText (dlg, _("File Encrypt")); |
80 |
SetWindowText( dlg, _("File Encrypt") ); |
SetDlgItemText (dlg, IDC_ENCRYPT_ARMOR, _("&Text Output")); |
81 |
SetDlgItemText( dlg, IDC_ENCRYPT_ARMOR, _("&Text Output") ); |
SetDlgItemText (dlg, IDC_ENCRYPT_WIPE, _("&Wipe Original")); |
82 |
SetDlgItemText( dlg, IDC_ENCRYPT_WIPE, _("&Wipe Original") ); |
|
83 |
#endif |
/* XXX: support --hidden-recipient */ |
84 |
|
EnableWindow (GetDlgItem (dlg, IDC_ENCRYPT_ANON), FALSE); |
85 |
|
|
86 |
if (c->req_signer) { |
if (c->req_signer) { |
87 |
EnableWindow (GetDlgItem (dlg, IDC_ENCRYPT_SIGN), TRUE); |
EnableWindow (GetDlgItem (dlg, IDC_ENCRYPT_SIGN), TRUE); |
88 |
seclist_init (dlg, IDC_ENCRYPT_SECLIST, KEYLIST_FLAG_SHORT, &list); |
seclist_init (dlg, IDC_ENCRYPT_SECLIST, KEYLIST_FLAG_SHORT, &list); |
89 |
} |
} |
90 |
lv = keylist_load (GetDlgItem (dlg, IDC_ENCRYPT_LIST), kc, NULL, |
lv = keylist_load (GetDlgItem (dlg, IDC_ENCRYPT_LIST), kc, NULL, |
91 |
KEYLIST_ENCRYPT|KEYLIST_FLAG_FILE, KEY_SORT_USERID); |
KEYLIST_ENCRYPT|KEYLIST_FLAG_FILE, KEY_SORT_USERID); |
92 |
SetForegroundWindow (dlg); |
SetForegroundWindow (dlg); |
93 |
return TRUE; |
return TRUE; |
94 |
|
|
103 |
case WM_NOTIFY: |
case WM_NOTIFY: |
104 |
NMHDR *notify; |
NMHDR *notify; |
105 |
notify = (NMHDR *)lparam; |
notify = (NMHDR *)lparam; |
106 |
if( notify && notify->code == LVN_COLUMNCLICK |
if (notify && notify->code == LVN_COLUMNCLICK |
107 |
&& notify->idFrom == IDC_ENCRYPT_LIST ) { |
&& notify->idFrom == IDC_ENCRYPT_LIST) { |
108 |
NMLISTVIEW *p = (LPNMLISTVIEW) lparam; |
NMLISTVIEW *p = (LPNMLISTVIEW) lparam; |
109 |
int sortby = 0; |
int sortby = 0; |
110 |
|
|
111 |
switch( p->iSubItem ) { |
switch (p->iSubItem) { |
112 |
case 0: sortby = KEY_SORT_USERID; break; |
case 0: sortby = KEY_SORT_USERID; break; |
113 |
case 1: sortby = KEY_SORT_KEYID; break; |
case 1: sortby = KEY_SORT_KEYID; break; |
114 |
case 2: sortby = KEY_SORT_LEN; break; |
case 2: sortby = KEY_SORT_LEN; break; |
115 |
case 4: sortby = KEY_SORT_VALIDITY; break; |
case 4: sortby = KEY_SORT_VALIDITY; break; |
116 |
default:sortby = KEY_SORT_USERID; break; |
default:sortby = KEY_SORT_USERID; break; |
117 |
} |
} |
118 |
keylist_sort( lv, sortby ); |
keylist_sort (lv, sortby); |
119 |
} |
} |
120 |
|
|
121 |
case WM_SYSCOMMAND: |
case WM_SYSCOMMAND: |
122 |
if( LOWORD( wparam ) == SC_CLOSE ) { |
if (LOWORD (wparam) == SC_CLOSE) { |
123 |
c->cancel = 1; |
c->cancel = 1; |
124 |
EndDialog( dlg, TRUE ); |
EndDialog( dlg, TRUE ); |
125 |
} |
} |
128 |
case WM_COMMAND: |
case WM_COMMAND: |
129 |
if (HIWORD (wparam) == BN_CLICKED |
if (HIWORD (wparam) == BN_CLICKED |
130 |
&& LOWORD (wparam) == IDC_ENCRYPT_SIGN) { |
&& LOWORD (wparam) == IDC_ENCRYPT_SIGN) { |
131 |
req_signer ^= 1; |
int req_signer = IsDlgButtonChecked (dlg, IDC_ENCRYPT_SIGN); |
132 |
EnableWindow (GetDlgItem (dlg, IDC_ENCRYPT_SECLIST), |
EnableWindow (GetDlgItem (dlg, IDC_ENCRYPT_SECLIST), |
133 |
req_signer? TRUE : FALSE); |
req_signer? TRUE : FALSE); |
134 |
} |
} |
587 |
case ID_FILEMISC_SIGNENC: |
case ID_FILEMISC_SIGNENC: |
588 |
case ID_FILEMISC_VERIFY: |
case ID_FILEMISC_VERIFY: |
589 |
case ID_FILEMISC_WIPE: |
case ID_FILEMISC_WIPE: |
590 |
|
case ID_FILEMISC_ENCRYPT_ZIP: |
591 |
fm_parse_files (lv, dlg, LOWORD (wparam)); |
fm_parse_files (lv, dlg, LOWORD (wparam)); |
592 |
SetForegroundWindow (dlg); |
SetForegroundWindow (dlg); |
593 |
return TRUE; |
return TRUE; |
626 |
case ID_FILECTX_WIPE: send_cmd_id( dlg, ID_FILEMISC_WIPE ); break; |
case ID_FILECTX_WIPE: send_cmd_id( dlg, ID_FILEMISC_WIPE ); break; |
627 |
case ID_FILECTX_LIST: send_cmd_id( dlg, ID_FILEMISC_LIST ); break; |
case ID_FILECTX_LIST: send_cmd_id( dlg, ID_FILEMISC_LIST ); break; |
628 |
case ID_FILECTX_SEND: send_cmd_id( dlg, ID_FILEMISC_SEND ); break; |
case ID_FILECTX_SEND: send_cmd_id( dlg, ID_FILEMISC_SEND ); break; |
629 |
|
case ID_FILECTX_ENCRYPT_ZIP:send_cmd_id (dlg, ID_FILEMISC_ENCRYPT_ZIP); break; |
630 |
} |
} |
631 |
break; |
break; |
632 |
} |
} |