Exemple #1
0
        private void RemoveFromTreeview(ItemLink item)
        {
            var parent = item.GetParent(PackageFiles);

            if (MainExePath != null && item.SourceFilepath != null && MainExePath.ToLower() == item.SourceFilepath.ToLower())
            {
                MainExePath = string.Empty;
                RefreshPackageVersion();
            }

            //
            // Element is in the treeview root.
            if (parent == null)
            {
                if (_packageFiles.Contains(item))
                {
                    _packageFiles.Remove(item);
                }
            }
            else
            {
                //Remove it from children list
                parent.Children.Remove(item);
            }
        }
Exemple #2
0
        private void MoveItem(ItemLink draggedItem, ItemLink targetItem)
        {
            //
            // Remove from current location
            RemoveFromTreeview(draggedItem);


            //
            // Add to target position
            ItemLink parent = targetItem;

            if (targetItem == null)
            {
                //Porto su root
                _packageFiles.Add(draggedItem);
            }
            else
            {
                if (!targetItem.IsDirectory)
                {
                    parent = targetItem.GetParent(PackageFiles);
                }

                if (parent != null)
                {
                    //Insert into treeview root
                    parent.Children.Add(draggedItem);
                }
                else
                {
                    //Insert into treeview root
                    _packageFiles.Add(draggedItem);
                }
            }

            NotifyOfPropertyChange(() => PackageFiles);
        }
Exemple #3
0
        private void AddFile(string filePath, ItemLink targetItem)
        {
            var            isDir = false;
            FileAttributes fa    = File.GetAttributes(filePath);

            if (fa != null && fa.HasFlag(FileAttributes.Directory))
            {
                isDir = true;
            }

            RemoveItemBySourceFilepath(filePath);

            var node = new ItemLink()
            {
                SourceFilepath = filePath, IsDirectory = isDir
            };

            ItemLink parent = targetItem;

            if (targetItem == null)
            {
                //Porto su root
                _packageFiles.Add(node);
            }
            else
            {
                if (!targetItem.IsDirectory)
                {
                    parent = targetItem.GetParent(PackageFiles);
                }

                if (parent != null)
                {
                    //Insert into treeview root
                    parent.Children.Add(node);
                }
                else
                {
                    //Insert into treeview root
                    _packageFiles.Add(node);
                }
            }

            if (isDir)
            {
                var dir = new DirectoryInfo(filePath);

                var files        = dir.GetFiles("*.*", SearchOption.TopDirectoryOnly);
                var subDirectory = dir.GetDirectories("*.*", SearchOption.TopDirectoryOnly);

                foreach (var f in files)
                {
                    AddFile(f.FullName, node);
                }

                foreach (var f in subDirectory)
                {
                    AddFile(f.FullName, node);
                }
            }
            else
            {
                // I keep the exe filepath, i'll read the version from this file.
                //
                var ext = Path.GetExtension(filePath).ToLower();

                if (ext == ".exe")
                {
                    MainExePath = filePath;

                    RefreshPackageVersion();
                }
            }
        }