155 |
} |
} |
156 |
|
|
157 |
|
|
158 |
|
#define ico2idx(ico) imagelist_getindex((ico)) |
159 |
|
|
160 |
static HWND |
static HWND |
161 |
load_toolbar (HWND dlg, struct km_info_s *kmi) |
load_toolbar (HWND dlg, struct km_info_s *kmi) |
162 |
{ |
{ |
163 |
HWND tbwnd; |
HWND tbwnd; |
164 |
TBSAVEPARAMS tbsp; |
TBSAVEPARAMS tbsp; |
165 |
TBBUTTON tb_buttons[] = { |
TBBUTTON tb_buttons[] = { |
166 |
/*{imagelist_getindex(IMI_EXIT), ID_KEYMISC_QUIT, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0L, 0},*/ |
{ico2idx (IMI_KEY_NEW), ID_KEYMISC_KEYWIZARD, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L}, |
167 |
{imagelist_getindex(IMI_KEY_DELETE), ID_KEYMISC_DELETE, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
{ico2idx (IMI_KEY_DELETE), ID_KEYMISC_DELETE, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
168 |
{imagelist_getindex(IMI_KEY_PROPS), ID_KEYMISC_PROPS, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
{ico2idx (IMI_KEY_PROPS), ID_KEYMISC_PROPS, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
169 |
{imagelist_getindex(IMI_KEY_SIGN), ID_KEYMISC_SIGN, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
{ico2idx (IMI_KEY_SIGN), ID_KEYMISC_SIGN, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
170 |
|
{ico2idx (IMI_KEY_SEARCH), ID_KEYMISC_SENDRECV, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
171 |
{0, 0, 0, TBSTYLE_SEP, {0}, 0L, 0}, |
{0, 0, 0, TBSTYLE_SEP, {0}, 0L, 0}, |
172 |
{imagelist_getindex(IMI_KEY_IMPORT), ID_KEYMISC_IMPORT, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
{ico2idx (IMI_KEY_FILE_IMPORT), ID_KEYMISC_IMPORT, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
173 |
{imagelist_getindex(IMI_KEY_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}, |
174 |
|
{ico2idx (IMI_KEY_IMPORT), ID_KEYCTX_PASTE, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
175 |
|
{ico2idx (IMI_KEY_EXPORT), ID_KEYCTX_COPY, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0L, 0}, |
176 |
}; |
}; |
177 |
|
|
178 |
tbwnd = CreateWindowEx (0, TOOLBARCLASSNAME, NULL, |
tbwnd = CreateWindowEx (0, TOOLBARCLASSNAME, NULL, |
668 |
enable_button (tb_hwnd, ID_KEYMISC_PROPS, key_selected); |
enable_button (tb_hwnd, ID_KEYMISC_PROPS, key_selected); |
669 |
enable_button (tb_hwnd, ID_KEYMISC_SIGN, key_selected && !key_inv); |
enable_button (tb_hwnd, ID_KEYMISC_SIGN, key_selected && !key_inv); |
670 |
enable_button (tb_hwnd, ID_KEYMISC_EXPORT, key_selected); |
enable_button (tb_hwnd, ID_KEYMISC_EXPORT, key_selected); |
671 |
|
enable_button (tb_hwnd, ID_KEYCTX_COPY, key_selected); |
672 |
|
|
673 |
/* Enable / disable menu items */ |
/* Enable / disable menu items */ |
674 |
state = key_selected? MF_ENABLED : MF_DISABLED|MF_GRAYED; |
state = key_selected? MF_ENABLED : MF_DISABLED|MF_GRAYED; |
1015 |
} |
} |
1016 |
|
|
1017 |
|
|
1018 |
|
/* Add all recently updated keys in the cache to the list. */ |
1019 |
|
static void |
1020 |
|
refresh_keylist (listview_ctrl_t lv) |
1021 |
|
{ |
1022 |
|
struct keycache_s *ctx; |
1023 |
|
gpg_keycache_t kc; |
1024 |
|
|
1025 |
|
kc = keycache_get_ctx (1); |
1026 |
|
while (!gpg_keycache_next_updated_key (kc, &ctx)) { |
1027 |
|
keylist_add_key (lv, KEYLIST_LIST, ctx->key); |
1028 |
|
/*msg_box (NULL, ctx->key->uids->name, "debug", MB_OK);*/ |
1029 |
|
} |
1030 |
|
keylist_sort (lv, KEY_SORT_USERID); |
1031 |
|
} |
1032 |
|
|
1033 |
|
|
1034 |
/* Dialog box procedure for the Key Manager. */ |
/* Dialog box procedure for the Key Manager. */ |
1035 |
BOOL CALLBACK |
BOOL CALLBACK |
1159 |
LPTBNOTIFY lpTbNotify; |
LPTBNOTIFY lpTbNotify; |
1160 |
lpTbNotify = (LPTBNOTIFY)lparam; |
lpTbNotify = (LPTBNOTIFY)lparam; |
1161 |
if (lpTbNotify->iItem < (sizeof(myb) / sizeof(mybuttons))) { |
if (lpTbNotify->iItem < (sizeof(myb) / sizeof(mybuttons))) { |
1162 |
lpTbNotify->tbButton.iBitmap = imagelist_getindex(myb[lpTbNotify->iItem].icon); |
lpTbNotify->tbButton.iBitmap = imagelist_getindex (myb[lpTbNotify->iItem].icon); |
1163 |
lpTbNotify->tbButton.idCommand = myb[lpTbNotify->iItem].command; |
lpTbNotify->tbButton.idCommand = myb[lpTbNotify->iItem].command; |
1164 |
lpTbNotify->tbButton.fsState = TBSTATE_ENABLED; |
lpTbNotify->tbButton.fsState = TBSTATE_ENABLED; |
1165 |
lpTbNotify->tbButton.fsStyle = TBSTYLE_BUTTON; |
lpTbNotify->tbButton.fsStyle = TBSTYLE_BUTTON; |
1198 |
|
|
1199 |
lpttt->hinst = NULL; |
lpttt->hinst = NULL; |
1200 |
switch (lpttt->hdr.idFrom) { |
switch (lpttt->hdr.idFrom) { |
1201 |
|
case ID_KEYMISC_KEYWIZARD: |
1202 |
|
lpttt->lpszText = (char*)_("Generate new key pair"); |
1203 |
|
break; |
1204 |
|
|
1205 |
|
case ID_KEYMISC_SENDRECV: |
1206 |
|
lpttt->lpszText = (char*)_("Search for a specific key"); |
1207 |
|
break; |
1208 |
|
|
1209 |
case ID_KEYMISC_DELETE: |
case ID_KEYMISC_DELETE: |
1210 |
lpttt->lpszText = (char *)_("Delete key from keyring"); |
lpttt->lpszText = (char *)_("Delete key from keyring"); |
1211 |
break; |
break; |
1218 |
lpttt->lpszText = (char *)_("Sign key"); |
lpttt->lpszText = (char *)_("Sign key"); |
1219 |
break; |
break; |
1220 |
|
|
1221 |
|
case ID_KEYCTX_COPY: |
1222 |
|
lpttt->lpszText = (char *)_("Copy key to clipboard"); |
1223 |
|
break; |
1224 |
|
|
1225 |
|
case ID_KEYCTX_PASTE: |
1226 |
|
lpttt->lpszText = (char*)_("Paste key from clipboard"); |
1227 |
|
break; |
1228 |
|
|
1229 |
case ID_KEYMISC_IMPORT: |
case ID_KEYMISC_IMPORT: |
1230 |
lpttt->lpszText = (char *)_("Import key to keyring"); |
lpttt->lpszText = (char *)_("Import key to keyring"); |
1231 |
break; |
break; |
1570 |
return TRUE; |
return TRUE; |
1571 |
|
|
1572 |
case ID_KEYMISC_SENDRECV: |
case ID_KEYMISC_SENDRECV: |
|
memset (&genkey, 0, sizeof (genkey)); |
|
1573 |
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYSERVER, dlg, |
dialog_box_param (glob_hinst, (LPCSTR)IDD_WINPT_KEYSERVER, dlg, |
1574 |
keyserver_dlg_proc, (LPARAM)&genkey, _("Keyserver Access"), |
keyserver_dlg_proc, 0, _("Keyserver Access"), |
1575 |
IDS_WINPT_KEYSERVER); |
IDS_WINPT_KEYSERVER); |
1576 |
if (genkey.newkey != NULL) { |
refresh_keylist (kmi->lv); |
|
keylist_add_key (kmi->lv, KEYLIST_LIST, genkey.newkey); |
|
|
keylist_sort (kmi->lv, KEY_SORT_USERID); |
|
|
} |
|
1577 |
return TRUE; |
return TRUE; |
1578 |
|
|
1579 |
case ID_KEYMISC_GPGPREFS: |
case ID_KEYMISC_GPGPREFS: |