189 |
|
|
190 |
|
void MapSelector::setupSelected() |
191 |
|
{ |
192 |
< |
// |
192 |
> |
GtkListStore* store = gtk_list_store_new(1, G_TYPE_STRING); |
193 |
> |
|
194 |
> |
vector<string> maps = config->getMaps(); |
195 |
> |
|
196 |
> |
GtkTreeIter itor; |
197 |
> |
for (unsigned index = 0; index < maps.size(); index++) |
198 |
> |
{ |
199 |
> |
gtk_list_store_append(store, &itor); |
200 |
> |
gtk_list_store_set(store, &itor, 0, maps[index].c_str(), -1); |
201 |
> |
} |
202 |
> |
|
203 |
> |
gtk_tree_view_set_model(GTK_TREE_VIEW(selected), GTK_TREE_MODEL(store)); |
204 |
> |
|
205 |
> |
GtkCellRenderer* renderer = gtk_cell_renderer_text_new(); |
206 |
> |
GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes(NULL, |
207 |
> |
renderer, "text", 0, NULL); |
208 |
> |
|
209 |
> |
gtk_tree_view_append_column(GTK_TREE_VIEW(selected), column); |
210 |
|
} |
211 |
|
|
212 |
|
void destruct(GtkWidget* widget, MapSelector* data) |
216 |
|
|
217 |
|
void done(GtkWidget* widget, MapSelector* data) |
218 |
|
{ |
219 |
< |
if (true) |
219 |
> |
GtkTreeModel* store = gtk_tree_view_get_model(GTK_TREE_VIEW(data->selected) |
220 |
> |
); |
221 |
> |
|
222 |
> |
GtkTreeIter itor; |
223 |
> |
if (!gtk_tree_model_get_iter_first(store, &itor)) |
224 |
|
{ |
225 |
|
message(GTK_WINDOW(data->window), "You need at least one map.", |
226 |
< |
"No Maps", GTK_MESSAGE_WARNING); |
226 |
> |
"No Maps", GTK_MESSAGE_INFORMATION); |
227 |
|
} |
228 |
|
else |
229 |
|
{ |
230 |
< |
// |
230 |
> |
vector<string> maps; |
231 |
> |
|
232 |
> |
do |
233 |
> |
{ |
234 |
> |
char* name; |
235 |
> |
|
236 |
> |
gtk_tree_model_get(store, &itor, 0, &name, -1); |
237 |
> |
maps.push_back(name); |
238 |
> |
|
239 |
> |
g_free(name); |
240 |
> |
} |
241 |
> |
while (gtk_tree_model_iter_next(store, &itor)); |
242 |
|
|
243 |
+ |
config->setMaps(maps); |
244 |
+ |
|
245 |
|
config->save(); |
246 |
|
|
247 |
|
gtk_main_quit(); |