gui: Remove old Tab and QueueTab code
Now that nothing uses it Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
c0a6c663d1
commit
e97939a9cd
|
@ -4,5 +4,5 @@ Import("env")
|
||||||
env.UsePackage("gtkmm-3.0")
|
env.UsePackage("gtkmm-3.0")
|
||||||
env.UsePackage("gmodule-export-2.0")
|
env.UsePackage("gmodule-export-2.0")
|
||||||
|
|
||||||
res = Glob("*.c") + Glob("*.cpp") + SConscript("queue/Sconscript")
|
res = Glob("*.c") + Glob("*.cpp")
|
||||||
Return("res")
|
Return("res")
|
||||||
|
|
|
@ -16,7 +16,6 @@ extern "C" {
|
||||||
#include <gui/window.h>
|
#include <gui/window.h>
|
||||||
}
|
}
|
||||||
#include <gui/ocarina.h>
|
#include <gui/ocarina.h>
|
||||||
#include <gui/tabs.h>
|
|
||||||
|
|
||||||
|
|
||||||
static std::string ocarina_dir = "";
|
static std::string ocarina_dir = "";
|
||||||
|
@ -77,18 +76,14 @@ int main(int argc, char **argv)
|
||||||
gui_playlist_init();
|
gui_playlist_init();
|
||||||
gui_audio_init();
|
gui_audio_init();
|
||||||
|
|
||||||
init_tabs();
|
|
||||||
post_init_tabs();
|
|
||||||
|
|
||||||
window = Glib :: wrap(GTK_WINDOW(gui_builder_widget("o_window")), false);
|
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->signal_window_removed().connect(sigc::ptr_fun(on_window_removed));
|
||||||
ocarina_app->run(*window, argc, argv);
|
ocarina_app->run(*window, argc, argv);
|
||||||
|
|
||||||
core_deinit();
|
core_deinit();
|
||||||
cleanup_tabs();
|
|
||||||
gui_window_deinit();
|
gui_window_deinit();
|
||||||
gui_settings_deinit();
|
gui_settings_deinit();
|
||||||
//gui_builder_deinit();
|
gui_builder_deinit();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/usr/bin/python
|
|
||||||
res = Glob("*.cpp")
|
|
||||||
Return("res")
|
|
|
@ -1,51 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2015 (c) Anna Schumaker.
|
|
||||||
*/
|
|
||||||
extern "C" {
|
|
||||||
#include <core/string.h>
|
|
||||||
#include <gui/sidebar.h>
|
|
||||||
}
|
|
||||||
#include <gui/queue/label.h>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QueueLabel :: QueueLabel(BaseObjectType *cobject,
|
|
||||||
const Glib::RefPtr<Gtk::Builder> builder)
|
|
||||||
: Gtk::HBox(cobject), _builder(builder)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
QueueLabel :: ~QueueLabel()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void QueueLabel :: init(queue *queue)
|
|
||||||
{
|
|
||||||
_queue = queue;
|
|
||||||
set_size();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TempLabel :: TempLabel(BaseObjectType *cobject,
|
|
||||||
const Glib::RefPtr<Gtk::Builder> 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);
|
|
||||||
}
|
|
|
@ -1,38 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2015 (c) Anna Schumaker.
|
|
||||||
*/
|
|
||||||
extern "C" {
|
|
||||||
#include <core/audio.h>
|
|
||||||
#include <core/filter.h>
|
|
||||||
#include <gui/model.h>
|
|
||||||
#include <gui/queue.h>
|
|
||||||
}
|
|
||||||
#include <gui/queue/window.h>
|
|
||||||
|
|
||||||
QueueWindow :: QueueWindow(BaseObjectType *cobject,
|
|
||||||
const Glib::RefPtr<Gtk::Builder> 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;
|
|
||||||
}
|
|
|
@ -1,205 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2014 (c) Anna Schumaker.
|
|
||||||
*/
|
|
||||||
extern "C" {
|
|
||||||
#include <core/string.h>
|
|
||||||
#include <core/tempq.h>
|
|
||||||
#include <gui/builder.h>
|
|
||||||
#include <gui/sidebar.h>
|
|
||||||
}
|
|
||||||
#include <gui/tabs.h>
|
|
||||||
#include <gui/queue/label.h>
|
|
||||||
|
|
||||||
|
|
||||||
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<unsigned int> q_col_track;
|
|
||||||
Gtk::TreeModelColumn<std::string> q_col_title;
|
|
||||||
Gtk::TreeModelColumn<std::string> q_col_length;
|
|
||||||
Gtk::TreeModelColumn<std::string> q_col_artist;
|
|
||||||
Gtk::TreeModelColumn<std::string> q_col_album;
|
|
||||||
Gtk::TreeModelColumn<unsigned int> q_col_year;
|
|
||||||
Gtk::TreeModelColumn<std::string> q_col_genre;
|
|
||||||
Gtk::TreeModelColumn<unsigned int> q_col_count;
|
|
||||||
Gtk::TreeModelColumn<std::string> q_col_played;
|
|
||||||
Gtk::TreeModelColumn<std::string> 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<Gtk::Widget *, QueueTab *> 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<Gtk::Widget *, QueueTab *>::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<Gtk::Widget *, QueueTab *>::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);
|
|
||||||
}
|
|
159
gui/tabs.cpp
159
gui/tabs.cpp
|
@ -1,159 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2014 (c) Anna Schumaker.
|
|
||||||
*/
|
|
||||||
extern "C" {
|
|
||||||
#include <core/collection.h>
|
|
||||||
#include <core/playlist.h>
|
|
||||||
#include <core/string.h>
|
|
||||||
#include <core/tempq.h>
|
|
||||||
#include <gui/builder.h>
|
|
||||||
#include <gui/queue.h>
|
|
||||||
#include <gui/sidebar.h>
|
|
||||||
}
|
|
||||||
#include <gui/tabs.h>
|
|
||||||
|
|
||||||
#include <map>
|
|
||||||
#include <sstream>
|
|
||||||
|
|
||||||
|
|
||||||
static std::map<queue *, Tab *> 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<queue *, Tab *>::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;
|
|
||||||
}
|
|
|
@ -4,7 +4,6 @@
|
||||||
#ifndef OCARINA_H
|
#ifndef OCARINA_H
|
||||||
#define OCARINA_H
|
#define OCARINA_H
|
||||||
|
|
||||||
#include <core/queue.h>
|
|
||||||
#include <gtkmm.h>
|
#include <gtkmm.h>
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,8 +13,5 @@ namespace gui
|
||||||
const std::string share_file(const std::string &);
|
const std::string share_file(const std::string &);
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_pq_created(queue *, unsigned int);
|
|
||||||
void post_init_queue_tabs();
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* OCARINA_H */
|
#endif /* OCARINA_H */
|
||||||
|
|
|
@ -1,67 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2014 (c) Anna Schumaker.
|
|
||||||
*/
|
|
||||||
#ifndef OCARINA_TABS_H
|
|
||||||
#define OCARINA_TABS_H
|
|
||||||
|
|
||||||
#include <gui/ocarina.h>
|
|
||||||
#include <gui/queue/label.h>
|
|
||||||
#include <gui/queue/window.h>
|
|
||||||
#include <core/playlist.h>
|
|
||||||
#include <core/queue.h>
|
|
||||||
|
|
||||||
class Tab {
|
|
||||||
private:
|
|
||||||
unsigned int tab_sorting_count;
|
|
||||||
std::string tab_sorting_title;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
Glib::RefPtr<Gtk::Builder> 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 */
|
|
|
@ -1,209 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!-- Generated with glade 3.18.3 -->
|
|
||||||
<interface>
|
|
||||||
<requires lib="gtk+" version="3.12"/>
|
|
||||||
<object class="GtkBox" id="CollectionLabel">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="spacing">5</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage" id="image1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="icon_name">media-optical</property>
|
|
||||||
<property name="icon_size">1</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="box1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel" id="label1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="label" translatable="yes"><big>Collection</big></property>
|
|
||||||
<property name="use_markup">True</property>
|
|
||||||
<property name="justify">center</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel" id="collection_size">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="label" translatable="yes">0</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">True</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<object class="GtkBox" id="HistoryLabel">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="spacing">5</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage" id="image2">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="icon_name">document-open-recent</property>
|
|
||||||
<property name="icon_size">1</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="box2">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel" id="label2">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="label" translatable="yes"><big>History</big></property>
|
|
||||||
<property name="use_markup">True</property>
|
|
||||||
<property name="justify">center</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">True</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel" id="history_size">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="label" translatable="yes">0</property>
|
|
||||||
<property name="justify">center</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">True</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">True</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<object class="GtkBox" id="PlaylistLabel">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="spacing">5</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage" id="image3">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="icon_name">emblem-documents</property>
|
|
||||||
<property name="icon_size">1</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel" id="label3">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="label" translatable="yes">Playlist
|
|
||||||
Manager</property>
|
|
||||||
<property name="justify">center</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">True</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<object class="GtkBox" id="TempLabel">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel" id="temp_number">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="label" translatable="yes">0. </property>
|
|
||||||
<property name="ellipsize">end</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<attributes>
|
|
||||||
<attribute name="scale" value="1.4399999999999999"/>
|
|
||||||
</attributes>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel" id="temp_size">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="label" translatable="yes">4242</property>
|
|
||||||
<property name="justify">center</property>
|
|
||||||
<property name="angle">0.01</property>
|
|
||||||
<attributes>
|
|
||||||
<attribute name="scale" value="1.4399999999999999"/>
|
|
||||||
</attributes>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">True</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="temp_close">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">True</property>
|
|
||||||
<property name="relief">none</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage" id="image4">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="icon_name">window-close</property>
|
|
||||||
<property name="icon_size">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">2</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</interface>
|
|
Loading…
Reference in New Issue