172 |
} |
} |
173 |
|
|
174 |
|
|
175 |
#define ico2idx(ico) imagelist_getindex((ico)) |
#define ico2idx(ico) imagelist_getindex ((ico)) |
176 |
|
|
177 |
|
/* Create a new toolbar window with a pre-defined list of buttons. */ |
178 |
static HWND |
static HWND |
179 |
load_toolbar (HWND dlg, struct km_info_s *kmi) |
create_toolbar (HWND dlg, struct km_info_s *kmi) |
180 |
{ |
{ |
181 |
HWND tbwnd; |
HWND tbwnd; |
182 |
TBSAVEPARAMS tbsp; |
TBSAVEPARAMS tbsp; |
183 |
TBBUTTON tb_buttons[] = { |
TBBUTTON tb_buttons[] = { |
191 |
{ico2idx (IMI_KEY_FILE_EXPORT), ID_KEYMISC_EXPORT, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
{ico2idx (IMI_KEY_FILE_EXPORT), ID_KEYMISC_EXPORT, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
192 |
{ico2idx (IMI_KEY_IMPORT), ID_KEYCTX_PASTE, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
{ico2idx (IMI_KEY_IMPORT), ID_KEYCTX_PASTE, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
193 |
{ico2idx (IMI_KEY_EXPORT), ID_KEYCTX_COPY, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
{ico2idx (IMI_KEY_EXPORT), ID_KEYCTX_COPY, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
194 |
}; |
}; |
195 |
|
|
196 |
tbwnd = CreateWindowEx (0, TOOLBARCLASSNAME, NULL, |
tbwnd = CreateWindowEx (0, TOOLBARCLASSNAME, NULL, |
197 |
WS_CHILD|TBSTYLE_TOOLTIPS|TBSTYLE_FLAT|CCS_ADJUSTABLE, |
WS_CHILD|TBSTYLE_TOOLTIPS|TBSTYLE_FLAT|CCS_ADJUSTABLE, |
198 |
0, 0, 0, 0, dlg, (HMENU)IDR_WINPT_KMTB, glob_hinst, NULL); |
0, 0, 0, 0, dlg, (HMENU)IDR_WINPT_KMTB, glob_hinst, NULL); |
199 |
if (tbwnd) { |
if (!tbwnd) |
200 |
SendMessage (tbwnd, TB_BUTTONSTRUCTSIZE, (WPARAM) sizeof(TBBUTTON), 0); |
BUG (0); |
201 |
SendMessage (tbwnd, TB_SETIMAGELIST, 0, (LPARAM)glob_imagelist); |
SendMessage (tbwnd, TB_BUTTONSTRUCTSIZE, (WPARAM) sizeof(TBBUTTON), 0); |
202 |
SendMessage (tbwnd, TB_AUTOSIZE, 0, 0); |
SendMessage (tbwnd, TB_SETIMAGELIST, 0, (LPARAM)glob_imagelist); |
203 |
ShowWindow (tbwnd, SW_SHOW); |
SendMessage (tbwnd, TB_AUTOSIZE, 0, 0); |
204 |
|
ShowWindow (tbwnd, SW_SHOW); |
205 |
/* Restore toolbar */ |
|
206 |
tbsp.hkr = HKEY_CURRENT_USER; |
/* Restore toolbar */ |
207 |
tbsp.pszSubKey = "Software\\WinPT"; |
tbsp.hkr = HKEY_CURRENT_USER; |
208 |
tbsp.pszValueName = "KM_toolbar"; |
tbsp.pszSubKey = "Software\\WinPT"; |
209 |
if (SendMessage(tbwnd, TB_SAVERESTORE, FALSE, (LPARAM)&tbsp ) == 0) |
tbsp.pszValueName = "KM_toolbar"; |
210 |
SendMessage (tbwnd, TB_ADDBUTTONS, sizeof(tb_buttons) / sizeof(tb_buttons[0]), |
if (SendMessage (tbwnd, TB_SAVERESTORE, FALSE, (LPARAM)&tbsp) == 0) |
211 |
(LONG)&tb_buttons[0]); |
SendMessage (tbwnd, TB_ADDBUTTONS, |
212 |
} |
sizeof (tb_buttons) / sizeof (tb_buttons[0]), |
213 |
return tbwnd; |
(LONG)&tb_buttons[0]); |
214 |
|
|
215 |
|
return tbwnd; |
216 |
} |
} |
217 |
|
|
218 |
|
|
1338 |
} |
} |
1339 |
kmi->statbar = setup_status_bar (dlg, kmi->lv); |
kmi->statbar = setup_status_bar (dlg, kmi->lv); |
1340 |
SetWindowLong (dlg, GWL_USERDATA, (LONG)kmi); |
SetWindowLong (dlg, GWL_USERDATA, (LONG)kmi); |
1341 |
kmi->toolbar = load_toolbar (dlg, kmi); |
kmi->toolbar = create_toolbar (dlg, kmi); |
1342 |
kmi->dlg = dlg; |
kmi->dlg = dlg; |
1343 |
|
|
1344 |
do_center_window (dlg, kmi); |
do_center_window (dlg, kmi); |
1507 |
break; |
break; |
1508 |
|
|
1509 |
case NM_RCLICK: |
case NM_RCLICK: |
1510 |
|
wait_for_progress_cb (); |
1511 |
if (notify->idFrom == IDC_KEYMISC_KEYLIST) { |
if (notify->idFrom == IDC_KEYMISC_KEYLIST) { |
1512 |
l_idx =listview_get_curr_pos (kmi->lv); |
l_idx =listview_get_curr_pos (kmi->lv); |
1513 |
if (l_idx == -1) |
if (l_idx == -1) |
1576 |
if (notify->idFrom == IDC_KEYMISC_KEYLIST) { |
if (notify->idFrom == IDC_KEYMISC_KEYLIST) { |
1577 |
NMLISTVIEW *nft = (LPNMLISTVIEW) lparam; |
NMLISTVIEW *nft = (LPNMLISTVIEW) lparam; |
1578 |
int sortby = 0; |
int sortby = 0; |
1579 |
|
|
1580 |
|
wait_for_progress_cb (); |
1581 |
switch (nft->iSubItem) { |
switch (nft->iSubItem) { |
1582 |
case 0: sortby = KEY_SORT_USERID; break; |
case 0: sortby = KEY_SORT_USERID; break; |
1583 |
case 1: sortby = KEY_SORT_KEYID; break; |
case 1: sortby = KEY_SORT_KEYID; break; |
1587 |
case 6: sortby = KEY_SORT_OTRUST; break; |
case 6: sortby = KEY_SORT_OTRUST; break; |
1588 |
case 7: sortby = KEY_SORT_CREATED; break; |
case 7: sortby = KEY_SORT_CREATED; break; |
1589 |
case 8: sortby = KEY_SORT_ALGO; break; |
case 8: sortby = KEY_SORT_ALGO; break; |
1590 |
default: return TRUE; //sortby = KEY_SORT_USERID; break; |
default: return TRUE; /*sortby userid.*/ |
1591 |
} |
} |
1592 |
|
|
1593 |
if ((kmi->keylist_sortby & ~KEYLIST_SORT_DESC) == sortby) |
if ((kmi->keylist_sortby & ~KEYLIST_SORT_DESC) == sortby) |
1642 |
return FALSE; |
return FALSE; |
1643 |
} |
} |
1644 |
|
|
1645 |
|
/*wait_for_progress_cb ();*/ |
1646 |
switch (LOWORD (wparam)) { |
switch (LOWORD (wparam)) { |
1647 |
case ID_KEYMISC_QUIT: |
case ID_KEYMISC_QUIT: |
1648 |
EndDialog (dlg, TRUE); |
EndDialog (dlg, TRUE); |
1708 |
return TRUE; |
return TRUE; |
1709 |
} |
} |
1710 |
km_get_key (kmi->lv, kmi->lv_idx, &k); |
km_get_key (kmi->lv, kmi->lv_idx, &k); |
|
if (!k.key_pair) { |
|
|
msg_box (dlg, _("It does not make any sense with a key pair!"), |
|
|
_("Key Manager"), MB_ERR); |
|
|
return TRUE; |
|
|
} |
|
1711 |
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYTRUST, dlg, |
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYTRUST, dlg, |
1712 |
keytrust_dlg_proc, (LPARAM)&k, |
keytrust_dlg_proc, (LPARAM)&k, |
1713 |
_("List Trust Path"), IDS_WINPT_KEYTRUST); |
_("List Trust Path"), IDS_WINPT_KEYTRUST); |
2078 |
case ID_GROUP_SHOW: |
case ID_GROUP_SHOW: |
2079 |
/* XXX: Implement group manager. */ |
/* XXX: Implement group manager. */ |
2080 |
return TRUE; |
return TRUE; |
|
|
|
|
/* |
|
|
case IDCANCEL: |
|
|
EndDialog (dlg, TRUE); |
|
|
return TRUE; |
|
|
*/ |
|
2081 |
} |
} |
2082 |
|
|
2083 |
break; |
break; |