release/0.6.3 #1
32
MainForm.cs
32
MainForm.cs
@ -6,6 +6,7 @@ using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using BookmarkManager;
|
||||
@ -748,9 +749,21 @@ namespace FizzyLauncher
|
||||
|
||||
InvalidateOptions();
|
||||
|
||||
// Load items
|
||||
// Clear treeview
|
||||
treeView1.Clear("New Session");
|
||||
|
||||
// Load directories
|
||||
foreach (var item in this.CurrentSession.Directories ?? new List<string>())
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(item))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
treeView1.CreateNodePath(item, (int)NodeIcon.Folder1, (int)NodeIcon.Folder2);
|
||||
}
|
||||
|
||||
// Load bookmarks
|
||||
foreach (var item in this.CurrentSession.Items ?? new List<BookmarkModel>())
|
||||
{
|
||||
treeView1.AddNode(item);
|
||||
@ -798,18 +811,11 @@ namespace FizzyLauncher
|
||||
this.CurrentSession.Width = this.Width;
|
||||
this.CurrentSession.Height = this.Height;
|
||||
|
||||
var nodeList = treeView1.ToNodeList<BookmarkModel>() ?? new List<KeyValuePair<TreeNode, BookmarkModel>>();
|
||||
foreach (var node in nodeList)
|
||||
{
|
||||
node.Value.Path = treeView1.GetNodePath(node.Key);
|
||||
var directoryList = treeView1.GetAllDirectories();
|
||||
var bookmarkList = treeView1.GetAllNodes();
|
||||
|
||||
if (node.Value.Path.Contains('\n'))
|
||||
{
|
||||
node.Value.Path = node.Value.Path.Substring(0, node.Value.Path.LastIndexOf('\n'));
|
||||
}
|
||||
}
|
||||
|
||||
this.CurrentSession.Items = nodeList.Select(x => x.Value).ToList();
|
||||
this.CurrentSession.Directories = directoryList ?? new List<string>();
|
||||
this.CurrentSession.Items = bookmarkList.Select(x => x.Value)?.ToList() ?? new List<BookmarkModel>();
|
||||
|
||||
var result = GenericResult.Create();
|
||||
|
||||
@ -825,7 +831,7 @@ namespace FizzyLauncher
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
// Add icons to save file
|
||||
var result2 = AddImagesToZipFile(filename, nodeList);
|
||||
var result2 = AddImagesToZipFile(filename, bookmarkList);
|
||||
if (!result2.IsSuccess)
|
||||
{
|
||||
if (showNotices)
|
||||
|
@ -20,6 +20,8 @@ namespace FizzyLauncher.Models
|
||||
|
||||
public int Height { get; set; } = 0;
|
||||
|
||||
public List<string> Directories { get; set; } = new List<string>();
|
||||
|
||||
public List<BookmarkModel> Items { get; set; } = new List<BookmarkModel>();
|
||||
|
||||
}
|
||||
|
@ -1,10 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using bzit.bomg.Models;
|
||||
using FizzyLauncher;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
|
||||
using Resources = BookmarkManager.AppResource;
|
||||
|
||||
namespace RyzStudio.Windows.Forms
|
||||
@ -421,6 +425,53 @@ namespace RyzStudio.Windows.Forms
|
||||
this.HasChanged = true;
|
||||
}
|
||||
|
||||
public List<string> GetAllDirectories()
|
||||
{
|
||||
var nodes = GetAllTreeNodes();
|
||||
nodes = nodes.Where(x => this.GetNodeType(x) == NodeType.Folder)?.ToList() ?? new List<TreeNode>();
|
||||
|
||||
var result = new List<string>();
|
||||
|
||||
foreach (var item in nodes)
|
||||
{
|
||||
result.Add(this.GetNodePath(item));
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<KeyValuePair<TreeNode, BookmarkModel>> GetAllNodes()
|
||||
{
|
||||
var result = this.ToNodeList<BookmarkModel>() ?? new List<KeyValuePair<TreeNode, BookmarkModel>>();
|
||||
foreach (var node in result)
|
||||
{
|
||||
node.Value.Path = this.GetNodePath(node.Key);
|
||||
|
||||
if (node.Value.Path.Contains('\n'))
|
||||
{
|
||||
node.Value.Path = node.Value.Path.Substring(0, node.Value.Path.LastIndexOf('\n'));
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<TreeNode> GetAllTreeNodes()
|
||||
{
|
||||
var result = new List<TreeNode>();
|
||||
if (this.Nodes.Count <= 0)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
foreach (TreeNode node in this.Nodes)
|
||||
{
|
||||
TraverseNodeTree(result, node);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
private void ClearImageList()
|
||||
{
|
||||
@ -468,5 +519,18 @@ namespace RyzStudio.Windows.Forms
|
||||
return this.ImageList.Images.IndexOfKey(key);
|
||||
}
|
||||
|
||||
protected void TraverseNodeTree(List<TreeNode> result, TreeNode node)
|
||||
{
|
||||
foreach (TreeNode node2 in node.Nodes)
|
||||
{
|
||||
result.Add(node2);
|
||||
|
||||
foreach (TreeNode node3 in node2.Nodes)
|
||||
{
|
||||
result.Add(node3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user