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

Diff of /trunk/Src/wptVerifyList.cpp

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

revision 192 by twoaday, Wed Mar 22 11:04:20 2006 UTC revision 193 by twoaday, Sat Apr 1 12:36:35 2006 UTC
# Line 36  Line 36 
36  #include "wptW32API.h"  #include "wptW32API.h"
37    
38    
39    /* Symbolic column IDs */
40    enum {
41        VER_COL_NAME = 0,
42        VER_COL_STAT = 1,
43        VER_COL_SIGNED = 2,
44        VER_COL_TRUST = 3,
45        VER_COL_KEYID = 4,
46        VER_COL_UID = 5
47    };
48    
49    
50  /* Extract the file name part out of the given path in @path.  /* Extract the file name part out of the given path in @path.
51     Return value: file part or NULL on error. */     Return value: file part or NULL on error. */
52  static char*  static char*
# Line 90  strtimestamp (long timestamp) Line 101  strtimestamp (long timestamp)
101     Return value: 0 on success. */     Return value: 0 on success. */
102  int  int
103  verlist_build (listview_ctrl_t *lv, HWND ctrl, int fm_mode)  verlist_build (listview_ctrl_t *lv, HWND ctrl, int fm_mode)
104  {  {    
105      int j, rc = 0;      struct listview_ctrl_s *c;
106      struct listview_ctrl_s * c;      struct listview_column_s verlist[] = {
107      struct listview_column_s fm_verlist[] = {            {0, 100, (char *)_("Name")},
108          {0, 100, (char *)_("Name") },          {1, 140, (char *)_("Status") },
109          {1, 120, (char *)_("Status") },          {2, 120, (char *)_("Signed") },
110          {2, 115, (char *)_("Signed") },          {3,  58, (char *)_("Trust") },
111          {3,  58, (char *)_("Trust") },                    {4,  80, (char *)_("Key ID" )},
112          {4, 160, (char *)_("User ID") },          {5, 160, (char *)_("User ID") },
113          {5, 0, NULL}          {6, 0, NULL}
           
     };  
     struct listview_column_s verlist[] = {        
         {0, 140, (char *)_("Status") },  
         {1, 120, (char *)_("Signed") },  
         {2,  58, (char *)_("Trust") },  
         {3,  80, (char *)_("Key ID" )},  
         {4, 160, (char *)_("User ID") },  
         {5, 0, NULL}  
114      };      };
115        int j;
116        int rc;
117            
118      rc = listview_new (&c);      rc = listview_new (&c);
119      if (rc)      if (rc)
120          return rc;          return rc;
       
121      c->ctrl = ctrl;      c->ctrl = ctrl;
122      if( fm_mode ) {  
123          for( j = 0; fm_verlist[j].fieldname; j++ )            for(j=0; verlist[j].fieldname; j++)
124              listview_add_column( c, &fm_verlist[j] );          listview_add_column (c, &verlist[j]);
125      }      if (!fm_mode)
126      else {          listview_set_column_width (c, 0, 60);
127          for( j = 0; verlist[j].fieldname; j++ )      listview_set_ext_style (c);
             listview_add_column( c, &verlist[ j ] );      
     }  
     listview_set_ext_style( c );  
128      *lv = c;      *lv = c;
129      return 0;      return 0;
130  }  }
# Line 153  verlist_add_sig (listview_ctrl_t lv, gpg Line 153  verlist_add_sig (listview_ctrl_t lv, gpg
153            
154      if (listview_add_item (lv, " "))      if (listview_add_item (lv, " "))
155          return WPTERR_GENERAL;          return WPTERR_GENERAL;
156                
157        listview_add_sub_item (lv, 0, VER_COL_NAME, "Clipboard");
158    
159      get_pubkey (sig->fpr, &key);      get_pubkey (sig->fpr, &key);
       
160      if (sig->summary == 0 && gpg_err_code (sig->status) == GPG_ERR_NO_ERROR)      if (sig->summary == 0 && gpg_err_code (sig->status) == GPG_ERR_NO_ERROR)
161          attr = get_gpg_sigstat (GPGME_SIGSUM_GREEN);          attr = get_gpg_sigstat (GPGME_SIGSUM_GREEN);
162      else      else
163          attr = get_gpg_sigstat (sig->summary);          attr = get_gpg_sigstat (sig->summary);
164      if (attr)      if (attr)
165          listview_add_sub_item (lv, 0, 0, (char *)attr);          listview_add_sub_item (lv, 0, VER_COL_STAT, (char *)attr);
166            
167      attr = strtimestamp (sig->timestamp);      attr = strtimestamp (sig->timestamp);
168      listview_add_sub_item (lv, 0, 1, (char *)attr);      listview_add_sub_item (lv, 0, VER_COL_SIGNED, (char *)attr);
169            
170      attr = _("Unknown");      attr = _("Unknown");
171      if (key) {      if (key) {
172          key_attr = key->uids->validity;          key_attr = key->uids->validity;
173          attr = get_key_trust2 (NULL, key_attr, 0, 0);          attr = get_key_trust2 (NULL, key_attr, 0, 0);
174      }      }
175      listview_add_sub_item (lv, 0, 2, (char *)attr);      listview_add_sub_item (lv, 0, VER_COL_TRUST, (char *)attr);
176            
177      attr = sig->fpr;      attr = sig->fpr;
178      if (!attr || strlen (attr) < 8)      if (!attr || strlen (attr) < 8)
179          listview_add_sub_item (lv, 0, 3, "????????");          listview_add_sub_item (lv, 0, VER_COL_KEYID, "????????");
180      else {      else {
181          if (strlen (attr) == 40)          if (strlen (attr) == 40)
182              attr += 32;              attr += 32;
# Line 184  verlist_add_sig (listview_ctrl_t lv, gpg Line 185  verlist_add_sig (listview_ctrl_t lv, gpg
185          else          else
186              attr += 8;              attr += 8;
187          _snprintf (keyid, sizeof keyid -1, "0x%s", attr);          _snprintf (keyid, sizeof keyid -1, "0x%s", attr);
188          listview_add_sub_item (lv, 0, 3, keyid);          listview_add_sub_item (lv, 0, VER_COL_KEYID, keyid);
189      }      }
190            
191      if (!key) {      if (!key)
192          attr = _("Invalid User ID");          attr = _("user ID not found");
193          listview_add_sub_item( lv, 0, 4, (char *)attr );      else
     }  
     else {  
194          attr = key->uids->name;          attr = key->uids->name;
195          uid = utf8_to_native (attr);  
196          if (uid) {      uid = utf8_to_native (attr);
197              listview_add_sub_item( lv, 0, 4, (char *)uid );      listview_add_sub_item (lv, 0, VER_COL_UID, (char *)uid);
198              free (uid);      free (uid);
         }  
     }  
