diff --git a/lib/setup/screens.dart b/lib/setup/screens.dart index 67ccff13..39567640 100644 --- a/lib/setup/screens.dart +++ b/lib/setup/screens.dart @@ -180,6 +180,12 @@ class GitHostSetupScreenState extends State { _startGitClone(context); }); }, + regenerateFunction: () { + setState(() { + publicKey = ""; + }); + _generateSshKey(context); + }, publicKey: publicKey, copyKeyFunction: _copyKeyToClipboard, ); diff --git a/lib/setup/sshkey.dart b/lib/setup/sshkey.dart index a6114b91..30f7185f 100644 --- a/lib/setup/sshkey.dart +++ b/lib/setup/sshkey.dart @@ -91,11 +91,13 @@ class GitHostSetupSshKeyKnownProvider extends StatelessWidget { class GitHostSetupSshKeyUnknownProvider extends StatelessWidget { final Func0 doneFunction; + final Func0 regenerateFunction; final Func1 copyKeyFunction; final String publicKey; GitHostSetupSshKeyUnknownProvider({ @required this.doneFunction, + @required this.regenerateFunction, @required this.copyKeyFunction, @required this.publicKey, }); @@ -124,10 +126,15 @@ class GitHostSetupSshKeyUnknownProvider extends StatelessWidget { const SizedBox(height: 8.0), PublicKeyWidget(publicKey), const SizedBox(height: 8.0), + GitHostSetupButton( text: "Copy Key", onPressed: () => copyKeyFunction(context), ), + GitHostSetupButton( + text: "Regenerate Key", + onPressed: regenerateFunction, + ), const SizedBox(height: 16.0), // Step 2