Esempio n. 1
0
        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;
        }