Mercurial > projects > dynamin
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); |