public static async Task <ApiResult <string> > Add(Token token, BookmarksModel model) { //var result=null; try { string url = string.Format(Constact.BookMarks_add); Dictionary <string, string> _params = new Dictionary <string, string>(); _params.Add("LinkUrl", model.LinkUrl); _params.Add("Title", model.Title); _params.Add("Summary", model.Summary); _params.Add("Tags", model.Tag); var result = await HttpBase.PostAsync(token, url, _params); if (result.IsSuccess) { return(ApiResult.Ok(result.Message)); //return ApiResult.Ok(list); } return(ApiResult <string> .Error(result.Message)); //return ApiResult<List<Article>>.Error(result.Message); } catch (Exception ex) { return(ApiResult <string> .Error(ex.Message)); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); var linkUrl = Intent.GetStringExtra("linkurl"); var title = Intent.GetStringExtra("title"); var fromCNBlogs = Intent.GetBooleanExtra("fromCNBlogs", false); bookmarkPresenter = new BookmarkAddPresenter(this); handler = new Handler(); dialog = new ProgressDialog(this); dialog.SetCancelable(false); StatusBarCompat.SetOrdinaryToolBar(this); toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); toolbar.SetNavigationIcon(Resource.Drawable.back_24dp); SetSupportActionBar(toolbar); SupportActionBar.SetDisplayHomeAsUpEnabled(true); toolbar.SetNavigationOnClickListener(this); toolbar.SetOnMenuItemClickListener(this); txtLinkUrl = FindViewById <EditText>(Resource.Id.txtLinkUrl); txtTitle = FindViewById <EditText>(Resource.Id.txtTitle); txtTags = FindViewById <EditText>(Resource.Id.txtTags); txtContent = FindViewById <EditText>(Resource.Id.txtContent); txtLinkUrl.Text = linkUrl; if (linkUrl != null && linkUrl != "") { txtLinkUrl.SetSelection(txtLinkUrl.Text.Length); } txtTitle.Text = title; bookmark = new BookmarksModel(); bookmark.FromCNBlogs = fromCNBlogs; }
private void FolderNodeContextMenu_Popup(object sender, EventArgs e) { ContextMenu contextMenu = sender as ContextMenu; TreeNode treeNode = contextMenu.Tag as TreeNode; BookmarkFolder folder = treeNode.Tag as BookmarkFolder; contextMenu.MenuItems.Clear(); contextMenu.MenuItems.Add(new MenuItem(folder == null ? "&Add Folder..." : "&Add Subfolder...", (sender2, e2) => { string dialogResult = PromptBox.Show("Folder path:", folder == null ? "" : (folder.Path + "/"), "Add subfolder", null); if (dialogResult != null) { BookmarksModel.RegisterPath(dialogResult); } }) { Name = "folder_add" }); if (folder != null) { contextMenu.MenuItems.Add(new MenuItem("&Edit Folder...", (sender2, e2) => { string folderPath = GetPathFileName(folder.Path); string dialogResult = PromptBox.Show("Change name to:", folder.Text, string.Format("Edit Bookmark folder - {0}", folder.Path), (new string[] { folder.Text, CultureInfo.CurrentCulture?.TextInfo?.ToTitleCase(folder.Text), folder.Text.ToLower(), folder.Text.ToUpper(), folderPath, CultureInfo.CurrentCulture?.TextInfo?.ToTitleCase(folderPath), folderPath.ToLower(), folderPath.ToUpper(), }).Distinct().Where(x => !string.IsNullOrEmpty(x)).ToArray()); if (dialogResult != null) { folder.Text = dialogResult; treeNode.Text = dialogResult; treeView.Sort(treeNode.Parent, treeViewNodeSorter); } }) { Name = "folder_edit" }); contextMenu.MenuItems.Add(new MenuItem("&Remove Folder", (sender2, e2) => { treeNode.Remove(); BookmarksModel.RemovePath(folder.Path); }) { Name = "remove_folder" }); // TODO: "move to..." command (to change the folder (and its children) path) } }
public void AddRecentBookmark(int pageIndex, string path) { if (BookmarksModel.HasRecentBookmark(pageIndex, path)) { BookmarksModel.EditRecentBookmark(pageIndex, path); } else { BookmarksModel.AddRecentBookmark(pageIndex, path); } }
public void AddLibraryBookmark(int pageIndex, string path) { if (BookmarksModel.HasLibraryBookmark(pageIndex, path)) { BookmarksModel.EditLibraryBookmark(pageIndex, path); } else { BookmarksModel.AddLibraryBookmark(pageIndex, path); } }
public void AddQueryBookmark(string query, int pageIndex, string path) { if (BookmarksModel.HasQueryBookmark(query, pageIndex, path)) { BookmarksModel.EditQueryBookmark(query, pageIndex, path); } else { BookmarksModel.AddQueryBookmark(query, pageIndex, path); } }
public void AddTaggedBookmark(int tagId, int pageIndex, string path) { if (BookmarksModel.HasTaggedBookmark(tagId, pageIndex, path)) { BookmarksModel.EditTaggedBookmark(tagId, pageIndex, path); } else { BookmarksModel.AddTaggedBookmark(tagId, pageIndex, path); } }
public static void Edit(Token token, BookmarksModel model, Action <ResponseMessage> callBack) { string url = string.Format(Constact.BookMarks_patch, model.WzLinkId); Dictionary <string, string> _params = new Dictionary <string, string>(); _params.Add("LinkUrl", model.LinkUrl); _params.Add("Title", model.Title); _params.Add("Summary", model.Summary); _params.Add("Tags", model.Tag); _params.Add("WzLinkId", model.WzLinkId.ToString()); HttpBase.Patch(url, token, _params, callBack); }
public BookmarksTreeView(BookmarksFilter bookmarksFilter, BookmarksModel bookmarksModel, Configuration.ConfigBookmarksList bookmarksListSettings, WebBrowserTreeNodeToolTip webBrowserToolTip, IQueryParser queryParser, ICacheFileSystem cacheFileSystem, SearchHandler searchHandler) { InitializeComponent(); BookmarksFilter = bookmarksFilter; BookmarksModel = bookmarksModel; BookmarksListSettings = bookmarksListSettings; WebBrowserToolTip = webBrowserToolTip; QueryParser = queryParser; CacheFileSystem = cacheFileSystem; SearchHandler = searchHandler; treeView = new TreeViewEx(); treeViewContextMenu = new ContextMenu(); treeViewNodeSorter = new BookmarksTreeViewNodeSorter(); SuspendLayout(); // // // treeViewContextMenu.Tag = treeView; treeViewContextMenu.Popup += TreeViewContextMenu_Popup; // // // treeView.HideSelection = false; treeView.HotTracking = true; treeView.Dock = DockStyle.Fill; //treeView.TreeViewNodeSorter = new TreeViewNodeSorter(); treeView.Sorted = true; treeView.ContextMenu = treeViewContextMenu; treeView.NodeActivated += TreeView_NodeActivated; treeView.NodeSelected += TreeView_NodeSelected; treeView.AfterExpand += TreeView_AfterExpand; treeView.AfterCollapse += TreeView_AfterCollapse; treeView.ItemDrag += TreeView_ItemDrag; treeView.DragDrop += TreeView_DragDrop; treeView.DragOver += TreeView_DragOver; treeView.DragEnter += TreeView_DragEnter; treeView.AllowDrop = true; // // this // Controls.Add(treeView); BookmarksModel.FolderAdded += BookmarksModel_FolderAdded; bookmarksFilter.TextChanged += BookmarksFilter_TextChanged; ResumeLayout(false); }
public void BookmarkEdit(AccessToken token, BookmarksModel bookmark, int position) { try { var url = string.Format(ApiUtils.BookmarkEdit, bookmark.WzLinkId); var param = new List <OkHttpUtils.Param>() { new OkHttpUtils.Param("WzLinkId", bookmark.WzLinkId.ToString()), new OkHttpUtils.Param("LinkUrl", bookmark.LinkUrl), new OkHttpUtils.Param("Title", bookmark.Title), new OkHttpUtils.Param("Summary", bookmark.Summary), new OkHttpUtils.Param("Tags", bookmark.Tag), new OkHttpUtils.Param("DateAdded", bookmark.DateAdded.ToString()), new OkHttpUtils.Param("FromCNBlogs", bookmark.FromCNBlogs.ToString()) }; OkHttpUtils.Instance(token).Patch(url, param, async(call, response) => { var code = response.Code(); var body = await response.Body().StringAsync(); if (code == (int)System.Net.HttpStatusCode.OK) { await SQLiteUtils.Instance().UpdateBookmark(bookmark); bookmarkView.BookmarkEditSuccess(position); } else { try { var error = JsonConvert.DeserializeObject <ErrorMessage>(body); bookmarkView.BookmarkEditFail(error.Message); } catch (Exception e) { bookmarkView.BookmarkEditFail(e.Message); } } }, (call, ex) => { bookmarkView.BookmarkEditFail(ex.Message); }); } catch (Exception e) { bookmarkView.BookmarkEditFail(e.Message); } }
public async Task SetBookmarksForDocAsync(BookmarksModel item) { if (item == null) { return; } if ((await this.db.Table <BookmarksModel>().FirstOrDefaultAsync(x => x.DocIdentifier == item.DocIdentifier)) == null) { await this.db.InsertWithChildrenAsync(item).ConfigureAwait(false); } else { await this.db.UpdateWithChildrenAsync(item).ConfigureAwait(false); } }
public void BookmarkAdd(AccessToken token, BookmarksModel bookmark) { try { var url = ApiUtils.BookmarkAdd; var param = new List <OkHttpUtils.Param>() { new OkHttpUtils.Param("LinkUrl", bookmark.LinkUrl), new OkHttpUtils.Param("Title", bookmark.Title), new OkHttpUtils.Param("Summary", bookmark.Summary), new OkHttpUtils.Param("Tags", bookmark.Tag), new OkHttpUtils.Param("FromCNBlogs", bookmark.FromCNBlogs.ToString()) }; OkHttpUtils.Instance(token).Post(url, param, async(call, response) => { var code = response.Code(); var body = await response.Body().StringAsync(); if (code == (int)System.Net.HttpStatusCode.Created) { bookmarkView.BookmarkAddSuccess(); } else { try { var error = JsonConvert.DeserializeObject <ErrorMessage>(body); bookmarkView.BookmarkAddFail(error.Message); } catch (Exception e) { bookmarkView.BookmarkAddFail(e.Message); } } }, (call, ex) => { bookmarkView.BookmarkAddFail(ex.Message); }); } catch (Exception e) { bookmarkView.BookmarkAddFail(e.Message); } }
public void AddDownloadBookmark(string metadataJson, string path) { Metadata metadata = JsonConvert.DeserializeObject <Metadata>(metadataJson); if (metadata == null) { return; } if (BookmarksModel.HasDownloadBookmark(metadata, path)) { BookmarksModel.EditDownloadBookmark(metadata, path); } else { BookmarksModel.AddDownloadBookmark(metadata, path); } }
protected async override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Id = Intent.GetIntExtra("id", 0); position = Intent.GetIntExtra("position", position); bookmarkPresenter = new BookmarkEditPresenter(this); handler = new Handler(); dialog = new ProgressDialog(this); dialog.SetCancelable(false); StatusBarCompat.SetOrdinaryToolBar(this); toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); toolbar.SetNavigationIcon(Resource.Drawable.back_24dp); SetSupportActionBar(toolbar); SupportActionBar.SetDisplayHomeAsUpEnabled(true); toolbar.SetNavigationOnClickListener(this); toolbar.SetOnMenuItemClickListener(this); txtLinkUrl = FindViewById <EditText>(Resource.Id.txtLinkUrl); txtTitle = FindViewById <EditText>(Resource.Id.txtTitle); txtTags = FindViewById <EditText>(Resource.Id.txtTags); txtContent = FindViewById <EditText>(Resource.Id.txtContent); bookmark = await SQLiteUtils.Instance().QueryBookmark(Id); if (bookmark != null && bookmark.WzLinkId > 0) { txtLinkUrl.Text = bookmark.LinkUrl; txtLinkUrl.SetSelection(txtLinkUrl.Text.Length); txtTitle.Text = bookmark.Title; txtTags.Text = bookmark.Tag; txtContent.Text = bookmark.Summary; } else { Toast.MakeText(this, "获取数据失败,请重试", ToastLength.Short).Show(); } }
private void FolderNodeContextMenu_Popup(object sender, EventArgs e) { ContextMenu contextMenu = sender as ContextMenu; TreeNode treeNode = contextMenu.Tag as TreeNode; BookmarkFolder folder = treeNode.Tag as BookmarkFolder; contextMenu.MenuItems.Clear(); if (folder != null) { contextMenu.MenuItems.Add(new MenuItem("&Edit Folder", (sender2, e2) => { string dialogResult = PromptBox.Show("Change name to:", folder.Text, "Bookmark folder name", (new string[] { folder.Text, GetPathFileName(folder.Path) }).Distinct().Where(x => !string.IsNullOrEmpty(x)).ToArray()); if (dialogResult != null) { folder.Text = dialogResult; treeNode.Text = dialogResult; } }) { Name = "folder_edit" }); contextMenu.MenuItems.Add(new MenuItem("&Remove Folder", (sender2, e2) => { treeNode.Remove(); BookmarksModel.RemovePath(folder.Path); }) { Name = "remove_folder" }); // TODO: "move to..." command (to change the folder (and its children) path) } }
private void Delete(ProgressDialog progressDialog, BookmarksModel model) { progressDialog.Show(); BookmarksService.Delete(token, model.WzLinkId, (response) => { if (response.IsSuccess) { RunOnUiThread(() => { progressDialog.Hide(); bookMarkList.Remove(model); adapter.SetNewData(bookMarkList); // OnRefresh(); }); } else { RunOnUiThread(() => { progressDialog.Hide(); AlertUtil.ToastShort(this, response.Message); }); } }); }
private void ItemContentNodeContextMenu_Popup(object sender, EventArgs e) { ContextMenu contextMenu = sender as ContextMenu; TreeNode treeNode = contextMenu.Tag as TreeNode; AddBookmarkItemTask item = treeNode.Tag as AddBookmarkItemTask; contextMenu.MenuItems.Clear(); if (item != null) { string[] tokens = item.Item.Value.Split(new char[] { ':' }); int galleryId; int pageIndex; string query; int tagId; string tagType; string tagName; if (QueryParser.ParseDetailsSearch(tokens, out galleryId)) { contextMenu.MenuItems.Add(new MenuItem("&Show Details", (sender2, e2) => { SearchHandler.ParseAndExecuteSearchText(item.Item.Value); })); contextMenu.MenuItems.Add("-"); contextMenu.MenuItems.Add(new MenuItem("&Read", (sender2, e2) => { CacheFileSystem.OpenFirstCachedPage(galleryId); })); contextMenu.MenuItems.Add(new MenuItem("&Browse", (sender2, e2) => { CacheFileSystem.SelectFirstCachedPage(galleryId); })); contextMenu.MenuItems.Add(new MenuItem("&Show in Explorer", (sender2, e2) => { CacheFileSystem.SelectPagesFolder(galleryId); })); } else if (QueryParser.ParseDownloadSearch(tokens, out galleryId)) { contextMenu.MenuItems.Add(new MenuItem("&Show Download", (sender2, e2) => { SearchHandler.ParseAndExecuteSearchText(item.Item.Value); })); contextMenu.MenuItems.Add("-"); contextMenu.MenuItems.Add(new MenuItem("&Read", (sender2, e2) => { CacheFileSystem.OpenFirstCachedPage(galleryId); })); contextMenu.MenuItems.Add(new MenuItem("&Browse", (sender2, e2) => { CacheFileSystem.SelectFirstCachedPage(galleryId); })); contextMenu.MenuItems.Add(new MenuItem("&Show in Explorer", (sender2, e2) => { CacheFileSystem.SelectPagesFolder(galleryId); })); } else if (QueryParser.ParseRecentSearch(tokens, out pageIndex)) { contextMenu.MenuItems.Add(new MenuItem("&Recent Search", (sender2, e2) => { SearchHandler.ParseAndExecuteSearchText(item.Item.Value); })); } else if (QueryParser.ParseQuerySearch(tokens, out query, out pageIndex)) { contextMenu.MenuItems.Add(new MenuItem("&Query Search", (sender2, e2) => { SearchHandler.ParseAndExecuteSearchText(item.Item.Value); })); } else if (QueryParser.ParseTaggedSearch(tokens, out tagId, out tagType, out tagName, out pageIndex)) { contextMenu.MenuItems.Add(new MenuItem("&Tagged Search", (sender2, e2) => { SearchHandler.ParseAndExecuteSearchText(item.Item.Value); })); } else if (QueryParser.ParseLibrarySearch(tokens, out pageIndex)) { contextMenu.MenuItems.Add(new MenuItem("&Show in Library", (sender2, e2) => { SearchHandler.ParseAndExecuteSearchText(item.Item.Value); })); } contextMenu.MenuItems.Add("-"); contextMenu.MenuItems.Add(new MenuItem("&Remove bookmark", (sender2, e2) => { WebBrowserToolTip.RemoveToolTip(treeNode); treeNode.Remove(); BookmarksModel.RemoveBookmark(item.Path); }) { Name = "remove" }); // TODO: "move to..." command (to change the bookmark path) } }
public MainForm() { InitializeComponent(); ProcessCommandLine(); staticHttpClient = new StaticHttpClient(Settings.Network); pathFormatter = new PathFormatter(Program.ApplicationPath, Program.SourcePath, Settings.PathFormatter.Custom, Settings.PathFormatter, Settings.Lists.Tags.LanguageNames, Settings.PathFormatter.IsEnabled); tagsModel = new TagsModel(); tokenModifiers = TokenModifiers.All.Concat(new ITokenModifier[] { new TagTokenModifier(tagsModel) }).ToArray(); bookmarkFormatter = new BookmarkFormatter(Settings.Lists.Bookmarks, Settings.Lists.Tags, tagsModel, pathFormatter, tokenModifiers); bookmarksModel = new BookmarksModel(tagsModel, bookmarkFormatter); libraryModel = new LibraryModel(pathFormatter.GetCacheDirectory(), new WinformsTimer(0, Settings.Polling.LibraryRefreshInterval)); browsingModel = new BrowsingModel(); galleryModel = new GalleryModel(tagsModel); detailsModel = new DetailsModel(); metadataKeywordLists = new MetadataKeywordLists(); metadataProcessors = new List <IMetadataProcessor>(); metadataConverters = new List <IMetadataConverter>(); archiveWriters = new List <IArchiveWriter>(); queryParser = new QueryParser(tagsModel); coreTextFormatter = new CoreTextFormatter(pathFormatter, tokenModifiers); aboutTextFormatter = new AboutTextFormatter(pathFormatter); tagTextFormatter = new TagTextFormatter(); metadataTextFormatter = new MetadataTextFormatter(pathFormatter, Settings.Lists.Tags.LanguageNames, metadataKeywordLists, tokenModifiers); documentTemplates = new DocumentTemplates(); documentTemplates.About = new DocumentTemplate <object>("about", Settings.Cache.Templates, pathFormatter, (x, context) => aboutTextFormatter.Format(x)); documentTemplates.Details = new DocumentTemplate <Metadata>("details", Settings.Cache.Templates, pathFormatter, (text, context) => metadataTextFormatter.Format(text, context)); documentTemplates.DetailsPreload = new DocumentTemplate <Metadata>("details-preload", Settings.Cache.Templates, pathFormatter, (text, context) => metadataTextFormatter.Format(text, context)); documentTemplates.Download = new DocumentTemplate <Metadata>("download", Settings.Cache.Templates, pathFormatter, (text, context) => metadataTextFormatter.Format(text, context)); documentTemplates.GalleryTooltip = new DocumentTemplate <Metadata>("gallery-tooltip", Settings.Cache.Templates, pathFormatter, (text, context) => metadataTextFormatter.Format(text, context)); documentTemplates.LibraryCovergrid = new DocumentTemplate <ISearchProgressArg>("library-covergrid", Settings.Cache.Templates, pathFormatter, (text, context) => searchProgressArgTextFormatter.Format(text, context, "library")); documentTemplates.LibraryCovergridItem = new DocumentTemplate <Metadata>("library-covergrid-item", Settings.Cache.Templates, pathFormatter, (text, context) => metadataTextFormatter.Format(text, context)); documentTemplates.SearchCovergrid = new DocumentTemplate <ISearchProgressArg>("search-covergrid", Settings.Cache.Templates, pathFormatter, (text, context) => searchProgressArgTextFormatter.Format(text, context, "search")); documentTemplates.SearchCovergridItem = new DocumentTemplate <Metadata>("search-covergrid-item", Settings.Cache.Templates, pathFormatter, (text, context) => metadataTextFormatter.Format(text, context)); documentTemplates.SearchPreload = new DocumentTemplate <ISearchArg>("search-preload", Settings.Cache.Templates, pathFormatter, (text, context) => searchArgTextFormatter.Format(text, context)); documentTemplates.Startup = new DocumentTemplate <object>("startup", Settings.Cache.Templates, pathFormatter, (text, context) => coreTextFormatter.Format(text, context)); searchArgTextFormatter = new SearchArgTextFormatter(pathFormatter, metadataKeywordLists, tagsModel, tokenModifiers); searchProgressArgTextFormatter = new SearchProgressArgTextFormatter(pathFormatter, metadataKeywordLists, tagsModel, metadataTextFormatter, tokenModifiers, documentTemplates.SearchCovergridItem, documentTemplates.LibraryCovergridItem); metadataCache = new MetadataCache(); searchResultCache = new SearchResultCache(metadataCache); sessionManager = new SessionManager(pathFormatter, searchResultCache, Settings.Cache.Session.RecentLifeSpan, Settings.Cache.Session.SearchLifeSpan, Settings.Cache.Session.TaggedLifeSpan, Settings.Network); cacheFileSystem = new CacheFileSystem(pathFormatter, searchResultCache, archiveWriters); pluginSystem = new PluginSystem(Logger, pathFormatter, cacheFileSystem, archiveWriters, metadataConverters, metadataProcessors); backgroundTaskWorker = new BackgroundTaskWorker() { IdleWaitTime = Settings.BackgroundWorkers.BackgroundTaskWorker.IdleWaitTime, MaxConcurrentJobCount = Settings.BackgroundWorkers.BackgroundTaskWorker.MaxConcurrentJobCount }; pageDownloader = new PageDownloader(staticHttpClient.Client, pathFormatter, searchResultCache, cacheFileSystem) { IdleWaitTime = Settings.BackgroundWorkers.PageDownloader.IdleWaitTime, MaxConcurrentJobCount = Settings.BackgroundWorkers.PageDownloader.MaxConcurrentJobCount }; coverDownloader = new CoverDownloader(staticHttpClient.Client, pathFormatter, metadataKeywordLists) { IdleWaitTime = Settings.BackgroundWorkers.CoverDownloader.IdleWaitTime, MaxConcurrentJobCount = Settings.BackgroundWorkers.CoverDownloader.MaxConcurrentJobCount }; coverLoader = new CoverDownloader(staticHttpClient.Client, pathFormatter, metadataKeywordLists) { IdleWaitTime = Settings.BackgroundWorkers.CoverLoader.IdleWaitTime, MaxConcurrentJobCount = Settings.BackgroundWorkers.CoverLoader.MaxConcurrentJobCount }; galleryDownloader = new GalleryDownloader(staticHttpClient.Client, pathFormatter, searchResultCache) { IdleWaitTime = Settings.BackgroundWorkers.GalleryDownloader.IdleWaitTime, MaxConcurrentJobCount = Settings.BackgroundWorkers.GalleryDownloader.MaxConcurrentJobCount }; detailsTabControl = new TabControlEx(); detailsTabPage = new TabPage(); downloadTabPage = new TabPage(); listsTabControl = new TabControlEx(); tagsTabPage = new TabPage(); bookmarksTabPage = new TabPage(); libraryTabPage = new TabPage(); browsingTabPage = new TabPage(); mainViewTabControl = new TabControlEx(); galleryBrowserViewTabPage = new TabPage(); libraryBrowserViewTabPage = new TabPage(); downloadsListViewTabPage = new TabPage(); webBrowserToolTip = new WebBrowserTreeNodeToolTip(pathFormatter, documentTemplates.GalleryTooltip); loadTimer = new Timer(components); searchHandler = new SearchHandler( libraryModel , mainViewTabControl , libraryBrowserViewTabPage , galleryBrowserViewTabPage , Settings.Cache , searchResultCache , Logger , browsingModel , pathFormatter , staticHttpClient.Client , queryParser , galleryModel , detailsModel , galleryDownloader , sessionManager , Settings.Network); bookmarkPromptUtility = new BookmarkPromptUtility(bookmarksModel, Settings.Lists.Bookmarks); tagsFilter = new TagsFilter(Settings.Lists.Tags, metadataKeywordLists); bookmarksFilter = new BookmarksFilter(Settings.Lists.Bookmarks); libraryFilter = new LibraryFilter(Settings.Lists.Library); browsingFilter = new BrowsingFilter(Settings.Lists.Browsing); libraryBrowserFilter = new LibraryBrowserFilter(Settings.Library.Browser); galleryBrowserFilter = new GalleryBrowserFilter(Settings.Gallery.Browser); detailsBrowserFilter = new DetailsBrowserFilter(Settings.Details.Browser); tagsTreeView = new TagsTreeView(tagsFilter, tagsModel, tagTextFormatter, Settings.Lists.Tags, metadataKeywordLists, searchHandler, bookmarkPromptUtility, staticHttpClient.Client); tagsToolStrip = new TagsToolStrip(tagsFilter, tagsModel, Settings.Lists.Tags, metadataKeywordLists, Settings.Polling.FilterDelay); bookmarksTreeView = new BookmarksTreeView(bookmarksFilter, bookmarksModel, Settings.Lists.Bookmarks, webBrowserToolTip, queryParser, cacheFileSystem, searchHandler); bookmarksToolStrip = new BookmarksToolStrip(bookmarksFilter, bookmarksModel, Settings.Lists.Bookmarks, Settings.Polling.FilterDelay); libraryTreeView = new LibraryTreeView(libraryFilter, libraryModel, archiveWriters, webBrowserToolTip, searchHandler, cacheFileSystem); libraryToolStrip = new LibraryToolStrip(libraryFilter, libraryModel, Settings.Lists.Library, Settings.Polling.FilterDelay); browsingTreeView = new BrowsingTreeView(browsingFilter, browsingModel, Settings.Lists.Browsing, searchHandler, sessionManager, queryParser); browsingToolStrip = new BrowsingToolStrip(browsingFilter, browsingModel, Settings.Lists.Browsing, Settings.Polling.FilterDelay); galleryBrowserView = new GalleryBrowserView(galleryBrowserFilter, galleryModel, documentTemplates.SearchCovergrid, documentTemplates.SearchPreload, pathFormatter, Settings.Gallery.Browser, pageDownloader, coverDownloader, metadataKeywordLists, tagsModel, searchHandler); galleryToolStrip = new GalleryBrowserToolStrip(galleryBrowserFilter, galleryModel, Settings.Gallery.Browser, searchHandler); libraryBrowserView = new LibraryBrowserView(libraryBrowserFilter, libraryModel, documentTemplates.LibraryCovergrid, documentTemplates.SearchPreload, documentTemplates.LibraryCovergridItem, pathFormatter, pageDownloader, coverLoader, metadataKeywordLists, Settings.Library.Browser, searchResultCache); libraryBrowserToolStrip = new LibraryBrowserToolStrip(libraryBrowserFilter, libraryModel, Settings.Library.Browser, searchHandler); detailsToolStrip = new DetailsBrowserToolStrip(detailsBrowserFilter, detailsModel, searchHandler); detailsBrowserView = new DetailsBrowserView(detailsBrowserFilter, detailsModel, documentTemplates.Details, documentTemplates.Download, documentTemplates.DetailsPreload, galleryDownloader, pageDownloader, coverDownloader, metadataKeywordLists, Settings.Details.Browser, searchResultCache, cacheFileSystem); theme = new Theme(); applicationLoader = new ApplicationLoader(); fullScreenRestoreState = new FullScreenRestoreState(); mainMenuStrip = new MainMenuStrip(Settings); startupSpecialHandler = new StartupSpecialHandler(Settings.Gallery, tagsModel, metadataKeywordLists, searchHandler); taskbar = new Taskbar(coverDownloader, galleryDownloader, pageDownloader, searchResultCache, cacheFileSystem); publicApi = new PublicApi(staticHttpClient.Client , pathFormatter , cacheFileSystem , searchResultCache , searchHandler , bookmarkPromptUtility , pluginSystem , libraryBrowserToolStrip , Settings.Library , galleryToolStrip , Settings.Gallery , Settings.Details , galleryDownloader , coverDownloader , pageDownloader , Settings.Notifications , metadataKeywordLists , Settings ); splitContainer1 = new SplitContainerEx(); splitContainer2 = new SplitContainerEx(); splitContainer3 = new SplitContainerEx(); splitContainer1.BeginInit(); splitContainer1.Panel2.SuspendLayout(); splitContainer1.SuspendLayout(); splitContainer2.BeginInit(); splitContainer2.Panel1.SuspendLayout(); splitContainer2.SuspendLayout(); splitContainer3.BeginInit(); splitContainer3.SuspendLayout(); SuspendLayout(); // // // loadTimer.Interval = 100; loadTimer.Tick += LoadTimer_Tick; // // // tagsTabPage.Name = "tagsTabPage"; tagsTabPage.TabIndex = 0; tagsTabPage.Tag = "tags"; tagsTabPage.Text = "Tags"; tagsTabPage.UseVisualStyleBackColor = true; bookmarksTabPage.Name = "bookmarksTabPage"; bookmarksTabPage.TabIndex = 1; bookmarksTabPage.Tag = "bookmarks"; bookmarksTabPage.Text = "Bookmarks"; bookmarksTabPage.UseVisualStyleBackColor = true; libraryTabPage.Name = "libraryTabPage"; libraryTabPage.TabIndex = 2; libraryTabPage.Tag = "library"; libraryTabPage.Text = "Library"; libraryTabPage.UseVisualStyleBackColor = true; browsingTabPage.Name = "browsingTabPage"; browsingTabPage.TabIndex = 4; browsingTabPage.Tag = "browsing"; browsingTabPage.Text = "Browsing"; browsingTabPage.UseVisualStyleBackColor = true; // // // listsTabControl.Dock = DockStyle.Fill; listsTabControl.Name = "treeViewTabControl"; listsTabControl.SelectedIndex = -1; listsTabControl.TabIndex = 2; listsTabControl.TabPages.Add(tagsTabPage); listsTabControl.TabPages.Add(bookmarksTabPage); listsTabControl.TabPages.Add(libraryTabPage); listsTabControl.TabPages.Add(browsingTabPage); listsTabControl.Selected += TreeViewTabControl_Selected; splitContainer3.Panel1.Controls.Add(listsTabControl); // // // tagsTreeView.Dock = DockStyle.Fill; // // // tagsToolStrip.Dock = DockStyle.Top; tagsToolStrip.AutoSizeMode = AutoSizeMode.GrowAndShrink; tagsToolStrip.AutoSize = true; // // // tagsTabPage.Controls.Add(tagsTreeView); tagsTabPage.Controls.Add(tagsToolStrip); // // // bookmarksModel.ItemAdded += BookmarksModel_ItemAdded; bookmarksModel.ItemChanged += BookmarksModel_ItemChanged; // // // bookmarksTreeView.Dock = DockStyle.Fill; // // // bookmarksToolStrip.Dock = DockStyle.Top; bookmarksToolStrip.AutoSizeMode = AutoSizeMode.GrowAndShrink; bookmarksToolStrip.AutoSize = true; // // // bookmarksTabPage.Controls.Add(bookmarksTreeView); bookmarksTabPage.Controls.Add(bookmarksToolStrip); // // // libraryTreeView.Dock = DockStyle.Fill; // // // libraryToolStrip.Dock = DockStyle.Top; libraryToolStrip.AutoSizeMode = AutoSizeMode.GrowAndShrink; libraryToolStrip.AutoSize = true; // // // libraryTabPage.Controls.Add(libraryTreeView); libraryTabPage.Controls.Add(libraryToolStrip); // // // browsingModel.ItemAdded += BrowsingModel_ItemAdded; browsingModel.ItemChanged += BrowsingModel_ItemChanged; // // // browsingToolStrip.Dock = DockStyle.Top; browsingToolStrip.AutoSizeMode = AutoSizeMode.GrowAndShrink; browsingToolStrip.AutoSize = true; // // // browsingTreeView.Dock = DockStyle.Fill; // // // browsingTabPage.Controls.Add(browsingTreeView); browsingTabPage.Controls.Add(browsingToolStrip); // // // galleryBrowserViewTabPage.Name = "galleryBrowserViewTabPage"; galleryBrowserViewTabPage.Padding = Padding.Empty; galleryBrowserViewTabPage.TabIndex = 0; galleryBrowserViewTabPage.Text = "Search"; galleryBrowserViewTabPage.UseVisualStyleBackColor = true; // // // libraryBrowserViewTabPage.Name = "libraryBrowserViewTabPage"; libraryBrowserViewTabPage.TabIndex = 1; libraryBrowserViewTabPage.Text = "Library"; libraryBrowserViewTabPage.UseVisualStyleBackColor = true; // // // downloadsListViewTabPage.Name = "downloadsListViewTabPage"; downloadsListViewTabPage.TabIndex = 2; downloadsListViewTabPage.Text = "Downloads"; downloadsListViewTabPage.UseVisualStyleBackColor = true; // // // mainViewTabControl.Controls.Add(galleryBrowserViewTabPage); mainViewTabControl.Controls.Add(libraryBrowserViewTabPage); mainViewTabControl.Controls.Add(downloadsListViewTabPage); mainViewTabControl.Dock = DockStyle.Fill; mainViewTabControl.Name = "mainViewTabControl"; mainViewTabControl.SelectedIndex = 0; mainViewTabControl.TabIndex = 2; mainViewTabControl.Selected += MainViewTabControl_Selected; splitContainer3.Panel2.Controls.Add(mainViewTabControl); splitContainer2.Panel2.Controls.Add(detailsTabControl); // // detailsTabControl // detailsTabControl.Controls.Add(detailsTabPage); detailsTabControl.Controls.Add(downloadTabPage); detailsTabControl.Dock = DockStyle.Fill; detailsTabControl.Name = "detailsTabControl"; detailsTabControl.SelectedIndex = 0; detailsTabControl.TabIndex = 2; // // detailsTabPage // detailsTabPage.Name = "detailsTabPage"; detailsTabPage.TabIndex = 0; detailsTabPage.Text = "Details"; detailsTabPage.UseVisualStyleBackColor = true; // // downloadTabPage // downloadTabPage.Name = "downloadTabPage"; downloadTabPage.TabIndex = 1; downloadTabPage.Text = "Download"; downloadTabPage.UseVisualStyleBackColor = true; // // // galleryBrowserView.Dock = DockStyle.Fill; galleryBrowserView.WebBrowser.ObjectForScripting = publicApi; // // // galleryToolStrip.AutoSizeMode = AutoSizeMode.GrowAndShrink; galleryToolStrip.AutoSize = true; galleryToolStrip.Dock = DockStyle.Top; // // // galleryBrowserViewTabPage.Controls.Add(galleryBrowserView); galleryBrowserViewTabPage.Controls.Add(galleryToolStrip); // // // libraryBrowserView.Dock = DockStyle.Fill; libraryBrowserView.WebBrowser.ObjectForScripting = publicApi; // // // libraryBrowserToolStrip.AutoSizeMode = AutoSizeMode.GrowAndShrink; libraryBrowserToolStrip.AutoSize = true; libraryBrowserToolStrip.Dock = DockStyle.Top; // // // libraryBrowserViewTabPage.Controls.Add(libraryBrowserView); libraryBrowserViewTabPage.Controls.Add(libraryBrowserToolStrip); // // // detailsToolStrip.AutoSizeMode = AutoSizeMode.GrowAndShrink; detailsToolStrip.AutoSize = true; detailsToolStrip.Dock = DockStyle.Top; // // // detailsBrowserView.Dock = DockStyle.Fill; detailsBrowserView.WebBrowser.ObjectForScripting = publicApi; // // // detailsTabPage.Controls.Add(detailsBrowserView); detailsTabPage.Controls.Add(detailsToolStrip); // // splitContainer1 // splitContainer1.Dock = DockStyle.Fill; splitContainer1.FixedPanel = FixedPanel.Panel1; splitContainer1.Margin = new Padding(0); splitContainer1.Name = "splitContainer1"; splitContainer1.Orientation = Orientation.Horizontal; splitContainer1.Panel1MinSize = 22; // // splitContainer1.Panel2 // splitContainer1.Panel2.Controls.Add(splitContainer2); splitContainer1.Size = new Size(1364, 637); splitContainer1.SplitterDistance = 25; splitContainer1.SplitterIncrement = 22; splitContainer1.SplitterWidth = 7; splitContainer1.TabIndex = 2; // // splitContainer2 // splitContainer2.Dock = DockStyle.Fill; splitContainer2.FixedPanel = FixedPanel.Panel2; splitContainer2.Margin = new Padding(0); splitContainer2.Name = "splitContainer2"; // // splitContainer2.Panel1 // splitContainer2.Panel1.Controls.Add(splitContainer3); splitContainer2.Size = new Size(1364, 605); splitContainer2.SplitterDistance = 1214; splitContainer2.SplitterWidth = 7; splitContainer2.TabIndex = 1; // // splitContainer3 // splitContainer3.Dock = DockStyle.Fill; splitContainer3.FixedPanel = FixedPanel.Panel1; splitContainer3.Margin = new Padding(0); splitContainer3.Name = "splitContainer3"; splitContainer3.Size = new Size(1214, 605); splitContainer3.SplitterDistance = 200; splitContainer3.SplitterWidth = 7; splitContainer3.TabIndex = 0; // // applicationMenuStrip // mainMenuStrip.Exit += MainMenuStrip_Exit; mainMenuStrip.ToggleListsPanel += MainMenuStrip_ToggleListsPanel; mainMenuStrip.ToggleDetailsPanel += MainMenuStrip_ToggleDetailsPanel; mainMenuStrip.ToggleFullScreen += MainMenuStrip_ToggleFullScreen; mainMenuStrip.ShowAbout += MainMenuStrip_ShowAbout; mainMenuStrip.ShowPlugins += MainMenuStrip_ShowPlugins; // // this // Controls.Add(splitContainer1); Controls.Add(mainMenuStrip); Controls.Add(webBrowserToolTip); webBrowserToolTip.BringToFront(); MainMenuStrip = mainMenuStrip; Padding = new Padding(0); Text = aboutTextFormatter.Format(Settings.Window.TextFormat); if (Settings.Network.Offline) { Text += " [OFFLINE]"; } Enabled = false; // // splash screen // if (Settings.SplashScreen.IsVisible) { startupWebBrowser = new StartupWebBrowserView(coreTextFormatter, documentTemplates.Startup, applicationLoader); startupWebBrowser.Name = "startupWebBrowserView"; startupWebBrowser.Dock = DockStyle.Fill; startupWebBrowser.WebBrowser.DocumentCompleted += WebBrowser_DocumentCompleted; Controls.Add(startupWebBrowser); startupWebBrowser.BringToFront(); // avoid flickering listsTabControl.Visible = false; mainViewTabControl.Visible = false; detailsTabControl.Visible = false; } backgroundTaskWorker.ProgressChanged += TaskBackgroundWorker_ProgressChanged; pageDownloader.PagesDownloadCompleted += PageDownloader_PagesDownloadCompleted; ReadTheme(); ApplyTheme(); ApplyVisualStyles(); splitContainer1.Panel2.ResumeLayout(false); splitContainer1.EndInit(); splitContainer1.ResumeLayout(false); splitContainer2.Panel1.ResumeLayout(false); splitContainer2.EndInit(); splitContainer2.ResumeLayout(false); splitContainer3.EndInit(); splitContainer3.ResumeLayout(false); ResumeLayout(false); PerformLayout(); }
private void TreeView_DragDropTreeNode(object sender, DragEventArgs e) { TreeView treeView = (TreeView)sender; TreeNode draggedNode = (TreeNode)e.Data.GetData(typeof(TreeNode)); Point targetPoint = treeView.PointToClient(new Point(e.X, e.Y)); TreeNode targetNode = treeView.GetNodeAt(targetPoint); if (draggedNode.Equals(targetNode)) { return; } BookmarkFolder draggedFolder = draggedNode.Tag as BookmarkFolder; AddBookmarkItemTask draggedBookmark = draggedNode.Tag as AddBookmarkItemTask; BookmarkFolder targetFolder = targetNode?.Tag as BookmarkFolder; AddBookmarkItemTask targetBookmark = targetNode?.Tag as AddBookmarkItemTask; if (draggedFolder != null) { string targetPath = null; if (targetFolder != null) { targetPath = targetFolder.Path; } else if (targetBookmark != null) { // Error: dropping a folder on a bookmark is not allowed. } else { targetPath = ""; } if (targetPath != null) { if (e.Effect.HasFlag(DragDropEffects.Copy)) { BookmarksModel.CopyBookmarks(draggedNode.Level, draggedFolder.Path, targetPath); } else if (e.Effect.HasFlag(DragDropEffects.Move)) { BookmarksModel.MoveBookmarks(draggedNode.Level, draggedFolder.Path, targetPath); BookmarksModel.RemovePath(draggedFolder.Path); draggedNode.Remove(); } } } else if (draggedBookmark != null) { string targetPath = null; if (targetFolder != null) { targetPath = targetFolder.Path; } else if (targetBookmark != null) { // Error: dropping a bookmark on another bookmark is not allowed. } else { targetPath = ""; } if (targetPath != null) { if (e.Effect.HasFlag(DragDropEffects.Copy)) { BookmarksModel.CopyBookmark(draggedBookmark.Path, targetPath); } else if (e.Effect.HasFlag(DragDropEffects.Move)) { BookmarksModel.MoveBookmark(draggedBookmark.Path, targetPath); draggedNode.Remove(); } } } }
public BookmarksToolStrip(BookmarksFilter bookmarksFilter, BookmarksModel bookmarksModel, Configuration.ConfigBookmarksList bookmarksListSettings, int filterDelay) { InitializeComponent(); BookmarksFilter = bookmarksFilter; BookmarksModel = bookmarksModel; BookmarksListSettings = bookmarksListSettings; filterTextBox = new ToolStripSpringTextBox(); filterButton = new ToolStripDropDownButton(); filterNoneButton = new ToolStripMenuItem(); filterAllButton = new ToolStripMenuItem(); filterRecentSearchButton = new ToolStripMenuItem(); filterQuerySearchButton = new ToolStripMenuItem(); filterTaggedSearchButton = new ToolStripMenuItem(); filterLibraryButton = new ToolStripMenuItem(); filterDetailsButton = new ToolStripMenuItem(); filterDownloadButton = new ToolStripMenuItem(); toolStrip = new ToolStrip(); filterTimer = new Timer(); SuspendLayout(); // // filter textbox // filterTextBox.Dock = DockStyle.Fill; filterTextBox.Margin = new Padding(0, 0, 6, 0); filterTextBox.TextChanged += FilterTextBox_TextChanged; // // filter button // filterButton.Text = "&Filters"; filterButton.AutoToolTip = false; filterNoneButton.Name = "none"; filterNoneButton.Text = "&None"; filterNoneButton.Click += FilterNoneButton_Click; filterAllButton.Name = "all"; filterAllButton.Text = "&All"; filterAllButton.Click += FilterAllButton_Click; filterRecentSearchButton.Name = "recent"; filterRecentSearchButton.Text = "&Recent Searches"; filterRecentSearchButton.Click += FilterRecentSearchButton_Click; filterQuerySearchButton.Name = "query"; filterQuerySearchButton.Text = "&Query Searches"; filterQuerySearchButton.Click += FilterQuerySearchButton_Click; filterTaggedSearchButton.Name = "tagged"; filterTaggedSearchButton.Text = "&Tagged Searches"; filterTaggedSearchButton.Click += FilterTaggedSearchButton_Click; filterLibraryButton.Name = "library"; filterLibraryButton.Text = "&Library"; filterLibraryButton.Click += FilterLibraryButton_Click; filterDetailsButton.Name = "details"; filterDetailsButton.Text = "&Details"; filterDetailsButton.Click += FilterDetailsButton_Click; filterDownloadButton.Name = "download"; filterDownloadButton.Text = "&Download"; filterDownloadButton.Click += FilterDownloadButton_Click; ContextMenuStrip filterContextMenuStrip = new ContextMenuStrip(); filterContextMenuStrip.ShowCheckMargin = true; filterContextMenuStrip.Items.Add(filterNoneButton); filterContextMenuStrip.Items.Add(filterAllButton); filterContextMenuStrip.Items.Add(new ToolStripSeparator()); filterContextMenuStrip.Items.Add(filterRecentSearchButton); filterContextMenuStrip.Items.Add(filterQuerySearchButton); filterContextMenuStrip.Items.Add(filterTaggedSearchButton); filterContextMenuStrip.Items.Add(filterLibraryButton); filterContextMenuStrip.Items.Add(filterDetailsButton); filterContextMenuStrip.Items.Add(filterDownloadButton); filterContextMenuStrip.Opening += Dropdown_Opening; filterContextMenuStrip.RenderMode = ToolStripRenderMode.Professional; filterContextMenuStrip.LayoutStyle = ToolStripLayoutStyle.VerticalStackWithOverflow; filterButton.DropDown = filterContextMenuStrip; // // filter timer // filterTimer.Interval = filterDelay; filterTimer.Tick += FilterTimer_Tick; // // toolstrip // toolStrip.Dock = DockStyle.Fill; toolStrip.CanOverflow = false; toolStrip.Items.Add(filterTextBox); toolStrip.Items.Add(filterButton); // // this // Controls.Add(toolStrip); bookmarksFilter.FiltersChanged += BookmarksFilter_FiltersChanged; ResumeLayout(false); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Create your application here StatusBarUtil.SetColorStatusBars(this); SetToolBarNavBack(); edit_url = FindViewById <EditText>(Resource.Id.edit_url); edit_title = FindViewById <EditText>(Resource.Id.edit_title); edit_summary = FindViewById <EditText>(Resource.Id.edit_summary); edit_tags = FindViewById <EditText>(Resource.Id.edit_tags); btn_submit = FindViewById <Button>(Resource.Id.btn_submit); ly_expire = FindViewById <LinearLayout>(Resource.Id.ly_expire); tv_startLogin = FindViewById <TextView>(Resource.Id.tv_startLogin); tv_startLogin.Click += (s, e) => { StartActivity(new Intent(this, typeof(loginactivity))); }; AlertUtil.ToastLong(this, "当前线程id:" + Thread.CurrentThread.ManagedThreadId); string title = Intent.GetStringExtra("title"); string url = Intent.GetStringExtra("url"); mode = Intent.GetStringExtra("mode"); edit_url.Text = string.IsNullOrEmpty(url)?"":url; edit_title.Text = string.IsNullOrEmpty(title)?"":title; Token token = UserTokenUtil.GetToken(this); if (mode == "edit") { string editTitle = Resources.GetString(Resource.String.bookmark_edit); btn_submit.Text = editTitle; SetToolBarTitle(editTitle); string summary = Intent.GetStringExtra("summary"); string tags = Intent.GetStringExtra("tags"); wzLinkId = Intent.GetIntExtra("id", 0); if (!string.IsNullOrEmpty(summary)) { edit_summary.Text = summary; } if (!string.IsNullOrEmpty(tags)) { edit_tags.Text = tags; } } else if (mode == "add") { btn_submit.Text = "添加收藏"; } //判断是否登录 if (token.IsExpire) { btn_submit.Enabled = false; ly_expire.Visibility = ViewStates.Visible; } else { btn_submit.Enabled = true; ly_expire.Visibility = ViewStates.Gone; } btn_submit.Click += async(s, e) => { var userToken = UserTokenUtil.GetToken(this); if (userToken.IsExpire) { Android.Support.V7.App.AlertDialog.Builder alertDialog = new Android.Support.V7.App.AlertDialog.Builder(this) .SetTitle("登录提示") .SetMessage("未登录或登录token已经过期") .SetPositiveButton("授权", (s1, e1) => { StartActivity(new Intent(this, typeof(loginactivity))); }) .SetNegativeButton("取消", (s1, e1) => { return; }); alertDialog.Create().Show(); } if (edit_summary.Text.Length > 200) { AlertUtil.ToastShort(this, "摘要不能超过200字符"); return; } if (token.IsExpire) { AlertUtil.ToastShort(this, "未登录或登录token已经过期,请邓丽"); return; } var model = new BookmarksModel(); model.Title = edit_title.Text; model.LinkUrl = edit_url.Text; model.Summary = edit_summary.Text; model.Tags = edit_tags.Text.Split(',').ToList(); var dialog = new ProgressDialog(this); dialog.SetProgressStyle(ProgressDialogStyle.Spinner); dialog.SetCancelable(false); dialog.SetCanceledOnTouchOutside(false); dialog.SetTitle(Resources.GetString(Resource.String.bookmark_add)); dialog.SetMessage("提交中......."); dialog.Show(); if (mode == "add") { var result = await BookmarksService.Add(token, model); if (result.Success) { btn_submit.Enabled = false; dialog.Hide(); AlertUtil.ToastLong(this, result.Message + "添加收藏成功"); this.Finish(); System.Diagnostics.Debug.Write(result.Message); } else { dialog.Hide(); AlertUtil.ToastLong(this, result.Message); System.Diagnostics.Debug.Write(result); } } if (mode == "edit") { model.WzLinkId = wzLinkId; BookmarksService.Edit(token, model, (result) => { if (result.IsSuccess) { RunOnUiThread(() => { dialog.Hide(); btn_submit.Enabled = false; AlertUtil.ToastLong(this, result.Message + "编辑收藏成功"); }); System.Diagnostics.Debug.Write(result.Message); } else { RunOnUiThread(() => { dialog.Hide(); AlertUtil.ToastLong(this, result.Message); System.Diagnostics.Debug.Write(result); }); } }); } }; }
public BookmarkPromptUtility(BookmarksModel bookmarksModel, Configuration.ConfigBookmarksList bookmarkListSettings) { BookmarksModel = bookmarksModel; BookmarkListSettings = bookmarkListSettings; }