From d2d6838b1bd16d06dc3b2fea3a79b38babb05525 Mon Sep 17 00:00:00 2001 From: tfuxu <73042332+tfuxu@users.noreply.github.com> Date: Sun, 25 Sep 2022 23:13:44 +0200 Subject: [PATCH 1/5] fix: use rel_ver instead of version constant --- gradience/main.py | 2 +- gradience/welcome.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gradience/main.py b/gradience/main.py index ad09cb0e..648be665 100644 --- a/gradience/main.py +++ b/gradience/main.py @@ -147,7 +147,7 @@ class GradienceApplication(Adw.Application): welcome = GradienceWelcomeWindow(self.win) welcome.present() else: - if version != self.last_opened_version: + if rel_ver != self.last_opened_version: welcome = GradienceWelcomeWindow(self.win, update=True) welcome.present() else: diff --git a/gradience/welcome.py b/gradience/welcome.py index 85a898f5..993fa5c5 100644 --- a/gradience/welcome.py +++ b/gradience/welcome.py @@ -26,7 +26,7 @@ from .modules.utils import buglog from .modules.flatpak_overrides import ( create_gtk_user_override, ) -from .constants import rootdir, app_id, version +from .constants import rootdir, app_id, rel_ver @Gtk.Template(resource_path=f"{rootdir}/ui/welcome.ui") @@ -93,7 +93,7 @@ class GradienceWelcomeWindow(Adw.Window): if self.update: self.page_welcome.set_title(_("Thanks for updating Gradience!")) - self.page_release.set_title(f"Gradience {version}") + self.page_release.set_title(f"Gradience {rel_ver}") self.btn_close.set_sensitive(False) @@ -142,7 +142,7 @@ class GradienceWelcomeWindow(Adw.Window): self.btn_next.set_visible(True) self.btn_install.set_visible(False) self.window.last_opened_version = self.window.settings.set_string( - "last-opened-version", version + "last-opened-version", rel_ver ) if self.update: self.btn_close.set_sensitive(True) From 099dfc008917340093617f14967f230b0bd15687 Mon Sep 17 00:00:00 2001 From: tfuxu <73042332+tfuxu@users.noreply.github.com> Date: Sun, 25 Sep 2022 23:57:26 +0200 Subject: [PATCH 2/5] feat: add window title --- data/ui/welcome.blp | 1 + 1 file changed, 1 insertion(+) diff --git a/data/ui/welcome.blp b/data/ui/welcome.blp index 4497f15b..1de45f23 100644 --- a/data/ui/welcome.blp +++ b/data/ui/welcome.blp @@ -2,6 +2,7 @@ using Gtk 4.0; using Adw 1; template GradienceWelcomeWindow: Adw.Window { + title: _("Welcome to Gradience"); resizable: true; deletable: true; modal: true; From 80ef245d932eac4616e4c25146fb628a5410f5b8 Mon Sep 17 00:00:00 2001 From: tfuxu <73042332+tfuxu@users.noreply.github.com> Date: Sun, 25 Sep 2022 23:57:50 +0200 Subject: [PATCH 3/5] feat: add set_interactive to disallow swipes on some pages --- gradience/welcome.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gradience/welcome.py b/gradience/welcome.py index 993fa5c5..cd2faebe 100644 --- a/gradience/welcome.py +++ b/gradience/welcome.py @@ -70,7 +70,9 @@ class GradienceWelcomeWindow(Adw.Window): def __init__(self, window, update=False, **kwargs) -> None: super().__init__(**kwargs) + self.set_transient_for(window) + self.update = update # common variables and references @@ -79,7 +81,6 @@ class GradienceWelcomeWindow(Adw.Window): self.gio_settings = Gio.Settings(app_id) # connect signals - self.connect("close-request", self.quit) self.carousel.connect("page-changed", self.page_changed) self.btn_close.connect("clicked", self.close_window) self.btn_back.connect("clicked", self.previous_page) @@ -89,6 +90,7 @@ class GradienceWelcomeWindow(Adw.Window): self.settings.connect( "notify::gtk-application-prefer-dark-theme", self.theme_changed ) + self.connect("close-request", self.quit) if self.update: self.page_welcome.set_title(_("Thanks for updating Gradience!")) @@ -126,16 +128,20 @@ class GradienceWelcomeWindow(Adw.Window): self.btn_back.set_visible(True) self.btn_next.set_visible(False) self.btn_agree.set_visible(True) + self.carousel.set_interactive(False) elif page == "download": self.btn_back.set_visible(True) self.btn_next.set_visible(False) self.btn_install.set_visible(True) + self.carousel.set_interactive(False) elif page == "welcome": self.btn_back.set_visible(False) self.btn_next.set_visible(True) + self.carousel.set_interactive(True) else: self.btn_back.set_visible(True) self.btn_next.set_visible(True) + self.carousel.set_interactive(True) def agree(self, widget): self.btn_back.set_visible(False) From cba66ede65d477d8b0dc6b488b8a93fbcf7c1a84 Mon Sep 17 00:00:00 2001 From: tfuxu <73042332+tfuxu@users.noreply.github.com> Date: Mon, 26 Sep 2022 00:16:04 +0200 Subject: [PATCH 4/5] chore: slightly clean code inside welcome.py module --- gradience/welcome.py | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/gradience/welcome.py b/gradience/welcome.py index cd2faebe..c8c6abdf 100644 --- a/gradience/welcome.py +++ b/gradience/welcome.py @@ -24,7 +24,7 @@ from gi.repository import Gtk, Adw, Gio from .modules.run_async import RunAsync from .modules.utils import buglog from .modules.flatpak_overrides import ( - create_gtk_user_override, + create_gtk_user_override ) from .constants import rootdir, app_id, rel_ver @@ -116,7 +116,7 @@ class GradienceWelcomeWindow(Adw.Window): def page_changed(self, widget=False, index=0, *_args): """ This function is called on first load and when the user require - to change the page. It sets the widgets' status according to + to change the page. It sets the widgets status according to the step of the onboard progress. """ page = self.get_page(index) @@ -124,6 +124,7 @@ class GradienceWelcomeWindow(Adw.Window): if page == "finish": self.btn_back.set_visible(False) self.btn_next.set_visible(False) + self.carousel.set_interactive(False) elif page == "agreement": self.btn_back.set_visible(True) self.btn_next.set_visible(False) @@ -141,15 +142,14 @@ class GradienceWelcomeWindow(Adw.Window): else: self.btn_back.set_visible(True) self.btn_next.set_visible(True) + self.btn_install.set_visible(False) self.carousel.set_interactive(True) def agree(self, widget): - self.btn_back.set_visible(False) - self.btn_next.set_visible(True) - self.btn_install.set_visible(False) self.window.last_opened_version = self.window.settings.set_string( "last-opened-version", rel_ver ) + if self.update: self.btn_close.set_sensitive(True) self.label_skip.set_visible(False) @@ -157,13 +157,12 @@ class GradienceWelcomeWindow(Adw.Window): else: self.next_page() - @staticmethod - def quit(widget=False): + def quit(self, *args): + self.destroy() sys.exit() # TODO: Add adw-gtk3 check - @staticmethod - def check_adw_gtk3(): + def check_adw_gtk3(self, *args): buglog("check if adw-gtk3 installed") return True @@ -186,13 +185,6 @@ class GradienceWelcomeWindow(Adw.Window): self.next_page() self.installing = True - self.btn_back.set_visible(False) - self.btn_next.set_visible(False) - self.btn_install.set_visible(False) - self.progressbar.set_visible(True) - self.carousel.set_allow_long_swipes(False) - self.carousel.set_allow_mouse_drag(False) - self.carousel.set_allow_scroll_wheel(False) self.set_deletable(False) def install(): @@ -211,17 +203,19 @@ class GradienceWelcomeWindow(Adw.Window): def previous_page(self, widget=False, index=None): if index is None: index = int(self.carousel.get_position()) + previous_page = self.carousel.get_nth_page(index - 1) self.carousel.scroll_to(previous_page, True) def next_page(self, widget=False, index=None): if index is None: index = int(self.carousel.get_position()) + next_page = self.carousel.get_nth_page(index + 1) self.carousel.scroll_to(next_page, True) def pulse(self): - # This function update the progress bar every 1s. + # This function updates the progress bar every 1s. while True: time.sleep(0.5) self.progressbar.pulse() From 1f5a1ec66a4d2a804b819d99023c20cbe4541058 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Mon, 26 Sep 2022 08:00:05 +0000 Subject: [PATCH 5/5] Format code with black and autopep8 This commit fixes the style issues introduced in b5df25b according to the output from black and autopep8. Details: https://deepsource.io/gh/GradienceTeam/Gradience/transform/19e759d8-e6c2-4e6d-9dda-5d3bca3dcc35/ --- gradience/welcome.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gradience/welcome.py b/gradience/welcome.py index c8c6abdf..a684e474 100644 --- a/gradience/welcome.py +++ b/gradience/welcome.py @@ -23,9 +23,7 @@ from gi.repository import Gtk, Adw, Gio from .modules.run_async import RunAsync from .modules.utils import buglog -from .modules.flatpak_overrides import ( - create_gtk_user_override -) +from .modules.flatpak_overrides import create_gtk_user_override from .constants import rootdir, app_id, rel_ver