199    
200      return 0;      return 0;
201  }  }
# Line 213  verlist_add_sig_log (listview_ctrl_t lv, Line 210  verlist_add_sig_log (listview_ctrl_t lv,
210      gpgme_key_t key = NULL;      gpgme_key_t key = NULL;
211      const char *attr;          const char *attr;    
212      char t[64], *name;      char t[64], *name;
213        int off = 0;
214    
215      if (listview_add_item (lv, "")) {      if (listview_add_item (lv, "")) {
216          log_debug ("verlist_add_sig_log: listview_add_item() failed.\n");          log_debug ("verlist_add_sig_log: listview_add_item() failed.\n");
# Line 223  verlist_add_sig_log (listview_ctrl_t lv, Line 221  verlist_add_sig_log (listview_ctrl_t lv,
221            
222      name = extract_filename (log->file);      name = extract_filename (log->file);
223      if (name)      if (name)
224          listview_add_sub_item (lv, 0, 0, name);          listview_add_sub_item (lv, 0, VER_COL_NAME, name);
225      else      else
226          listview_add_sub_item (lv, 0, 0, log->file);          listview_add_sub_item (lv, 0, VER_COL_NAME, log->file);
227      free_if_alloc (name);      free_if_alloc (name);
228            
229      if (sig->summary == 0 && gpg_err_code (sig->status) == GPG_ERR_NO_ERROR)      if (sig->summary == 0 && gpg_err_code (sig->status) == GPG_ERR_NO_ERROR)
# Line 233  verlist_add_sig_log (listview_ctrl_t lv, Line 231  verlist_add_sig_log (listview_ctrl_t lv,
231      else      else
232          attr = get_gpg_sigstat (sig->summary);          attr = get_gpg_sigstat (sig->summary);
233      if (attr)      if (attr)
234          listview_add_sub_item (lv, 0, 1, attr);          listview_add_sub_item (lv, 0, VER_COL_STAT, attr);
235    
236      if (sig->timestamp > 0) {      if (sig->timestamp > 0)
237          attr = strtimestamp (sig->timestamp);          attr = strtimestamp (sig->timestamp);
         listview_add_sub_item (lv, 0, 2, attr);  
     }  
238      else      else
239          listview_add_sub_item (lv, 0, 2, "No time");          attr = "No time";
240            listview_add_sub_item (lv, 0, VER_COL_SIGNED, attr);
241      attr = _("Unknown");          
242      if (key)      if (key)
243          attr = get_key_trust2 (NULL, key->uids->validity, 0, 0);          attr = get_key_trust2 (NULL, key->uids->validity, 0, 0);
244      listview_add_sub_item (lv, 0, 3, attr);      else
245            attr = _("Unknown");
246        listview_add_sub_item (lv, 0, VER_COL_TRUST, attr);
247            
248      attr = sig->fpr;      if (strlen (sig->fpr) == 16)
249      if (!log->use_uid && strlen (attr) == 40) {          off = 8;
250          _snprintf (t, sizeof (t)-1, "0x%s", attr + 32);      else
251          listview_add_sub_item (lv, 0, 4, t);          off = strlen (sig->fpr) == 40? 32 : 24;
252      }      _snprintf (t, sizeof (t)-1, "0x%s", sig->fpr + off);
253      else if (!log->use_uid && strlen( attr ) == 32) {      listview_add_sub_item (lv, 0, VER_COL_KEYID, t);
254          _snprintf (t, sizeof (t)-1, "0x%s", attr + 24);  
255          listview_add_sub_item (lv, 0, 4, t);      if (log->user_id)
256      }          name = utf8_to_native (log->user_id);
257      else if (log->user_id) {      else
258          char *p = utf8_to_native (log->user_id);          name = strdup (_("user ID not found"));
259          if (p) {  
260              listview_add_sub_item (lv, 0, 4, p);      listview_add_sub_item (lv, 0, VER_COL_UID, name);
261              free (p);      free (name);
         }  
     }  
262      return 0;      return 0;
263  }  }

Legend:
Removed from v.192  
changed lines
  Added in v.193

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26