ce8ec63886
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
94 lines
1.9 KiB
C++
94 lines
1.9 KiB
C++
/*
|
|
* 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();
|
|
}
|
|
|
|
|
|
|
|
CollectionLabel :: CollectionLabel(BaseObjectType *cobject,
|
|
const Glib::RefPtr<Gtk::Builder> builder)
|
|
: QueueLabel(cobject, builder)
|
|
{
|
|
_builder->get_widget("collection_size", collection_size);
|
|
}
|
|
|
|
void CollectionLabel :: set_size()
|
|
{
|
|
gchar *size = g_strdup_printf("%u", queue_size(_queue));
|
|
collection_size->set_text(size);
|
|
gui_sidebar_set_size(gui_queue(_queue));
|
|
g_free(size);
|
|
}
|
|
|
|
|
|
|
|
HistoryLabel :: HistoryLabel(BaseObjectType *cobject,
|
|
const Glib::RefPtr<Gtk::Builder> builder)
|
|
: QueueLabel(cobject, builder)
|
|
{
|
|
_builder->get_widget("history_size", history_size);
|
|
}
|
|
|
|
void HistoryLabel :: set_size()
|
|
{
|
|
gchar *size = g_strdup_printf("%u", queue_size(_queue));
|
|
history_size->set_text(size);
|
|
gui_sidebar_set_size(gui_queue(_queue));
|
|
g_free(size);
|
|
}
|
|
|
|
|
|
|
|
PlaylistLabel :: PlaylistLabel(BaseObjectType *cobject,
|
|
const Glib::RefPtr<Gtk::Builder> builder)
|
|
: QueueLabel(cobject, builder)
|
|
{
|
|
}
|
|
|
|
|
|
|
|
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);
|
|
}
|