예제 #1
0
        public async Task <IReadOnlyList <FolderListItem> > GetItemList()
        {
            if (m_db == null)
            {
                m_db = new LocalDatabase();
            }

            Size thumSize = await FolderListItem.GetThumSizeFromWindow();

            int fontSize = FolderListItem.GetFontSizeFromThumImage((int)thumSize.Width);
            List <FolderListItem>           itemList     = new List <FolderListItem>();
            IEnumerable <ScrapbookCategory> categoryList = m_db.QueryScrapbookCategoryAll();

            if (categoryList == null)
            {
                return(itemList);
            }

            foreach (ScrapbookCategory category in categoryList)
            {
                itemList.Add(new FolderListItem()
                {
                    Name       = category.FolderName,
                    Path       = category.Id.ToString(),
                    Token      = "",
                    Type       = FolderListItem.FileType.Scrapbook,
                    ThumWidth  = (int)thumSize.Width,
                    ThumHeight = (int)thumSize.Height,
                    TextSize   = fontSize,
                });
            }

            return(itemList);
        }
예제 #2
0
        public async Task <IReadOnlyList <FolderListItem> > GetItemList()
        {
            if (m_db == null)
            {
                m_db = new LocalDatabase();
            }

            List <FolderListItem> itemList = new List <FolderListItem>();
            Size thumSize = await FolderListItem.GetThumSizeFromWindow();

            int          fontSize = FolderListItem.GetFontSizeFromThumImage((int)thumSize.Width);
            BookCategory category = m_db.QueryBookCategory(m_label);

            foreach (BookItem bookItem in m_db.QueryBookItemList(category))
            {
                if (!StorageApplicationPermissions.FutureAccessList.ContainsItem(bookItem.Token))
                {
                    continue;
                }
                IStorageItem storageItem = await getItemAsync(bookItem.Token);

                if (storageItem == null)
                {
                    continue;
                }

                if (storageItem.IsOfType(StorageItemTypes.Folder))
                {
                    itemList.Add(new FolderListItem()
                    {
                        Name       = storageItem.Name,
                        Path       = storageItem.Path,
                        Token      = bookItem.Token,
                        Type       = FolderListItem.FileType.Folder,
                        ThumWidth  = (int)thumSize.Width,
                        ThumHeight = (int)thumSize.Height,
                        TextSize   = fontSize,
                    });
                }
                else
                {
                    itemList.Add(new FolderListItem()
                    {
                        Name       = storageItem.Name,
                        Path       = storageItem.Path,
                        Token      = bookItem.Token,
                        Type       = FolderListItem.GetFileTypeFromStorage((StorageFile)storageItem),
                        ThumWidth  = (int)thumSize.Width,
                        ThumHeight = (int)thumSize.Height,
                        TextSize   = fontSize,
                    });
                }
            }

            return(itemList);
        }
예제 #3
0
        public async Task <IReadOnlyList <FolderListItem> > GetItemList()
        {
            List <string> tokenList = StorageHistoryManager.GetTokenList(StorageHistoryManager.DataType.Folder);

            Size thumSize = await FolderListItem.GetThumSizeFromWindow();

            int fontSize = FolderListItem.GetFontSizeFromThumImage((int)thumSize.Width);
            List <FolderListItem> itemList = new List <FolderListItem>();

            foreach (string token in tokenList)
            {
                if (!StorageApplicationPermissions.FutureAccessList.ContainsItem(token))
                {
                    continue;
                }
                IStorageItem storageItem = await getItemAsync(token);

                if (storageItem == null)
                {
                    continue;
                }

                if (storageItem.IsOfType(StorageItemTypes.Folder))
                {
                    itemList.Add(new FolderListItem()
                    {
                        Name       = storageItem.Name,
                        Path       = storageItem.Path,
                        Token      = token,
                        Type       = FolderListItem.FileType.Folder,
                        ThumWidth  = (int)thumSize.Width,
                        ThumHeight = (int)thumSize.Height,
                        TextSize   = fontSize,
                    });
                }
                else
                {
                    itemList.Add(new FolderListItem()
                    {
                        Name       = storageItem.Name,
                        Path       = storageItem.Path,
                        Token      = token,
                        Type       = FolderListItem.GetFileTypeFromStorage((StorageFile)storageItem),
                        ThumWidth  = (int)thumSize.Width,
                        ThumHeight = (int)thumSize.Height,
                        TextSize   = fontSize,
                    });
                }
            }

            return(itemList);
        }
예제 #4
0
        public async Task <IReadOnlyList <FolderListItem> > GetItemList()
        {
            List <FolderListItem> itemList = new List <FolderListItem>();
            StorageFolder         folder   = await StorageFolder.GetFolderFromPathAsync(m_folderPath);

            if (folder == null)
            {
                return(itemList);
            }

            Size thumSize = await FolderListItem.GetThumSizeFromWindow();

            int fontSize = FolderListItem.GetFontSizeFromThumImage((int)thumSize.Width);
            IReadOnlyList <StorageFolder> subFolderList = await folder.GetFoldersAsync();

            foreach (StorageFolder subFolder in subFolderList)
            {
                itemList.Add(new FolderListItem()
                {
                    Name       = subFolder.DisplayName,
                    Path       = subFolder.Path,
                    Token      = "",
                    Type       = FolderListItem.FileType.Folder,
                    ThumWidth  = (int)thumSize.Width,
                    ThumHeight = (int)thumSize.Height,
                    TextSize   = fontSize,
                });
            }

            IReadOnlyList <StorageFile> fileList = await folder.GetFilesAsync();

            foreach (StorageFile file in fileList)
            {
                FolderListItem item = new FolderListItem()
                {
                    Name       = file.DisplayName,
                    Path       = file.Path,
                    Token      = "",
                    Type       = FolderListItem.GetFileTypeFromStorage(file),
                    ThumWidth  = (int)thumSize.Width,
                    ThumHeight = (int)thumSize.Height,
                    TextSize   = fontSize,
                };
                itemList.Add(item);
            }

            return(itemList);
        }
        public async Task <IReadOnlyList <FolderListItem> > GetItemList()
        {
            if (m_db == null)
            {
                m_db = new LocalDatabase();
            }

            List <FolderListItem> itemList = new List <FolderListItem>();
            Size thumSize = await FolderListItem.GetThumSizeFromWindow();

            int fontSize = FolderListItem.GetFontSizeFromThumImage((int)thumSize.Width);
            ScrapbookCategory category = m_db.QueryScrapbookCategory(m_folderName);
            StorageFolder     folder   = await EnvPath.GetScrapbookSubFolder(category.FolderName);

            foreach (ScrapbookItem scrapItem in m_db.QueryScrapbookItemList(category))
            {
                string filePath = Path.Combine(folder.Path, scrapItem.FileName);
                try
                {
                    StorageFile storage = await StorageFile.GetFileFromPathAsync(filePath);

                    itemList.Add(new FolderListItem()
                    {
                        Name       = scrapItem.FileName,
                        Path       = filePath,
                        Token      = "",
                        Type       = FolderListItem.GetFileTypeFromStorage((StorageFile)storage),
                        ThumWidth  = (int)thumSize.Width,
                        ThumHeight = (int)thumSize.Height,
                        TextSize   = fontSize,
                    });
                }
                catch (Exception e)
                {
                    Debug.WriteLine("ScrapbookItemNavigateParameter error=" + e.ToString() + " filePath=" + filePath);
                }
            }

            return(itemList);
        }