97 |
}; |
}; |
98 |
|
|
99 |
|
|
100 |
|
static void km_gui_import (struct km_info_s *kmi, int cmd_id, void *param); |
101 |
|
|
102 |
/* Subclass the keylist listview control to allow extended commands. */ |
/* Subclass the keylist listview control to allow extended commands. */ |
103 |
static BOOL CALLBACK |
static BOOL CALLBACK |
104 |
keylist_subclass_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam) |
keylist_subclass_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam) |
105 |
{ |
{ |
106 |
struct listview_ctrl_s lv; |
struct listview_ctrl_s lv; |
107 |
|
struct km_info_s *kmi; |
108 |
|
|
109 |
switch (msg) { |
switch (msg) { |
110 |
|
case WM_DROPFILES: |
111 |
|
kmi = (km_info_s *)keylist_proc.opaque; |
112 |
|
km_gui_import (kmi, WM_DROPFILES, (void*)wparam); |
113 |
|
break; |
114 |
|
|
115 |
case WM_LBUTTONDBLCLK: |
case WM_LBUTTONDBLCLK: |
116 |
send_cmd_id (keylist_proc.dlg, ID_KEYMISC_PROPS); |
send_cmd_id (keylist_proc.dlg, ID_KEYMISC_PROPS); |
117 |
break; |
break; |
1098 |
|
|
1099 |
/* Handle all import request. */ |
/* Handle all import request. */ |
1100 |
static void |
static void |
1101 |
km_gui_import (struct km_info_s *kmi, int cmd_id) |
km_gui_import (struct km_info_s *kmi, int cmd_id, void *param) |
1102 |
{ |
{ |
1103 |
int newkeys=0, newsks=0; |
int newkeys=0, newsks=0; |
1104 |
int err = 0; |
int err = 0; |
1112 |
err = km_file_import (kmi->dlg, NULL, &newkeys, &newsks); |
err = km_file_import (kmi->dlg, NULL, &newkeys, &newsks); |
1113 |
break; |
break; |
1114 |
|
|
1115 |
|
case WM_DROPFILES: |
1116 |
|
err = km_dropped_file_import (kmi->dlg, (HDROP)param, |
1117 |
|
&newkeys, &newsks); |
1118 |
|
break; |
1119 |
|
|
1120 |
default: |
default: |
1121 |
err = 1; |
err = 1; |
1122 |
break; |
break; |
1176 |
kmi->lv = keylist_load (GetDlgItem (dlg, IDC_KEYMISC_KEYLIST), c, |
kmi->lv = keylist_load (GetDlgItem (dlg, IDC_KEYMISC_KEYLIST), c, |
1177 |
NULL, KEYLIST_LIST, kmi->keylist_sortby); |
NULL, KEYLIST_LIST, kmi->keylist_sortby); |
1178 |
/* init subclassing for the listview */ |
/* init subclassing for the listview */ |
1179 |
|
keylist_proc.opaque = kmi; |
1180 |
keylist_proc.dlg = dlg; |
keylist_proc.dlg = dlg; |
1181 |
keylist_proc.current = (WNDPROC)keylist_subclass_proc; |
keylist_proc.current = (WNDPROC)keylist_subclass_proc; |
1182 |
keylist_proc.old = (WNDPROC)GetWindowLong(kl, GWL_WNDPROC); |
keylist_proc.old = (WNDPROC)GetWindowLong(kl, GWL_WNDPROC); |
1680 |
return TRUE; |
return TRUE; |
1681 |
|
|
1682 |
case ID_KEYMISC_IMPORT: |
case ID_KEYMISC_IMPORT: |
1683 |
km_gui_import (kmi, LOWORD (wparam)); |
km_gui_import (kmi, LOWORD (wparam), NULL); |
1684 |
return TRUE; |
return TRUE; |
1685 |
|
|
1686 |
case ID_KEYMISC_IMPORT_HTTP: |
case ID_KEYMISC_IMPORT_HTTP: |
1795 |
break; |
break; |
1796 |
|
|
1797 |
case ID_KEYMISC_PASTE: |
case ID_KEYMISC_PASTE: |
1798 |
km_gui_import (kmi, LOWORD (wparam)); |
km_gui_import (kmi, LOWORD (wparam), NULL); |
1799 |
break; |
break; |
1800 |
|
|
1801 |
case ID_KEYCTX_SETPREFKS: |
case ID_KEYCTX_SETPREFKS: |