コード例 #1
0
        internal static List <Bookmark> LoadAllBookmarks()
        {
            var allbookmarks = new List <Bookmark>();

            var chromeBookmarks = new ChromeBookmarks();
            var mozBookmarks    = new FirefoxBookmarks();

            //TODO: Let the user select which browser's bookmarks are displayed
            // Add Firefox bookmarks
            mozBookmarks.GetBookmarks().ForEach(x => allbookmarks.Add(x));

            // Add Chrome bookmarks
            chromeBookmarks.GetBookmarks().ForEach(x => allbookmarks.Add(x));

            return(allbookmarks.Distinct().ToList());
        }
コード例 #2
0
        private void Test_OnClick(object sender, RoutedEventArgs e)
        {
            if (!string.IsNullOrEmpty(_configModel?.FilePath))
            {
                ChromeBookmarks chromeBookmarks =
                    (ChromeBookmarks)StringConvert.JsonToList<ChromeBookmarks>(
                        StringConvert.FileRead(_configModel.FilePath));
                BookmarksData bookmarksData = new BookmarksData();
                _myBookmarkses = bookmarksData.GetBookmarkses(chromeBookmarks);
                ConteView.ItemsSource = _myBookmarkses;
            }
            else
            {
                MessageBox.Show("请先设置书签文件地址");
            }

        }
コード例 #3
0
        /// <summary>
        /// 将Chrome书签对象数据转为MyBookmarks数据
        /// </summary>
        /// <param name="chromeBookmarks"></param>
        /// <returns></returns>
        public List <MyBookmarks> GetBookmarkses(ChromeBookmarks chromeBookmarks)
        {
            List <MyBookmarks> list = new List <MyBookmarks>();

            if (chromeBookmarks != null)
            {
                //添加分组书签
                foreach (var datameta in chromeBookmarks.roots.bookmark_bar.children)
                {
                    if (datameta.children == null)
                    {
                        continue;
                    }
                    foreach (var datametaChild in datameta.children)
                    {
                        if (datametaChild.type == "url")
                        {
                            list.Add(new MyBookmarks()
                            {
                                Name   = datametaChild.name,
                                Url    = datametaChild.url,
                                Type   = datameta.name,
                                Source = EnumClass.SourceEnum.Chrome.ToString(),
                            });
                        }
                    }
                }
                //添加其他书签
                foreach (var datameta in chromeBookmarks.roots.other.children)
                {
                    list.Add(new MyBookmarks()
                    {
                        Name   = datameta.name,
                        Url    = datameta.url,
                        Type   = chromeBookmarks.roots.other.name,
                        Source = EnumClass.SourceEnum.Chrome.ToString(),
                    });
                }
            }
            return(list);
        }
コード例 #4
0
        private void btn_Read_Click(object sender, EventArgs e)
        {
            string filePath = file_textpath.Text;

            if (string.IsNullOrEmpty(filePath))
            {
                MessageBox.Show("请选择书签文件");
            }
            else
            {
                if (File.Exists(filePath))
                {
                    string          str             = StringConvert.FileRead(filePath);
                    ChromeBookmarks chromeBookmarks = (ChromeBookmarks)StringConvert.JsonToList <ChromeBookmarks>(str);
                    BookmarksData   bookmarksData   = new BookmarksData();
                    _myBookmarkses       = bookmarksData.GetBookmarkses(chromeBookmarks);
                    dataG_Man.DataSource = _myBookmarkses;
                }
                else
                {
                    MessageBox.Show("当前文件不存在");
                }
            }
        }