gui: Set up tab builder from a single place
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
682dca2339
commit
319838138a
|
@ -11,8 +11,6 @@
|
|||
|
||||
class CollectionTab : public Tab {
|
||||
private:
|
||||
Glib::RefPtr<Gtk::Builder> builder;
|
||||
|
||||
CollectionLabel *collection_label;
|
||||
QueueToolbar *collection_toolbar;
|
||||
QueueWindow *collection_window;
|
||||
|
@ -20,14 +18,13 @@ private:
|
|||
public:
|
||||
CollectionTab() : Tab(library::get_queue())
|
||||
{
|
||||
builder = Gtk::Builder::create();
|
||||
builder->add_from_file(gui :: share_file("QueueWindow.ui"));
|
||||
builder->add_from_file(gui :: share_file("QueueToolbar.ui"));
|
||||
builder->add_from_file(gui :: share_file("QueueLabel.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueWindow.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueToolbar.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueLabel.ui"));
|
||||
|
||||
builder->get_widget_derived("CollectionLabel", collection_label);
|
||||
builder->get_widget_derived("QueueToolbar", collection_toolbar);
|
||||
builder->get_widget_derived("QueueWindow", collection_window);
|
||||
tab_builder->get_widget_derived("CollectionLabel", collection_label);
|
||||
tab_builder->get_widget_derived("QueueToolbar", collection_toolbar);
|
||||
tab_builder->get_widget_derived("QueueWindow", collection_window);
|
||||
|
||||
collection_toolbar->init(tab_pq, collection_label, collection_window, T_RANDOM);
|
||||
collection_window->init(tab_pq);
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
|
||||
class HistoryTab : public Tab {
|
||||
private:
|
||||
Glib::RefPtr<Gtk::Builder> builder;
|
||||
|
||||
HistoryLabel *history_label;
|
||||
QueueToolbar *history_toolbar;
|
||||
QueueWindow *history_window;
|
||||
|
@ -19,14 +17,13 @@ private:
|
|||
public:
|
||||
HistoryTab() : Tab(deck :: get_queue())
|
||||
{
|
||||
builder = Gtk::Builder::create();
|
||||
builder->add_from_file(gui :: share_file("QueueWindow.ui"));
|
||||
builder->add_from_file(gui :: share_file("QueueToolbar.ui"));
|
||||
builder->add_from_file(gui :: share_file("QueueLabel.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueWindow.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueToolbar.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueLabel.ui"));
|
||||
|
||||
builder->get_widget_derived("HistoryLabel", history_label);
|
||||
builder->get_widget_derived("QueueToolbar", history_toolbar);
|
||||
builder->get_widget_derived("QueueWindow", history_window);
|
||||
tab_builder->get_widget_derived("HistoryLabel", history_label);
|
||||
tab_builder->get_widget_derived("QueueToolbar", history_toolbar);
|
||||
tab_builder->get_widget_derived("QueueWindow", history_window);
|
||||
|
||||
history_toolbar->init(tab_pq, history_label, history_window, 0);
|
||||
history_window->init(tab_pq);
|
||||
|
|
|
@ -71,7 +71,6 @@ public:
|
|||
|
||||
static class PlaylistTab : public Tab {
|
||||
private:
|
||||
Glib::RefPtr<Gtk::Builder> builder;
|
||||
Gtk::HBox playlist_hbox;
|
||||
|
||||
PlaylistLabel *playlist_label;
|
||||
|
@ -82,16 +81,15 @@ private:
|
|||
public:
|
||||
PlaylistTab() : Tab(playlist :: get_queue())
|
||||
{
|
||||
builder = Gtk::Builder::create();
|
||||
builder->add_from_file(gui :: share_file("QueueWindow.ui"));
|
||||
builder->add_from_file(gui :: share_file("QueueToolbar.ui"));
|
||||
builder->add_from_file(gui :: share_file("QueueLabel.ui"));
|
||||
builder->add_from_file(gui :: share_file("PlaylistWindow.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueWindow.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueToolbar.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueLabel.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("PlaylistWindow.ui"));
|
||||
|
||||
builder->get_widget_derived("PlaylistLabel", playlist_label);
|
||||
builder->get_widget_derived("PlaylistWindow", playlist_window);
|
||||
builder->get_widget_derived("QueueToolbar", playlist_toolbar);
|
||||
builder->get_widget_derived("QueueWindow", playlist_tracks);
|
||||
tab_builder->get_widget_derived("PlaylistLabel", playlist_label);
|
||||
tab_builder->get_widget_derived("PlaylistWindow", playlist_window);
|
||||
tab_builder->get_widget_derived("QueueToolbar", playlist_toolbar);
|
||||
tab_builder->get_widget_derived("QueueWindow", playlist_tracks);
|
||||
|
||||
playlist_toolbar->init(tab_pq, playlist_label, playlist_tracks, 0);
|
||||
playlist_tracks->init(tab_pq);
|
||||
|
|
|
@ -35,8 +35,6 @@ public:
|
|||
|
||||
class QueueTab : public Tab {
|
||||
private:
|
||||
Glib::RefPtr<Gtk::Builder> builder;
|
||||
|
||||
/**
|
||||
* Queue tab widgets
|
||||
*/
|
||||
|
@ -78,15 +76,14 @@ static std::map<Gtk::Widget *, QueueTab *> queue_mapping;
|
|||
QueueTab :: QueueTab(Queue *pq, unsigned int num)
|
||||
: Tab(pq)
|
||||
{
|
||||
builder = Gtk::Builder::create();
|
||||
builder->add_from_file(gui :: share_file("QueueWindow.ui"));
|
||||
builder->add_from_file(gui :: share_file("QueueLabel.ui"));
|
||||
builder->add_from_file(gui :: share_file("QueueToolbar.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueWindow.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueLabel.ui"));
|
||||
tab_builder->add_from_file(gui :: share_file("QueueToolbar.ui"));
|
||||
|
||||
/*
|
||||
* Create our tab widget
|
||||
*/
|
||||
builder->get_widget_derived("TempLabel", q_label);
|
||||
tab_builder->get_widget_derived("TempLabel", q_label);
|
||||
|
||||
q_label->temp_close->signal_clicked().connect(sigc::mem_fun(*this,
|
||||
&QueueTab::on_close_clicked));
|
||||
|
@ -98,14 +95,14 @@ QueueTab :: QueueTab(Queue *pq, unsigned int num)
|
|||
/*
|
||||
* And the treeview with scrolled window
|
||||
*/
|
||||
builder->get_widget_derived("QueueWindow", q_window);
|
||||
tab_builder->get_widget_derived("QueueWindow", q_window);
|
||||
q_window->init(pq);
|
||||
|
||||
|
||||
/*
|
||||
* Now set up the toolbar
|
||||
*/
|
||||
builder->get_widget_derived("QueueToolbar", q_toolbar);
|
||||
tab_builder->get_widget_derived("QueueToolbar", q_toolbar);
|
||||
q_toolbar->init(pq, q_label, q_window, T_RANDOM | T_REPEAT | T_SWITCH);
|
||||
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ Tab :: Tab(Queue *pq)
|
|||
pq->set_notifier(this);
|
||||
queue_mapping[tab_pq] = this;
|
||||
|
||||
tab_builder = Gtk::Builder::create();
|
||||
|
||||
tab_vbox.set_margin_start(1);
|
||||
tab_vbox.set_margin_end(1);
|
||||
tab_vbox.set_homogeneous(false);
|
||||
|
|
|
@ -14,6 +14,7 @@ private:
|
|||
std::string tab_sorting_title;
|
||||
|
||||
protected:
|
||||
Glib::RefPtr<Gtk::Builder> tab_builder;
|
||||
Queue *tab_pq;
|
||||
Gtk::VBox tab_vbox;
|
||||
|
||||
|
|
Loading…
Reference in New Issue