From e97939a9cd3c04be892e10ab05fbda259c64176e Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Thu, 21 Jan 2016 11:37:56 -0500 Subject: [PATCH] gui: Remove old Tab and QueueTab code Now that nothing uses it Signed-off-by: Anna Schumaker --- gui/Sconscript | 2 +- gui/ocarina.cpp | 7 +- gui/queue/Sconscript | 3 - gui/queue/label.cpp | 51 --------- gui/queue/window.cpp | 38 ------- gui/queue_tab.cpp | 205 ----------------------------------- gui/tabs.cpp | 159 --------------------------- include/gui/ocarina.h | 4 - include/gui/tabs.h | 67 ------------ share/ocarina/QueueLabel.ui | 209 ------------------------------------ 10 files changed, 2 insertions(+), 743 deletions(-) delete mode 100644 gui/queue/Sconscript delete mode 100644 gui/queue/label.cpp delete mode 100644 gui/queue/window.cpp delete mode 100644 gui/queue_tab.cpp delete mode 100644 gui/tabs.cpp delete mode 100644 include/gui/tabs.h delete mode 100644 share/ocarina/QueueLabel.ui diff --git a/gui/Sconscript b/gui/Sconscript index 63e623c5..e09d27f9 100644 --- a/gui/Sconscript +++ b/gui/Sconscript @@ -4,5 +4,5 @@ Import("env") env.UsePackage("gtkmm-3.0") env.UsePackage("gmodule-export-2.0") -res = Glob("*.c") + Glob("*.cpp") + SConscript("queue/Sconscript") +res = Glob("*.c") + Glob("*.cpp") Return("res") diff --git a/gui/ocarina.cpp b/gui/ocarina.cpp index 73a4921b..0deef0db 100644 --- a/gui/ocarina.cpp +++ b/gui/ocarina.cpp @@ -16,7 +16,6 @@ extern "C" { #include } #include -#include static std::string ocarina_dir = ""; @@ -77,18 +76,14 @@ int main(int argc, char **argv) gui_playlist_init(); gui_audio_init(); - init_tabs(); - post_init_tabs(); - window = Glib :: wrap(GTK_WINDOW(gui_builder_widget("o_window")), false); ocarina_app->signal_window_removed().connect(sigc::ptr_fun(on_window_removed)); ocarina_app->run(*window, argc, argv); core_deinit(); - cleanup_tabs(); gui_window_deinit(); gui_settings_deinit(); - //gui_builder_deinit(); + gui_builder_deinit(); return 0; } diff --git a/gui/queue/Sconscript b/gui/queue/Sconscript deleted file mode 100644 index 10f42567..00000000 --- a/gui/queue/Sconscript +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/python -res = Glob("*.cpp") -Return("res") diff --git a/gui/queue/label.cpp b/gui/queue/label.cpp deleted file mode 100644 index 56b93bde..00000000 --- a/gui/queue/label.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2015 (c) Anna Schumaker. - */ -extern "C" { -#include -#include -} -#include - - - -QueueLabel :: QueueLabel(BaseObjectType *cobject, - const Glib::RefPtr builder) - : Gtk::HBox(cobject), _builder(builder) -{ -} - -QueueLabel :: ~QueueLabel() -{ -} - -void QueueLabel :: init(queue *queue) -{ - _queue = queue; - set_size(); -} - - - -TempLabel :: TempLabel(BaseObjectType *cobject, - const Glib::RefPtr builder) - : QueueLabel(cobject, builder) -{ - _builder->get_widget("temp_number", temp_number); - _builder->get_widget("temp_size", temp_size); - _builder->get_widget("temp_close", temp_close); -} - -void TempLabel :: set_sensitive(bool sensitive) -{ - temp_number->set_sensitive(sensitive); - temp_size->set_sensitive(sensitive); -} - -void TempLabel :: set_size() -{ - gchar *size = g_strdup_printf("%u", queue_size(_queue)); - temp_size->set_text(size); - gui_sidebar_set_size(gui_queue(_queue)); - g_free(size); -} diff --git a/gui/queue/window.cpp b/gui/queue/window.cpp deleted file mode 100644 index b8f11276..00000000 --- a/gui/queue/window.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2015 (c) Anna Schumaker. - */ -extern "C" { -#include -#include -#include -#include -} -#include - -QueueWindow :: QueueWindow(BaseObjectType *cobject, - const Glib::RefPtr builder) - : Gtk::ScrolledWindow(cobject), _builder(builder) -{ - _builder->get_widget("q_treeview", q_treeview); -} - -QueueWindow :: ~QueueWindow() -{ -} - -void QueueWindow :: init(queue *queue) -{ - GtkTreeModel *model = GTK_TREE_MODEL(gui_queue(queue)->gq_model); - - q_treeview->signal_key_press_event().connect(sigc::mem_fun(*this, - &QueueWindow :: on_key_press), false); - gtk_tree_view_set_model(q_treeview->gobj(), model); -} - -bool QueueWindow :: on_key_press(GdkEventKey *event) -{ - std::string key = gdk_keyval_name(event->keyval); - if (key == "space") - return true; - return false; -} diff --git a/gui/queue_tab.cpp b/gui/queue_tab.cpp deleted file mode 100644 index 8765a216..00000000 --- a/gui/queue_tab.cpp +++ /dev/null @@ -1,205 +0,0 @@ -/* - * Copyright 2014 (c) Anna Schumaker. - */ -extern "C" { -#include -#include -#include -#include -} -#include -#include - - -static void renumber_queues(); - -static class QueueColumns : public Gtk::TreeModelColumnRecord { -public: - QueueColumns() - { add(q_col_track); add(q_col_title); add(q_col_length); - add(q_col_artist); add(q_col_album); add(q_col_year); - add(q_col_genre); add(q_col_count); add(q_col_played); - add(q_col_path); } - - Gtk::TreeModelColumn q_col_track; - Gtk::TreeModelColumn q_col_title; - Gtk::TreeModelColumn q_col_length; - Gtk::TreeModelColumn q_col_artist; - Gtk::TreeModelColumn q_col_album; - Gtk::TreeModelColumn q_col_year; - Gtk::TreeModelColumn q_col_genre; - Gtk::TreeModelColumn q_col_count; - Gtk::TreeModelColumn q_col_played; - Gtk::TreeModelColumn q_col_path; -} queue_cols; - - - -class QueueTab : public Tab { -private: - /** - * Queue tab widgets - */ - TempLabel *q_label; - -public: - QueueTab(queue *, unsigned int num); - ~QueueTab(); - - void on_track_removed(unsigned int); - - /** - * Helper functions - */ - bool on_key_press_event(const std::string &); - void queue_set_number(unsigned int); - void on_tab_reordered(); - void on_move_queue(int); - - /** - * GTK-MM Callbacks - */ - void on_close_clicked(); -}; - -static std::map queue_mapping; - - -QueueTab :: QueueTab(queue *pq, unsigned int num) - : Tab(pq) -{ - Gtk::Notebook *notebook; - - tab_builder->add_from_file(gui :: share_file("QueueLabel.ui")); - - /* - * Create our tab widget - */ - tab_builder->get_widget_derived("TempLabel", q_label); - - q_label->temp_close->signal_clicked().connect(sigc::mem_fun(*this, - &QueueTab::on_close_clicked)); - q_label->init(tab_pq); - tab_label = q_label; - - queue_set_number(num); - - - /* - * Fill in the page! - */ - - tab_vbox.pack_start(*tab_window, true, true); - - queue_mapping[&tab_vbox] = this; - - notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false); - notebook->insert_page(tab_vbox, *q_label, num); - notebook->set_tab_reorderable(tab_vbox); -} - -QueueTab :: ~QueueTab() -{ - tab_window->q_treeview->unset_model(); - queue_mapping.erase(&tab_vbox); - tab_unmap(); - gui_sidebar_remove(gui_queue(tab_pq)); - Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false)->remove_page(tab_vbox); - renumber_queues(); -} - -void QueueTab :: on_track_removed(unsigned int row) -{ - this->Tab :: on_track_removed(row); - if (queue_size(tab_pq) == 0) - delete this; -} - - - -/** - * - * Queue tab helper functions - * - */ - -void QueueTab :: queue_set_number(unsigned int num) -{ - gchar *text = g_strdup_printf("%u. ", num); - q_label->temp_number->set_text(text); - g_free(text); -} - -void QueueTab :: on_tab_reordered() -{ - queue_set_number(tab_page_num()); -} - -void QueueTab :: on_move_queue(int num) -{ - tempq_move(tab_pq, num); -} - - - -/** - * - * Gtk-MM Callback Functions - * - */ - -void QueueTab :: on_close_clicked() -{ - tempq_free(tab_pq); - delete this; -} - - - -/** - * - * Global functions - * - */ -static void renumber_queues() -{ - std::map::iterator it; - for (it = queue_mapping.begin(); it != queue_mapping.end(); it++) - it->second->on_tab_reordered(); -} - -void on_pq_created(queue *pq, unsigned int num) -{ - new QueueTab(pq, num); -} - -static void on_page_reordered(Gtk::Widget *page, int num) -{ - Gtk::Notebook *notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false); - - if ((unsigned int)num >= tempq_count()) { - notebook->reorder_child(*page, tempq_count() - 1); - return; - } - - std::map::iterator it; - it = queue_mapping.find(page); - if (it != queue_mapping.end()) { - it->second->on_move_queue(num); - renumber_queues(); - } -} - -void init_queue_tabs() -{ - Gtk::Notebook *notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false); - notebook->signal_page_reordered().connect(sigc::ptr_fun(on_page_reordered)); -} - -void post_init_queue_tabs() -{ - unsigned int i; - - for (i = 0; i < tempq_count(); i++) - on_pq_created(tempq_get(i), i); -} diff --git a/gui/tabs.cpp b/gui/tabs.cpp deleted file mode 100644 index e252936b..00000000 --- a/gui/tabs.cpp +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright 2014 (c) Anna Schumaker. - */ -extern "C" { -#include -#include -#include -#include -#include -#include -#include -} -#include - -#include -#include - - -static std::map queue_mapping; - -/** - * - * Tab class basics - * - */ - -Tab :: Tab(queue *pq) - : tab_sorting_count(0), tab_pq(pq), tab_label(NULL) -{ - queue_mapping[tab_pq] = this; - - tab_builder = Gtk::Builder::create(); - tab_builder->add_from_file(gui :: share_file("QueueWindow.ui")); - tab_builder->get_widget_derived("QueueWindow", tab_window); - - tab_window->init(tab_pq); - - tab_vbox.set_margin_start(1); - tab_vbox.set_margin_end(1); - tab_vbox.set_homogeneous(false); - tab_vbox.show(); -} - -Tab :: ~Tab() {} - - -/** - * - * QNotifier implementation. - * - */ - -void Tab :: on_track_added(unsigned int row) -{ - tab_label->set_size(); -} - -void Tab :: on_track_removed(unsigned int row) -{ - tab_label->set_size(); -} - - -/** - * - * Tab internal helper functions - * - */ - -int Tab :: tab_page_num() -{ - Gtk::Notebook *notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false); - return notebook->page_num(tab_vbox); -} - -bool Tab :: tab_is_cur() -{ - Gtk::Notebook *notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false); - return notebook->page_num(tab_vbox) == notebook->get_current_page(); -} - -void Tab :: tab_unmap() -{ - queue_mapping.erase(tab_pq); -} - - - -/** - * - * Global functions - * - */ - -Tab *find_tab(queue *pq) -{ - std::map::iterator it; - it = queue_mapping.find(pq); - if (it != queue_mapping.end()) - return it->second; - return NULL; -} - -static bool on_window_key_pressed(GdkEventKey *event) -{ - Gtk::Notebook *notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false); - std::string key = gdk_keyval_name(event->keyval); - - if (key.size() >= 3) { - if (key.substr(0, 3) == "KP_") - key = key.substr(3); - } - - if (key >= "0" && key <= "9") { - unsigned int n = atoi(key.c_str()); - if (n < tempq_count()) - notebook->set_current_page(n); - } else if (key == "c") - notebook->set_current_page(tempq_count()); - else if (key == "h") - notebook->set_current_page(tempq_count() + 1); - else if (key == "m") - notebook->set_current_page(tempq_count() + 3); - else if (key == "p") - notebook->set_current_page(tempq_count() + 2); - else - return false; - return true; -} - - -void init_tabs() -{ - Gtk::Window *window = Glib :: wrap(GTK_WINDOW(gui_builder_widget("o_window")), false); - - /* Initialize other tabs */ - init_queue_tabs(); - - /* Setup keyboard shortcuts */ - window->signal_key_press_event().connect(sigc::ptr_fun(on_window_key_pressed)); -} - -void post_init_tabs() -{ - post_init_queue_tabs(); - - unsigned int tab = 0; - for (tab = 0; tab < tempq_count(); tab++) { - if (queue_has_flag(tempq_get(tab), Q_ENABLED)) - break; - } - Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false)->set_current_page(tab); -} - -void cleanup_tabs() -{ - while (queue_mapping.size() > 0) - delete queue_mapping.begin()->second; -} diff --git a/include/gui/ocarina.h b/include/gui/ocarina.h index 5abc9e16..9d6fd52e 100644 --- a/include/gui/ocarina.h +++ b/include/gui/ocarina.h @@ -4,7 +4,6 @@ #ifndef OCARINA_H #define OCARINA_H -#include #include @@ -14,8 +13,5 @@ namespace gui const std::string share_file(const std::string &); } -void on_pq_created(queue *, unsigned int); -void post_init_queue_tabs(); - #endif /* OCARINA_H */ diff --git a/include/gui/tabs.h b/include/gui/tabs.h deleted file mode 100644 index a12c6ca1..00000000 --- a/include/gui/tabs.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2014 (c) Anna Schumaker. - */ -#ifndef OCARINA_TABS_H -#define OCARINA_TABS_H - -#include -#include -#include -#include -#include - -class Tab { -private: - unsigned int tab_sorting_count; - std::string tab_sorting_title; - -protected: - Glib::RefPtr tab_builder; - queue *tab_pq; - Gtk::VBox tab_vbox; - - QueueLabel *tab_label; - - /** - * Class helper functions - */ - void tab_unmap(); - -public: - QueueWindow *tab_window; - Tab(queue *); - virtual ~Tab(); - - /** - * QNotifier implementation - */ - void on_track_added(unsigned int); - virtual void on_track_removed(unsigned int); - void on_tracks_cleared(unsigned int); - void on_track_updated(unsigned int); - - /** - * More helper functions - */ - int tab_page_num(); - bool tab_is_cur(); - void tab_runtime_changed(); - void tab_focus_search(); - - /** - * GTK-MM callback functions - */ - void on_column_clicked(unsigned int); -}; - - -Tab *find_tab(queue *); -void tab_focus_search(); -void init_tabs(); -void post_init_tabs(); -void cleanup_tabs(); - - -void init_queue_tabs(); - -#endif /* OCARINA_TABS_H */ diff --git a/share/ocarina/QueueLabel.ui b/share/ocarina/QueueLabel.ui deleted file mode 100644 index e1750e80..00000000 --- a/share/ocarina/QueueLabel.ui +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - True - False - 5 - - - True - False - media-optical - 1 - - - False - True - 0 - - - - - True - False - vertical - - - True - False - <big>Collection</big> - True - center - - - False - True - 0 - - - - - True - False - 0 - - - False - True - 1 - - - - - True - True - 1 - - - - - True - False - 5 - - - True - False - document-open-recent - 1 - - - False - True - 0 - - - - - True - False - vertical - - - True - False - <big>History</big> - True - center - - - True - True - 0 - - - - - True - False - 0 - center - - - True - True - 1 - - - - - True - True - 1 - - - - - True - False - 5 - - - True - False - emblem-documents - 1 - - - False - True - 0 - - - - - True - False - Playlist -Manager - center - - - True - True - 1 - - - - - True - False - - - True - False - 0. - end - 0 - - - - - - False - True - 0 - - - - - True - False - 4242 - center - 0.01 - - - - - - True - True - 1 - - - - - True - True - True - none - - - True - False - window-close - 1 - - - - - False - True - 2 - - - -