gui/ocarina: Initialize gui with the GtkApplication "startup" signal
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
9a209d098b
commit
d0179a9bfa
|
@ -7,6 +7,7 @@
|
|||
#include <gui/builder.h>
|
||||
#include <gui/collection.h>
|
||||
#include <gui/history.h>
|
||||
#include <gui/idle.h>
|
||||
#include <gui/playlist.h>
|
||||
#include <gui/settings.h>
|
||||
#include <gui/sidebar.h>
|
||||
|
@ -16,6 +17,12 @@
|
|||
|
||||
#define OCARINA_FLAGS (G_APPLICATION_FLAGS_NONE)
|
||||
|
||||
#ifndef CONFIG_DEBUG
|
||||
const static gchar *OCARINA_NAME = "org.gtk.ocarina";
|
||||
#else
|
||||
const static gchar *OCARINA_NAME = "org.gtk.ocarina-debug";
|
||||
#endif
|
||||
|
||||
struct core_init_data init_data = {
|
||||
&collection_ops,
|
||||
&history_ops,
|
||||
|
@ -24,6 +31,9 @@ struct core_init_data init_data = {
|
|||
&audio_ops,
|
||||
};
|
||||
|
||||
static int startup_argc;
|
||||
static char **startup_argv;
|
||||
|
||||
static gchar *find_file_path(const gchar *file)
|
||||
{
|
||||
gchar *path = g_strjoin("/", "share", "ocarina", file, NULL);
|
||||
|
@ -41,27 +51,13 @@ static void __ocarina_activate(GApplication *application, gpointer data)
|
|||
GTK_WINDOW(gui_builder_widget("o_window")));
|
||||
}
|
||||
|
||||
static void __ocarina_shutdown(GApplication *application, gpointer data)
|
||||
{
|
||||
idle_cancel();
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
static void __ocarina_startup(GApplication *application, gpointer data)
|
||||
{
|
||||
gchar *ui = find_file_path("ocarina6.glade");
|
||||
gchar *icon = find_file_path("ocarina.png");
|
||||
GtkApplication *ocarina;
|
||||
int ret;
|
||||
|
||||
#ifndef CONFIG_DEBUG
|
||||
ocarina = gtk_application_new("org.gtk.ocarina", OCARINA_FLAGS);
|
||||
#else
|
||||
ocarina = gtk_application_new("org.gtk.ocarina-debug", OCARINA_FLAGS);
|
||||
#endif
|
||||
|
||||
gtk_init(&argc, &argv);
|
||||
gui_builder_init(ui);
|
||||
core_init(&argc, &argv, &init_data);
|
||||
core_init(&startup_argc, &startup_argv, &init_data);
|
||||
gui_settings_init();
|
||||
gui_view_init();
|
||||
gui_window_init(icon);
|
||||
|
@ -70,11 +66,29 @@ int main(int argc, char **argv)
|
|||
gui_playlist_init();
|
||||
gui_audio_init();
|
||||
|
||||
g_free(ui);
|
||||
g_free(icon);
|
||||
gui_idle_enable();
|
||||
gui_sidebar_select_first();
|
||||
|
||||
g_free(ui);
|
||||
g_free(icon);
|
||||
}
|
||||
|
||||
static void __ocarina_shutdown(GApplication *application, gpointer data)
|
||||
{
|
||||
idle_cancel();
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
GtkApplication *ocarina;
|
||||
int ret;
|
||||
|
||||
startup_argc = argc;
|
||||
startup_argv = argv;
|
||||
ocarina = gtk_application_new(OCARINA_NAME, OCARINA_FLAGS);
|
||||
|
||||
g_signal_connect(G_APPLICATION(ocarina), "activate", (GCallback)__ocarina_activate, NULL);
|
||||
g_signal_connect(G_APPLICATION(ocarina), "startup", (GCallback)__ocarina_startup, NULL);
|
||||
g_signal_connect(G_APPLICATION(ocarina), "shutdown", (GCallback)__ocarina_shutdown, NULL);
|
||||
ret = g_application_run(G_APPLICATION(ocarina), argc, argv);
|
||||
|
||||
|
|
Loading…
Reference in New Issue