summaryrefslogtreecommitdiff
path: root/src/searches/Branch.vala
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2018-05-01 14:34:32 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2018-05-01 14:34:32 +0200
commit49120f48474fc8fdc2448c75d961bc238213cfac (patch)
tree05bcdb95d65a807cf0f1ffffd066c09074b5cf56 /src/searches/Branch.vala
parent2492891f112caac6076ce49721d9d5d78a152c3a (diff)
New upstream version 0.28.2upstream/0.28.2
Diffstat (limited to 'src/searches/Branch.vala')
-rw-r--r--src/searches/Branch.vala137
1 files changed, 0 insertions, 137 deletions
diff --git a/src/searches/Branch.vala b/src/searches/Branch.vala
deleted file mode 100644
index 3b54acf..0000000
--- a/src/searches/Branch.vala
+++ /dev/null
@@ -1,137 +0,0 @@
-/* Copyright 2016 Software Freedom Conservancy Inc.
- *
- * This software is licensed under the GNU LGPL (version 2.1 or later).
- * See the COPYING file in this distribution.
- */
-
-public class Searches.Branch : Sidebar.Branch {
- private Gee.HashMap<SavedSearch, Searches.SidebarEntry> entry_map =
- new Gee.HashMap<SavedSearch, Searches.SidebarEntry>();
-
- public Branch() {
- base (new Searches.Header(),
- Sidebar.Branch.Options.HIDE_IF_EMPTY
- | Sidebar.Branch.Options.AUTO_OPEN_ON_NEW_CHILD
- | Sidebar.Branch.Options.STARTUP_EXPAND_TO_FIRST_CHILD,
- comparator);
-
- // seed the branch with existing searches
- foreach (SavedSearch search in SavedSearchTable.get_instance().get_all())
- on_saved_search_added(search);
-
- // monitor collection for future events
- SavedSearchTable.get_instance().search_added.connect(on_saved_search_added);
- SavedSearchTable.get_instance().search_removed.connect(on_saved_search_removed);
- }
-
- ~Branch() {
- SavedSearchTable.get_instance().search_added.disconnect(on_saved_search_added);
- SavedSearchTable.get_instance().search_removed.disconnect(on_saved_search_removed);
- }
-
- public Searches.SidebarEntry? get_entry_for_saved_search(SavedSearch search) {
- return entry_map.get(search);
- }
-
- private static int comparator(Sidebar.Entry a, Sidebar.Entry b) {
- if (a == b)
- return 0;
-
- return SavedSearch.compare_names(((Searches.SidebarEntry) a).for_saved_search(),
- ((Searches.SidebarEntry) b).for_saved_search());
- }
-
- private void on_saved_search_added(SavedSearch search) {
- debug("search added");
- Searches.SidebarEntry entry = new Searches.SidebarEntry(search);
- entry_map.set(search, entry);
- graft(get_root(), entry);
- }
-
- private void on_saved_search_removed(SavedSearch search) {
- debug("search removed");
- Searches.SidebarEntry? entry = entry_map.get(search);
- assert(entry != null);
-
- bool is_removed = entry_map.unset(search);
- assert(is_removed);
-
- prune(entry);
- }
-}
-
-public class Searches.Header : Sidebar.Header, Sidebar.Contextable {
- private Gtk.Builder builder;
- private Gtk.Menu? context_menu = null;
-
- public Header() {
- base (_("Saved Searches"));
- setup_context_menu();
- }
-
- private void setup_context_menu() {
- this.builder = new Gtk.Builder ();
- try {
- this.builder.add_from_resource(Resources.get_ui("search_sidebar_context.ui"));
- var model = builder.get_object ("popup-menu") as GLib.MenuModel;
- this.context_menu = new Gtk.Menu.from_model (model);
- } catch (Error error) {
- AppWindow.error_message("Error loading UI resource: %s".printf(
- error.message));
- Application.get_instance().panic();
- }
- }
-
- public Gtk.Menu? get_sidebar_context_menu(Gdk.EventButton? event) {
- return context_menu;
- }
-}
-
-public class Searches.SidebarEntry : Sidebar.SimplePageEntry, Sidebar.RenameableEntry,
- Sidebar.DestroyableEntry {
- private static string single_search_icon = "edit-find";
-
- private SavedSearch search;
-
- public SidebarEntry(SavedSearch search) {
- this.search = search;
- }
-
- internal static void init() {
- }
-
- internal static void terminate() {
- }
-
- public SavedSearch for_saved_search() {
- return search;
- }
-
- public override string get_sidebar_name() {
- return search.get_name();
- }
-
- public override string? get_sidebar_icon() {
- return single_search_icon;
- }
-
- protected override Page create_page() {
- return new SavedSearchPage(search);
- }
-
- public bool is_user_renameable() {
- return true;
- }
-
- public void rename(string new_name) {
- if (!SavedSearchTable.get_instance().exists(new_name))
- AppWindow.get_command_manager().execute(new RenameSavedSearchCommand(search, new_name));
- else if (new_name != search.get_name())
- AppWindow.error_message(Resources.rename_search_exists_message(new_name));
- }
-
- public void destroy_source() {
- if (Dialogs.confirm_delete_saved_search(search))
- AppWindow.get_command_manager().execute(new DeleteSavedSearchCommand(search));
- }
-}