From 32d28d7bf2646fc7a0008937034246fcc96dbc8a Mon Sep 17 00:00:00 2001 From: Mihai Moldovan Date: Tue, 6 Dec 2022 02:49:19 +0100 Subject: misc src/: make ArcticaGreeter a proper vala SingleInstance class. This allows us to drop the rather awkward self-referencing static singleton member and use a standard vala/glib feature. --- src/greeter-list.vala | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) (limited to 'src/greeter-list.vala') diff --git a/src/greeter-list.vala b/src/greeter-list.vala index 0cc3a1f..98c8b48 100644 --- a/src/greeter-list.vala +++ b/src/greeter-list.vala @@ -229,7 +229,8 @@ public abstract class GreeterList : FadableBox public void cancel_authentication () { - ArcticaGreeter.singleton.cancel_authentication (); + var greeter = new ArcticaGreeter (); + greeter.cancel_authentication (); entry_selected (selected_entry.id); } @@ -483,7 +484,8 @@ public abstract class GreeterList : FadableBox entry.destroy (); /* Show a manual login if no users and no remote login entry */ - if (!have_entries () && !ArcticaGreeter.singleton.show_remote_login_hint ()) + var greeter = new ArcticaGreeter (); + if (!have_entries () && !greeter.show_remote_login_hint ()) add_manual_entry (); queue_draw (); @@ -793,9 +795,10 @@ public abstract class GreeterList : FadableBox protected void connect_to_lightdm () { - ArcticaGreeter.singleton.show_message.connect (show_message_cb); - ArcticaGreeter.singleton.show_prompt.connect (show_prompt_cb); - ArcticaGreeter.singleton.authentication_complete.connect (authentication_complete_cb); + var greeter = new ArcticaGreeter (); + greeter.show_message.connect (show_message_cb); + greeter.show_prompt.connect (show_prompt_cb); + greeter.authentication_complete.connect (authentication_complete_cb); } protected void show_message_cb (string text, LightDM.MessageType type) @@ -809,10 +812,11 @@ public abstract class GreeterList : FadableBox /* Notify the greeter on what user has been logged */ if (get_selected_id () == "*other" && manual_name == null) { - if (ArcticaGreeter.singleton.test_mode) + var greeter = new ArcticaGreeter (); + if (greeter.test_mode) manual_name = test_username; else - manual_name = ArcticaGreeter.singleton.authentication_user(); + manual_name = greeter.authentication_user(); } prompted = true; @@ -841,10 +845,11 @@ public abstract class GreeterList : FadableBox return; bool is_authenticated; - if (ArcticaGreeter.singleton.test_mode) + var greeter = new ArcticaGreeter (); + if (greeter.test_mode) is_authenticated = test_is_authenticated; else - is_authenticated = ArcticaGreeter.singleton.is_authenticated(); + is_authenticated = greeter.is_authenticated(); if (is_authenticated) { @@ -852,7 +857,7 @@ public abstract class GreeterList : FadableBox if (prompted && !unacknowledged_messages) { login_complete (); - if (ArcticaGreeter.singleton.test_mode) + if (greeter.test_mode) start_session (); else { @@ -905,16 +910,17 @@ public abstract class GreeterList : FadableBox greeter_authenticating_user = get_selected_id (); - if (ArcticaGreeter.singleton.test_mode) + var greeter = new ArcticaGreeter (); + if (greeter.test_mode) test_start_authentication (); else { if (get_selected_id () == "*other") - ArcticaGreeter.singleton.authenticate (); + greeter.authenticate (); else if (get_selected_id () == "*guest") - ArcticaGreeter.singleton.authenticate_as_guest (); + greeter.authenticate_as_guest (); else - ArcticaGreeter.singleton.authenticate (get_selected_id ()); + greeter.authenticate (get_selected_id ()); } } @@ -929,7 +935,8 @@ public abstract class GreeterList : FadableBox private void start_session () { - if (!ArcticaGreeter.singleton.start_session (get_lightdm_session (), background)) + var greeter = new ArcticaGreeter (); + if (!greeter.start_session (get_lightdm_session (), background)) { show_message (_("Failed to start session"), true); start_authentication (); -- cgit v1.2.3