private void WorkingDirectorySet(object sender, EventArgs e)
        {
            prgDialog.lblDesc.Content = "Finishing Processes";

            BundleBrowser sentBrowser = sender as BundleBrowser;

            AssetsTree = new TreeViewItem()
            {
                Header         = "assets",
                Tag            = sentBrowser.Root,
                HeaderTemplate = (DataTemplate)this.mainFolderTree.Resources["FolderTreeItem"]
            };
            AssetsTree.ExpandSubtree();
            sentBrowser.Root.AddToTree(AssetsTree);

            this.mainFolderTree.Items.Add(AssetsTree);

            AssetsBread = new BreadcrumbItem
            {
                Header = "assets",
                Image  = (ImageSource)App.Current.FindResource("Icon_FolderClosed"),
                Tag    = sentBrowser.Root
            };

            sentBrowser.Root.AddToBreadcrumb(AssetsBread);

            this.brdExplorer.IsEnabled = true;
            this.brdExplorer.Root      = AssetsBread;

            List <IdstringItem> packages = sentBrowser.PackageIDToName(sentBrowser.PackageHeaders.Keys.ToList());

            packages.Sort(delegate(IdstringItem item1, IdstringItem item2)
            {
                return(item1.UnHashed.CompareTo(item2.UnHashed));
            });
            this.cmbPackages.ItemsSource   = packages;
            this.cmbPackages.SelectedIndex = 0;

            prgDialog.Close();
        }
        public void LoadDatabase(string path)
        {
            if (!File.Exists(path))
            {
                Console.WriteLine("[Browser ERROR] Bundle database does not exist!");
                return;
            }
            this.Title            = path;
            this.brdExplorer.Root = null;
            this.brdExplorer.Path = "";
            this.mainFolderTree.Items.Clear();
            this.lstFolderContents.ItemsSource = null;
            Browser = new BundleBrowser();
            Browser.OnWorkingDirectoryUpdated += this.WorkingDirectorySet;
            Browser.OnFolderSelected          += this.FolderSelected;
            prgDialog       = new ProgressDialog();
            prgDialog.Owner = this;
            prgDialog.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;

            Browser.LoadDatabase(path, (str) => prgDialog.lblDesc.Content = str);
            prgDialog.ShowDialog();
        }
        private void FolderSelected(object sender, EventArgs e)
        {
            BundleBrowser brows = sender as BundleBrowser;

            this.lstFolderContents.ItemsSource = ((IdstringItem)cmbPackages.SelectedItem).UnHashed == "(Show All)" ? brows.SelectedFolder.ChildItems() : brows.SelectedFolder.ChildItems(((IdstringItem)cmbPackages.SelectedItem).UnHashed);
        }