comparison dynamin/gui/x_file_dialog.d @ 106:acdbb30fee7e

Port to D2. Most of the effort was dealing with immutable and const.
author Jordan Miner <jminer7@gmail.com>
date Mon, 17 Dec 2012 23:41:50 -0600
parents 73060bc3f004
children
comparison
equal deleted inserted replaced
105:97997a544ac0 106:acdbb30fee7e
17 template FileDialogBackend() { 17 template FileDialogBackend() {
18 DialogResult backend_showDialog() { 18 DialogResult backend_showDialog() {
19 // gdk_x11_get_server_time (GdkWindow *window) 19 // gdk_x11_get_server_time (GdkWindow *window)
20 // could be used in clipboard 20 // could be used in clipboard
21 21
22 string title = text ? text : (fileDialogType == Open ? "Open" : "Save"); 22 mstring title = text ? text : (fileDialogType == Open ? "Open" : "Save");
23 auto dialog = gtk_file_chooser_dialog_new(toCharPtr(title), null, 23 auto dialog = gtk_file_chooser_dialog_new(toCharPtr(title), null,
24 fileDialogType == Open ? 24 fileDialogType == Open ?
25 GTK_FILE_CHOOSER_ACTION_OPEN : GTK_FILE_CHOOSER_ACTION_SAVE, 25 GTK_FILE_CHOOSER_ACTION_OPEN : GTK_FILE_CHOOSER_ACTION_SAVE,
26 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, 26 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
27 fileDialogType == Open ? GTK_STOCK_OPEN : GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, null); 27 fileDialogType == Open ? GTK_STOCK_OPEN : GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, null);
61 _selectedFilter = g_slist_index(gfilters, 61 _selectedFilter = g_slist_index(gfilters,
62 gtk_file_chooser_get_filter(dialog)); 62 gtk_file_chooser_get_filter(dialog));
63 g_slist_free(gfilters); 63 g_slist_free(gfilters);
64 64
65 auto list = gtk_file_chooser_get_filenames(dialog); 65 auto list = gtk_file_chooser_get_filenames(dialog);
66 _files = new string[g_slist_length(list)]; 66 _files = new mstring[g_slist_length(list)];
67 for(int i = 0; i < _files.length; ++i) { 67 for(int i = 0; i < _files.length; ++i) {
68 auto d = cast(char*)list.data; 68 auto d = cast(char*)list.data;
69 _files[i] = d[0..strlen(d)].dup; 69 _files[i] = d[0..strlen(d)].dup;
70 maybeAddExt(_files[i]); 70 maybeAddExt(_files[i]);
71 g_free(list.data); 71 g_free(list.data);