chiark / gitweb /
login.rs: factor out ready_to_register().
authorSimon Tatham <anakin@pobox.com>
Sat, 3 Feb 2024 09:34:03 +0000 (09:34 +0000)
committerSimon Tatham <anakin@pobox.com>
Sat, 3 Feb 2024 09:34:03 +0000 (09:34 +0000)
Spotted this obvious duplication in passing, while looking for
something else.

src/login.rs

index 6ea1b7ae58b4adad46948e3789d8d301baf74167..d8e61361cd9b57d0127ae95f892a65257abb71d3 100644 (file)
@@ -736,6 +736,14 @@ impl LoginMenu {
         }
     }
 
+    fn ready_to_register(&self) -> bool {
+        self.el_username.get_data().ok()
+            && self.el_email.get_data().ok()
+            && self.el_password.get_data().ok()
+            && self.el_password_confirm.get_data().ok()
+            && self.cl_accept.get_value()
+    }
+
     fn confirm_registration_fallible(
         &mut self,
         client: &mut Client,
@@ -895,12 +903,7 @@ impl ActivityState for LoginMenu {
             }
             LoginState::LoginSuccess => status.add(Space, "Main Menu", 100),
             LoginState::RegisterInput => {
-                if self.el_username.get_data().ok()
-                    && self.el_email.get_data().ok()
-                    && self.el_password.get_data().ok()
-                    && self.el_password_confirm.get_data().ok()
-                    && self.cl_accept.get_value()
-                {
+                if self.ready_to_register() {
                     status.add(Space, "Register account", 100)
                 } else {
                     status.message(
@@ -1041,11 +1044,7 @@ impl ActivityState for LoginMenu {
                 if self.state == LoginState::LoginSuccess {
                     LogicalAction::FinishedLoggingIn
                 } else if self.state == LoginState::RegisterInput
-                    && self.el_username.get_data().ok()
-                    && self.el_email.get_data().ok()
-                    && self.el_password.get_data().ok()
-                    && self.el_password_confirm.get_data().ok()
-                    && self.cl_accept.get_value()
+                    && self.ready_to_register()
                 {
                     self.register_account(client)
                 } else {