public OptionsModel GetOptions () { var options = new OptionsModel { OverwriteExisting = overwrite_existing.Active, CreateM3u = create_m3u.Active, SubfolderDepth = 0, TargetFolder = target_chooser.Uri }; // if activated, we create subfolder until given depth if (create_subfolders.Active) options.SubfolderDepth = (uint)subfolder_depth.Value; // make sure target always has ending directory seperator '/' if (options.TargetFolder.Last () != System.IO.Path.DirectorySeparatorChar) options.TargetFolder += System.IO.Path.DirectorySeparatorChar; // get the currently user-selected playlists options.SelectedPlaylists = new List<Playlist> (); Gtk.TreeIter iter; Gtk.TreeModel model; var tree_paths = playlist_tree.Selection.GetSelectedRows (out model); foreach (var path in tree_paths) { model.GetIter (out iter, path); Hyena.Log.DebugFormat ("Selected Playlist: ID {0}, Name: {1}", model.GetValue (iter, 0), model.GetValue (iter, 1)); options.SelectedPlaylists.Add (new Playlist ((uint)model.GetValue (iter, 0))); } return options; }