mirror of
https://github.com/wismna/ModernKeePass.git
synced 2025-10-03 15:40:18 -04:00
Added some translations in file pickers
Corrected key file creation picker issue (any not allowed) Fixed some Sonar issues
This commit is contained in:
@@ -24,7 +24,6 @@ namespace ModernKeePass.Application.Group.Commands.AddEntry
|
||||
if (!_database.IsOpen) throw new DatabaseClosedException();
|
||||
|
||||
await _database.AddEntry(message.ParentGroupId, message.EntryId);
|
||||
//message.ParentGroup.Entries.Add(message.Entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -24,7 +24,6 @@ namespace ModernKeePass.Application.Group.Commands.AddGroup
|
||||
if (!_database.IsOpen) throw new DatabaseClosedException();
|
||||
|
||||
await _database.AddGroup(message.ParentGroupId, message.GroupId);
|
||||
//message.ParentGroup.SubGroups.Add(message.Group);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -24,7 +24,6 @@ namespace ModernKeePass.Application.Group.Commands.RemoveEntry
|
||||
if (!_database.IsOpen) throw new DatabaseClosedException();
|
||||
|
||||
await _database.RemoveEntry(message.ParentGroupId, message.EntryId);
|
||||
//message.ParentGroup.Entries.Remove(message.Entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -24,7 +24,6 @@ namespace ModernKeePass.Application.Group.Commands.RemoveGroup
|
||||
if (!_database.IsOpen) throw new DatabaseClosedException();
|
||||
|
||||
await _database.RemoveGroup(message.ParentGroupId, message.GroupId);
|
||||
//message.ParentGroup.SubGroups.Remove(message.Group);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -8,6 +8,7 @@
|
||||
{
|
||||
public static string Any => "*";
|
||||
public static string Kdbx => ".kdbx";
|
||||
public static string Key => ".key";
|
||||
}
|
||||
}
|
||||
}
|
@@ -38,7 +38,6 @@ namespace ModernKeePass
|
||||
private readonly ISettingsProxy _settings;
|
||||
private readonly INavigationService _navigation;
|
||||
private readonly IHockeyClient _hockey;
|
||||
private readonly IDialogService _dialog;
|
||||
private readonly INotificationService _notification;
|
||||
private readonly IFileProxy _file;
|
||||
private readonly IMessenger _messenger;
|
||||
@@ -64,7 +63,6 @@ namespace ModernKeePass
|
||||
_resource = Services.GetService<IResourceProxy>();
|
||||
_settings = Services.GetService<ISettingsProxy>();
|
||||
_navigation = Services.GetService<INavigationService>();
|
||||
_dialog = Services.GetService<IDialogService>();
|
||||
_notification = Services.GetService<INotificationService>();
|
||||
_hockey = Services.GetService<IHockeyClient>();
|
||||
_file = Services.GetService<IFileProxy>();
|
||||
@@ -134,9 +132,6 @@ namespace ModernKeePass
|
||||
{
|
||||
// Load state from previously terminated application
|
||||
await SuspensionManager.RestoreAsync();
|
||||
#if DEBUG
|
||||
await _dialog.ShowMessage("Windows or an error made the app terminate", "App terminated");
|
||||
#endif
|
||||
}
|
||||
|
||||
// Place the frame in the current Window
|
||||
|
@@ -267,4 +267,13 @@
|
||||
<data name="FileNotFoundTitle" xml:space="preserve">
|
||||
<value>File not found</value>
|
||||
</data>
|
||||
<data name="MessageDialogSaveNameSuggestion" xml:space="preserve">
|
||||
<value>KeePass</value>
|
||||
</data>
|
||||
<data name="CompositeKeyFileTypeDesc" xml:space="preserve">
|
||||
<value>Key file</value>
|
||||
</data>
|
||||
<data name="CompositeKeyFileNameSuggestion" xml:space="preserve">
|
||||
<value>Key</value>
|
||||
</data>
|
||||
</root>
|
@@ -267,4 +267,13 @@
|
||||
<data name="FileNotFoundTitle" xml:space="preserve">
|
||||
<value>Fichier manquant</value>
|
||||
</data>
|
||||
<data name="MessageDialogSaveNameSuggestion" xml:space="preserve">
|
||||
<value>KeePass</value>
|
||||
</data>
|
||||
<data name="CompositeKeyFileTypeDesc" xml:space="preserve">
|
||||
<value>Fichier de clé</value>
|
||||
</data>
|
||||
<data name="CompositeKeyFileNameSuggestion" xml:space="preserve">
|
||||
<value>Clé</value>
|
||||
</data>
|
||||
</root>
|
@@ -0,0 +1,5 @@
|
||||
Redesign of the UI (top menu and hamburger menu)
|
||||
Resuming the app re-opens previously opened database
|
||||
Notify user and show the Save As dialog when an error is encountered during saving
|
||||
Save As actually works now
|
||||
Creating a new group is now done inline
|
@@ -0,0 +1,5 @@
|
||||
Redesign de l'interface utilisateur (menu superieur et menu hamburger)
|
||||
Le re-chargement de l'app re-ouvre la base de donnees ouverte precedemment
|
||||
L'utlisateur est prevenu et un popup de sauvegarde est affiche quand il y a une erreur de sauvegarde
|
||||
La fonctionnalite Sauvegarder Sous fonctionne correctement
|
||||
La creation d'un nouveau groupe se fait directement dans le menu
|
@@ -17,15 +17,17 @@ namespace ModernKeePass.ViewModels
|
||||
private readonly ISettingsProxy _settings;
|
||||
private readonly INavigationService _navigation;
|
||||
private readonly IFileProxy _file;
|
||||
private readonly IResourceProxy _resource;
|
||||
|
||||
public RelayCommand CreateDatabaseFileCommand { get; }
|
||||
|
||||
public NewVm(IMediator mediator, ISettingsProxy settings, INavigationService navigation, IFileProxy file): base(file)
|
||||
public NewVm(IMediator mediator, ISettingsProxy settings, INavigationService navigation, IFileProxy file, IResourceProxy resource): base(file)
|
||||
{
|
||||
_mediator = mediator;
|
||||
_settings = settings;
|
||||
_navigation = navigation;
|
||||
_file = file;
|
||||
_resource = resource;
|
||||
|
||||
CreateDatabaseFileCommand = new RelayCommand(async () => await CreateDatabaseFile());
|
||||
|
||||
@@ -34,8 +36,11 @@ namespace ModernKeePass.ViewModels
|
||||
|
||||
private async Task CreateDatabaseFile()
|
||||
{
|
||||
// TODO: get these from resource
|
||||
var file = await _file.CreateFile("New Database", Domain.Common.Constants.Extensions.Kdbx, "KeePass 2.x database", true);
|
||||
var file = await _file.CreateFile(_resource.GetResourceValue("MessageDialogSaveNameSuggestion"),
|
||||
Domain.Common.Constants.Extensions.Kdbx,
|
||||
_resource.GetResourceValue("MessageDialogSaveErrorFileTypeDesc"),
|
||||
true);
|
||||
if (file == null) return;
|
||||
Token = file.Id;
|
||||
Path = file.Path;
|
||||
Name = file.Name;
|
||||
|
@@ -24,12 +24,14 @@ namespace ModernKeePass.ViewModels
|
||||
private readonly IMediator _mediator;
|
||||
private readonly INavigationService _navigation;
|
||||
private readonly IFileProxy _file;
|
||||
private readonly IResourceProxy _resource;
|
||||
|
||||
public SaveVm(IMediator mediator, INavigationService navigation, IFileProxy file)
|
||||
public SaveVm(IMediator mediator, INavigationService navigation, IFileProxy file, IResourceProxy resource)
|
||||
{
|
||||
_mediator = mediator;
|
||||
_navigation = navigation;
|
||||
_file = file;
|
||||
_resource = resource;
|
||||
|
||||
SaveAsCommand = new RelayCommand(async () => await SaveAs());
|
||||
SaveCommand = new RelayCommand(async () => await Save(), () => IsSaveEnabled);
|
||||
@@ -40,9 +42,11 @@ namespace ModernKeePass.ViewModels
|
||||
|
||||
private async Task SaveAs()
|
||||
{
|
||||
// TODO: get these from resource
|
||||
var file = await _file.CreateFile("New Database", Domain.Common.Constants.Extensions.Kdbx, "KeePass 2.x database", true);
|
||||
|
||||
var file = await _file.CreateFile(_resource.GetResourceValue("MessageDialogSaveNameSuggestion"),
|
||||
Domain.Common.Constants.Extensions.Kdbx,
|
||||
_resource.GetResourceValue("MessageDialogSaveErrorFileTypeDesc"),
|
||||
true);
|
||||
if (file == null) return;
|
||||
await _mediator.Send(new SaveDatabaseCommand { FilePath = file.Id });
|
||||
_navigation.NavigateTo(Constants.Navigation.MainPage);
|
||||
}
|
||||
|
@@ -14,6 +14,7 @@ namespace ModernKeePass.ViewModels
|
||||
{
|
||||
private readonly IMediator _mediator;
|
||||
private readonly ICredentialsProxy _credentials;
|
||||
private readonly IResourceProxy _resource;
|
||||
private readonly IFileProxy _file;
|
||||
|
||||
public bool HasPassword
|
||||
@@ -105,6 +106,7 @@ namespace ModernKeePass.ViewModels
|
||||
{
|
||||
_mediator = mediator;
|
||||
_credentials = credentials;
|
||||
_resource = resource;
|
||||
_file = file;
|
||||
|
||||
OpenKeyFileCommand = new RelayCommand(async () => await OpenKeyFile(), () => HasKeyFile);
|
||||
@@ -117,12 +119,16 @@ namespace ModernKeePass.ViewModels
|
||||
private async Task OpenKeyFile()
|
||||
{
|
||||
var file = await _file.OpenFile(string.Empty, Constants.Extensions.Any, false);
|
||||
if (file == null) return;
|
||||
SetKeyFileInfo(file);
|
||||
}
|
||||
|
||||
private async Task CreateKeyFile()
|
||||
{
|
||||
var file = await _file.CreateFile("Key", Constants.Extensions.Any, "Key file", false);
|
||||
var file = await _file.CreateFile(_resource.GetResourceValue("CompositeKeyFileNameSuggestion"),
|
||||
Constants.Extensions.Key, _resource.GetResourceValue("CompositeKeyFileTypeDesc"),
|
||||
false);
|
||||
if (file == null) return;
|
||||
SetKeyFileInfo(file);
|
||||
|
||||
await _mediator.Send(new GenerateKeyFileCommand { KeyFilePath = KeyFilePath });
|
||||
@@ -130,7 +136,6 @@ namespace ModernKeePass.ViewModels
|
||||
|
||||
private void SetKeyFileInfo(FileInfo file)
|
||||
{
|
||||
if (file == null) return;
|
||||
KeyFilePath = file.Id;
|
||||
KeyFileText = file.Name;
|
||||
HasKeyFile = true;
|
||||
|
Reference in New Issue
Block a user