/[winpt]/trunk/Src/wptSigTreeDlg.cpp
ViewVC logotype

Diff of /trunk/Src/wptSigTreeDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 179 by twoaday, Fri Feb 24 13:12:26 2006 UTC revision 180 by twoaday, Mon Mar 6 14:41:58 2006 UTC
# Line 29  Line 29 
29  #include "wptCommonCtl.h"  #include "wptCommonCtl.h"
30  #include "wptContext.h"  #include "wptContext.h"
31    
32    
33    /* ID to display signature properties. */
34    #define _ID_SIGCTX_PROPS 65000
35    
36    
37  BOOL CALLBACK sigprops_dlg_proc (HWND dlg, UINT msg,  BOOL CALLBACK sigprops_dlg_proc (HWND dlg, UINT msg,
38                                   WPARAM wparam, LPARAM lparam);                                   WPARAM wparam, LPARAM lparam);
39  BOOL CALLBACK  BOOL CALLBACK
# Line 91  treeview_set_image_list (HWND tree, HICO Line 96  treeview_set_image_list (HWND tree, HICO
96  }  }
97    
98    
99    static void
100    create_popup (HWND dlg)
101    {
102        HMENU hm;
103        MENUITEMINFO mi;
104        POINT p;
105        char *s;
106    
107        hm = CreatePopupMenu ();
108        if (!hm)
109            BUG( NULL );
110        memset (&mi, 0, sizeof mi);
111        mi.cbSize = sizeof mi;
112        s = (char *)_("Signature &Properties");
113        mi.fType = MF_STRING;
114        mi.dwTypeData = s;
115        mi.cch = strlen (s);
116        mi.fMask = MIIM_DATA | MIIM_ID | MIIM_TYPE;
117        mi.wID = _ID_SIGCTX_PROPS;
118        InsertMenuItem (hm, 0, FALSE, &mi);
119        GetCursorPos (&p);
120        TrackPopupMenu (hm, 0, p.x, p.y, 0, dlg, NULL);
121        DestroyMenu (hm);
122    }
123    
124    
125    static void
126    show_sigprops (HWND dlg)
127    {
128        HWND tree;
129        HTREEITEM hti;
130        TVITEM tvi;
131    
132        memset (&tvi, 0, sizeof (tvi));
133        tree = GetDlgItem (dlg, IDC_VKEYSIG_TREE);
134        hti = TreeView_GetSelection (tree);
135        tvi.mask = TVIF_PARAM;
136        tvi.hItem = hti;
137        TreeView_GetItem (tree, &tvi);
138        if (tvi.lParam != 0)
139            DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_SIGPROPS, dlg,
140            sigprops_dlg_proc, tvi.lParam);
141    }
142    
143    
144  /* Dialog box procedure for the tree based signature listing. */  /* Dialog box procedure for the tree based signature listing. */
145  BOOL CALLBACK  BOOL CALLBACK
146  sigtree_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)  sigtree_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
# Line 98  sigtree_dlg_proc (HWND dlg, UINT msg, WP Line 148  sigtree_dlg_proc (HWND dlg, UINT msg, WP
148      static winpt_key_t key;      static winpt_key_t key;
149      static HWND tree;      static HWND tree;
150      static HIMAGELIST hil;      static HIMAGELIST hil;
       
151      HICON ico[2];      HICON ico[2];
152      NMHDR *nft;      NMHDR *nft;
153      char inf[256];      char inf[256];
# Line 126  sigtree_dlg_proc (HWND dlg, UINT msg, WP Line 175  sigtree_dlg_proc (HWND dlg, UINT msg, WP
175    
176      case WM_NOTIFY:      case WM_NOTIFY:
177          nft = (NMHDR*)lparam;          nft = (NMHDR*)lparam;
178          if (nft->code == NM_DBLCLK) {          if (nft->code == NM_DBLCLK)
179              HTREEITEM hti;              show_sigprops (dlg);
180              TVITEM tvi;          else if (nft->code == NM_RCLICK)
181                create_popup (dlg);
             memset (&tvi, 0, sizeof (tvi));  
             tree = GetDlgItem (dlg, IDC_VKEYSIG_TREE);  
             hti = TreeView_GetSelection (tree);  
             tvi.mask = TVIF_PARAM;  
             tvi.hItem = hti;  
             TreeView_GetItem (tree, &tvi);  
             if (tvi.lParam != 0)  
                 DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_SIGPROPS, dlg,  
                                 sigprops_dlg_proc, tvi.lParam);  
         }  
182          break;          break;
183    
184      case WM_COMMAND:      case WM_COMMAND:
185          switch (LOWORD (wparam)) {          switch (LOWORD (wparam)) {
186            case _ID_SIGCTX_PROPS:
187                show_sigprops (dlg);
188                break;
189    
190          case IDOK:          case IDOK:
191              EndDialog (dlg, 1);              EndDialog (dlg, 1);
192              break;              break;

Legend:
Removed from v.179  
changed lines
  Added in v.180

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26