IEnumerable <IFileItem> GetRecentFiles() { GLib.List recent_items = new GLib.List(Gtk.RecentManager.Default.Items.Handle, typeof(Gtk.RecentInfo)); foreach (Gtk.RecentInfo info in recent_items.Cast <Gtk.RecentInfo> ().Where(it => it.Exists())) { yield return(Services.UniverseFactory.NewFileItem(info.Uri)); info.Dispose(); } recent_items.Dispose(); yield break; }
public static Uri[] ParseList(string uri_list) { IntPtr native = GLib.Marshaller.StringToPtrGStrdup(uri_list); IntPtr raw_ret = gnome_vfs_uri_list_parse(native); GLib.Marshaller.Free(native); GLib.List list = new GLib.List(raw_ret); Uri[] uris = new Uri [list.Count]; for (int i = 0; i < list.Count; i++) { uris[i] = list[i] as Uri; } list.Dispose(); return(uris); }
public void RefreshRecentDocs () { List<AbstractDockItem> items = new List<AbstractDockItem> (); GLib.List recent_items = new GLib.List (Gtk.RecentManager.Default.Items.Handle, typeof(Gtk.RecentInfo), false, false); IEnumerable<Gtk.RecentInfo> infos = recent_items.OfType<Gtk.RecentInfo> (); CanClear = recent_items.Count > 0; items.Add (emptyItem); items.AddRange (infos.Where (it => it.Exists ()) .OrderByDescending (f => f.Modified) .Take (NumRecentDocs) .Select (f => (AbstractDockItem)FileDockItem.NewFromUri (f.Uri))); foreach (Gtk.RecentInfo ri in infos) ri.Dispose (); recent_items.Dispose (); Items = items; }
public void RefreshRecentDocs() { List <AbstractDockItem> items = new List <AbstractDockItem> (); GLib.List recent_items = new GLib.List(Gtk.RecentManager.Default.Items.Handle, typeof(Gtk.RecentInfo), false, false); IEnumerable <Gtk.RecentInfo> infos = recent_items.OfType <Gtk.RecentInfo> (); CanClear = recent_items.Count > 0; items.Add(emptyItem); items.AddRange(infos.Where(it => it.Exists()) .OrderByDescending(f => f.Modified) .Take(NumRecentDocs) .Select(f => (AbstractDockItem)FileDockItem.NewFromUri(f.Uri))); foreach (Gtk.RecentInfo ri in infos) { ri.Dispose(); } recent_items.Dispose(); Items = items; }
IEnumerable<IFileItem> GetRecentFiles() { GLib.List recent_items = new GLib.List (Gtk.RecentManager.Default.Items.Handle, typeof(Gtk.RecentInfo)); foreach (Gtk.RecentInfo info in recent_items.Cast<Gtk.RecentInfo> ().Where (it => it.Exists ())) { yield return Services.UniverseFactory.NewFileItem (info.Uri); info.Dispose (); } recent_items.Dispose (); yield break; }