gui/sidebar: Switch over to using the new gui queues
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
f098811a28
commit
ce8ec63886
|
@ -38,7 +38,7 @@ void CollectionLabel :: set_size()
|
||||||
{
|
{
|
||||||
gchar *size = g_strdup_printf("%u", queue_size(_queue));
|
gchar *size = g_strdup_printf("%u", queue_size(_queue));
|
||||||
collection_size->set_text(size);
|
collection_size->set_text(size);
|
||||||
gui_sidebar_set_size(_queue);
|
gui_sidebar_set_size(gui_queue(_queue));
|
||||||
g_free(size);
|
g_free(size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ void HistoryLabel :: set_size()
|
||||||
{
|
{
|
||||||
gchar *size = g_strdup_printf("%u", queue_size(_queue));
|
gchar *size = g_strdup_printf("%u", queue_size(_queue));
|
||||||
history_size->set_text(size);
|
history_size->set_text(size);
|
||||||
gui_sidebar_set_size(_queue);
|
gui_sidebar_set_size(gui_queue(_queue));
|
||||||
g_free(size);
|
g_free(size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,6 +88,6 @@ void TempLabel :: set_size()
|
||||||
{
|
{
|
||||||
gchar *size = g_strdup_printf("%u", queue_size(_queue));
|
gchar *size = g_strdup_printf("%u", queue_size(_queue));
|
||||||
temp_size->set_text(size);
|
temp_size->set_text(size);
|
||||||
gui_sidebar_set_size(_queue);
|
gui_sidebar_set_size(gui_queue(_queue));
|
||||||
g_free(size);
|
g_free(size);
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,7 +108,7 @@ QueueTab :: ~QueueTab()
|
||||||
{
|
{
|
||||||
queue_mapping.erase(&tab_vbox);
|
queue_mapping.erase(&tab_vbox);
|
||||||
tab_unmap();
|
tab_unmap();
|
||||||
gui_sidebar_remove(tab_pq);
|
gui_sidebar_remove(gui_queue(tab_pq));
|
||||||
Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false)->remove_page(tab_vbox);
|
Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false)->remove_page(tab_vbox);
|
||||||
renumber_queues();
|
renumber_queues();
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include <core/queue.h>
|
#include <core/queue.h>
|
||||||
#include <core/tempq.h>
|
#include <core/tempq.h>
|
||||||
#include <gui/builder.h>
|
#include <gui/builder.h>
|
||||||
|
#include <gui/queue.h>
|
||||||
#include <gui/settings.h>
|
#include <gui/settings.h>
|
||||||
#include <gui/sidebar.h>
|
#include <gui/sidebar.h>
|
||||||
|
|
||||||
|
@ -33,20 +34,20 @@ static void __sidebar_set_size(GtkTreeIter *iter, const gchar *name,
|
||||||
g_free(text);
|
g_free(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __sidebar_set_queue(GtkTreeIter *iter, struct queue *queue)
|
static void __sidebar_set_queue(GtkTreeIter *iter, struct gui_queue *queue)
|
||||||
{
|
{
|
||||||
gtk_list_store_set(sb_store, iter, SB_QUEUE, queue, -1);
|
gtk_list_store_set(sb_store, iter, SB_QUEUE, queue, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct queue *__sidebar_get_queue(GtkTreeIter *iter)
|
static struct gui_queue *__sidebar_get_queue(GtkTreeIter *iter)
|
||||||
{
|
{
|
||||||
struct queue *queue;
|
struct gui_queue *queue;
|
||||||
|
|
||||||
gtk_tree_model_get(GTK_TREE_MODEL(sb_store), iter, SB_QUEUE, &queue, -1);
|
gtk_tree_model_get(GTK_TREE_MODEL(sb_store), iter, SB_QUEUE, &queue, -1);
|
||||||
return queue;
|
return queue;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool __sidebar_find_queue(struct queue *queue, GtkTreeIter *iter)
|
static bool __sidebar_find_queue(struct gui_queue *queue, GtkTreeIter *iter)
|
||||||
{
|
{
|
||||||
gtk_tree_model_get_iter_first(GTK_TREE_MODEL(sb_store), iter);
|
gtk_tree_model_get_iter_first(GTK_TREE_MODEL(sb_store), iter);
|
||||||
|
|
||||||
|
@ -68,7 +69,7 @@ bool __sidebar_keypress(GtkTreeView *treeview, GdkEventKey *event, gpointer data
|
||||||
GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview);
|
GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview);
|
||||||
GtkNotebook *notebook = GTK_NOTEBOOK(gui_builder_widget("o_notebook"));
|
GtkNotebook *notebook = GTK_NOTEBOOK(gui_builder_widget("o_notebook"));
|
||||||
GtkTreeModel *model = GTK_TREE_MODEL(sb_store);
|
GtkTreeModel *model = GTK_TREE_MODEL(sb_store);
|
||||||
struct queue *queue;
|
struct gui_queue *queue;
|
||||||
unsigned int page;
|
unsigned int page;
|
||||||
GtkTreePath *path;
|
GtkTreePath *path;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
|
@ -84,10 +85,10 @@ bool __sidebar_keypress(GtkTreeView *treeview, GdkEventKey *event, gpointer data
|
||||||
queue = __sidebar_get_queue(&iter);
|
queue = __sidebar_get_queue(&iter);
|
||||||
page = gtk_tree_path_get_indices(path)[0];
|
page = gtk_tree_path_get_indices(path)[0];
|
||||||
|
|
||||||
if (tempq_index(queue) == -1)
|
if (tempq_index(queue->gq_queue) == -1)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
tempq_free(queue);
|
tempq_free(queue->gq_queue);
|
||||||
gtk_list_store_remove(sb_store, &iter);
|
gtk_list_store_remove(sb_store, &iter);
|
||||||
gtk_notebook_remove_page(notebook, page);
|
gtk_notebook_remove_page(notebook, page);
|
||||||
|
|
||||||
|
@ -130,13 +131,13 @@ void gui_sidebar_init()
|
||||||
sb_store = GTK_LIST_STORE(gui_builder_object("o_sidebar_store"));
|
sb_store = GTK_LIST_STORE(gui_builder_object("o_sidebar_store"));
|
||||||
|
|
||||||
gtk_tree_model_get_iter_first(GTK_TREE_MODEL(sb_store), &iter);
|
gtk_tree_model_get_iter_first(GTK_TREE_MODEL(sb_store), &iter);
|
||||||
__sidebar_set_queue(&iter, collection_get_queue());
|
__sidebar_set_queue(&iter, gui_queue(collection_get_queue()));
|
||||||
|
|
||||||
gtk_tree_model_iter_next(GTK_TREE_MODEL(sb_store), &iter);
|
gtk_tree_model_iter_next(GTK_TREE_MODEL(sb_store), &iter);
|
||||||
__sidebar_set_queue(&iter, history_get_queue());
|
__sidebar_set_queue(&iter, gui_queue(history_get_queue()));
|
||||||
|
|
||||||
for (i = 0; i < tempq_count(); i++)
|
for (i = 0; i < tempq_count(); i++)
|
||||||
gui_sidebar_add(tempq_get(i));
|
gui_sidebar_add(gui_queue(tempq_get(i)));
|
||||||
|
|
||||||
/* Set sidebar width. */
|
/* Set sidebar width. */
|
||||||
pos = gui_settings_get(SIDEBAR_SETTING);
|
pos = gui_settings_get(SIDEBAR_SETTING);
|
||||||
|
@ -161,13 +162,14 @@ void gui_sidebar_selected(enum sidebar_selection_t selected)
|
||||||
__sidebar_deselect("o_sidebar_view");
|
__sidebar_deselect("o_sidebar_view");
|
||||||
}
|
}
|
||||||
|
|
||||||
void gui_sidebar_add(struct queue *queue)
|
void gui_sidebar_add(struct gui_queue *queue)
|
||||||
{
|
{
|
||||||
const gchar *text = "<big>Queued Tracks</big>\n0 tracks";
|
const gchar *text = "<big>Queued Tracks</big>\n0 tracks";
|
||||||
GtkTreeIter iter, sibling;
|
GtkTreeIter iter, sibling;
|
||||||
|
|
||||||
gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(sb_store),
|
gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(sb_store),
|
||||||
&sibling, NULL, tempq_index(queue));
|
&sibling, NULL,
|
||||||
|
tempq_index(queue->gq_queue));
|
||||||
|
|
||||||
gtk_list_store_insert_before(sb_store, &iter, &sibling);
|
gtk_list_store_insert_before(sb_store, &iter, &sibling);
|
||||||
gtk_list_store_set(sb_store, &iter, SB_IMAGE, "audio-x-generic",
|
gtk_list_store_set(sb_store, &iter, SB_IMAGE, "audio-x-generic",
|
||||||
|
@ -176,28 +178,19 @@ void gui_sidebar_add(struct queue *queue)
|
||||||
SB_QUEUE, queue, -1);
|
SB_QUEUE, queue, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void gui_sidebar_remove(struct queue *queue)
|
void gui_sidebar_remove(struct gui_queue *queue)
|
||||||
{
|
{
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
|
|
||||||
if (!__sidebar_find_queue(queue, &iter))
|
if (__sidebar_find_queue(queue, &iter))
|
||||||
return;
|
gtk_list_store_remove(sb_store, &iter);
|
||||||
|
|
||||||
gtk_list_store_remove(sb_store, &iter);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void gui_sidebar_set_size(struct queue *queue)
|
void gui_sidebar_set_size(struct gui_queue *queue)
|
||||||
{
|
{
|
||||||
const gchar *name = "Queued Tracks";
|
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
|
|
||||||
if (!__sidebar_find_queue(queue, &iter))
|
if (__sidebar_find_queue(queue, &iter))
|
||||||
return;
|
__sidebar_set_size(&iter, queue->gq_text,
|
||||||
|
queue_size(queue->gq_queue));
|
||||||
if (queue == collection_get_queue())
|
|
||||||
name = "Collection";
|
|
||||||
else if (queue == history_get_queue())
|
|
||||||
name = "History";
|
|
||||||
|
|
||||||
__sidebar_set_size(&iter, name, queue_size(queue));
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -222,7 +222,7 @@ bool Tab :: tab_queue_selected(bool random)
|
||||||
|
|
||||||
queue *pq = tempq_alloc(&tempq_ops, flags);
|
queue *pq = tempq_alloc(&tempq_ops, flags);
|
||||||
on_pq_created(pq, tempq_count() - 1);
|
on_pq_created(pq, tempq_count() - 1);
|
||||||
gui_sidebar_add(pq);
|
gui_sidebar_add(gui_queue(pq));
|
||||||
tab_queue_add(pq);
|
tab_queue_add(pq);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#ifndef OCARINA_GUI_SIDEBAR_H
|
#ifndef OCARINA_GUI_SIDEBAR_H
|
||||||
#define OCARINA_GUI_SIDEBAR_H
|
#define OCARINA_GUI_SIDEBAR_H
|
||||||
|
|
||||||
|
#include <gui/queue.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
enum sidebar_selection_t {
|
enum sidebar_selection_t {
|
||||||
|
@ -23,12 +24,12 @@ gboolean gui_sidebar_on_select(GtkTreeSelection *, GtkTreeModel *,
|
||||||
void gui_sidebar_selected(enum sidebar_selection_t);
|
void gui_sidebar_selected(enum sidebar_selection_t);
|
||||||
|
|
||||||
/* Called to add a queue to the sidebar. */
|
/* Called to add a queue to the sidebar. */
|
||||||
void gui_sidebar_add(struct queue *);
|
void gui_sidebar_add(struct gui_queue *);
|
||||||
|
|
||||||
/* Called to remove a queue from the sidebar. */
|
/* Called to remove a queue from the sidebar. */
|
||||||
void gui_sidebar_remove(struct queue *);
|
void gui_sidebar_remove(struct gui_queue *);
|
||||||
|
|
||||||
/* Called to set the size of sidebar entries. */
|
/* Called to set the size of sidebar entries. */
|
||||||
void gui_sidebar_set_size(struct queue *);
|
void gui_sidebar_set_size(struct gui_queue *);
|
||||||
|
|
||||||
#endif /* OCARINA_GUI_SIDEBAR_H */
|
#endif /* OCARINA_GUI_SIDEBAR_H */
|
||||||
|
|
|
@ -48,11 +48,11 @@ static void test_treeview()
|
||||||
|
|
||||||
test_equal(gtk_tree_model_get_iter_first(model, &iter), true);
|
test_equal(gtk_tree_model_get_iter_first(model, &iter), true);
|
||||||
gtk_tree_model_get(model, &iter, 3, &queue, -1);
|
gtk_tree_model_get(model, &iter, 3, &queue, -1);
|
||||||
test_equal((void *)queue, (void *)collection_get_queue());
|
test_equal((void *)queue, (void *)gui_queue(collection_get_queue()));
|
||||||
|
|
||||||
test_equal(gtk_tree_model_iter_next(model, &iter), true);
|
test_equal(gtk_tree_model_iter_next(model, &iter), true);
|
||||||
gtk_tree_model_get(model, &iter, 3, &queue, -1);
|
gtk_tree_model_get(model, &iter, 3, &queue, -1);
|
||||||
test_equal((void *)queue, (void *)history_get_queue());
|
test_equal((void *)queue, (void *)gui_queue(history_get_queue()));
|
||||||
|
|
||||||
test_equal(gtk_tree_model_iter_next(model, &iter), false);
|
test_equal(gtk_tree_model_iter_next(model, &iter), false);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue