diff --git a/lib/screens/githostsetup_screens.dart b/lib/screens/githostsetup_screens.dart index b634a74b..53bb0841 100644 --- a/lib/screens/githostsetup_screens.dart +++ b/lib/screens/githostsetup_screens.dart @@ -177,6 +177,12 @@ class GitHostSetupScreenState extends State { _startGitClone(context); }); }, + regenerateFunction: () { + setState(() { + publicKey = ""; + }); + _generateSshKey(context); + }, publicKey: publicKey, copyKeyFunction: _copyKeyToClipboard, openDeployKeyPage: _launchDeployKeyPage, diff --git a/lib/screens/githostsetup_sshkey.dart b/lib/screens/githostsetup_sshkey.dart index 6246e4ca..62f1217d 100644 --- a/lib/screens/githostsetup_sshkey.dart +++ b/lib/screens/githostsetup_sshkey.dart @@ -6,6 +6,7 @@ import 'githostsetup_loading.dart'; class GitHostSetupSshKeyKnownProvider extends StatelessWidget { final Func0 doneFunction; + final Func0 regenerateFunction; final Func1 copyKeyFunction; final String publicKey; @@ -13,6 +14,7 @@ class GitHostSetupSshKeyKnownProvider extends StatelessWidget { GitHostSetupSshKeyKnownProvider({ @required this.doneFunction, + @required this.regenerateFunction, @required this.copyKeyFunction, @required this.openDeployKeyPage, @required this.publicKey, @@ -42,10 +44,15 @@ class GitHostSetupSshKeyKnownProvider 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