ocarina: Hide queue when empty
This was something that I did in 4.x, and I like the feature. Who wants to see an empty notebook page?
This commit is contained in:
parent
e983d69322
commit
e987eaa3a4
|
@ -2,8 +2,11 @@
|
|||
#define OCARINA_BODY_H
|
||||
|
||||
#include <ocarina/gtk.h>
|
||||
#include <ocarina/page.h>
|
||||
|
||||
GtkWidget *get_tabs();
|
||||
void add_page(GtkWidget *, GtkWidget *, bool);
|
||||
unsigned int add_page(GtkWidget *, GtkWidget *, bool);
|
||||
void hide_page(unsigned int);
|
||||
void show_page(unsigned int);
|
||||
|
||||
#endif /* OCARINA_BODY_H */
|
||||
|
|
|
@ -18,6 +18,9 @@ class Page
|
|||
void add_footer(GtkWidget *);
|
||||
void remove_header(GtkWidget *);
|
||||
void remove_footer(GtkWidget *);
|
||||
|
||||
void hide();
|
||||
void show();
|
||||
};
|
||||
|
||||
#endif /* OCARINA_PAGE_H */
|
||||
|
|
|
@ -49,3 +49,13 @@ GtkWidget *Page::get_page()
|
|||
{
|
||||
return table;
|
||||
}
|
||||
|
||||
void Page::hide()
|
||||
{
|
||||
gtk_widget_hide(table);
|
||||
}
|
||||
|
||||
void Page::show()
|
||||
{
|
||||
gtk_widget_show(table);
|
||||
}
|
||||
|
|
|
@ -52,8 +52,9 @@ GtkWidget *get_tabs()
|
|||
return tabs;
|
||||
}
|
||||
|
||||
void add_page(GtkWidget *label, GtkWidget *content, bool fill)
|
||||
unsigned int add_page(GtkWidget *label, GtkWidget *content, bool fill)
|
||||
{
|
||||
unsigned int index = pages.size();
|
||||
Page page(content);
|
||||
pages.push_back(page);
|
||||
|
||||
|
@ -65,4 +66,16 @@ void add_page(GtkWidget *label, GtkWidget *content, bool fill)
|
|||
TRUE,
|
||||
GTK_PACK_START);
|
||||
}
|
||||
|
||||
return index;
|
||||
};
|
||||
|
||||
void hide_page(unsigned int index)
|
||||
{
|
||||
pages[index].hide();
|
||||
}
|
||||
|
||||
void show_page(unsigned int index)
|
||||
{
|
||||
pages[index].show();
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ using namespace std;
|
|||
static SongList queue_list;
|
||||
static struct SongListFuncs queue_funcs;
|
||||
static list <MenuItem> queue_menu;
|
||||
unsigned int queue_index;;
|
||||
|
||||
namespace ocarina
|
||||
{
|
||||
|
@ -19,7 +20,11 @@ namespace ocarina
|
|||
void queue::refresh()
|
||||
{
|
||||
queue_list.clear();
|
||||
queue_list.fill();
|
||||
if (libsaria::queue::size() > 0) {
|
||||
queue_list.fill();
|
||||
show_page(queue_index);
|
||||
} else
|
||||
hide_page(queue_index);
|
||||
}
|
||||
|
||||
void queue::init()
|
||||
|
@ -28,7 +33,8 @@ namespace ocarina
|
|||
queue_funcs.size = libsaria::queue::size;
|
||||
|
||||
queue_list.init("Queue", &queue_funcs, &queue_menu);
|
||||
add_page(queue_list.get_label(), queue_list.get_window(), true);
|
||||
queue_index = add_page(queue_list.get_label(),
|
||||
queue_list.get_window(), true);
|
||||
ocarina::queue::refresh();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue