/* * Copyright 2014 (c) Anna Schumaker. */ #include #include #include #include class CollectionTab : public Tab { private: CollectionLabel *collection_label; public: CollectionTab() : Tab(library::get_queue()) { tab_builder->add_from_file(gui :: share_file("QueueLabel.ui")); tab_builder->get_widget_derived("CollectionLabel", collection_label); tab_toolbar->init(tab_pq, collection_label, tab_window, T_RANDOM); collection_label->init(tab_pq); tab_label = collection_label; tab_vbox.pack_start(*tab_window, true, true); gui :: get_widget("o_notebook")->insert_page(tab_vbox, *collection_label, 0); } ~CollectionTab() { tab_unmap(); } bool on_key_press_event(const std::string &key) { std::vector ids; if (key != "Delete") return Tab :: on_key_press_event(key); tab_selected_ids(ids); for (unsigned int i = 0; i < ids.size(); i++) playlist :: add(tags :: get_track(ids[i]), "Banned"); return true; } }; static CollectionTab *collection_tab; void init_collection_tab() { collection_tab = new CollectionTab; }