示例#1
0
        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;
        }
示例#2
0
        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;
		}
示例#4
0
        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;
 }