protected async Task <bool> ListView_LoadItems(string path)
        {
            ListView.Clear();
            if (!Directory.Exists(path))
            {
                return(false);
            }
            ListView.BeginUpdate();
            var headers = ListViewItemFactory.GetFileHeaderItems();

            foreach (var header in headers)
            {
                ListView.Columns.Add(header);
            }
            ListView.EndUpdate();
            var list = await Service.GetFileItemsAsync(path);

            var items = await ListViewItemFactory.GetDetailItemsAsync(list);

            ListView.BeginUpdate();
            foreach (var item in items)
            {
                ListView.Items.Add(item);
            }
            ListView.EndUpdate();
            ListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
            return(true);
        }
        protected void ListView_LoadRoots()
        {
            ListView.Clear();
            ListView.BeginUpdate();
            var headers = ListViewItemFactory.GetDriverHeaderItems();

            foreach (var header in headers)
            {
                ListView.Columns.Add(header);
            }
            var items = ListViewItemFactory.GetRootDetailIItems();

            foreach (var item in items)
            {
                ListView.Items.Add(item);
            }
            ListView.EndUpdate();
            ListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
        }
Beispiel #3
0
        public async Task <ExecuteResult> ExecuteAsync()
        {
            var path = Cache.PathHistory[Cache.HistoryMark];

            if (string.IsNullOrWhiteSpace(path) ||
                string.IsNullOrWhiteSpace(Pattern) || !Directory.Exists(path))
            {
                return(new ExecuteResult(false, "Invalid search path or pattern"));
            }
            ListView.Clear();
            ListView.BeginUpdate();
            var headers = ListViewItemFactory.GetFileHeaderItems();

            foreach (var header in headers)
            {
                ListView.Columns.Add(header);
            }
            ListView.EndUpdate();
            IList <FileItem> list;

            try
            {
                list = await Service.FindFileItemsAsync(path, Pattern, SearchOption.AllDirectories);
            }
            catch (UnauthorizedAccessException e)
            {
                Debug.WriteLine(e);
                return(new ExecuteResult(false, e.Message));
            }
            var items = await ListViewItemFactory.GetDetailItemsAsync(list);

            ListView.BeginUpdate();
            foreach (var item in items)
            {
                ListView.Items.Add(item);
            }
            ListView.EndUpdate();
            ListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
            return(new ExecuteResult(true, string.Empty));
        }
 public FormattingListViewItemFactory(ListViewItemFactory factory)
 {
     _factory = factory;
 }