164 |
|
|
165 |
|
|
166 |
BOOL CALLBACK |
BOOL CALLBACK |
167 |
clip_import_dlg_proc( HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam ) |
clip_import_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam) |
168 |
{ |
{ |
169 |
static listview_ctrl_t lv = NULL; |
static listview_ctrl_t lv = NULL; |
170 |
static data_callback_t ctx; |
static data_callback_t ctx; |
171 |
int rc = 0, id = 0, ctrl = 0, import_res[14]; |
int rc = 0, id = 0, import_res[14]; |
172 |
int n; |
int n; |
173 |
char keyid[32]; |
char keyid[32]; |
174 |
gpgme_error_t err; |
gpgme_error_t err; |
190 |
ctx = new data_callback_s; |
ctx = new data_callback_s; |
191 |
memset (ctx, 0, sizeof (data_callback_s)); |
memset (ctx, 0, sizeof (data_callback_s)); |
192 |
rc = implist_load (lv, NULL, &ctx->is_revcert, &ctx->has_seckeys); |
rc = implist_load (lv, NULL, &ctx->is_revcert, &ctx->has_seckeys); |
|
ctrl = 0; |
|
193 |
return TRUE; |
return TRUE; |
194 |
|
|
195 |
case WM_DESTROY: |
case WM_DESTROY: |
224 |
center_window( ctx->dlg ); |
center_window( ctx->dlg ); |
225 |
n = listview_count_items( lv, 0 ); |
n = listview_count_items( lv, 0 ); |
226 |
if( n > 1 && listview_count_items( lv, 1 ) > 0 ) { |
if( n > 1 && listview_count_items( lv, 1 ) > 0 ) { |
227 |
gpgme_recipients_new( &selkeys ); |
gpgme_recipients_new (&selkeys); |
228 |
for( id = 0; id < n; id++ ) { |
for (id = 0; id < n; id++) { |
229 |
if( listview_get_item_state( lv, id ) ) { |
if( listview_get_item_state( lv, id ) ) { |
230 |
listview_get_item_text( lv, id, 2, keyid, sizeof (keyid)-1 ); |
listview_get_item_text (lv, id, 2, keyid, DIM (keyid)-1); |
231 |
gpgme_recipients_add_name( selkeys, keyid+2 ); |
gpgme_recipients_add_name( selkeys, keyid+2 ); |
232 |
} |
} |
233 |
} |
} |
234 |
} |
} |
235 |
|
|
236 |
err = gpgme_op_clip_import( ctrl, selkeys, import_res ); |
err = gpgme_op_clip_import (selkeys, import_res); |
237 |
|
gpgme_recipients_release (selkeys); |
238 |
if( err ) { |
if( err ) { |
|
ctrl = 0; |
|
239 |
if( err == GPGME_Internal_GPG_Problem ) |
if( err == GPGME_Internal_GPG_Problem ) |
240 |
gnupg_display_error (); |
gnupg_display_error (); |
241 |
else |
else |