diff --git a/Sconstruct b/Sconstruct index 4251f4b8..9153a0c6 100644 --- a/Sconstruct +++ b/Sconstruct @@ -39,5 +39,5 @@ def list_dirs(directory): dirs = [x[0] for x in os.walk(directory)] return [Glob(dir + "/*.cpp") for dir in dirs] -ocarina=env.Program('ocarina.bin', list_dirs('libsaria') + list_dirs('gui')) +ocarina=env.Program('ocarina.bin', list_dirs('libsaria') + list_dirs('ocarina')) Clean(ocarina, "include/version.h") diff --git a/gui/ocarina.cpp b/gui/ocarina.cpp deleted file mode 100644 index 9a0eb444..00000000 --- a/gui/ocarina.cpp +++ /dev/null @@ -1,64 +0,0 @@ - -#include -#include -#include -#include -#include -#include - -void ocarina_init(int argc, char **argv) -{ - GtkWidget *open; - GtkWidget *rewind; - GtkWidget *forward; - GtkWidget *play; - GtkWidget *pause; - GtkWidget *stop; - GtkWidget *volume; - GtkWidget *hbox; - - window_init(); - window_title("Ocarina " + vers_str()); - window_icon("images/ocarina.png"); - - hbox = gtk_hbox_new(FALSE, 0); - open = make_open_button(); - rewind = make_rewind_button(); - forward = make_forward_button(); - play = make_play_button(); - pause = make_pause_button(); - stop = make_stop_button(); - volume = make_volume_button(); - - box_pack_start(hbox, open, FALSE, FALSE, 0); - box_pack_start(hbox, rewind, FALSE, FALSE, 0); - box_pack_start(hbox, forward, FALSE, FALSE, 0); - box_pack_start(hbox, play, FALSE, FALSE, 0); - box_pack_start(hbox, pause, FALSE, FALSE, 0); - box_pack_start(hbox, stop, FALSE, FALSE, 0); - box_pack_start(hbox, volume, FALSE, FALSE, 0); - gtk_widget_show(hbox); - window_add(hbox); -} - -void ocarina_quit() -{ - gtk_main_quit(); -} - -int main(int argc, char **argv) -{ - print("Ocarina 5.0"); - - libsaria_init(argc, argv); - setup_callbacks(); - gtk_init(&argc, &argv); - ocarina_init(argc, argv); - - if (argc > 1) - libsaria_get()->load(argv[1]); - - gtk_main(); - libsaria_quit(); - return 0; -} diff --git a/include/ocarina/footer.h b/include/ocarina/footer.h new file mode 100644 index 00000000..8b8f4e81 --- /dev/null +++ b/include/ocarina/footer.h @@ -0,0 +1,8 @@ +#ifndef OCARINA_FOOTER +#define OCARINA_FOOTER + +#include + +GtkWidget *get_tiny_footer(); + +#endif /* OCARINA_FOOTER */ diff --git a/gui/buttons/button.cpp b/ocarina/buttons/button.cpp similarity index 100% rename from gui/buttons/button.cpp rename to ocarina/buttons/button.cpp diff --git a/gui/buttons/controls.cpp b/ocarina/buttons/controls.cpp similarity index 100% rename from gui/buttons/controls.cpp rename to ocarina/buttons/controls.cpp diff --git a/gui/buttons/volume.cpp b/ocarina/buttons/volume.cpp similarity index 100% rename from gui/buttons/volume.cpp rename to ocarina/buttons/volume.cpp diff --git a/gui/callback.cpp b/ocarina/callback.cpp similarity index 100% rename from gui/callback.cpp rename to ocarina/callback.cpp diff --git a/gui/chooser.cpp b/ocarina/chooser.cpp similarity index 100% rename from gui/chooser.cpp rename to ocarina/chooser.cpp diff --git a/ocarina/footer/tiny.cpp b/ocarina/footer/tiny.cpp new file mode 100644 index 00000000..8194ec25 --- /dev/null +++ b/ocarina/footer/tiny.cpp @@ -0,0 +1,31 @@ + +#include +#include + +static GtkWidget *footer = NULL; + +static void footer_pack(GtkWidget *widget) +{ + box_pack_start(footer, widget, FALSE, FALSE, 0); +} + +static void make_tiny_footer() +{ + footer = gtk_hbox_new(FALSE, 0); + gtk_widget_show(footer); + + footer_pack(make_open_button()); + footer_pack(make_rewind_button()); + footer_pack(make_forward_button()); + footer_pack(make_play_button()); + footer_pack(make_pause_button()); + footer_pack(make_stop_button()); + footer_pack(make_volume_button()); +} + +GtkWidget *get_tiny_footer() +{ + if (footer == NULL) + make_tiny_footer(); + return footer; +} diff --git a/gui/gtk.cpp b/ocarina/gtk.cpp similarity index 100% rename from gui/gtk.cpp rename to ocarina/gtk.cpp diff --git a/ocarina/ocarina.cpp b/ocarina/ocarina.cpp new file mode 100644 index 00000000..cfef1d88 --- /dev/null +++ b/ocarina/ocarina.cpp @@ -0,0 +1,37 @@ + +#include +#include +#include +#include +#include +#include + +void ocarina_init(int argc, char **argv) +{ + window_init(); + window_title("Ocarina " + vers_str()); + window_icon("images/ocarina.png"); + window_add(get_tiny_footer()); +} + +void ocarina_quit() +{ + gtk_main_quit(); +} + +int main(int argc, char **argv) +{ + print("Ocarina 5.0"); + + libsaria_init(argc, argv); + setup_callbacks(); + gtk_init(&argc, &argv); + ocarina_init(argc, argv); + + if (argc > 1) + libsaria_get()->load(argv[1]); + + gtk_main(); + libsaria_quit(); + return 0; +} diff --git a/gui/window.cpp b/ocarina/window.cpp similarity index 100% rename from gui/window.cpp rename to ocarina/window.cpp