mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-28 01:45:55 +08:00
@ -340,6 +340,7 @@ setup:
|
|||||||
sshKeyUserProvided:
|
sshKeyUserProvided:
|
||||||
public: Public Key -
|
public: Public Key -
|
||||||
private: Private Key -
|
private: Private Key -
|
||||||
|
password: Password
|
||||||
cloning: Cloning ...
|
cloning: Cloning ...
|
||||||
host:
|
host:
|
||||||
title: Select a Git Hosting Provider -
|
title: Select a Git Hosting Provider -
|
||||||
|
@ -118,7 +118,7 @@ class _GitRemoteSettingsScreenState extends State<GitRemoteSettingsScreen> {
|
|||||||
Navigator.of(context).push(route);
|
Navigator.of(context).push(route);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _updateKeys(String publicKey, String privateKey) {
|
void _updateKeys(String publicKey, String privateKey, String password) {
|
||||||
var settings = Provider.of<Settings>(context, listen: false);
|
var settings = Provider.of<Settings>(context, listen: false);
|
||||||
|
|
||||||
if (publicKey.isEmpty || privateKey.isEmpty) {
|
if (publicKey.isEmpty || privateKey.isEmpty) {
|
||||||
@ -126,6 +126,7 @@ class _GitRemoteSettingsScreenState extends State<GitRemoteSettingsScreen> {
|
|||||||
}
|
}
|
||||||
settings.sshPublicKey = publicKey;
|
settings.sshPublicKey = publicKey;
|
||||||
settings.sshPrivateKey = privateKey;
|
settings.sshPrivateKey = privateKey;
|
||||||
|
settings.sshPassword = password;
|
||||||
settings.save();
|
settings.save();
|
||||||
|
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
|
@ -209,11 +209,12 @@ class GitHostSetupScreenState extends State<GitHostSetupScreen> {
|
|||||||
);
|
);
|
||||||
} else if (_keyGenerationChoice == KeyGenerationChoice.UserProvided) {
|
} else if (_keyGenerationChoice == KeyGenerationChoice.UserProvided) {
|
||||||
return GitHostUserProvidedKeys(
|
return GitHostUserProvidedKeys(
|
||||||
doneFunction: (String publicKey, String privateKey) async {
|
doneFunction:
|
||||||
|
(String publicKey, String privateKey, String password) async {
|
||||||
var settings = Provider.of<Settings>(context, listen: false);
|
var settings = Provider.of<Settings>(context, listen: false);
|
||||||
settings.sshPublicKey = publicKey;
|
settings.sshPublicKey = publicKey;
|
||||||
settings.sshPrivateKey = privateKey;
|
settings.sshPrivateKey = privateKey;
|
||||||
settings.sshPassword = "";
|
settings.sshPassword = password;
|
||||||
settings.save();
|
settings.save();
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
@ -295,11 +296,11 @@ class GitHostSetupScreenState extends State<GitHostSetupScreen> {
|
|||||||
);
|
);
|
||||||
} else if (_keyGenerationChoice == KeyGenerationChoice.UserProvided) {
|
} else if (_keyGenerationChoice == KeyGenerationChoice.UserProvided) {
|
||||||
return GitHostUserProvidedKeys(
|
return GitHostUserProvidedKeys(
|
||||||
doneFunction: (String publicKey, String privateKey) async {
|
doneFunction: (publicKey, privateKey, password) async {
|
||||||
var settings = Provider.of<Settings>(context, listen: false);
|
var settings = Provider.of<Settings>(context, listen: false);
|
||||||
settings.sshPublicKey = publicKey;
|
settings.sshPublicKey = publicKey;
|
||||||
settings.sshPrivateKey = privateKey;
|
settings.sshPrivateKey = privateKey;
|
||||||
settings.sshPassword = "";
|
settings.sshPassword = password;
|
||||||
settings.save();
|
settings.save();
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
|
@ -204,7 +204,8 @@ class GitHostSetupKeyChoice extends StatelessWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class GitHostUserProvidedKeys extends StatefulWidget {
|
class GitHostUserProvidedKeys extends StatefulWidget {
|
||||||
final Func2<String, String, void> doneFunction; // public, private
|
final Func3<String, String, String, void>
|
||||||
|
doneFunction; // public, private, password
|
||||||
final String saveText;
|
final String saveText;
|
||||||
|
|
||||||
GitHostUserProvidedKeys({
|
GitHostUserProvidedKeys({
|
||||||
@ -222,6 +223,7 @@ class _GitHostUserProvidedKeysState extends State<GitHostUserProvidedKeys> {
|
|||||||
GlobalKey<FormState> _privateFormKey;
|
GlobalKey<FormState> _privateFormKey;
|
||||||
TextEditingController _publicKeyController;
|
TextEditingController _publicKeyController;
|
||||||
TextEditingController _privateKeyController;
|
TextEditingController _privateKeyController;
|
||||||
|
TextEditingController _passwordController;
|
||||||
|
|
||||||
String saveText;
|
String saveText;
|
||||||
|
|
||||||
@ -233,6 +235,7 @@ class _GitHostUserProvidedKeysState extends State<GitHostUserProvidedKeys> {
|
|||||||
_privateFormKey = GlobalKey<FormState>();
|
_privateFormKey = GlobalKey<FormState>();
|
||||||
_publicKeyController = TextEditingController();
|
_publicKeyController = TextEditingController();
|
||||||
_privateKeyController = TextEditingController();
|
_privateKeyController = TextEditingController();
|
||||||
|
_passwordController = TextEditingController();
|
||||||
|
|
||||||
saveText = widget.saveText.isEmpty ? tr("setup.next") : widget.saveText;
|
saveText = widget.saveText.isEmpty ? tr("setup.next") : widget.saveText;
|
||||||
}
|
}
|
||||||
@ -263,6 +266,16 @@ class _GitHostUserProvidedKeysState extends State<GitHostUserProvidedKeys> {
|
|||||||
),
|
),
|
||||||
const SizedBox(height: 8.0),
|
const SizedBox(height: 8.0),
|
||||||
PrivateKeyEditor(_privateFormKey, _privateKeyController),
|
PrivateKeyEditor(_privateFormKey, _privateKeyController),
|
||||||
|
const SizedBox(height: 8.0),
|
||||||
|
TextField(
|
||||||
|
controller: _passwordController,
|
||||||
|
maxLines: 1,
|
||||||
|
decoration: InputDecoration(
|
||||||
|
helperText: tr('setup.sshKeyUserProvided.password'),
|
||||||
|
border: const OutlineInputBorder(),
|
||||||
|
isDense: true,
|
||||||
|
),
|
||||||
|
),
|
||||||
const SizedBox(height: 16.0),
|
const SizedBox(height: 16.0),
|
||||||
GitHostSetupButton(
|
GitHostSetupButton(
|
||||||
text: saveText,
|
text: saveText,
|
||||||
@ -284,7 +297,11 @@ class _GitHostUserProvidedKeysState extends State<GitHostUserProvidedKeys> {
|
|||||||
privateKey += '\n';
|
privateKey += '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
widget.doneFunction(publicKey, privateKey);
|
widget.doneFunction(
|
||||||
|
publicKey,
|
||||||
|
privateKey,
|
||||||
|
_passwordController.text,
|
||||||
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
Reference in New Issue
Block a user