gui: Add to queue menu items
This commit finishes my tab rewrite. Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
This commit is contained in:
parent
239c03b1ac
commit
9b0499b3ce
175
gui/tabs.cpp
175
gui/tabs.cpp
|
@ -250,6 +250,28 @@ bool Tab :: on_key_press_event(const std::string &key)
|
||||||
|
|
||||||
void Tab :: on_show_rc_menu()
|
void Tab :: on_show_rc_menu()
|
||||||
{
|
{
|
||||||
|
std::string item;
|
||||||
|
unsigned int size = deck :: size();
|
||||||
|
|
||||||
|
if (size == 0) {
|
||||||
|
get_widget<Gtk::MenuItem>("o_add_to_pq")->hide();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
get_widget<Gtk::MenuItem>("o_add_to_pq")->show();
|
||||||
|
|
||||||
|
if (size == 10)
|
||||||
|
get_widget<Gtk::MenuItem>("o_new_pq")->hide();
|
||||||
|
else
|
||||||
|
get_widget<Gtk::MenuItem>("o_new_pq")->show();
|
||||||
|
|
||||||
|
for (unsigned int i = 0; i < 10; i++) {
|
||||||
|
item = "o_pq_";
|
||||||
|
item += '0' + i;
|
||||||
|
if (i < size)
|
||||||
|
get_widget<Gtk::MenuItem>(item)->show();
|
||||||
|
else
|
||||||
|
get_widget<Gtk::MenuItem>(item)->hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -446,6 +468,20 @@ static void on_add_to_banned()
|
||||||
tab->tab_ban_selected();
|
tab->tab_ban_selected();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void on_add_to_queue(unsigned int n)
|
||||||
|
{
|
||||||
|
Tab *tab = cur_tab();
|
||||||
|
if (tab)
|
||||||
|
tab->tab_add_to_queue(n);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void init_menu_item(const std::string &pq, unsigned int n)
|
||||||
|
|
||||||
|
{
|
||||||
|
get_widget<Gtk::MenuItem>(pq)->signal_activate().connect(
|
||||||
|
sigc::bind<unsigned int> (sigc::ptr_fun(on_add_to_queue), n));
|
||||||
|
}
|
||||||
|
|
||||||
void init_tabs()
|
void init_tabs()
|
||||||
{
|
{
|
||||||
struct Callbacks *cb = get_callbacks();
|
struct Callbacks *cb = get_callbacks();
|
||||||
|
@ -465,6 +501,11 @@ void init_tabs()
|
||||||
sigc::ptr_fun(on_add_to_favs));
|
sigc::ptr_fun(on_add_to_favs));
|
||||||
get_widget<Gtk::MenuItem>("o_add_to_banned")->signal_activate().connect(
|
get_widget<Gtk::MenuItem>("o_add_to_banned")->signal_activate().connect(
|
||||||
sigc::ptr_fun(on_add_to_banned));
|
sigc::ptr_fun(on_add_to_banned));
|
||||||
|
for (unsigned int i = 0; i < 10; i++) {
|
||||||
|
std::string pq = "o_pq_";
|
||||||
|
pq += '0' + i;
|
||||||
|
init_menu_item(pq, i);
|
||||||
|
}
|
||||||
|
|
||||||
/* Initialize other tabs */
|
/* Initialize other tabs */
|
||||||
init_collection_tab();
|
init_collection_tab();
|
||||||
|
@ -485,137 +526,3 @@ void cleanup_tabs()
|
||||||
while (queue_mapping.size() > 0)
|
while (queue_mapping.size() > 0)
|
||||||
delete queue_mapping.begin()->second;
|
delete queue_mapping.begin()->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Mostly legacy code ....
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*class OcarinaPage;
|
|
||||||
static std::map<Playqueue *, OcarinaPage *> tab_map;
|
|
||||||
static std::list<TabType *> tab_types;
|
|
||||||
|
|
||||||
|
|
||||||
static Gtk::Widget *get_menu_widget(const std::string &name)
|
|
||||||
{
|
|
||||||
Gtk::Widget *widget;
|
|
||||||
get_builder()->get_widget(name, widget);
|
|
||||||
return widget;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void prepare_rc_menu()
|
|
||||||
{
|
|
||||||
unsigned int size = deck::size();
|
|
||||||
*/
|
|
||||||
/* Set widgets visible */
|
|
||||||
/* switch (size) {
|
|
||||||
case 10:
|
|
||||||
get_menu_widget("o_pq_9")->show();
|
|
||||||
case 9:
|
|
||||||
get_menu_widget("o_pq_8")->show();
|
|
||||||
case 8:
|
|
||||||
get_menu_widget("o_pq_7")->show();
|
|
||||||
case 7:
|
|
||||||
get_menu_widget("o_pq_6")->show();
|
|
||||||
case 6:
|
|
||||||
get_menu_widget("o_pq_5")->show();
|
|
||||||
case 5:
|
|
||||||
get_menu_widget("o_pq_4")->show();
|
|
||||||
case 4:
|
|
||||||
get_menu_widget("o_pq_3")->show();
|
|
||||||
case 3:
|
|
||||||
get_menu_widget("o_pq_2")->show();
|
|
||||||
case 2:
|
|
||||||
get_menu_widget("o_pq_1")->show();
|
|
||||||
case 1:
|
|
||||||
get_menu_widget("o_pq_0")->show();
|
|
||||||
get_menu_widget("o_add_to_pq")->show();
|
|
||||||
default:
|
|
||||||
if (size != 10)
|
|
||||||
get_menu_widget("o_new_pq")->show();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
/* Set widgets invisible */
|
|
||||||
/* switch (size) {
|
|
||||||
case 0:
|
|
||||||
get_menu_widget("o_add_to_pq")->hide();
|
|
||||||
get_menu_widget("o_pq_0")->hide();
|
|
||||||
case 1:
|
|
||||||
get_menu_widget("o_pq_1")->hide();
|
|
||||||
case 2:
|
|
||||||
get_menu_widget("o_pq_2")->hide();
|
|
||||||
case 3:
|
|
||||||
get_menu_widget("o_pq_3")->hide();
|
|
||||||
case 4:
|
|
||||||
get_menu_widget("o_pq_4")->hide();
|
|
||||||
case 5:
|
|
||||||
get_menu_widget("o_pq_5")->hide();
|
|
||||||
case 6:
|
|
||||||
get_menu_widget("o_pq_6")->hide();
|
|
||||||
case 7:
|
|
||||||
get_menu_widget("o_pq_7")->hide();
|
|
||||||
case 8:
|
|
||||||
get_menu_widget("o_pq_8")->hide();
|
|
||||||
case 9:
|
|
||||||
get_menu_widget("o_pq_9")->hide();
|
|
||||||
break;
|
|
||||||
case 10:
|
|
||||||
get_menu_widget("o_new_pq")->hide();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
bool OcarinaPage::on_view_button_pressed(GdkEventButton *button)
|
|
||||||
{
|
|
||||||
Gtk::Menu *menu;
|
|
||||||
get_builder()->get_widget("o_rc_menu", menu);
|
|
||||||
|
|
||||||
if (button->button != 3)
|
|
||||||
return false;
|
|
||||||
prepare_rc_menu();
|
|
||||||
menu->popup(button->button, button->time);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Do stuff with tabs
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
static void init_menu_item(const std::string &name, unsigned int num)
|
|
||||||
{
|
|
||||||
Glib::RefPtr<Gtk::MenuItem>menu = Glib::RefPtr<Gtk::MenuItem>::cast_static(get_builder()->get_object(name));
|
|
||||||
menu->signal_activate().connect(sigc::bind<unsigned int> (
|
|
||||||
sigc::ptr_fun(on_add_to_queue), num));
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
void init_tabs()
|
|
||||||
{
|
|
||||||
Gtk::Notebook *notebook;
|
|
||||||
get_builder()->get_widget("o_notebook", notebook);
|
|
||||||
|
|
||||||
get_callbacks()->on_queue_track_changed = on_track_changed;
|
|
||||||
|
|
||||||
*/
|
|
||||||
/*Glib::RefPtr<Gtk::MenuItem> new_pq = Glib::RefPtr<Gtk::MenuItem>::cast_static(get_builder()->get_object("o_new_pq"));
|
|
||||||
new_pq->signal_activate().connect(sigc::ptr_fun(on_new_queue));
|
|
||||||
|
|
||||||
init_menu_item("o_pq_0", 0);
|
|
||||||
init_menu_item("o_pq_1", 1);
|
|
||||||
init_menu_item("o_pq_2", 2);
|
|
||||||
init_menu_item("o_pq_3", 3);
|
|
||||||
init_menu_item("o_pq_4", 4);
|
|
||||||
init_menu_item("o_pq_5", 5);
|
|
||||||
init_menu_item("o_pq_6", 6);
|
|
||||||
init_menu_item("o_pq_7", 7);
|
|
||||||
init_menu_item("o_pq_8", 8);
|
|
||||||
init_menu_item("o_pq_9", 9);*/
|
|
||||||
/*
|
|
||||||
|
|
||||||
notebook->signal_page_reordered().connect(sigc::ptr_fun(on_page_reordered));
|
|
||||||
notebook->set_current_page(0);
|
|
||||||
}*/
|
|
||||||
|
|
Loading…
Reference in New Issue