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

Annotation of /trunk/Src/wptOwnertrustDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 28 - (hide annotations)
Thu Oct 20 12:35:59 2005 UTC (19 years, 4 months ago) by twoaday
File size: 4178 byte(s)
Minor cleanups and prepare the translation.

1 twoaday 2 /* wptOwnertrust.cpp - Ownertrust im- and export
2 twoaday 23 * Copyright (C) 2001, 2002, 2003, 2005 Timo Schulz
3     * Copyright (C) 2005 g10 Code GmbH
4 twoaday 2 *
5     * This file is part of WinPT.
6     *
7     * WinPT is free software; you can redistribute it and/or modify
8     * it under the terms of the GNU General Public License as published by
9     * the Free Software Foundation; either version 2 of the License, or
10     * (at your option) any later version.
11     *
12     * WinPT is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with WinPT; if not, write to the Free Software Foundation,
19     * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
20     */
21    
22     #include <windows.h>
23 twoaday 23 #include <sys/stat.h>
24 twoaday 2
25     #include "../resource.h"
26     #include "wptTypes.h"
27     #include "wptGPG.h"
28     #include "wptErrors.h"
29     #include "wptNLS.h"
30     #include "wptW32API.h"
31    
32    
33 twoaday 23 /* Export the ownertrust to the file @fname.
34     Return value: 0 on success. */
35     static gpgme_error_t
36     gpg_export_ownertrust (const char *fname)
37     {
38     gpgme_error_t err;
39     char *ot_data = NULL;
40     FILE *f;
41    
42     err = gpg_manage_ownertrust (&ot_data, 1);
43     if (err)
44     return err;
45     f = fopen (fname, "wb");
46     if (f) {
47     fwrite (ot_data, 1, strlen (ot_data), f);
48     fclose (f);
49     }
50     else
51 twoaday 28 err = gpg_error (GPG_ERR_ENOENT);
52 twoaday 23 free (ot_data);
53     return 0;
54     }
55    
56    
57     /* Import the ownertrust from file @fname.
58     Return value: 0 on success. */
59     static gpgme_error_t
60     gpg_import_ownertrust (const char *fname)
61     {
62     gpgme_error_t err;
63     FILE *f;
64     struct stat st;
65     char *ot_data;
66    
67     if (stat (fname, &st))
68 twoaday 28 return gpg_error (GPG_ERR_ENOENT);
69 twoaday 23 f = fopen (fname, "rb");
70     if (!f)
71 twoaday 28 return gpg_error (GPG_ERR_ENOENT);
72 twoaday 23 ot_data = (char*)calloc (1, st.st_size+1);
73     if (!ot_data)
74     BUG (NULL);
75     fread (ot_data, 1, st.st_size, f);
76     fclose (f);
77    
78     err = gpg_manage_ownertrust (&ot_data, 0);
79    
80     free (ot_data);
81     return 0;
82     }
83    
84    
85     /* Dialog procedure to manage the ownertrust. */
86 twoaday 2 BOOL CALLBACK
87 twoaday 23 ownertrust_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
88 twoaday 2 {
89     gpgme_error_t err;
90 twoaday 25 const char *fname;
91 twoaday 2
92     switch( msg ) {
93     case WM_INITDIALOG:
94 twoaday 23 #ifndef LANG_DE
95 twoaday 2 SetWindowText( dlg, _("Ownertrust") );
96     SetDlgItemText( dlg, IDC_OWNERTRUST_INFO, _("File") );
97     SetDlgItemText( dlg, IDC_OWNERTRUST_DESC,
98     _("Here it is possible to save or restore the ownertrust from the "
99     "'trustdb' file. This could be very useful because the values are NOT "
100     "stored in the keyring.") );
101 twoaday 23 #endif
102     center_window( dlg, NULL );
103 twoaday 2 SetForegroundWindow( dlg );
104     return TRUE;
105    
106     case WM_SYSCOMMAND:
107 twoaday 25 if (LOWORD (wparam) == SC_CLOSE)
108     EndDialog (dlg, TRUE);
109     return TRUE;
110 twoaday 2
111     case WM_COMMAND:
112 twoaday 25 switch (LOWORD (wparam)) {
113 twoaday 2 case IDC_OWNERTRUST_EXPORT:
114 twoaday 25 fname = get_filesave_dlg (dlg, _("Select file name for output"), NULL, NULL);
115     if (!fname)
116     return TRUE;
117 twoaday 23 err = gpg_export_ownertrust (fname);
118 twoaday 25 if (err) {
119     msg_box (dlg, gpgme_strerror( err ), _("Ownertrust"), MB_ERR );
120     return TRUE;
121 twoaday 2 }
122 twoaday 25 status_box (dlg, _("Ownertrust successfully exported."), _("GnuPG Status"));
123 twoaday 2 return TRUE;
124    
125     case IDC_OWNERTRUST_IMPORT:
126 twoaday 25 fname = get_fileopen_dlg (dlg, _("Select file name for input"), NULL, NULL);
127     if (!fname)
128     return TRUE;
129     err = gpg_import_ownertrust (fname);
130     if (err) {
131     msg_box (dlg, gpgme_strerror (err), _("Ownertrust"), MB_ERR);
132     return TRUE;
133 twoaday 2 }
134 twoaday 25 status_box (dlg, _("Ownertrust succefully imported."), _("GnuPG Status"));
135 twoaday 2 return TRUE;
136    
137     case IDCANCEL:
138 twoaday 25 EndDialog (dlg, FALSE);
139     return TRUE;
140 twoaday 2 }
141     break;
142     }
143    
144     return FALSE;
145 twoaday 23 }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26