コード例 #1
0
ファイル: SearchView.cs プロジェクト: thoja21/banshee-1
        public SearchView(SearchSource source)
        {
            this.source = source;

            list_view = new ResultListView();
            var controller = new PersistentColumnController("InternetArchive");

            list_view.ColumnController = controller;
            AddColumns();
            controller.Load();

            list_view.RowActivated += (o, a) => {
                ServiceManager.Get <InterfaceActionService> ()["InternetArchive.ViewItemDetails"].Activate();
            };

            list_view.SetModel(source.Model);

            // Packing
            var sw = new Gtk.ScrolledWindow();

            sw.Child = list_view;

            var    last_hid_more = DateTime.MinValue;
            string more_text     = Catalog.GetString("Fetch more results from the Internet Archive?");

            list_view.Vadjustment.ValueChanged += (o, a) => {
                var adj = list_view.Vadjustment;
                if ((DateTime.Now - last_hid_more).TotalSeconds > 2 && adj.Value >= adj.Upper - adj.PageSize)
                {
                    if (source.TotalResults > source.Model.Count)
                    {
                        source.SetStatus(more_text, true, false, "gtk-question");
                        source.CurrentMessage.AddAction(new MessageAction(Catalog.GetString("Fetch More"), delegate { source.FetchMore(); }));
                    }
                }
            };

            source.MessageNotify += (o, a) => {
                if (source.CurrentMessage != null && source.CurrentMessage.Text == more_text && source.CurrentMessage.IsHidden)
                {
                    last_hid_more = DateTime.Now;
                }
            };

            PackStart(sw, true, true, 0);
            ShowAll();
        }
コード例 #2
0
        public SearchView(SortableMemoryListModel <T> model)
        {
            list_view = new ResultListView();
            var controller = new PersistentColumnController("SongKick");

            list_view.ColumnController = controller;
            AddColumns();
            SetDefultSortColumn();
            controller.Load();

            this.model = model;
            this.list_view.SetModel(model);

            window.Child = list_view;
            this.PackStart(window, true, true, 0);
            ShowAll();
        }