From acdac59b3bea32d0986f66fae4485d4a02bf619d Mon Sep 17 00:00:00 2001 From: Win Date: Wed, 19 Nov 2025 01:15:08 +0700 Subject: [PATCH] Added jobwizard gui stuff --- .../Desktop/jobwizarddesktop-js/.gitignore | 1 + .../Desktop/jobwizarddesktop-js/meson.build | 2 - .../jobwizarddesktop-js/po/POTFILES.in | 2 +- .../src/icons/person-symbolic.svg | 2 + ...minoes.JobWizardDesktop.data.gresource.xml | 1 + .../jobwizarddesktop-js/src/meson.build | 12 +++ .../src/shortcuts-dialog.blp | 17 ++++ .../jobwizarddesktop-js/src/window.blp | 79 +++++++++++++++++++ .../subprojects/blueprint-compiler.wrap | 8 ++ 9 files changed, 121 insertions(+), 3 deletions(-) create mode 100644 fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/.gitignore create mode 100644 fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/icons/person-symbolic.svg create mode 100644 fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/shortcuts-dialog.blp create mode 100644 fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/window.blp create mode 100644 fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/subprojects/blueprint-compiler.wrap diff --git a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/.gitignore b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/.gitignore new file mode 100644 index 0000000..96901c4 --- /dev/null +++ b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/.gitignore @@ -0,0 +1 @@ +/subprojects/blueprint-compiler diff --git a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/meson.build b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/meson.build index 2621cc5..06852ac 100644 --- a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/meson.build +++ b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/meson.build @@ -8,8 +8,6 @@ i18n = import('i18n') gnome = import('gnome') - - subdir('data') subdir('src') subdir('po') diff --git a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/po/POTFILES.in b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/po/POTFILES.in index b590f91..c677be7 100644 --- a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/po/POTFILES.in +++ b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/po/POTFILES.in @@ -5,4 +5,4 @@ data/me.winsdominoes.JobWizardDesktop.metainfo.xml.in data/me.winsdominoes.JobWizardDesktop.gschema.xml src/main.js src/window.js -src/window.ui +src/window.blp diff --git a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/icons/person-symbolic.svg b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/icons/person-symbolic.svg new file mode 100644 index 0000000..2210355 --- /dev/null +++ b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/icons/person-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/me.winsdominoes.JobWizardDesktop.data.gresource.xml b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/me.winsdominoes.JobWizardDesktop.data.gresource.xml index 9bf9874..78ab9a0 100644 --- a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/me.winsdominoes.JobWizardDesktop.data.gresource.xml +++ b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/me.winsdominoes.JobWizardDesktop.data.gresource.xml @@ -3,5 +3,6 @@ window.ui shortcuts-dialog.ui + icons/person-symbolic.svg diff --git a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/meson.build b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/meson.build index 56639f4..02ef618 100644 --- a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/meson.build +++ b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/meson.build @@ -1,11 +1,20 @@ pkgdatadir = get_option('datadir') / meson.project_name() gnome = import('gnome') +blueprints = custom_target('blueprints', + input: files( + 'window.blp', + 'shortcuts-dialog.blp', + ), + output: '.', + command: [find_program('blueprint-compiler'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'], +) src_res = gnome.compile_resources('me.winsdominoes.JobWizardDesktop.src', 'me.winsdominoes.JobWizardDesktop.src.gresource.xml', gresource_bundle: true, install: true, install_dir: pkgdatadir, + dependencies: blueprints, ) data_res = gnome.compile_resources('me.winsdominoes.JobWizardDesktop.data', @@ -13,6 +22,7 @@ data_res = gnome.compile_resources('me.winsdominoes.JobWizardDesktop.data', gresource_bundle: true, install: true, install_dir: pkgdatadir, + dependencies: blueprints, ) bin_conf = configuration_data() @@ -31,3 +41,5 @@ configure_file( install: true, install_dir: get_option('bindir') ) + + diff --git a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/shortcuts-dialog.blp b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/shortcuts-dialog.blp new file mode 100644 index 0000000..74765b0 --- /dev/null +++ b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/shortcuts-dialog.blp @@ -0,0 +1,17 @@ +using Gtk 4.0; + +$AdwShortcutsDialog shortcuts_dialog { + $AdwShortcutsSection { + title: _("Shortcuts"); + + $AdwShortcutsItem { + title: C_("shortcut window", "Show Shortcuts"); + action-name: "app.shortcuts"; + } + + $AdwShortcutsItem { + title: C_("shortcut window", "Quit"); + action-name: "app.quit"; + } + } +} diff --git a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/window.blp b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/window.blp new file mode 100644 index 0000000..30ac632 --- /dev/null +++ b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/src/window.blp @@ -0,0 +1,79 @@ +using Gtk 4.0; +using Adw 1; + +template $JobwizarddesktopJsWindow: $AdwApplicationWindow { + title: _("JobWizard Desktop Edition"); + default-width: "800"; + default-height: "600"; + + content: $AdwToolbarView { + [top] + $AdwHeaderBar { + [end] + MenuButton { + primary: true; + icon-name: "open-menu-symbolic"; + tooltip-text: _("Main Menu"); + menu-model: primary_menu; + } + } + + + content: Adw.StatusPage { + title: "JobWizard Desktop Edition"; + description: "Let's get started!"; + // Try using a custom icon instead of cafe-symbolic + icon-name: "person-symbolic"; + + Adw.Clamp main { + Box { + halign: center; + orientation: vertical; + + Label { + label: _("Login"); + halign: start; + + styles [ + "heading", + ] + } + + Entry entry_completion { + max-width-chars: 100; + // margin-bottom: 8; + placeholder-text: "Enter email"; + } + + Button suggested { + name: "login_button"; + label: _("Login"); + + styles [ + "suggested-action", + ] + } + } + } + }; + }; +} + +menu primary_menu { + section { + item { + label: _("_Preferences"); + action: "app.preferences"; + } + + item { + label: _("_Keyboard Shortcuts"); + action: "app.shortcuts"; + } + + item { + label: _("_About Jobwizarddesktop-js"); + action: "app.about"; + } + } +} diff --git a/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/subprojects/blueprint-compiler.wrap b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/subprojects/blueprint-compiler.wrap new file mode 100644 index 0000000..3dd8dee --- /dev/null +++ b/fall-2025/sen-210/Assessments/Desktop/jobwizarddesktop-js/subprojects/blueprint-compiler.wrap @@ -0,0 +1,8 @@ +[wrap-git] +directory = blueprint-compiler +url = https://gitlab.gnome.org/GNOME/blueprint-compiler.git +revision = v0.18.0 +depth = 1 + +[provide] +program_names = blueprint-compiler \ No newline at end of file