diff --git a/Gtk4_Reset/CMakeLists.txt b/Gtk4_Reset/CMakeLists.txt index 02aa43c..6666d69 100644 --- a/Gtk4_Reset/CMakeLists.txt +++ b/Gtk4_Reset/CMakeLists.txt @@ -43,6 +43,7 @@ set(RESOURCE_LIST STRIPBLANKS win_input.ui STRIPBLANKS scoreswin.ui STRIPBLANKS mine_menu.xml + final_approach.png style.css reset.css dock_style.css diff --git a/Gtk4_Reset/res/final_approach.png b/Gtk4_Reset/res/final_approach.png new file mode 100644 index 0000000..0d38104 Binary files /dev/null and b/Gtk4_Reset/res/final_approach.png differ diff --git a/Gtk4_Reset/src/core/MyStack.cpp b/Gtk4_Reset/src/core/MyStack.cpp index 5217814..647aa14 100644 --- a/Gtk4_Reset/src/core/MyStack.cpp +++ b/Gtk4_Reset/src/core/MyStack.cpp @@ -45,6 +45,9 @@ void create_main_stack(GtkWindow *win) g_action_map_add_action_entries(G_ACTION_MAP(win), entries, G_N_ELEMENTS(entries), win); + // Add dock and finder + add_dock(main_page); + // Link Signals g_signal_connect(btnlogin, "clicked", G_CALLBACK(btnlogin_clicked), stack); diff --git a/Gtk4_Reset/src/ui/MyDock.cpp b/Gtk4_Reset/src/ui/MyDock.cpp index b6a643b..15ff9d4 100644 --- a/Gtk4_Reset/src/ui/MyDock.cpp +++ b/Gtk4_Reset/src/ui/MyDock.cpp @@ -1 +1,30 @@ -#include "MyDock.h" \ No newline at end of file +#include "MyDock.h" + +void add_dock(GtkWidget *main_page1) +{ + // Builder for the main dock + GtkBuilder *dock_builder = gtk_builder_new_from_resource("/org/gtk/daleclack/mydock.ui"); + + // Get widgets + GtkWidget *dock_box = GTK_WIDGET(gtk_builder_get_object(dock_builder, "dock_box")); + GtkWidget *main_box = GTK_WIDGET(gtk_builder_get_object(dock_builder, "main_box")); + GtkWidget *dock_left = GTK_WIDGET(gtk_builder_get_object(dock_builder, "dock_left")); + GtkWidget *icons_sw = GTK_WIDGET(gtk_builder_get_object(dock_builder, "icons_sw")); + + // Add background widget + GtkWidget *main_overlay = gtk_overlay_new(); + + // Set default background + GdkPixbuf *pixbuf = gdk_pixbuf_new_from_resource("/org/gtk/daleclack/final_approach.png", NULL); + GdkPixbuf *sized = gdk_pixbuf_scale_simple(pixbuf, 1024, 576, GDK_INTERP_BILINEAR); + GtkWidget *main_pic = gtk_picture_new_for_pixbuf(sized); + g_object_unref(pixbuf); + g_object_unref(sized); + + // Pack widgets + gtk_widget_set_size_request(icons_sw, -1, 300); + gtk_box_append(GTK_BOX(dock_left), dock_box); // Dock position, will be changable soon + gtk_overlay_set_child(GTK_OVERLAY(main_overlay), main_pic); + gtk_overlay_add_overlay(GTK_OVERLAY(main_overlay), main_box); + gtk_box_append(GTK_BOX(main_page1), main_overlay); +} diff --git a/Gtk4_Reset/src/ui/MyDock.h b/Gtk4_Reset/src/ui/MyDock.h index 3f59c93..3d2d2ca 100644 --- a/Gtk4_Reset/src/ui/MyDock.h +++ b/Gtk4_Reset/src/ui/MyDock.h @@ -1,2 +1,5 @@ #pragma once +#include + +void add_dock(GtkWidget *main_page1);