コード例 #1
0
ファイル: HistoryForm.cs プロジェクト: dds2333/ColorWanted
        /// <summary>
        /// 加载历史
        /// </summary>
        private void LoadHistory()
        {
            list.Clear();

            var history = ColorHistory.Get();

            if (history == null || history.Length == 0)
            {
                return;
            }

            ListViewGroup group     = null;
            var           groupTime = DateTime.MinValue;

            foreach (var item in history.OrderByDescending(item => item.DateTime))
            {
                if (group == null || groupTime != item.DateTime.Date)
                {
                    group = new ListViewGroup(item.DateTime.ToString("yyyy-MM-dd"));
                    list.Groups.Add(group);
                    groupTime = item.DateTime.Date;
                }
                list.Items.Add(RenderItem(item, group));
            }
        }
コード例 #2
0
        private void LoadTree()
        {
            tree.Nodes.Clear();
            new Thread(() =>
            {
                var years = ColorHistory.GetDateTree().OrderByDescending(i => i.Name);
                foreach (var year in years)
                {
                    var yearNode = new TreeNode(year.Name)
                    {
                        Tag = year
                    };
                    this.InvokeMethod(() =>
                    {
                        tree.Nodes.Add(yearNode);
                    });

                    foreach (var month in ColorHistory.GetDateTree(int.Parse(year.Name))
                             .OrderByDescending(i => i.Name))
                    {
                        var monthNode = new TreeNode(month.Name)
                        {
                            Tag = month
                        };
                        this.InvokeMethod(() =>
                        {
                            yearNode.Nodes.Add(monthNode);
                        });
                    }
                }
                this.InvokeMethod(() =>
                {
                    if (tree.Nodes.Count == 0)
                    {
                        return;
                    }
                    var temp = tree.Nodes[0];
                    temp.ExpandAll();
                    if (temp.Nodes.Count == 0)
                    {
                        return;
                    }
                    temp = temp.Nodes[0];
                    temp.ExpandAll();

                    LoadHistory(temp);
                });
            })
            {
                IsBackground = true
            }.Start();
        }
コード例 #3
0
 private static ListViewItem RenderItem(ColorHistory history, ListViewGroup group)
 {
     return(new ListViewItem(group)
     {
         BackColor = history.Color,
         ForeColor = ColorUtil.GetContrastColor(history.Color),
         Text = string.Format("#{0:X2}{1:X2}{2:X2}",
                              history.Color.R,
                              history.Color.G,
                              history.Color.B),
         Tag = history.Color,
         ToolTipText = string.Format(@"时间: {0:HH:mm:ss}{1}来源: {2}",
                                     history.DateTime, '\n', history.Source == 0 ? "屏幕取色" : "调色板")
     });
 }
コード例 #4
0
        /// <summary>
        /// 加载历史
        /// </summary>
        private void LoadHistory(TreeNode treeNode)
        {
            if (treeNode == null)
            {
                return;
            }

            var node = (DateTreeNode)treeNode.Tag;

            if (node.ParentYear == 0)
            {
                return;
            }

            list.Clear();

            var history = ColorHistory.Get(node.Path);

            if (history == null || history.Length == 0)
            {
                return;
            }

            new Thread(() =>
            {
                ListViewGroup group = null;
                var groupTime       = DateTime.MinValue;
                foreach (var item in history.OrderByDescending(item => item.DateTime))
                {
                    if (group == null || groupTime != item.DateTime.Date)
                    {
                        group = new ListViewGroup(item.DateTime.ToString("yyyy-MM-dd"));
                        this.InvokeMethod(() =>
                        {
                            list.Groups.Add(group);
                        });
                        groupTime = item.DateTime.Date;
                    }
                    this.InvokeMethod(() =>
                    {
                        list.Items.Add(RenderItem(item, group));
                    });
                }
            })
            {
                IsBackground = true
            }.Start();
        }
コード例 #5
0
 private ListViewItem RenderItem(ColorHistory history, ListViewGroup group)
 {
     return(new ListViewItem(group)
     {
         BackColor = history.Color,
         ForeColor = ColorUtil.GetContrastColor(history.Color),
         Text = string.Format("#{0:X2}{1:X2}{2:X2}",
                              history.Color.R,
                              history.Color.G,
                              history.Color.B),
         Tag = history.Color,
         ToolTipText = string.Format(resources.GetString("historyTipTpl"),
                                     history.DateTime, '\n', history.Source == 0 ?
                                     resources.GetString("screen") : resources.GetString("colorPicker"))
     });
 }