| 
									
										
										
										
											2020-07-18 11:58:03 +02:00
										 |  |  | #include "my_application.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <flutter_linux/flutter_linux.h>
 | 
					
						
							| 
									
										
										
										
											2020-07-18 13:48:05 +02:00
										 |  |  | #include <glib-object.h>
 | 
					
						
							| 
									
										
										
										
											2020-07-18 11:58:03 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include "flutter/generated_plugin_registrant.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct _MyApplication { | 
					
						
							|  |  |  |   GtkApplication parent_instance; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Implements GApplication::activate.
 | 
					
						
							|  |  |  | static void my_application_activate(GApplication* application) { | 
					
						
							|  |  |  |   GtkWindow* window = | 
					
						
							|  |  |  |       GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); | 
					
						
							|  |  |  |   gtk_window_set_title(window, "Musicus"); | 
					
						
							|  |  |  |   gtk_window_set_default_size(window, 640, 453); | 
					
						
							|  |  |  |   gtk_widget_show(GTK_WIDGET(window)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   g_autoptr(FlDartProject) project = fl_dart_project_new(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   FlView* view = fl_view_new(project); | 
					
						
							|  |  |  |   gtk_widget_show(GTK_WIDGET(view)); | 
					
						
							|  |  |  |   gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   fl_register_plugins(FL_PLUGIN_REGISTRY(view)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   gtk_widget_grab_focus(GTK_WIDGET(view)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-18 13:48:05 +02:00
										 |  |  | static void my_application_startup(GApplication* application) { | 
					
						
							|  |  |  |   G_APPLICATION_CLASS(my_application_parent_class)->startup(application); | 
					
						
							|  |  |  |   g_object_set(gtk_settings_get_default(), | 
					
						
							|  |  |  |       "gtk-application-prefer-dark-theme", TRUE, NULL); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-18 11:58:03 +02:00
										 |  |  | static void my_application_class_init(MyApplicationClass* klass) { | 
					
						
							| 
									
										
										
										
											2020-07-18 13:48:05 +02:00
										 |  |  |   G_APPLICATION_CLASS(klass)->startup = my_application_startup; | 
					
						
							| 
									
										
										
										
											2020-07-18 11:58:03 +02:00
										 |  |  |   G_APPLICATION_CLASS(klass)->activate = my_application_activate; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static void my_application_init(MyApplication* self) {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MyApplication* my_application_new() { | 
					
						
							|  |  |  |   return MY_APPLICATION(g_object_new(my_application_get_type(), nullptr)); | 
					
						
							|  |  |  | } |