gui: Watch for clicks on the random button
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
This commit is contained in:
parent
a98443872c
commit
018c4747a2
|
@ -7,11 +7,10 @@
|
|||
|
||||
Gtk::Window *ocarina_init(int *argc, char ***argv)
|
||||
{
|
||||
Gtk::Window *window = connect_wires();
|
||||
audio::init(argc, argv);
|
||||
deck::init();
|
||||
library::init();
|
||||
return window;
|
||||
return connect_wires();
|
||||
}
|
||||
|
||||
#ifndef CONFIG_TEST
|
||||
|
|
19
gui/tabs.cpp
19
gui/tabs.cpp
|
@ -83,7 +83,7 @@ void OcarinaTab::set_size(unsigned int size)
|
|||
/*
|
||||
* Ocarina class definition
|
||||
*/
|
||||
class OcarinaPage : Gtk::VBox {
|
||||
class OcarinaPage : public Gtk::VBox {
|
||||
private:
|
||||
Glib::RefPtr<PlayqueueModel> model;
|
||||
Gtk::Notebook *notebook;
|
||||
|
@ -93,7 +93,6 @@ private:
|
|||
/* Page widgets */
|
||||
Gtk::HBox page_toolbar;
|
||||
Gtk::SearchEntry page_entry;
|
||||
Gtk::ToggleButton page_random;
|
||||
//Gtk::ToggleButton page_repeat;
|
||||
Gtk::ScrolledWindow page_scroll;
|
||||
Gtk::TreeView page_view;
|
||||
|
@ -102,6 +101,8 @@ private:
|
|||
void set_tab_size();
|
||||
|
||||
public:
|
||||
Gtk::ToggleButton page_random;
|
||||
|
||||
OcarinaPage(const std::string &, const std::string &,
|
||||
Playqueue *, unsigned int);
|
||||
~OcarinaPage();
|
||||
|
@ -110,6 +111,7 @@ public:
|
|||
void on_row_inserted(unsigned int);
|
||||
void on_row_deleted(unsigned int);
|
||||
void on_runtime_changed();
|
||||
void on_random_toggled();
|
||||
};
|
||||
|
||||
|
||||
|
@ -129,14 +131,13 @@ OcarinaPage::OcarinaPage(const std::string &name, const std::string &icon,
|
|||
/* Make buttons */
|
||||
if (flags & PQ_RANDOM) {
|
||||
page_random.set_image_from_icon_name("media-playlist-shuffle");
|
||||
page_random.set_active(pq->get_flags() & PQ_RANDOM);
|
||||
page_random.set_active((pq->get_flags() & PQ_RANDOM) != 0);
|
||||
page_toolbar.pack_start(page_random, false, false);
|
||||
page_random.signal_toggled().connect(sigc::mem_fun(*this, &OcarinaPage::on_random_toggled));
|
||||
}
|
||||
|
||||
|
||||
/* Make page content */
|
||||
page_random.set_image_from_icon_name("media-playlist-shuffle");
|
||||
page_random.set_active(pq->get_flags() & PQ_RANDOM);
|
||||
//page_repeat.set_image_from_icon_name("media-playlist-repeat");
|
||||
|
||||
page_view.append_column("#", queue_cols.q_col_track);
|
||||
|
@ -214,6 +215,14 @@ void OcarinaPage::on_runtime_changed()
|
|||
label->set_text(model->queue->get_length_str());
|
||||
}
|
||||
|
||||
void OcarinaPage::on_random_toggled()
|
||||
{
|
||||
if (page_random.get_active())
|
||||
model->queue->set_flag(PQ_RANDOM);
|
||||
else
|
||||
model->queue->unset_flag(PQ_RANDOM);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -25,17 +25,17 @@ static void del_library_track(unsigned int id)
|
|||
|
||||
void deck :: init()
|
||||
{
|
||||
read();
|
||||
library_playqueue.set_flag(PQ_REPEAT);
|
||||
get_callbacks()->on_library_track_add = add_library_track;
|
||||
get_callbacks()->on_library_track_del = del_library_track;
|
||||
get_callbacks()->on_queue_changed = write;
|
||||
read();
|
||||
}
|
||||
|
||||
void deck :: read()
|
||||
{
|
||||
unsigned int num;
|
||||
bool random;
|
||||
int random;
|
||||
std::list<Playqueue>::iterator it;
|
||||
|
||||
if (!deck_file.exists())
|
||||
|
|
Loading…
Reference in New Issue