private static void BuildMenuHelper(Menu menu, BookmarkGroup group) { foreach (object i in group.Members) { if (!(i is BookmarkGroup)) { continue; } MenuItem item = new MenuItem(((BookmarkGroup)i).Name); item.Activated += on_bookmarkgroup_activated; menu_to_id[item] = ((BookmarkGroup)i).ID; menu.Append(item); Menu m = new Menu(); item.Submenu = m; BuildMenuHelper(m, ((BookmarkGroup)i)); } foreach (object i in group.Members) { if (i is Bookmark) { #if DEBUG Console.WriteLine("appending bookmark: [" + ((Bookmark)i).Name + "]"); #endif MenuItem item = new MenuItem(((Bookmark)i).Name); menu_to_id[item] = ((Bookmark)i).ID; item.Activated += on_bookmark_activated; menu.Append(item); menu_to_id[item] = ((Bookmark)i).ID; } } }
public BookmarkManager(Browser browser) { _Browser = browser; #if DEBUG Console.WriteLine("Bookmark Manager init"); #endif // discovering bookmark file bookmark_file = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); bookmark_file = System.IO.Path.Combine(bookmark_file, "monodoc"); bookmark_file = System.IO.Path.Combine(bookmark_file, "bookmarks.xml"); // creating serializer serializer = new XmlSerializer(typeof(BookmarkGroup)); // trying to load saved bookmarks try { Load(); } catch (Exception e) { // no bookmarks found, creating new root root_group = new BookmarkGroup(ROOT_NAME); } current_bookmark_group = ROOT_NAME; menu_to_id = new Hashtable(); BuildMenu(_Browser.bookmarksMenu); }
/// <summary> Recursively adds a bookmark </summary> public static void AddBookmarkGroup(BookmarkGroup bookmarks, string parent_ID, string name) { if (bookmarks.ID == parent_ID) { bookmarks.Members.Add(new BookmarkGroup(name)); return; } foreach (object i in bookmarks.Members) { if (i is BookmarkGroup) { AddBookmarkGroup(((BookmarkGroup)i), parent_ID, name); } if (i is Bookmark) { if (((Bookmark)i).ID == parent_ID) { bookmarks.Members.Add(new BookmarkGroup(name)); return; } } } }
protected void FillDbTestData() { ApplicationUser testUser = new ApplicationUser { Id = this.TestUserId, UserName = "******" }; _db.Users.Add(testUser); _db.SaveChanges(); BookmarkContainer testContainer = new BookmarkContainer(testUser.Id, "Test Container", 0); _db.BookmarkContainers.Add(testContainer); _db.SaveChanges(); this.TestBookmarkContainer = testContainer; BookmarkGroup testGroup = new BookmarkGroup("Test Group", "#000000", 0, testContainer.BookmarkContainerId); _db.BookmarkGroups.Add(testGroup); _db.SaveChanges(); this.TestBookmarkGroup = testGroup; Bookmark testBookmark = new Bookmark("Test Bookmark", "http://example.com", "Test Notes", 0, testGroup.BookmarkGroupId); _db.Bookmarks.Add(testBookmark); _db.SaveChanges(); this.TestBookmark = testBookmark; }
private static void Load() { using (FileStream file = new FileStream(bookmark_file, FileMode.Open)) { root_group = (BookmarkGroup)serializer.Deserialize(file); } #if DEBUG Console.WriteLine("bookmarks loaded ({0})", root_group.Members.Count); #endif }
// recursively builds combo box private void BuildComboList(BookmarkGroup bookmarks, ArrayList list) { foreach (object i in bookmarks.Members) { if (i is BookmarkGroup) { BuildComboList(i as BookmarkGroup, list); } } list.Add(bookmarks.Name); combo_to_id[bookmarks.Name] = bookmarks.ID; }
/// <summary> Recursively adds a bookmark </summary> public static void AddBookmark(BookmarkGroup bookmarks, string parent_ID, string bookmark_text, string bookmark_url) { if (bookmarks.ID == parent_ID) { bookmarks.Members.Add(new Bookmark(bookmark_text, bookmark_url)); return; } foreach (object i in bookmarks.Members) { if (i is BookmarkGroup) { AddBookmark(((BookmarkGroup)i), parent_ID, bookmark_text, bookmark_url); } } }
/// <summary> Recursively finds a bookmarkbase </summary> public static void GetBookmarkBase(BookmarkGroup bookmarks, string ID, ref BookmarkBase retval) { foreach (object i in bookmarks.Members) { if (((BookmarkBase)i).ID == ID) { retval = i as BookmarkBase; return; } if (i is BookmarkGroup) { GetBookmarkBase((BookmarkGroup)i, ID, ref retval); } } }
void BuildTreeViewHelper(BookmarkGroup bookmarks, TreeIter iter, TreeStore store) { TreeIter tmp_iter; foreach (object i in bookmarks.Members) { if (i is BookmarkGroup) { tmp_iter = store.AppendValues(iter, ((BookmarkGroup)i).Name); iter_to_id[tmp_iter] = ((BookmarkGroup)i).ID; BuildTreeViewHelper((BookmarkGroup)i, tmp_iter, store); } if (i is Bookmark) { tmp_iter = store.AppendValues(iter, ((Bookmark)i).Name); iter_to_id[tmp_iter] = ((Bookmark)i).ID; } } }
public ManageBookmarkDialog(BookmarkGroup bookmarks) { Glade.XML xml = new Glade.XML("browser.glade", "manage_bookmarks_dialog"); xml.Autoconnect(this); iter_to_id = new Hashtable(); root_group = bookmarks; bookmarks_treeview.RulesHint = true; bookmarks_treeview.EnableSearch = true; // treeview handlers bookmarks_treeview.RowExpanded += new Gtk.RowExpandedHandler(on_row_expanded); bookmarks_treeview.Selection.Changed += new EventHandler(on_row_selected); bookmarks_treeview.RowActivated += new Gtk.RowActivatedHandler(on_row_activated); cell_render = new CellRendererText(); cell_render.Edited += new EditedHandler(on_cellrender_edited); cell_render.Editable = true; bookmarks_treeview.AppendColumn("Column 1", cell_render, "text", 0); }
public ManageBookmarkDialog (BookmarkGroup bookmarks) { Glade.XML xml = new Glade.XML ("browser.glade","manage_bookmarks_dialog"); xml.Autoconnect (this); iter_to_id = new Hashtable (); root_group = bookmarks; bookmarks_treeview.RulesHint = true; bookmarks_treeview.EnableSearch = true; // treeview handlers bookmarks_treeview.RowExpanded += new Gtk.RowExpandedHandler (on_row_expanded); bookmarks_treeview.Selection.Changed += new EventHandler (on_row_selected); bookmarks_treeview.RowActivated += new Gtk.RowActivatedHandler (on_row_activated); cell_render = new CellRendererText (); cell_render.Edited += new EditedHandler (on_cellrender_edited); cell_render.Editable = true; bookmarks_treeview.AppendColumn ("Column 1", cell_render,"text",0); }
// static helper methods /// <summary> Recursively deletes a bookmark </summary> public static void DeleteBookmarkBase(BookmarkGroup bookmarks, string ID) { foreach (object i in bookmarks.Members) { if (i is Bookmark) { if (((Bookmark)i).ID == ID) { bookmarks.Members.Remove(i); return; } } else if (i is BookmarkGroup) { if (((BookmarkGroup)i).ID == ID) { bookmarks.Members.Remove(i); return; } DeleteBookmarkBase(((BookmarkGroup)i), ID); } } }
public AddBookmarkDialog(BookmarkGroup root_group) { Glade.XML xml = new Glade.XML("browser.glade", "add_bookmark_dialog"); xml.Autoconnect(this); combo = new Combo(); ArrayList list = new ArrayList(); BuildComboList(root_group, list); combo.PopdownStrings = list.ToArray(typeof(string)) as string[]; combo.AllowEmpty = false; combo.Entry.Editable = false; combo.DisableActivate(); // pusihing widget into hbox hbox37.PackEnd(combo); //combo.Entry.Activated += new EventHandler (on_combo_entry_activated); root = root_group; text = url = String.Empty; }
/// <summary> Recursively adds a bookmark </summary> public static void AddBookmarkGroup (BookmarkGroup bookmarks, string parent_ID, string name) { if (bookmarks.ID == parent_ID) { bookmarks.Members.Add (new BookmarkGroup (name)); return; } foreach (object i in bookmarks.Members) { if (i is BookmarkGroup) AddBookmarkGroup (((BookmarkGroup)i), parent_ID,name); if (i is Bookmark){ if (((Bookmark)i).ID == parent_ID) { bookmarks.Members.Add (new BookmarkGroup (name)); return; } } } }
/// <summary> Recursively adds a bookmark </summary> public static void AddBookmark (BookmarkGroup bookmarks, string parent_ID, string bookmark_text, string bookmark_url) { if ( bookmarks.ID == parent_ID) { bookmarks.Members.Add (new Bookmark (bookmark_text,bookmark_url) ); return; } foreach (object i in bookmarks.Members) { if (i is BookmarkGroup) { AddBookmark (((BookmarkGroup)i), parent_ID,bookmark_text, bookmark_url); } } }
/// <summary> Recursively finds a bookmarkbase </summary> public static void GetBookmarkBase (BookmarkGroup bookmarks, string ID, ref BookmarkBase retval) { foreach (object i in bookmarks.Members) { if (((BookmarkBase)i).ID == ID) { retval = i as BookmarkBase; return; } if (i is BookmarkGroup) GetBookmarkBase ((BookmarkGroup)i,ID,ref retval); } }
// static helper methods /// <summary> Recursively deletes a bookmark </summary> public static void DeleteBookmarkBase (BookmarkGroup bookmarks, string ID) { foreach (object i in bookmarks.Members) { if (i is Bookmark) { if (((Bookmark)i).ID == ID) { bookmarks.Members.Remove (i); return; } } else if (i is BookmarkGroup) { if (((BookmarkGroup)i).ID == ID) { bookmarks.Members.Remove (i); return; } DeleteBookmarkBase (((BookmarkGroup)i), ID); } } }
private static void BuildMenuHelper (Menu menu, BookmarkGroup group) { foreach (object i in group.Members) { if (!(i is BookmarkGroup)) continue; MenuItem item = new MenuItem (((BookmarkGroup)i).Name); item.Activated += on_bookmarkgroup_activated; menu_to_id[item] = ((BookmarkGroup)i).ID; menu.Append (item); Menu m = new Menu (); item.Submenu = m; BuildMenuHelper (m, ((BookmarkGroup)i)); } foreach (object i in group.Members) { if (i is Bookmark) { #if DEBUG Console.WriteLine ("appending bookmark: [" + ((Bookmark)i).Name + "]"); #endif MenuItem item = new MenuItem (((Bookmark)i).Name); menu_to_id[item] = ((Bookmark)i).ID; item.Activated += on_bookmark_activated; menu.Append (item); menu_to_id[item] = ((Bookmark)i).ID; } } }
public async Task <BookmarkGroup?> UpdateBookmarkGroup(string userId, BookmarkGroup bookmarkGroup) { BookmarkGroup?existingGroup = await this.db.BookmarkGroups .SingleOrDefaultAsync(bg => bg.BookmarkGroupId == bookmarkGroup.BookmarkGroupId); if (existingGroup == null) { return(null); } if (!BookmarkOwnershipTools .IsBookmarkGroupOwner(this.db, userId, bookmarkGroup.BookmarkGroupId)) { return(null); } // If it's been moved to a new container if (existingGroup.BookmarkContainerId != bookmarkGroup.BookmarkContainerId && !BookmarkOwnershipTools .IsBookmarkContainerOwner(this.db, userId, bookmarkGroup.BookmarkContainerId)) { return(null); } if (existingGroup.BookmarkContainerId != bookmarkGroup.BookmarkContainerId) { // It's been moved to a different container - shuffle the sort order around List <BookmarkGroup>?oldContainerGroups = await db.BookmarkGroups .Where(bg => bg.BookmarkContainerId == existingGroup.BookmarkContainerId) .Where(bg => bg.SortOrder > existingGroup.SortOrder) .ToListAsync(); oldContainerGroups.ForEach(bg => bg.SortOrder -= 1); List <BookmarkGroup>?newContainerGroups = await db.BookmarkGroups .Where(bg => bg.BookmarkContainerId == bookmarkGroup.BookmarkContainerId) .Where(bg => bg.SortOrder >= bookmarkGroup.SortOrder) .ToListAsync(); newContainerGroups.ForEach(bg => bg.SortOrder += 1); } else if (existingGroup.SortOrder != bookmarkGroup.SortOrder) { // The group was moved within the same container List <BookmarkGroup>?containerGroups = await db.BookmarkGroups .Where(bg => bg.BookmarkContainerId == bookmarkGroup.BookmarkContainerId) .Where(bg => bg.BookmarkGroupId != bookmarkGroup.BookmarkGroupId) .ToListAsync(); containerGroups .Where(bg => bg.SortOrder > existingGroup.SortOrder) .ToList() .ForEach(bg => bg.SortOrder -= 1); containerGroups .Where(bg => bg.SortOrder > bookmarkGroup.SortOrder) .ToList() .ForEach(bg => bg.SortOrder += 1); } this.db.Entry(bookmarkGroup).State = EntityState.Modified; await this.db.SaveChangesAsync(); return(bookmarkGroup); }
// recursively builds combo box private void BuildComboList (BookmarkGroup bookmarks, ArrayList list) { foreach (object i in bookmarks.Members) { if (i is BookmarkGroup) { BuildComboList (i as BookmarkGroup, list); } } list.Add (bookmarks.Name); combo_to_id[bookmarks.Name] = bookmarks.ID; }
void BuildTreeViewHelper (BookmarkGroup bookmarks, TreeIter iter, TreeStore store) { TreeIter tmp_iter; foreach (object i in bookmarks.Members) { if (i is BookmarkGroup) { tmp_iter = store.AppendValues (iter, ((BookmarkGroup)i).Name ); iter_to_id[tmp_iter] = ((BookmarkGroup)i).ID; BuildTreeViewHelper ((BookmarkGroup)i, tmp_iter, store); } if (i is Bookmark) { tmp_iter = store.AppendValues (iter, ((Bookmark)i).Name); iter_to_id[tmp_iter] = ((Bookmark)i).ID; } } }
public static BookmarkGroupDto MapToDto(this BookmarkGroup bookmarkGroup) { return(new BookmarkGroupDto(bookmarkGroup.BookmarkGroupId, bookmarkGroup.Title, bookmarkGroup.Color, bookmarkGroup.SortOrder, bookmarkGroup.BookmarkContainerId, bookmarkGroup.Bookmarks?.Select(b => b.MapToDto()).ToList())); }
private static void Load () { using (FileStream file = new FileStream (bookmark_file,FileMode.Open)) { root_group = (BookmarkGroup)serializer.Deserialize (file); } #if DEBUG Console.WriteLine ("bookmarks loaded ({0})",root_group.Members.Count); #endif }
public AddBookmarkDialog (BookmarkGroup root_group) { Glade.XML xml = new Glade.XML ("browser.glade","add_bookmark_dialog"); xml.Autoconnect (this); combo = new Combo (); ArrayList list = new ArrayList (); BuildComboList (root_group,list); combo.PopdownStrings = list.ToArray (typeof (string)) as string[]; combo.AllowEmpty = false; combo.Entry.Editable = false; combo.DisableActivate (); // pusihing widget into hbox hbox37.PackEnd (combo); //combo.Entry.Activated += new EventHandler (on_combo_entry_activated); root = root_group; text = url = String.Empty; }
public BookmarkManager (Browser browser){ _Browser = browser; #if DEBUG Console.WriteLine ("Bookmark Manager init"); #endif // discovering bookmark file bookmark_file = Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData); bookmark_file = System.IO.Path.Combine (bookmark_file, "monodoc"); bookmark_file = System.IO.Path.Combine (bookmark_file, "bookmarks.xml"); // creating serializer serializer = new XmlSerializer (typeof (BookmarkGroup)); // trying to load saved bookmarks try { Load (); }catch (Exception e) { // no bookmarks found, creating new root root_group = new BookmarkGroup (ROOT_NAME); } current_bookmark_group = ROOT_NAME; menu_to_id = new Hashtable (); BuildMenu (_Browser.bookmarksMenu); }