Ejemplo n.º 1
0
        /// <summary>
        /// This ctor is for a REMOTE file/folder.
        /// </summary>
        public PathItem(TXFileInfo remoteTXInfo, ViewedPath viewedPath = null)
        {
            IsFolder = remoteTXInfo.IsFolder;
            FullPath = remoteTXInfo.FullPath;
            IsFromRecentlyCreatedList = remoteTXInfo.FoundInRecentFiles;

            if (IsFolder)
            {
                ItemName      = Path.GetFileName(remoteTXInfo.FullPath);
                ContainerName = Path.GetDirectoryName(remoteTXInfo.FullPath);
            }
            else
            {
                ItemName      = Path.GetFileNameWithoutExtension(remoteTXInfo.FullPath);
                ContainerName = Path.GetDirectoryName(remoteTXInfo.FullPath);
            }

            WriteTime  = remoteTXInfo.LastModified;
            CreateTime = remoteTXInfo.Created;
            Size       = remoteTXInfo.Size;

            if (viewedPath != null)
            {
                ViewTime = viewedPath.ViewTime;
            }

            Init();
        }
Ejemplo n.º 2
0
        // Called when the user views the specified file so we can keep track of which files
        // have been viewed and when.
        public void UpdateViewedFiles(string viewedFile)
        {
            // First, add/update the file in both file collections (_savedViewedFiles and _dictFiles).

            DateTime   now           = DateTime.Now;
            ViewedPath viewedFileObj = _savedViewedFiles.Find(item => item.Path.Equals(viewedFile, StringComparison.OrdinalIgnoreCase));

            if (viewedFileObj == null)
            {
                viewedFileObj = new ViewedPath {
                    Path = viewedFile, ViewTime = now
                };
                _savedViewedFiles.Add(viewedFileObj);
            }
            else
            {
                viewedFileObj.ViewTime = now;
            }

            PathItem filePathItem;

            if (!_dictFiles.TryGetValue(viewedFile, out filePathItem))
            {
                // We assume the file exists because it was just loaded into the viewer.

                var txInfo = new TXFileInfo()
                {
                    IsFolder = false,
                    FullPath = viewedFile,
                };

                filePathItem           = new PathItem(txInfo);
                _dictFiles[viewedFile] = filePathItem;
            }

            filePathItem.ViewTime = now;

            // Now add/update the folder in both folder collections (_savedViewedFolders and _dictFolders).

            string     folder          = System.IO.Path.GetDirectoryName(viewedFile);
            ViewedPath viewedFolderObj = _savedViewedFolders.Find(item => item.Path.Equals(folder, StringComparison.OrdinalIgnoreCase));

            if (viewedFolderObj == null)
            {
                viewedFolderObj = new ViewedPath {
                    Path = folder, ViewTime = now
                };
                _savedViewedFolders.Add(viewedFolderObj);
            }
            else
            {
                viewedFolderObj.ViewTime = now;
            }

            PathItem folderPathItem;

            if (!_dictFolders.TryGetValue(folder, out folderPathItem))
            {
                var txInfo = new TXFileInfo()
                {
                    IsFolder = true,
                    FullPath = folder
                };

                folderPathItem       = new PathItem(txInfo);
                _dictFolders[folder] = folderPathItem;
            }

            folderPathItem.ViewTime = now;
        }