From 319838138ad75775c11675d37a71b6a474a5c3f8 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Sun, 19 Apr 2015 09:24:25 -0400 Subject: [PATCH] gui: Set up tab builder from a single place Signed-off-by: Anna Schumaker --- gui/collection.cpp | 15 ++++++--------- gui/history.cpp | 15 ++++++--------- gui/playlist.cpp | 18 ++++++++---------- gui/queue.cpp | 15 ++++++--------- gui/tabs.cpp | 2 ++ include/gui/tabs.h | 1 + 6 files changed, 29 insertions(+), 37 deletions(-) diff --git a/gui/collection.cpp b/gui/collection.cpp index 9679c41e..804a8929 100644 --- a/gui/collection.cpp +++ b/gui/collection.cpp @@ -11,8 +11,6 @@ class CollectionTab : public Tab { private: - Glib::RefPtr 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); diff --git a/gui/history.cpp b/gui/history.cpp index 5676ad55..b0f7e004 100644 --- a/gui/history.cpp +++ b/gui/history.cpp @@ -10,8 +10,6 @@ class HistoryTab : public Tab { private: - Glib::RefPtr 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); diff --git a/gui/playlist.cpp b/gui/playlist.cpp index 1b6c535c..6b1d3c8a 100644 --- a/gui/playlist.cpp +++ b/gui/playlist.cpp @@ -71,7 +71,6 @@ public: static class PlaylistTab : public Tab { private: - Glib::RefPtr 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); diff --git a/gui/queue.cpp b/gui/queue.cpp index 55cc1e51..d41ccf51 100644 --- a/gui/queue.cpp +++ b/gui/queue.cpp @@ -35,8 +35,6 @@ public: class QueueTab : public Tab { private: - Glib::RefPtr builder; - /** * Queue tab widgets */ @@ -78,15 +76,14 @@ static std::map 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); diff --git a/gui/tabs.cpp b/gui/tabs.cpp index 115153d0..884e578c 100644 --- a/gui/tabs.cpp +++ b/gui/tabs.cpp @@ -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); diff --git a/include/gui/tabs.h b/include/gui/tabs.h index 40c4c09f..e5343e21 100644 --- a/include/gui/tabs.h +++ b/include/gui/tabs.h @@ -14,6 +14,7 @@ private: std::string tab_sorting_title; protected: + Glib::RefPtr tab_builder; Queue *tab_pq; Gtk::VBox tab_vbox;