- private void OnOpen(object o, EventArgs e) {
- FileSelection selection = new FileSelection("Select TileSet");
- selection.OkButton.Clicked += new EventHandler(OnSelectTileSetOk);
- selection.CancelButton.Clicked += new EventHandler(OnSelectImageCancel);
- selection.Show();
- }
-
- private void OnSelectTileSetOk(object o, EventArgs e) {
- FileSelection selection = ((FileSelection.FSButton) o).FileSelection;
- string file = selection.Filename;
- selection.Destroy();
-
- LoadTileSet(file);
+ protected void OnOpen(object o, EventArgs e) {
+ FileChooserDialog fileChooser = new FileChooserDialog("Select TileSet", MainWindow, FileChooserAction.Open, new object[] {});
+
+ fileChooser.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
+ fileChooser.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok);
+ fileChooser.DefaultResponse = Gtk.ResponseType.Ok;
+ Gtk.FileFilter filter = new Gtk.FileFilter();
+ filter.Name = "Supertux tilesets";
+ filter.AddPattern("*.strf");
+ fileChooser.AddFilter( filter );
+ Gtk.FileFilter all = new Gtk.FileFilter();
+ all.Name = "All Files";
+ all.AddPattern("*");
+ fileChooser.AddFilter( all );
+ int result = fileChooser.Run();
+ fileChooser.Hide();
+
+ if(result != (int) ResponseType.Ok)
+ return;
+
+ LoadTileSet(fileChooser.Filename);