diff --git a/.gitignore b/.gitignore
index a665706b..d9df8370 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,5 @@ debian/.debhelper
*.pyc
/localbuild
.buildconfig
-install/
\ No newline at end of file
+install/
+/subprojects/blueprint-compiler
diff --git a/subprojects/blueprint-compiler.wrap b/subprojects/blueprint-compiler.wrap
new file mode 100644
index 00000000..f2b09ab2
--- /dev/null
+++ b/subprojects/blueprint-compiler.wrap
@@ -0,0 +1,8 @@
+[wrap-git]
+directory = blueprint-compiler
+url = https://gitlab.gnome.org/jwestman/blueprint-compiler.git
+revision = v0.10.1
+depth = 1
+
+[provide]
+program_names = blueprint-compiler
\ No newline at end of file
diff --git a/vanilla_first_setup/gtk/default-conn-check.blp b/vanilla_first_setup/gtk/default-conn-check.blp
new file mode 100644
index 00000000..8a4f18ac
--- /dev/null
+++ b/vanilla_first_setup/gtk/default-conn-check.blp
@@ -0,0 +1,22 @@
+using Gtk 4.0;
+
+template $VanillaDefaultConnCheck : $AdwBin {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ $AdwStatusPage status_page {
+ icon-name: "content-loading-symbolic";
+ title: _("Checking Connection…");
+ description: _("Please wait until the connection check is done.");
+
+ Button btn_recheck {
+ label: "Check Again";
+ halign: center;
+
+ styles [
+ "pill",
+ ]
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/default-conn-check.ui b/vanilla_first_setup/gtk/default-conn-check.ui
deleted file mode 100644
index 5f3b6272..00000000
--- a/vanilla_first_setup/gtk/default-conn-check.ui
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- fill
- fill
- true
-
-
-
-
-
\ No newline at end of file
diff --git a/vanilla_first_setup/gtk/default-hostname.blp b/vanilla_first_setup/gtk/default-hostname.blp
new file mode 100644
index 00000000..a93f6418
--- /dev/null
+++ b/vanilla_first_setup/gtk/default-hostname.blp
@@ -0,0 +1,36 @@
+using Gtk 4.0;
+
+template $VanillaDefaultHostname : $AdwBin {
+ halign: "fill";
+ valign: "center";
+ hexpand: "true";
+
+ Box {
+ orientation: vertical;
+
+ $AdwStatusPage status_page {
+ icon-name: "computer-symbolic";
+ title: _("Device Details");
+ description: _("Provide details about your device");
+
+ $AdwPreferencesPage {
+ $AdwPreferencesGroup {
+ $AdwEntryRow hostname_entry {
+ title: _("Device Name");
+ input-purpose: "name";
+ }
+ }
+ }
+ }
+
+ Button btn_next {
+ halign: center;
+ label: _("Next");
+
+ styles [
+ "pill",
+ "suggested-action",
+ ]
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/default-hostname.ui b/vanilla_first_setup/gtk/default-hostname.ui
deleted file mode 100644
index 565ef733..00000000
--- a/vanilla_first_setup/gtk/default-hostname.ui
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
- fill
- center
- true
-
-
- vertical
-
-
- computer-symbolic
- Device Details
- Provide details about your device
-
-
-
-
-
-
- Device Name
- name
-
-
-
-
-
-
-
-
-
-
- center
- Next
-
-
-
-
-
-
-
diff --git a/vanilla_first_setup/gtk/default-theme.blp b/vanilla_first_setup/gtk/default-theme.blp
new file mode 100644
index 00000000..63aae257
--- /dev/null
+++ b/vanilla_first_setup/gtk/default-theme.blp
@@ -0,0 +1,55 @@
+using Gtk 4.0;
+
+template $VanillaDefaultTheme : Box {
+ orientation: vertical;
+ halign: fill;
+ valign: center;
+ hexpand: true;
+
+ Box {
+ valign: center;
+ spacing: 10;
+ halign: center;
+
+ CheckButton btn_default {
+ tooltip-text: _("Default");
+ halign: center;
+ active: true;
+
+ styles [
+ "theme-selector",
+ "light",
+ "card",
+ ]
+ }
+
+ CheckButton btn_dark {
+ tooltip-text: _("Dark");
+ halign: center;
+
+ styles [
+ "theme-selector",
+ "dark",
+ "card",
+ ]
+ }
+ }
+
+ $AdwStatusPage {
+ title: _("Color Scheme");
+ description: _("Choose a color scheme for your system.");
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ Button btn_next {
+ label: _("Next");
+ halign: center;
+
+ styles [
+ "pill",
+ "suggested-action",
+ ]
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/default-theme.ui b/vanilla_first_setup/gtk/default-theme.ui
deleted file mode 100644
index 9a5808f8..00000000
--- a/vanilla_first_setup/gtk/default-theme.ui
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
- vertical
- fill
- center
- true
-
-
- center
- 10
- center
-
-
- Default
- center
- True
-
-
-
-
-
- Dark
- center
-
-
-
-
-
-
-
- Color Scheme
- Choose a color scheme for your system.
- fill
- fill
- true
-
-
- Next
- center
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vanilla_first_setup/gtk/default-user.blp b/vanilla_first_setup/gtk/default-user.blp
new file mode 100644
index 00000000..96aefdf5
--- /dev/null
+++ b/vanilla_first_setup/gtk/default-user.blp
@@ -0,0 +1,57 @@
+using Gtk 4.0;
+
+template $VanillaDefaultUser : $AdwBin {
+ halign: "fill";
+ valign: "center";
+ hexpand: "true";
+
+ Box {
+ orientation: vertical;
+
+ $AdwAvatar {
+ valign: "center";
+ size: "128";
+ show-initials: "true";
+ text: bind fullname_entry.text;
+ }
+
+ $AdwStatusPage status_page {
+ title: _("Create User");
+ description: _("Provide details for your user account");
+
+ $AdwPreferencesPage {
+ $AdwPreferencesGroup {
+ $AdwEntryRow fullname_entry {
+ title: _("Name");
+ input-purpose: "name";
+ }
+
+ $AdwEntryRow username_entry {
+ title: _("Username");
+ input-purpose: "name";
+ }
+
+ $AdwPasswordEntryRow password_entry {
+ title: _("Password");
+ input-purpose: "password";
+ }
+
+ $AdwPasswordEntryRow password_confirmation {
+ title: _("Confirm Password");
+ input-purpose: "password";
+ }
+ }
+ }
+ }
+
+ Button btn_next {
+ halign: center;
+ label: _("Next");
+
+ styles [
+ "pill",
+ "suggested-action",
+ ]
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/default-user.ui b/vanilla_first_setup/gtk/default-user.ui
deleted file mode 100644
index 63152668..00000000
--- a/vanilla_first_setup/gtk/default-user.ui
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
- fill
- center
- true
-
-
- vertical
-
-
- center
- 128
- true
-
-
-
-
-
- Create User
- Provide details for your user account
-
-
-
-
-
-
- Name
- name
-
-
-
-
- Username
- name
-
-
-
-
- Password
- password
-
-
-
-
- Confirm Password
- password
-
-
-
-
-
-
-
-
-
-
- center
- Next
-
-
-
-
-
-
-
diff --git a/vanilla_first_setup/gtk/default-welcome.blp b/vanilla_first_setup/gtk/default-welcome.blp
new file mode 100644
index 00000000..2057b593
--- /dev/null
+++ b/vanilla_first_setup/gtk/default-welcome.blp
@@ -0,0 +1,66 @@
+using Gtk 4.0;
+
+template $VanillaDefaultWelcome : $AdwBin {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ $AdwStatusPage status_page {
+ icon-name: "org.vanillaos.FirstSetup-flower";
+
+ Box {
+ spacing: 8;
+ orientation: vertical;
+
+ Overlay {
+ Label {
+ label: _("Welcome!");
+ opacity: 0;
+
+ styles [
+ "title-1",
+ ]
+ }
+
+ [overlay]
+ Label title_label {
+ label: _("Welcome!");
+
+ styles [
+ "title-1",
+ ]
+ }
+ }
+
+ Label {
+ label: "Make your choices, this wizard will take care of everything.";
+ justify: center;
+ }
+
+ Box {
+ spacing: 8;
+ halign: center;
+ margin-top: 8;
+
+ Button btn_advanced {
+ label: "Advanced";
+ halign: center;
+
+ styles [
+ "pill",
+ ]
+ }
+
+ Button btn_next {
+ label: "Start";
+ halign: center;
+
+ styles [
+ "pill",
+ "suggested-action",
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/default-welcome.ui b/vanilla_first_setup/gtk/default-welcome.ui
deleted file mode 100644
index f48a2a70..00000000
--- a/vanilla_first_setup/gtk/default-welcome.ui
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
- fill
- fill
- true
-
-
- org.vanillaos.FirstSetup-flower
-
-
- 8
- 1
-
-
-
-
-
- Welcome!
- 0
-
-
-
-
-
- Welcome!
-
-
-
-
-
-
-
-
- Make your choices, this wizard will take care of everything.
- 2
-
-
-
-
-
- 8
- center
- 8
-
-
- Advanced
- center
-
-
-
-
-
- Start
- center
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vanilla_first_setup/gtk/dialog.blp b/vanilla_first_setup/gtk/dialog.blp
new file mode 100644
index 00000000..9e20e368
--- /dev/null
+++ b/vanilla_first_setup/gtk/dialog.blp
@@ -0,0 +1,25 @@
+using Gtk 4.0;
+
+template $VanillaDialog : $AdwWindow {
+ title: _("Showing Information");
+ default-width: "500";
+ modal: "True";
+
+ Box {
+ orientation: vertical;
+
+ $AdwHeaderBar {
+ styles [
+ "flat",
+ ]
+ }
+
+ Label label_text {
+ margin-top: 10;
+ margin-start: 10;
+ margin-end: 10;
+ margin-bottom: 20;
+ wrap: true;
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/dialog.ui b/vanilla_first_setup/gtk/dialog.ui
deleted file mode 100644
index a63f29a9..00000000
--- a/vanilla_first_setup/gtk/dialog.ui
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
- Showing Information
- 500
- True
-
-
- vertical
-
-
-
-
-
- 10
- 10
- 10
- 20
- True
-
-
-
-
-
-
diff --git a/vanilla_first_setup/gtk/done.blp b/vanilla_first_setup/gtk/done.blp
new file mode 100644
index 00000000..ca7d27cf
--- /dev/null
+++ b/vanilla_first_setup/gtk/done.blp
@@ -0,0 +1,74 @@
+using Gtk 4.0;
+
+template $VanillaDone : $AdwBin {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ $AdwStatusPage status_page {
+ icon-name: "emblem-default-symbolic";
+ title: _("All done!");
+ description: _("Restart your device to enjoy your Vanilla OS experience.");
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ Box {
+ halign: center;
+ orientation: vertical;
+
+ Box log_box {
+ visible: false;
+ margin-start: 40;
+ margin-end: 40;
+ margin-top: 1;
+ margin-bottom: 18;
+ width-request: 500;
+ height-request: 200;
+ orientation: vertical;
+
+ Label log_output {
+ margin-top: 12;
+ margin-start: 12;
+ margin-end: 12;
+ }
+
+ styles [
+ "card",
+ ]
+ }
+
+ Button btn_reboot {
+ label: "Reboot Now";
+ halign: center;
+ valign: center;
+
+ styles [
+ "pill",
+ "suggested-action",
+ ]
+ }
+
+ Button btn_retry {
+ label: "Retry";
+ halign: center;
+ visible: false;
+
+ styles [
+ "pill",
+ ]
+ }
+
+ Button btn_close {
+ label: "Close";
+ halign: center;
+ visible: false;
+
+ styles [
+ "pill",
+ "suggested-action",
+ ]
+ }
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/done.ui b/vanilla_first_setup/gtk/done.ui
deleted file mode 100644
index 91d10f5b..00000000
--- a/vanilla_first_setup/gtk/done.ui
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
- fill
- fill
- true
-
-
- emblem-default-symbolic
- All done!
- Restart your device to enjoy your Vanilla OS experience.
- fill
- fill
- true
-
-
- center
- vertical
-
-
- false
- 40
- 40
- 1
- 18
- 500
- 200
- vertical
-
-
- 12
- 12
- 12
-
-
-
-
-
-
-
- Reboot Now
- center
- center
-
-
-
-
-
- Retry
- center
- false
-
-
-
-
-
- Close
- center
- false
-
-
-
-
-
-
-
-
-
diff --git a/vanilla_first_setup/gtk/layout-applications.blp b/vanilla_first_setup/gtk/layout-applications.blp
new file mode 100644
index 00000000..149d0804
--- /dev/null
+++ b/vanilla_first_setup/gtk/layout-applications.blp
@@ -0,0 +1,35 @@
+using Gtk 4.0;
+
+template $VanillaLayoutApplications : $AdwBin {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ $AdwStatusPage status_page {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ Box {
+ orientation: vertical;
+ vexpand: true;
+ hexpand: true;
+ valign: center;
+
+ $AdwPreferencesPage {
+ $AdwPreferencesGroup bundles_list {
+ }
+ }
+
+ Button btn_next {
+ label: "Next";
+ halign: center;
+
+ styles [
+ "pill",
+ "suggested-action",
+ ]
+ }
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/layout-applications.ui b/vanilla_first_setup/gtk/layout-applications.ui
deleted file mode 100644
index 152a07d1..00000000
--- a/vanilla_first_setup/gtk/layout-applications.ui
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
- fill
- fill
- true
-
-
- fill
- fill
- true
-
-
- vertical
- true
- true
- center
-
-
-
-
-
-
-
-
-
- Next
- center
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vanilla_first_setup/gtk/layout-preferences.blp b/vanilla_first_setup/gtk/layout-preferences.blp
new file mode 100644
index 00000000..574fa662
--- /dev/null
+++ b/vanilla_first_setup/gtk/layout-preferences.blp
@@ -0,0 +1,35 @@
+using Gtk 4.0;
+
+template $VanillaLayoutPreferences : $AdwBin {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ $AdwStatusPage status_page {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ Box {
+ orientation: vertical;
+ vexpand: true;
+ hexpand: true;
+ valign: center;
+
+ $AdwPreferencesPage {
+ $AdwPreferencesGroup prefs_list {
+ }
+ }
+
+ Button btn_next {
+ label: "Next";
+ halign: center;
+
+ styles [
+ "pill",
+ "suggested-action",
+ ]
+ }
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/layout-preferences.ui b/vanilla_first_setup/gtk/layout-preferences.ui
deleted file mode 100644
index 15b1bec6..00000000
--- a/vanilla_first_setup/gtk/layout-preferences.ui
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
- fill
- fill
- true
-
-
- fill
- fill
- true
-
-
- vertical
- True
- True
- center
-
-
-
-
-
-
-
-
-
- Next
- center
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vanilla_first_setup/gtk/layout-yes-no.blp b/vanilla_first_setup/gtk/layout-yes-no.blp
new file mode 100644
index 00000000..13c880b5
--- /dev/null
+++ b/vanilla_first_setup/gtk/layout-yes-no.blp
@@ -0,0 +1,54 @@
+using Gtk 4.0;
+
+template $VanillaLayoutYesNo : $AdwBin {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ $AdwStatusPage status_page {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ Box {
+ orientation: vertical;
+ vexpand: true;
+ hexpand: true;
+ valign: center;
+
+ Box {
+ valign: center;
+ spacing: 10;
+ halign: center;
+
+ Button btn_no {
+ label: "No";
+ halign: center;
+
+ styles [
+ "pill",
+ ]
+ }
+
+ Button btn_yes {
+ label: _("Yes, enable it");
+ halign: center;
+
+ styles [
+ "pill",
+ "suggested-action",
+ ]
+ }
+
+ Button btn_info {
+ icon-name: "dialog-information-symbolic";
+ visible: false;
+
+ styles [
+ "flat",
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/layout-yes-no.ui b/vanilla_first_setup/gtk/layout-yes-no.ui
deleted file mode 100644
index 0973f1fd..00000000
--- a/vanilla_first_setup/gtk/layout-yes-no.ui
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
- fill
- fill
- true
-
-
- fill
- fill
- true
-
-
- vertical
- True
- True
- center
-
-
- center
- 10
- center
-
-
- No
- center
-
-
-
-
-
- Yes, enable it
- center
-
-
-
-
-
- dialog-information-symbolic
- false
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vanilla_first_setup/gtk/post-script.blp b/vanilla_first_setup/gtk/post-script.blp
new file mode 100644
index 00000000..c973c84a
--- /dev/null
+++ b/vanilla_first_setup/gtk/post-script.blp
@@ -0,0 +1,31 @@
+using Gtk 4.0;
+
+template $VanillaPostScript : $AdwBin {
+ $AdwStatusPage {
+ valign: "fill";
+ halign: "fill";
+ icon-name: "org.vanillaos.FirstSetup-flower";
+ title: _("Finalizing");
+ description: _("Your device will be ready soon.");
+
+ Box console_box {
+ margin-start: 40;
+ margin-end: 40;
+ margin-top: 1;
+ margin-bottom: 18;
+ height-request: 250;
+ orientation: vertical;
+
+ Box console_output {
+ margin-top: 12;
+ margin-start: 12;
+ margin-end: 12;
+ orientation: vertical;
+ }
+
+ styles [
+ "card",
+ ]
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/post-script.ui b/vanilla_first_setup/gtk/post-script.ui
deleted file mode 100644
index 7553981f..00000000
--- a/vanilla_first_setup/gtk/post-script.ui
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
- fill
- fill
- org.vanillaos.FirstSetup-flower
- Finalizing
- Your device will be ready soon.
-
-
- 40
- 40
- 1
- 18
- 250
- vertical
-
-
- 12
- 12
- 12
- vertical
-
-
-
-
-
-
-
-
-
diff --git a/vanilla_first_setup/gtk/progress.blp b/vanilla_first_setup/gtk/progress.blp
new file mode 100644
index 00000000..f528e3cd
--- /dev/null
+++ b/vanilla_first_setup/gtk/progress.blp
@@ -0,0 +1,114 @@
+using Gtk 4.0;
+
+template $VanillaProgress : Box {
+ orientation: vertical;
+
+ Box tour_box {
+ visible: true;
+ margin-start: 40;
+ margin-end: 40;
+ margin-top: 1;
+ margin-bottom: 18;
+ height-request: 400;
+ orientation: vertical;
+
+ $AdwCarousel carousel_tour {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+ vexpand: "true";
+ allow-scroll-wheel: "False";
+ allow-mouse-drag: "False";
+ allow-long-swipes: "False";
+ }
+
+ $AdwCarouselIndicatorDots {
+ carousel: "carousel_tour";
+ orientation: "horizontal";
+ margin-bottom: "18";
+ }
+ }
+
+ Box console_box {
+ visible: false;
+ margin-start: 40;
+ margin-end: 40;
+ margin-top: 1;
+ margin-bottom: 18;
+ height-request: 400;
+ orientation: vertical;
+
+ Box console_output {
+ visible: true;
+ margin-top: 12;
+ margin-start: 12;
+ margin-end: 12;
+ orientation: vertical;
+ }
+
+ styles [
+ "card",
+ ]
+ }
+
+ Box {
+ orientation: horizontal;
+
+ Label progressbar_text {
+ wrap: true;
+ wrap-mode: word_char;
+ halign: start;
+ valign: center;
+ margin-top: 40;
+ margin-start: 40;
+ label: _("Installing...");
+
+ styles [
+ "title-4",
+ ]
+ }
+
+ Box {
+ halign: fill;
+ hexpand: true;
+ }
+
+ Button console_button {
+ visible: true;
+ margin-end: 40;
+ margin-start: 12;
+ margin-top: 40;
+ icon-name: "media-view-subtitles-symbolic";
+ halign: end;
+ valign: center;
+ tooltip-text: _("Show Console output");
+
+ styles [
+ "circular",
+ ]
+ }
+
+ Button tour_button {
+ visible: false;
+ margin-end: 40;
+ margin-start: 12;
+ margin-top: 40;
+ icon-name: "image-x-generic-symbolic";
+ halign: end;
+ valign: center;
+ tooltip-text: _("Show Slideshow");
+
+ styles [
+ "circular",
+ ]
+ }
+ }
+
+ ProgressBar progressbar {
+ show-text: false;
+ margin-top: 12;
+ margin-start: 40;
+ margin-bottom: 40;
+ margin-end: 40;
+ }
+}
diff --git a/vanilla_first_setup/gtk/progress.ui b/vanilla_first_setup/gtk/progress.ui
deleted file mode 100644
index caf7eef8..00000000
--- a/vanilla_first_setup/gtk/progress.ui
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
-
- vertical
-
-
- True
- 40
- 40
- 1
- 18
- 400
- vertical
-
-
- fill
- fill
- true
- true
- False
- False
- False
-
-
-
-
- carousel_tour
- horizontal
- 18
-
-
-
-
-
-
- False
- 40
- 40
- 1
- 18
- 400
- vertical
-
-
- True
- 12
- 12
- 12
- vertical
-
-
-
-
-
-
-
- horizontal
-
-
- True
- word-char
- start
- center
- 40
- 40
- Installing...
-
-
-
-
-
- fill
- true
-
-
-
-
- True
- 40
- 12
- 40
- media-view-subtitles-symbolic
- end
- center
- Show Console output
-
-
-
-
-
- False
- 40
- 12
- 40
- image-x-generic-symbolic
- end
- center
- Show Slideshow
-
-
-
-
-
-
-
- false
- 12
- 40
- 40
- 40
-
-
-
-
\ No newline at end of file
diff --git a/vanilla_first_setup/gtk/tour.blp b/vanilla_first_setup/gtk/tour.blp
new file mode 100644
index 00000000..831f8d3c
--- /dev/null
+++ b/vanilla_first_setup/gtk/tour.blp
@@ -0,0 +1,35 @@
+using Gtk 4.0;
+
+template $VanillaTour : $AdwBin {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ $AdwStatusPage status_page {
+ halign: "fill";
+ valign: "fill";
+ hexpand: "true";
+
+ Box {
+ orientation: vertical;
+ vexpand: true;
+ hexpand: true;
+ valign: center;
+
+ Box {
+ valign: center;
+ spacing: 10;
+ halign: center;
+
+ Button btn_read_more {
+ label: _("Read More");
+ halign: center;
+
+ styles [
+ "pill",
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/tour.ui b/vanilla_first_setup/gtk/tour.ui
deleted file mode 100644
index 2b369ac2..00000000
--- a/vanilla_first_setup/gtk/tour.ui
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
- fill
- fill
- true
-
-
- fill
- fill
- true
-
-
- vertical
- True
- True
- center
-
-
- center
- 10
- center
-
-
- Read More
- center
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vanilla_first_setup/gtk/window.blp b/vanilla_first_setup/gtk/window.blp
new file mode 100644
index 00000000..5c6f6603
--- /dev/null
+++ b/vanilla_first_setup/gtk/window.blp
@@ -0,0 +1,41 @@
+using Gtk 4.0;
+
+template $VanillaWindow : $AdwApplicationWindow {
+ default-width: "800";
+ default-height: "750";
+ title: "First Setup";
+
+ Box {
+ orientation: vertical;
+
+ $AdwHeaderBar headerbar {
+ styles [
+ "flat",
+ ]
+ title-widget:
+ $AdwCarouselIndicatorDots carousel_indicator_dots {
+ carousel: "carousel";
+ orientation: "horizontal";
+ }
+
+ ;
+
+ [start]
+ Button btn_back {
+ label: _("Back");
+ halign: center;
+ visible: false;
+ }
+ }
+
+ $AdwToastOverlay toasts {
+ $AdwCarousel carousel {
+ vexpand: "True";
+ hexpand: "True";
+ allow-scroll-wheel: "False";
+ allow-mouse-drag: "False";
+ allow-long-swipes: "False";
+ }
+ }
+ }
+}
diff --git a/vanilla_first_setup/gtk/window.ui b/vanilla_first_setup/gtk/window.ui
deleted file mode 100644
index 18124b31..00000000
--- a/vanilla_first_setup/gtk/window.ui
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
- 800
- 750
- First Setup
-
-
- vertical
-
-
-
-
-
-
-
- True
- True
- False
- False
- False
-
-
-
-
-
-
-
-
diff --git a/vanilla_first_setup/meson.build b/vanilla_first_setup/meson.build
index a1d9c003..89592db7 100644
--- a/vanilla_first_setup/meson.build
+++ b/vanilla_first_setup/meson.build
@@ -2,11 +2,33 @@ pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.proje
moduledir = join_paths(pkgdatadir, 'vanilla_first_setup')
gnome = import('gnome')
+blueprints = custom_target('blueprints',
+ input: files(
+ 'gtk/default-conn-check.blp',
+ 'gtk/default-hostname.blp',
+ 'gtk/default-theme.blp',
+ 'gtk/default-user.blp',
+ 'gtk/default-welcome.blp',
+ 'gtk/dialog.blp',
+ 'gtk/done.blp',
+ 'gtk/layout-applications.blp',
+ 'gtk/layout-preferences.blp',
+ 'gtk/layout-yes-no.blp',
+ 'gtk/post-script.blp',
+ 'gtk/progress.blp',
+ 'gtk/tour.blp',
+ 'gtk/window.blp',
+ ),
+ output: '.',
+ command: [find_program('blueprint-compiler'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'],
+)
+
gnome.compile_resources('vanilla-first-setup',
'vanilla-first-setup.gresource.xml',
gresource_bundle: true,
install: true,
install_dir: pkgdatadir,
+ dependencies: blueprints,
)
python = import('python')