Fixed: wrong icon on second load
This commit is contained in:
parent
01cb902536
commit
d4c3870732
13
MainForm.cs
13
MainForm.cs
@ -1197,17 +1197,22 @@ namespace FizzyLauncher
|
|||||||
Image icon = null;
|
Image icon = null;
|
||||||
|
|
||||||
// retrieve icon from DB
|
// retrieve icon from DB
|
||||||
if (!string.IsNullOrWhiteSpace(model.SiteAddress))
|
|
||||||
{
|
|
||||||
string iconID = model?.ToHash();
|
string iconID = model?.ToHash();
|
||||||
|
|
||||||
icon = iconDatabase.FindIcon(iconID);
|
icon = iconDatabase.FindIcon(iconID);
|
||||||
}
|
|
||||||
|
//if (!string.IsNullOrWhiteSpace(model.SiteAddress))
|
||||||
|
//{
|
||||||
|
// string iconID = model?.ToHash();
|
||||||
|
|
||||||
|
// icon = iconDatabase.FindIcon(iconID);
|
||||||
|
//}
|
||||||
|
|
||||||
BookmarkForm bookmarkForm = new BookmarkForm(model, icon);
|
BookmarkForm bookmarkForm = new BookmarkForm(model, icon);
|
||||||
if (bookmarkForm.ShowDialog() == DialogResult.OK)
|
if (bookmarkForm.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
string iconID = bookmarkForm.Model.Item?.ToHash();
|
//string iconID = bookmarkForm.Model.Item?.ToHash();
|
||||||
|
iconID = bookmarkForm.Model.Item?.ToHash();
|
||||||
if (!string.IsNullOrWhiteSpace(iconID))
|
if (!string.IsNullOrWhiteSpace(iconID))
|
||||||
{
|
{
|
||||||
iconDatabase.AddIcon(iconID, bookmarkForm.Model.Icon);
|
iconDatabase.AddIcon(iconID, bookmarkForm.Model.Icon);
|
||||||
|
@ -217,6 +217,20 @@ namespace RyzStudio.Windows.Forms
|
|||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void Add(TreeView parentControl, ImageList control, Image value)
|
||||||
|
{
|
||||||
|
if (parentControl.InvokeRequired)
|
||||||
|
{
|
||||||
|
parentControl.Invoke(new MethodInvoker(() => {
|
||||||
|
control.Images.Add(value);
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
control.Images.Add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void Add(Control parentControl, ImageList control, string key, Image value)
|
public static void Add(Control parentControl, ImageList control, string key, Image value)
|
||||||
{
|
{
|
||||||
if (parentControl.InvokeRequired)
|
if (parentControl.InvokeRequired)
|
||||||
@ -260,6 +274,20 @@ namespace RyzStudio.Windows.Forms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void Clear(TreeView parentControl, ImageList control)
|
||||||
|
{
|
||||||
|
if (parentControl.InvokeRequired)
|
||||||
|
{
|
||||||
|
parentControl.Invoke(new MethodInvoker(() => {
|
||||||
|
control.Images.Clear();
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
control.Images.Clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void Clear(FlowLayoutPanel control)
|
public static void Clear(FlowLayoutPanel control)
|
||||||
{
|
{
|
||||||
if (control.InvokeRequired)
|
if (control.InvokeRequired)
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
using BookmarkManager;
|
using BookmarkManager;
|
||||||
using bzit.bomg;
|
|
||||||
using bzit.bomg.Models;
|
using bzit.bomg.Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -230,11 +229,8 @@ namespace RyzStudio.Windows.Forms
|
|||||||
this.ImageList.ColorDepth = ColorDepth.Depth32Bit;
|
this.ImageList.ColorDepth = ColorDepth.Depth32Bit;
|
||||||
this.ImageList.ImageSize = new Size(16, 16);
|
this.ImageList.ImageSize = new Size(16, 16);
|
||||||
this.ImageList.TransparentColor = Color.Transparent;
|
this.ImageList.TransparentColor = Color.Transparent;
|
||||||
this.ImageList.Images.Clear();
|
|
||||||
this.ImageList.Images.Add(Resources.hexagon);
|
ResetImageList();
|
||||||
this.ImageList.Images.Add(Resources.folder);
|
|
||||||
this.ImageList.Images.Add(Resources.folder_explore);
|
|
||||||
this.ImageList.Images.Add(Resources.file_text);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -596,23 +592,6 @@ namespace RyzStudio.Windows.Forms
|
|||||||
return node.Nodes.Add(EncodePath(name), name, (int)IconSet.Folder1, (int)IconSet.Folder2);
|
return node.Nodes.Add(EncodePath(name), name, (int)IconSet.Folder1, (int)IconSet.Folder2);
|
||||||
}
|
}
|
||||||
|
|
||||||
//public void AddItem(List<BookmarkItemViewModel> viewModelList)
|
|
||||||
//{
|
|
||||||
// this.Clear();
|
|
||||||
|
|
||||||
// if (viewModelList == null)
|
|
||||||
// {
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// foreach (BookmarkItemViewModel item in viewModelList)
|
|
||||||
// {
|
|
||||||
// AddItem(item);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// this.HasChanged = false;
|
|
||||||
//}
|
|
||||||
|
|
||||||
public TreeNode AddItem(BookmarkItem item)
|
public TreeNode AddItem(BookmarkItem item)
|
||||||
{
|
{
|
||||||
int iconIndex = FindIcon(item);
|
int iconIndex = FindIcon(item);
|
||||||
@ -649,24 +628,10 @@ namespace RyzStudio.Windows.Forms
|
|||||||
return tn;
|
return tn;
|
||||||
}
|
}
|
||||||
|
|
||||||
//public void AddOrUpdateItem(TreeNode treeNode, BookmarkItemViewModel viewModel)
|
|
||||||
//{
|
|
||||||
// switch (GetNodeType(treeNode))
|
|
||||||
// {
|
|
||||||
// case NodeType.Root:
|
|
||||||
// case NodeType.Folder:
|
|
||||||
// AddItem(treeNode, viewModel);
|
|
||||||
// break;
|
|
||||||
// case NodeType.Page:
|
|
||||||
// UpdateItem(treeNode, viewModel);
|
|
||||||
// break;
|
|
||||||
// default:
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
public void Clear()
|
public void Clear()
|
||||||
{
|
{
|
||||||
|
ResetImageList();
|
||||||
|
|
||||||
ThreadControl.Clear(this);
|
ThreadControl.Clear(this);
|
||||||
|
|
||||||
this.HasChanged = false;
|
this.HasChanged = false;
|
||||||
@ -674,6 +639,11 @@ namespace RyzStudio.Windows.Forms
|
|||||||
|
|
||||||
public void Clear(string name)
|
public void Clear(string name)
|
||||||
{
|
{
|
||||||
|
ResetImageList();
|
||||||
|
|
||||||
|
var tt1 = this.ImageList;
|
||||||
|
|
||||||
|
|
||||||
ThreadControl.Clear(this);
|
ThreadControl.Clear(this);
|
||||||
ThreadControl.Add(this, this.Nodes, "", name?.Trim(), (int)IconSet.Root, (int)IconSet.Root);
|
ThreadControl.Add(this, this.Nodes, "", name?.Trim(), (int)IconSet.Root, (int)IconSet.Root);
|
||||||
|
|
||||||
@ -685,23 +655,6 @@ namespace RyzStudio.Windows.Forms
|
|||||||
//iconDatabase.Close();
|
//iconDatabase.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
//public int CountBookmarkItem()
|
|
||||||
//{
|
|
||||||
// int itemCount = 0;
|
|
||||||
|
|
||||||
// if (this.Nodes.Count <= 0)
|
|
||||||
// {
|
|
||||||
// return itemCount;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// foreach (TreeNode item in this.Nodes)
|
|
||||||
// {
|
|
||||||
// TraverseBookmarkList(ref itemCount, item);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return itemCount;
|
|
||||||
//}
|
|
||||||
|
|
||||||
public void DeleteNode() => DeleteNode(this.SelectedNode);
|
public void DeleteNode() => DeleteNode(this.SelectedNode);
|
||||||
|
|
||||||
public void EditNode()
|
public void EditNode()
|
||||||
@ -759,23 +712,6 @@ namespace RyzStudio.Windows.Forms
|
|||||||
return rs;
|
return rs;
|
||||||
}
|
}
|
||||||
|
|
||||||
//public List<TreeNode> GetBookmarkNodeList()
|
|
||||||
//{
|
|
||||||
// List<TreeNode> rs = new List<TreeNode>();
|
|
||||||
|
|
||||||
// if (this.Nodes.Count <= 0)
|
|
||||||
// {
|
|
||||||
// return rs;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// foreach (TreeNode item in this.Nodes)
|
|
||||||
// {
|
|
||||||
// traverseBookmarkList(rs, item);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return rs;
|
|
||||||
//}
|
|
||||||
|
|
||||||
public bool FindTextNode(TreeNode node, string term)
|
public bool FindTextNode(TreeNode node, string term)
|
||||||
{
|
{
|
||||||
if (node == null)
|
if (node == null)
|
||||||
@ -888,54 +824,16 @@ namespace RyzStudio.Windows.Forms
|
|||||||
return (int)IconSet.Default;
|
return (int)IconSet.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.ImageList.Images.ContainsKey(iconID)) this.ImageList.Images.RemoveByKey(iconID);
|
if (this.ImageList.Images.ContainsKey(iconID))
|
||||||
|
{
|
||||||
|
this.ImageList.Images.RemoveByKey(iconID);
|
||||||
|
}
|
||||||
|
|
||||||
ThreadControl.Add(this, this.ImageList, iconID, image);
|
ThreadControl.Add(this, this.ImageList, iconID, image);
|
||||||
|
|
||||||
return this.ImageList.Images.IndexOfKey(iconID);
|
return this.ImageList.Images.IndexOfKey(iconID);
|
||||||
}
|
}
|
||||||
|
|
||||||
//protected int addIcon(BookmarkItemViewModel viewModel) => addIcon(viewModel.ToModel());
|
|
||||||
|
|
||||||
//protected int addIcon(BookmarkItemModel model)
|
|
||||||
//{
|
|
||||||
// return (int)IconSet.Default;
|
|
||||||
|
|
||||||
|
|
||||||
// if (this.ImageList.Images.ContainsKey(model.SiteAddress))
|
|
||||||
// {
|
|
||||||
// return this.ImageList.Images.IndexOfKey(model.SiteAddress);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// //if (iconDatabase.HasIcon(model.SiteAddress))
|
|
||||||
// //{
|
|
||||||
// // Image rs = iconDatabase.GetIcon(model.SiteAddress);
|
|
||||||
// // if (rs == null)
|
|
||||||
// // {
|
|
||||||
// // return (int)IconSet.Default;
|
|
||||||
// // }
|
|
||||||
// // else
|
|
||||||
// // {
|
|
||||||
// // this.Add(this.ImageList, model.SiteAddress, rs);
|
|
||||||
|
|
||||||
// // return this.ImageList.Images.IndexOfKey(model.SiteAddress);
|
|
||||||
// // }
|
|
||||||
// //}
|
|
||||||
|
|
||||||
// byte[] rawData;
|
|
||||||
// Bitmap bmp = model.RetrieveFavicon(out rawData);
|
|
||||||
// if (bmp == null)
|
|
||||||
// {
|
|
||||||
// return (int)IconSet.Default;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// ThreadControl.Add(this, this.ImageList, model.SiteAddress, bmp);
|
|
||||||
|
|
||||||
// //iconDatabase.AddIcon(model.SiteAddress, rawData);
|
|
||||||
|
|
||||||
// return this.ImageList.Images.IndexOfKey(model.SiteAddress);
|
|
||||||
//}
|
|
||||||
|
|
||||||
protected TreeNode AddFolderPath(string path)
|
protected TreeNode AddFolderPath(string path)
|
||||||
{
|
{
|
||||||
TreeNode tn = null;
|
TreeNode tn = null;
|
||||||
@ -988,6 +886,15 @@ namespace RyzStudio.Windows.Forms
|
|||||||
return tn;
|
return tn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void ResetImageList()
|
||||||
|
{
|
||||||
|
ThreadControl.Clear(this, this.ImageList);
|
||||||
|
ThreadControl.Add(this, this.ImageList, Resources.hexagon);
|
||||||
|
ThreadControl.Add(this, this.ImageList, Resources.folder);
|
||||||
|
ThreadControl.Add(this, this.ImageList, Resources.folder_explore);
|
||||||
|
ThreadControl.Add(this, this.ImageList, Resources.file_text);
|
||||||
|
}
|
||||||
|
|
||||||
protected void TraverseBookmarkList(List<BookmarkItem> rs, TreeNode node)
|
protected void TraverseBookmarkList(List<BookmarkItem> rs, TreeNode node)
|
||||||
{
|
{
|
||||||
foreach (TreeNode tn in node.Nodes)
|
foreach (TreeNode tn in node.Nodes)
|
||||||
@ -1010,45 +917,5 @@ namespace RyzStudio.Windows.Forms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//protected void TraverseBookmarkList(List<TreeNode> rs, TreeNode node)
|
|
||||||
//{
|
|
||||||
// foreach (TreeNode tn in node.Nodes)
|
|
||||||
// {
|
|
||||||
// NodeType nodeType = GetNodeType(tn);
|
|
||||||
// if (nodeType == NodeType.Folder)
|
|
||||||
// {
|
|
||||||
// TraverseBookmarkList(rs, tn);
|
|
||||||
// }
|
|
||||||
// else if (nodeType == NodeType.Page)
|
|
||||||
// {
|
|
||||||
// BookmarkItemViewModel nodeTag = GetNodeModel(tn);
|
|
||||||
// nodeTag.TreeviewPath = GetNodePath(tn);
|
|
||||||
|
|
||||||
// if (nodeTag != null)
|
|
||||||
// {
|
|
||||||
// rs.Add(tn);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
//protected void TraverseBookmarkList(ref int itemCount, TreeNode node)
|
|
||||||
//{
|
|
||||||
// foreach (TreeNode tn in node.Nodes)
|
|
||||||
// {
|
|
||||||
// NodeType nodeType = GetNodeType(tn);
|
|
||||||
// if (nodeType == NodeType.Folder)
|
|
||||||
// {
|
|
||||||
// TraverseBookmarkList(ref itemCount, tn);
|
|
||||||
// }
|
|
||||||
// else if (nodeType == NodeType.Page)
|
|
||||||
// {
|
|
||||||
// itemCount++;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user