From 590926c96a61875fe607d3ef884c1661dff8d6ba Mon Sep 17 00:00:00 2001 From: Marius Meisenzahl Date: Sun, 12 Dec 2021 13:57:50 +0100 Subject: [PATCH 1/9] MainWindow: Add button to pull updates --- src/MainWindow.vala | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index 30ababc9f..950fc9eb2 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -24,6 +24,7 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { private Gtk.Stack stack; private Gtk.SearchEntry search_entry; private Gtk.Spinner spinner; + private Gtk.Button refresh_button; private Homepage homepage; private Views.SearchView search_view; private Gtk.Button return_button; @@ -111,6 +112,7 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { notify["working"].connect (() => { Idle.add (() => { spinner.active = working; + refresh_button.sensitive = !working; return GLib.Source.REMOVE; }); }); @@ -214,12 +216,18 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { spinner = new Gtk.Spinner (); + refresh_button = new Gtk.Button.from_icon_name ("view-refresh", Gtk.IconSize.LARGE_TOOLBAR) { + action_name = "app.show-updates", + tooltip_text = _("Update") + }; + var headerbar = new Hdy.HeaderBar () { show_close_button = true }; headerbar.set_custom_title (custom_title_stack); headerbar.pack_start (return_button); headerbar.pack_end (search_entry); + headerbar.pack_end (refresh_button); headerbar.pack_end (spinner); homepage = new Homepage (); From bc927b9d5b2ab27a89d8030e90f513d976c4e8dc Mon Sep 17 00:00:00 2001 From: Marius Meisenzahl Date: Sun, 12 Dec 2021 14:05:39 +0100 Subject: [PATCH 2/9] MainWindow: Use revealer --- src/MainWindow.vala | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index 950fc9eb2..557e05a38 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -25,6 +25,7 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { private Gtk.SearchEntry search_entry; private Gtk.Spinner spinner; private Gtk.Button refresh_button; + private Gtk.Revealer refresh_button_revealer; private Homepage homepage; private Views.SearchView search_view; private Gtk.Button return_button; @@ -112,7 +113,7 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { notify["working"].connect (() => { Idle.add (() => { spinner.active = working; - refresh_button.sensitive = !working; + refresh_button_revealer.reveal_child = !working; return GLib.Source.REMOVE; }); }); @@ -221,13 +222,18 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { tooltip_text = _("Update") }; + refresh_button_revealer = new Gtk.Revealer () { + transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT + }; + refresh_button_revealer.add (refresh_button); + var headerbar = new Hdy.HeaderBar () { show_close_button = true }; headerbar.set_custom_title (custom_title_stack); headerbar.pack_start (return_button); headerbar.pack_end (search_entry); - headerbar.pack_end (refresh_button); + headerbar.pack_end (refresh_button_revealer); headerbar.pack_end (spinner); homepage = new Homepage (); From 57d4a71ab8579d9bd0647688a784b6f21e2536b4 Mon Sep 17 00:00:00 2001 From: Marius Meisenzahl Date: Sun, 12 Dec 2021 14:17:12 +0100 Subject: [PATCH 3/9] Application: Add refresh action --- src/Application.vala | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Application.vala b/src/Application.vala index 65fae5aa3..7188eceee 100644 --- a/src/Application.vala +++ b/src/Application.vala @@ -82,6 +82,11 @@ public class AppCenter.App : Gtk.Application { client.cache_update_failed.connect (on_cache_update_failed); client.installed_apps_changed.connect (on_updates_available); + var refresh_action = new SimpleAction ("refresh", null); + refresh_action.activate.connect (() => { + client.update_cache.begin (true); + }); + if (AppInfo.get_default_for_uri_scheme ("appstream") == null) { var appinfo = new DesktopAppInfo (application_id + ".desktop"); try { @@ -93,7 +98,9 @@ public class AppCenter.App : Gtk.Application { add_action (quit_action); add_action (show_updates_action); + add_action (refresh_action); set_accels_for_action ("app.quit", {"q"}); + set_accels_for_action ("app.refresh", {"r"}); search_provider = new SearchProvider (); } From 228fefe7852ea7d9ab57e42edba2871e2946ec6c Mon Sep 17 00:00:00 2001 From: Marius Meisenzahl Date: Sun, 12 Dec 2021 14:17:23 +0100 Subject: [PATCH 4/9] MainWindow: Use refresh action --- src/MainWindow.vala | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index 557e05a38..377f57f75 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -218,8 +218,11 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { spinner = new Gtk.Spinner (); refresh_button = new Gtk.Button.from_icon_name ("view-refresh", Gtk.IconSize.LARGE_TOOLBAR) { - action_name = "app.show-updates", - tooltip_text = _("Update") + action_name = "app.refresh", + tooltip_markup = Granite.markup_accel_tooltip ( + ((AppCenter.App) GLib.Application.get_default ()).get_accels_for_action ("app.refresh"), + _("Refresh") + ) }; refresh_button_revealer = new Gtk.Revealer () { From 9b86cbb87a1a701d0bbc7e3d7dbeaa2b059400ca Mon Sep 17 00:00:00 2001 From: Marius Meisenzahl Date: Fri, 7 Jan 2022 12:26:17 +0100 Subject: [PATCH 5/9] MainWindow: Add refresh menu item --- src/MainWindow.vala | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index 887d9cc57..9b56ec1bf 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -243,6 +243,17 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { } }); + var refresh_accellabel = new Granite.AccelLabel.from_action_name ( + _("Refresh"), + "app.refresh" + ); + + var refresh_menuitem = new Gtk.ModelButton () { + action_name = "app.refresh" + }; + refresh_menuitem.get_child ().destroy (); + refresh_menuitem.add (refresh_accellabel); + var menu_popover_grid = new Gtk.Grid () { column_spacing = 6, margin_bottom = 6, @@ -252,6 +263,7 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { }; menu_popover_grid.add (automatic_updates_button); + menu_popover_grid.add (refresh_menuitem); menu_popover_grid.show_all (); From a23efc088e216d906da7fa102fcec804fd675874 Mon Sep 17 00:00:00 2001 From: Marius Meisenzahl Date: Fri, 7 Jan 2022 12:30:22 +0100 Subject: [PATCH 6/9] MainWindow: Bind refresh menu item sensitive to working --- src/MainWindow.vala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index 9b56ec1bf..7ea49cee7 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -26,6 +26,7 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { private Gtk.Spinner spinner; private Gtk.Button refresh_button; private Gtk.Revealer refresh_button_revealer; + private Gtk.ModelButton refresh_menuitem; private Homepage homepage; private Views.SearchView search_view; private Gtk.Button return_button; @@ -115,6 +116,7 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { Idle.add (() => { spinner.active = working; refresh_button_revealer.reveal_child = !working; + refresh_menuitem.sensitive = !working; return GLib.Source.REMOVE; }); }); @@ -248,7 +250,7 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { "app.refresh" ); - var refresh_menuitem = new Gtk.ModelButton () { + refresh_menuitem = new Gtk.ModelButton () { action_name = "app.refresh" }; refresh_menuitem.get_child ().destroy (); From 769b0559a7f5e45382b84db2869e4e5cdc033793 Mon Sep 17 00:00:00 2001 From: Marius Meisenzahl Date: Fri, 7 Jan 2022 12:31:24 +0100 Subject: [PATCH 7/9] MainWindow: Remove refresh button --- src/MainWindow.vala | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index 7ea49cee7..cb2cd1b20 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -24,8 +24,6 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { private Gtk.Stack stack; private Gtk.SearchEntry search_entry; private Gtk.Spinner spinner; - private Gtk.Button refresh_button; - private Gtk.Revealer refresh_button_revealer; private Gtk.ModelButton refresh_menuitem; private Homepage homepage; private Views.SearchView search_view; @@ -115,7 +113,6 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { notify["working"].connect (() => { Idle.add (() => { spinner.active = working; - refresh_button_revealer.reveal_child = !working; refresh_menuitem.sensitive = !working; return GLib.Source.REMOVE; }); @@ -220,19 +217,6 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { spinner = new Gtk.Spinner (); - refresh_button = new Gtk.Button.from_icon_name ("view-refresh", Gtk.IconSize.LARGE_TOOLBAR) { - action_name = "app.refresh", - tooltip_markup = Granite.markup_accel_tooltip ( - ((AppCenter.App) GLib.Application.get_default ()).get_accels_for_action ("app.refresh"), - _("Refresh") - ) - }; - - refresh_button_revealer = new Gtk.Revealer () { - transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT - }; - refresh_button_revealer.add (refresh_button); - var automatic_updates_button = new Granite.SwitchModelButton (_("Automatic Updates")) { description = _("Automatically update free and paid-for curated apps") }; @@ -287,7 +271,6 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { headerbar.pack_start (return_button); headerbar.pack_end (menu_button); headerbar.pack_end (search_entry); - headerbar.pack_end (refresh_button_revealer); headerbar.pack_end (spinner); homepage = new Homepage (); From fe074ca3a1d420530e556ab01a4372df4e765cef Mon Sep 17 00:00:00 2001 From: Marius Meisenzahl Date: Mon, 10 Jan 2022 23:21:11 +0100 Subject: [PATCH 8/9] Update src/MainWindow.vala Co-authored-by: Cassidy James Blaede --- src/MainWindow.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index cb2cd1b20..58779c6bb 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -230,7 +230,7 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { }); var refresh_accellabel = new Granite.AccelLabel.from_action_name ( - _("Refresh"), + _("Check for Updates"), "app.refresh" ); From f9e5e728353396cfbaf2b43893803723707d107e Mon Sep 17 00:00:00 2001 From: Marius Meisenzahl Date: Tue, 11 Jan 2022 21:43:07 +0100 Subject: [PATCH 9/9] MainWindow: Disable refresh action if working --- src/Application.vala | 4 +++- src/MainWindow.vala | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Application.vala b/src/Application.vala index 7188eceee..d72c26230 100644 --- a/src/Application.vala +++ b/src/Application.vala @@ -49,6 +49,8 @@ public class AppCenter.App : Gtk.Application { public static GLib.Settings settings; + public static SimpleAction refresh_action; + static construct { settings = new GLib.Settings ("io.elementary.appcenter.settings"); } @@ -82,7 +84,7 @@ public class AppCenter.App : Gtk.Application { client.cache_update_failed.connect (on_cache_update_failed); client.installed_apps_changed.connect (on_updates_available); - var refresh_action = new SimpleAction ("refresh", null); + refresh_action = new SimpleAction ("refresh", null); refresh_action.activate.connect (() => { client.update_cache.begin (true); }); diff --git a/src/MainWindow.vala b/src/MainWindow.vala index 58779c6bb..3c537ef0c 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -113,7 +113,7 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { notify["working"].connect (() => { Idle.add (() => { spinner.active = working; - refresh_menuitem.sensitive = !working; + App.refresh_action.set_enabled (!working); return GLib.Source.REMOVE; }); });