Skip to content

Commit cb3a174

Browse files
committed
Show a popup when renaming an item to an existing name
1 parent cbdf451 commit cb3a174

3 files changed

Lines changed: 11 additions & 5 deletions

File tree

src/Platforms/SecureFolderFS.UI/Strings/en-US/Resources.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,4 +1415,7 @@
14151415
<data name="Decrypted" xml:space="preserve">
14161416
<value>Decrypted</value>
14171417
</data>
1418+
<data name="ItemAlreadyExists" xml:space="preserve">
1419+
<value>Item with the same name already exists</value>
1420+
</data>
14181421
</root>

src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Storage/Browser/BrowserItemViewModel.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -233,17 +233,19 @@ protected virtual async Task RenameAsync(CancellationToken cancellationToken)
233233
if (string.IsNullOrWhiteSpace(viewModel.NewName))
234234
return;
235235

236-
var formattedName = CollisionHelpers.GetAvailableName(
237-
FormattingHelpers.SanitizeItemName(viewModel.NewName, "Renamed item"),
238-
ParentFolder.Items.Select(x => x.Inner.Name));
239-
236+
var formattedName = FormattingHelpers.SanitizeItemName(viewModel.NewName, "Renamed item");
240237
if (!Path.HasExtension(formattedName))
241238
formattedName = $"{formattedName}{Path.GetExtension(innerChild.Name)}";
242239

243240
var existingItem = await renamableFolder.TryGetFirstByNameAsync(formattedName, cancellationToken);
244241
if (existingItem is not null)
245242
{
246-
// TODO: Report that the item already exists
243+
await OverlayService.ShowAsync(new MessageOverlayViewModel()
244+
{
245+
Title = "InvalidItemName".ToLocalized(),
246+
Message = "ItemAlreadyExists".ToLocalized(formattedName),
247+
SecondaryText = "Close".ToLocalized()
248+
});
247249
return;
248250
}
249251

src/Shared/SecureFolderFS.Shared/Extensions/CollectionExtensions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Collections.Generic;
44
using System.Diagnostics.CodeAnalysis;
55
using System.Linq;
6+
using System.Threading.Tasks;
67
using SecureFolderFS.Shared.ComponentModel;
78

89
namespace SecureFolderFS.Shared.Extensions

0 commit comments

Comments
 (0)