32 |
#define MKISOFS_OK "Total translation table size" |
#define MKISOFS_OK "Total translation table size" |
33 |
#define MKISOFS_NOSPACE "No space left on device" |
#define MKISOFS_NOSPACE "No space left on device" |
34 |
#define MKISOFS_SUPPORT_ISOV2 "Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2" |
#define MKISOFS_SUPPORT_ISOV2 "Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2" |
35 |
|
#define MKISOFS_CHARSET "Known charsets are:" |
36 |
|
|
37 |
|
GSList *Gcharsetlist = NULL; |
38 |
|
|
39 |
|
|
40 |
/* on verifie si le support iso9660 version 2 est disponnible ou non */ |
/* on verifie si le support iso9660 version 2 est disponnible ou non */ |
248 |
return TRUE; |
return TRUE; |
249 |
} |
} |
250 |
|
|
251 |
|
/* recuperation des charsets integré dans mkisofs */ |
252 |
|
gboolean get_builtin_charset(Tgrave *Ag, GError **Aerror) |
253 |
|
{ |
254 |
|
gchar *Lcommandline, *Lout = NULL, *Lerr = NULL; |
255 |
|
gboolean Lstatus = TRUE; |
256 |
|
gchar **Lcharsetl; |
257 |
|
gint Lexit = 0, i; |
258 |
|
Tdata *Ldata; |
259 |
|
gboolean Lajout = FALSE; |
260 |
|
|
261 |
|
Lcommandline = g_strdup_printf("%s -input-charset help", conf_get_string("mkisofs")); |
262 |
|
_DEB("command [%s]", Lcommandline); |
263 |
|
Lstatus = g_spawn_command_line_sync(Lcommandline, &Lout, &Lerr, &Lexit, Aerror); |
264 |
|
g_free(Lcommandline); |
265 |
|
|
266 |
|
if (Lstatus == FALSE || !Lerr) { |
267 |
|
g_free(Lout); |
268 |
|
g_free(Lerr); |
269 |
|
return FALSE; |
270 |
|
} |
271 |
|
|
272 |
|
Lcharsetl = g_strsplit(Lerr, "\n", 0); |
273 |
|
g_slist_free(Gcharsetlist); |
274 |
|
Gcharsetlist = NULL; |
275 |
|
|
276 |
|
for (i=0; Lcharsetl[i] && *Lcharsetl[i]; i++) { |
277 |
|
if (Lajout) { |
278 |
|
Ldata = g_malloc(sizeof(Tdata)); |
279 |
|
Ldata->data = g_strdup(Lcharsetl[i]); |
280 |
|
Ldata->label = g_strdup(Lcharsetl[i]); |
281 |
|
Gcharsetlist = g_slist_append(Gcharsetlist, Ldata); |
282 |
|
} else if (!strncmp(Lcharsetl[i], MKISOFS_CHARSET, strlen(MKISOFS_CHARSET))) { |
283 |
|
Lajout = TRUE; |
284 |
|
} |
285 |
|
} |
286 |
|
|
287 |
|
g_strfreev(Lcharsetl); |
288 |
|
|
289 |
|
return TRUE; |
290 |
|
} |
291 |
|
|
292 |
|
void remplirelistecharset(GtkTreeView *Aliste) |
293 |
|
{ |
294 |
|
GtkListStore *Ldata = GTK_LIST_STORE(gtk_tree_view_get_model(Aliste)); |
295 |
|
GtkTreeIter Liter; |
296 |
|
gint i; |
297 |
|
gchar Llabeldevice[50]; |
298 |
|
GSList *Lcur; |
299 |
|
Tdata *Lptr; |
300 |
|
|
301 |
|
gtk_list_store_clear(Ldata); |
302 |
|
|
303 |
|
for (Lcur = Gcharsetlist, i=0; Lcur; Lcur = g_slist_next(Lcur), i++) { |
304 |
|
Lptr = (Tdata *)Lcur->data; |
305 |
|
|
306 |
|
gtk_list_store_append(Ldata, &Liter); |
307 |
|
|
308 |
|
gtk_list_store_set(Ldata, &Liter, 0, i, 1, GcharsetpetiteIcone, 2, |
309 |
|
Lptr->data, 3, Lptr->label, -1); |
310 |
|
} |
311 |
|
} |
312 |
|
|
313 |
/* |
/* |
314 |
* vim:et:ts=8:sts=2:sw=2 |
* vim:et:ts=8:sts=2:sw=2 |
315 |
*/ |
*/ |