gui: Queue tabs now have a search bar
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
This commit is contained in:
parent
83a2908eb6
commit
34de6874ff
|
@ -10,21 +10,28 @@
|
||||||
class QueueTab : public Tab {
|
class QueueTab : public Tab {
|
||||||
private:
|
private:
|
||||||
/**
|
/**
|
||||||
* Queue tab variables
|
* Queue tab widgets
|
||||||
*/
|
*/
|
||||||
Gtk::HBox q_tab_box;
|
Gtk::HBox q_tab_box;
|
||||||
Gtk::Label q_tab_number;
|
Gtk::Label q_tab_number;
|
||||||
Gtk::Label q_tab_size;
|
Gtk::Label q_tab_size;
|
||||||
Gtk::Button q_tab_close;
|
Gtk::Button q_tab_close;
|
||||||
Gtk::Image q_tab_close_img;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Queue page variables
|
* Queue page widgets
|
||||||
*/
|
*/
|
||||||
Gtk::ToggleButton q_random;
|
Gtk::VBox q_vbox;
|
||||||
|
|
||||||
|
/* Toolbar widgets */
|
||||||
|
Gtk::HBox q_toolbar_box;
|
||||||
Gtk::SearchEntry q_search;
|
Gtk::SearchEntry q_search;
|
||||||
Gtk::TreeView q_treeview;
|
Gtk::ToggleButton q_random;
|
||||||
Gtk::VBox q_vbox;
|
Gtk::ToggleButton q_repeat;
|
||||||
|
|
||||||
|
/* Treeview widgets */
|
||||||
|
Gtk::ScrolledWindow q_window;
|
||||||
|
Gtk::TreeView q_treeview;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QueueTab(Playqueue *, unsigned int num);
|
QueueTab(Playqueue *, unsigned int num);
|
||||||
|
@ -54,16 +61,18 @@ QueueTab :: QueueTab(Playqueue *pq, unsigned int num)
|
||||||
/*
|
/*
|
||||||
* Create our tab widget
|
* Create our tab widget
|
||||||
*/
|
*/
|
||||||
q_tab_close_img.set_from_icon_name("window-close", Gtk::ICON_SIZE_MENU);
|
q_tab_number.set_alignment(0, 0.5);
|
||||||
q_tab_close.set_image(q_tab_close_img);
|
|
||||||
q_tab_close.set_relief(Gtk::RELIEF_NONE);
|
|
||||||
q_tab_close.signal_clicked().connect(sigc::mem_fun(*this,
|
|
||||||
&QueueTab::on_close_clicked));
|
|
||||||
q_tab_size.set_justify(Gtk::JUSTIFY_CENTER);
|
q_tab_size.set_justify(Gtk::JUSTIFY_CENTER);
|
||||||
|
|
||||||
q_tab_box.pack_start(q_tab_number, false, false);
|
q_tab_close.set_image_from_icon_name("window-close", Gtk::ICON_SIZE_MENU);
|
||||||
|
q_tab_close.set_relief(Gtk::RELIEF_NONE);
|
||||||
|
q_tab_close.set_alignment(1, 0.5);
|
||||||
|
q_tab_close.signal_clicked().connect(sigc::mem_fun(*this,
|
||||||
|
&QueueTab::on_close_clicked));
|
||||||
|
|
||||||
|
q_tab_box.pack_start(q_tab_number, false, true);
|
||||||
q_tab_box.pack_start(q_tab_size, true, true);
|
q_tab_box.pack_start(q_tab_size, true, true);
|
||||||
q_tab_box.pack_start(q_tab_close, false, false);
|
q_tab_box.pack_start(q_tab_close, false, true);
|
||||||
|
|
||||||
tab_set_size();
|
tab_set_size();
|
||||||
queue_set_number(num);
|
queue_set_number(num);
|
||||||
|
@ -71,7 +80,44 @@ QueueTab :: QueueTab(Playqueue *pq, unsigned int num)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Finish generic init
|
* Now set up the toolbar
|
||||||
|
*/
|
||||||
|
q_repeat.set_image_from_icon_name("media-playlist-repeat", Gtk::ICON_SIZE_BUTTON);
|
||||||
|
q_random.set_image_from_icon_name("media-playlist-shuffle", Gtk::ICON_SIZE_BUTTON);
|
||||||
|
|
||||||
|
q_toolbar_box.set_margin_left(5);
|
||||||
|
q_toolbar_box.set_margin_right(5);
|
||||||
|
q_toolbar_box.set_spacing(5);
|
||||||
|
q_toolbar_box.set_homogeneous(false);
|
||||||
|
|
||||||
|
q_toolbar_box.pack_start(q_search, true, true);
|
||||||
|
q_toolbar_box.pack_start(q_repeat, false, true);
|
||||||
|
q_toolbar_box.pack_start(q_random, false, true);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* And the treeview with scrolled window
|
||||||
|
*/
|
||||||
|
q_window.set_shadow_type(Gtk::SHADOW_IN);
|
||||||
|
q_window.set_margin_left(5);
|
||||||
|
q_window.set_margin_right(5);
|
||||||
|
q_window.set_margin_bottom(5);
|
||||||
|
q_window.add(q_treeview);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Fill in the page!
|
||||||
|
*/
|
||||||
|
|
||||||
|
q_vbox.set_margin_left(1);
|
||||||
|
q_vbox.set_margin_right(1);
|
||||||
|
q_vbox.set_homogeneous(false);
|
||||||
|
q_vbox.pack_start(q_toolbar_box, false, true, 2);
|
||||||
|
q_vbox.pack_start(q_window, true, true);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set generic tab widgets
|
||||||
*/
|
*/
|
||||||
|
|
||||||
tab_random = &q_random;
|
tab_random = &q_random;
|
||||||
|
|
50
gui/tabs.cpp
50
gui/tabs.cpp
|
@ -498,56 +498,6 @@ public:
|
||||||
void on_focus_search();
|
void on_focus_search();
|
||||||
};
|
};
|
||||||
|
|
||||||
void OcarinaPage::setup_common(Playqueue *pq, unsigned int pg)
|
|
||||||
{
|
|
||||||
get_builder()->get_widget("o_notebook", notebook);
|
|
||||||
model = Glib::RefPtr<PlayqueueModel>(new PlayqueueModel(pq));
|
|
||||||
filter = Gtk::TreeModelFilter::create(model);
|
|
||||||
filter->set_visible_func(sigc::mem_fun(*this,
|
|
||||||
&OcarinaPage::on_filter_visible));
|
|
||||||
|
|
||||||
set_margin_left(1);
|
|
||||||
set_margin_right(1);
|
|
||||||
set_spacing(1);
|
|
||||||
|
|
||||||
setup_treeview();
|
|
||||||
pack_start(page_viewbox);
|
|
||||||
show_all();
|
|
||||||
*/
|
|
||||||
/* Add to notebook */
|
|
||||||
/* notebook->insert_page(*this, *tab, pg);
|
|
||||||
tab_map[pq] = this;
|
|
||||||
set_tab_size();
|
|
||||||
}
|
|
||||||
|
|
||||||
void OcarinaPage::setup_toolbar()
|
|
||||||
{
|
|
||||||
page_toolbar.set_spacing(5);
|
|
||||||
page_toolbar.pack_start(page_entry);
|
|
||||||
page_toolbar.set_margin_left(5);
|
|
||||||
page_toolbar.set_margin_right(5);
|
|
||||||
*/
|
|
||||||
/* Set up entry */
|
|
||||||
/* page_entry.set_margin_top(5);
|
|
||||||
page_entry.set_margin_bottom(5);
|
|
||||||
page_entry.signal_changed().connect(sigc::mem_fun(*this,
|
|
||||||
&OcarinaPage::on_entry_changed));
|
|
||||||
page_entry.signal_key_release_event().connect(sigc::mem_fun(*this,
|
|
||||||
&OcarinaPage::on_entry_key_released));
|
|
||||||
*/
|
|
||||||
/* Make buttons */
|
|
||||||
/* if (init_flags & PQ_RANDOM) {
|
|
||||||
page_random.set_image_from_icon_name("media-playlist-shuffle");
|
|
||||||
page_toolbar.pack_start(page_random, false, false);
|
|
||||||
}
|
|
||||||
if (init_flags & PQ_REPEAT) {
|
|
||||||
page_repeat.set_image_from_icon_name("media-playlist-repeat");
|
|
||||||
page_toolbar.pack_start(page_repeat, false, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
pack_start(page_toolbar, false, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OcarinaPage::setup_treeview()
|
void OcarinaPage::setup_treeview()
|
||||||
{*/
|
{*/
|
||||||
/* Make page content */
|
/* Make page content */
|
||||||
|
|
Loading…
Reference in New Issue