Skip to content

Commit fe49c0c

Browse files
Thomas1664tsvietOK
andauthored
Improved the codebase quality in AddItemDialog (#2007)
Co-authored-by: Vladyslav <[email protected]>
1 parent 284a344 commit fe49c0c

20 files changed

+687
-46
lines changed

Files/Dialogs/AddItemDialog.xaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,23 @@
22
x:Class="Files.Dialogs.AddItemDialog"
33
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
44
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5-
xmlns:Windows10version1903="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract, 8)"
65
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
76
xmlns:local="using:Files.Dialogs"
7+
xmlns:local2="using:Files.Helpers"
88
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
99
x:Name="AddDialog"
10+
x:Uid="AddDialog"
1011
Title="Create a New Item"
1112
Grid.RowSpan="4"
1213
BorderThickness="0"
1314
CornerRadius="4"
1415
PrimaryButtonText="Cancel"
16+
RequestedTheme="{x:Bind local2:ThemeHelper.RootTheme}"
1517
mc:Ignorable="d">
1618

1719
<StackPanel Orientation="Vertical" Spacing="25">
1820
<Grid x:Name="SubtitleArea">
19-
<TextBlock x:Name="Description" Text="Choose a type for this new item below" />
21+
<TextBlock x:Name="Description" x:Uid="AddDialogDescription" Text="Choose a type for this new item below" />
2022
</Grid>
2123
<Grid x:Name="SelectionListContent" HorizontalAlignment="Stretch">
2224
<StackPanel>

Files/Dialogs/AddItemDialog.xaml.cs

Lines changed: 53 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System;
1+
using Files.Filesystem;
2+
using System;
23
using System.Collections.Generic;
34
using Windows.Storage;
45
using Windows.UI.Xaml.Controls;
@@ -7,12 +8,9 @@ namespace Files.Dialogs
78
{
89
public sealed partial class AddItemDialog : ContentDialog
910
{
10-
public ListView addItemsChoices;
11-
1211
public AddItemDialog()
1312
{
14-
this.InitializeComponent();
15-
addItemsChoices = AddItemsListView;
13+
InitializeComponent();
1614
AddItemsToList();
1715
}
1816

@@ -21,67 +19,77 @@ public AddItemDialog()
2119
public void AddItemsToList()
2220
{
2321
AddItemsList.Clear();
24-
AddItemsList.Add(new AddListItem { Header = "Folder", SubHeader = "Creates an empty folder", Icon = "\xE838", IsItemEnabled = true });
25-
AddItemsList.Add(new AddListItem { Header = "Text Document", SubHeader = "Creates a simple text file", Icon = "\xE8A5", IsItemEnabled = true });
26-
AddItemsList.Add(new AddListItem { Header = "Bitmap Image", SubHeader = "Creates an empty bitmap image file", Icon = "\xEB9F", IsItemEnabled = true });
22+
23+
AddItemsList.Add(new AddListItem
24+
{
25+
Header = ResourceController.GetTranslation("AddDialogListFolderHeader"),
26+
SubHeader = ResourceController.GetTranslation("AddDialogListFolderSubHeader"),
27+
Icon = "\xE838",
28+
IsItemEnabled = true,
29+
ItemType = AddItemType.Folder
30+
});
31+
32+
AddItemsList.Add(new AddListItem
33+
{
34+
Header = ResourceController.GetTranslation("AddDialogListTextFileHeader"),
35+
SubHeader = ResourceController.GetTranslation("AddDialogListTextFileSubHeader"),
36+
Icon = "\xE8A5",
37+
IsItemEnabled = true,
38+
ItemType = AddItemType.TextDocument
39+
});
40+
AddItemsList.Add(new AddListItem
41+
{
42+
Header = ResourceController.GetTranslation("AddDialogListBitmapHeader"),
43+
SubHeader = ResourceController.GetTranslation("AddDialogListBitmapSubHeader"),
44+
Icon = "\xEB9F",
45+
IsItemEnabled = true,
46+
ItemType = AddItemType.BitmapImage
47+
});
2748
}
2849

2950
private void ListView_ItemClick(object sender, ItemClickEventArgs e)
3051
{
3152
this.Hide();
32-
switch ((e.ClickedItem as AddListItem).Header)
33-
{
34-
case "Folder":
35-
CreateFile(AddItemType.Folder);
36-
break;
37-
38-
case "Text Document":
39-
CreateFile(AddItemType.TextDocument);
40-
break;
41-
42-
case "Bitmap Image":
43-
CreateFile(AddItemType.BitmapImage);
44-
break;
45-
}
53+
CreateFile((e.ClickedItem as AddListItem).ItemType);
4654
}
4755

48-
public static async void CreateFile(AddItemType fileType)
56+
public static async void CreateFile(AddItemType itemType)
4957
{
50-
var TabInstance = App.CurrentInstance;
5158
string currentPath = null;
52-
if (TabInstance.ContentPage != null)
59+
if (App.CurrentInstance.ContentPage != null)
5360
{
54-
currentPath = TabInstance.FilesystemViewModel.WorkingDirectory;
61+
currentPath = App.CurrentInstance.FilesystemViewModel.WorkingDirectory;
5562
}
56-
var folderWithPath = await Filesystem.ItemViewModel.GetFolderWithPathFromPathAsync(currentPath);
63+
64+
StorageFolderWithPath folderWithPath = await ItemViewModel.GetFolderWithPathFromPathAsync(currentPath);
5765
StorageFolder folderToCreateItem = folderWithPath.Folder;
58-
RenameDialog renameDialog = new RenameDialog();
5966

67+
// Show rename dialog
68+
RenameDialog renameDialog = new RenameDialog();
6069
var renameResult = await renameDialog.ShowAsync();
6170
if (renameResult != ContentDialogResult.Primary)
6271
{
6372
return;
6473
}
6574

66-
var userInput = renameDialog.storedRenameInput;
67-
68-
if (fileType == AddItemType.Folder)
69-
{
70-
userInput = !string.IsNullOrWhiteSpace(userInput) ? userInput : ResourceController.GetTranslation("NewFolder");
71-
72-
await folderToCreateItem.CreateFolderAsync(userInput, CreationCollisionOption.GenerateUniqueName);
73-
}
74-
else if (fileType == AddItemType.TextDocument)
75+
// Create file based on dialog result
76+
string userInput = renameDialog.storedRenameInput;
77+
switch (itemType)
7578
{
76-
userInput = !string.IsNullOrWhiteSpace(userInput) ? userInput : ResourceController.GetTranslation("NewTextDocument");
79+
case AddItemType.Folder:
80+
userInput = !string.IsNullOrWhiteSpace(userInput) ? userInput : ResourceController.GetTranslation("NewFolder");
81+
await folderToCreateItem.CreateFolderAsync(userInput, CreationCollisionOption.GenerateUniqueName);
82+
break;
7783

78-
await folderToCreateItem.CreateFileAsync(userInput + ".txt", CreationCollisionOption.GenerateUniqueName);
79-
}
80-
else if (fileType == AddItemType.BitmapImage)
81-
{
82-
userInput = !string.IsNullOrWhiteSpace(userInput) ? userInput : ResourceController.GetTranslation("NewBitmapImage");
84+
case AddItemType.TextDocument:
85+
userInput = !string.IsNullOrWhiteSpace(userInput) ? userInput : ResourceController.GetTranslation("NewTextDocument");
86+
await folderToCreateItem.CreateFileAsync(userInput + ".txt", CreationCollisionOption.GenerateUniqueName);
87+
break;
8388

84-
await folderToCreateItem.CreateFileAsync(userInput + ".bmp", CreationCollisionOption.GenerateUniqueName);
89+
case AddItemType.BitmapImage:
90+
userInput = !string.IsNullOrWhiteSpace(userInput) ? userInput : ResourceController.GetTranslation("NewBitmapImage");
91+
await folderToCreateItem.CreateFileAsync(userInput + ".bmp", CreationCollisionOption.GenerateUniqueName);
92+
break;
8593
}
8694
}
8795
}
@@ -100,5 +108,6 @@ public class AddListItem
100108
public string SubHeader { get; set; }
101109
public string Icon { get; set; }
102110
public bool IsItemEnabled { get; set; }
111+
public AddItemType ItemType { get; set; }
103112
}
104113
}

Files/MultilingualResources/Files.de-DE.xlf

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1244,6 +1244,42 @@
12441244
<source>The application needs to be restarted in order to apply the langague setting, would you like to restart the app?</source>
12451245
<target state="translated">Die Anwendung muss neugestartet werden, um die Spracheinstellungen zu übernehmen. Möchten Sie die Anwendung jetzt neustarten?</target>
12461246
</trans-unit>
1247+
<trans-unit id="AddDialog.Title" translate="yes" xml:space="preserve">
1248+
<source>Create a New Item</source>
1249+
<target state="translated">Neues Element erstellen</target>
1250+
</trans-unit>
1251+
<trans-unit id="AddDialogDescription.Text" translate="yes" xml:space="preserve">
1252+
<source>Choose a type for this new item below</source>
1253+
<target state="translated">Wählen Sie unten einen Dateityp für das neue Element aus</target>
1254+
</trans-unit>
1255+
<trans-unit id="AddDialog.PrimaryButtonText" translate="yes" xml:space="preserve">
1256+
<source>Cancel</source>
1257+
<target state="translated">Abbrechen</target>
1258+
</trans-unit>
1259+
<trans-unit id="AddDialogListBitmapHeader" translate="yes" xml:space="preserve">
1260+
<source>Bitmap Image</source>
1261+
<target state="translated">Bitmapbild</target>
1262+
</trans-unit>
1263+
<trans-unit id="AddDialogListBitmapSubHeader" translate="yes" xml:space="preserve">
1264+
<source>Creates an empty bitmap image file</source>
1265+
<target state="translated">Erstelt ein leeres Bitmapbild</target>
1266+
</trans-unit>
1267+
<trans-unit id="AddDialogListFolderHeader" translate="yes" xml:space="preserve">
1268+
<source>Folder</source>
1269+
<target state="translated">Ordner</target>
1270+
</trans-unit>
1271+
<trans-unit id="AddDialogListFolderSubHeader" translate="yes" xml:space="preserve">
1272+
<source>Creates an empty folder</source>
1273+
<target state="translated">Erstellt einen leeren Ordner</target>
1274+
</trans-unit>
1275+
<trans-unit id="AddDialogListTextFileHeader" translate="yes" xml:space="preserve">
1276+
<source>Text Document</source>
1277+
<target state="translated">Textdokument</target>
1278+
</trans-unit>
1279+
<trans-unit id="AddDialogListTextFileSubHeader" translate="yes" xml:space="preserve">
1280+
<source>Creates an empty text file</source>
1281+
<target state="translated">Erstellt ein leeres Textdokument</target>
1282+
</trans-unit>
12471283
<trans-unit id="BaseLayoutContextFlyoutLayoutMode.Text" translate="yes" xml:space="preserve">
12481284
<source>Layout mode</source>
12491285
<target state="needs-review-translation" state-qualifier="tm-suggestion">Layoutmodus</target>

Files/MultilingualResources/Files.es-ES.xlf

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1242,6 +1242,42 @@
12421242
<source>The application needs to be restarted in order to apply the langague setting, would you like to restart the app?</source>
12431243
<target state="translated">La aplicación necesita reiniciarse para aplicar el cambio de idioma, ¿Reiniciar ahora?</target>
12441244
</trans-unit>
1245+
<trans-unit id="AddDialog.Title" translate="yes" xml:space="preserve">
1246+
<source>Create a New Item</source>
1247+
<target state="new">Create a New Item</target>
1248+
</trans-unit>
1249+
<trans-unit id="AddDialogDescription.Text" translate="yes" xml:space="preserve">
1250+
<source>Choose a type for this new item below</source>
1251+
<target state="new">Choose a type for this new item below</target>
1252+
</trans-unit>
1253+
<trans-unit id="AddDialog.PrimaryButtonText" translate="yes" xml:space="preserve">
1254+
<source>Cancel</source>
1255+
<target state="new">Cancel</target>
1256+
</trans-unit>
1257+
<trans-unit id="AddDialogListBitmapHeader" translate="yes" xml:space="preserve">
1258+
<source>Bitmap Image</source>
1259+
<target state="new">Bitmap Image</target>
1260+
</trans-unit>
1261+
<trans-unit id="AddDialogListBitmapSubHeader" translate="yes" xml:space="preserve">
1262+
<source>Creates an empty bitmap image file</source>
1263+
<target state="new">Creates an empty bitmap image file</target>
1264+
</trans-unit>
1265+
<trans-unit id="AddDialogListFolderHeader" translate="yes" xml:space="preserve">
1266+
<source>Folder</source>
1267+
<target state="new">Folder</target>
1268+
</trans-unit>
1269+
<trans-unit id="AddDialogListFolderSubHeader" translate="yes" xml:space="preserve">
1270+
<source>Creates an empty folder</source>
1271+
<target state="new">Creates an empty folder</target>
1272+
</trans-unit>
1273+
<trans-unit id="AddDialogListTextFileHeader" translate="yes" xml:space="preserve">
1274+
<source>Text Document</source>
1275+
<target state="new">Text Document</target>
1276+
</trans-unit>
1277+
<trans-unit id="AddDialogListTextFileSubHeader" translate="yes" xml:space="preserve">
1278+
<source>Creates an empty text file</source>
1279+
<target state="new">Creates an empty text file</target>
1280+
</trans-unit>
12451281
<trans-unit id="BaseLayoutContextFlyoutLayoutMode.Text" translate="yes" xml:space="preserve">
12461282
<source>Layout mode</source>
12471283
<target state="needs-review-translation" state-qualifier="tm-suggestion">Modo de diseño</target>

Files/MultilingualResources/Files.fr-FR.xlf

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1241,6 +1241,42 @@
12411241
<source>The application needs to be restarted in order to apply the langague setting, would you like to restart the app?</source>
12421242
<target state="new">The application needs to be restarted in order to apply the langague setting, would you like to restart the app?</target>
12431243
</trans-unit>
1244+
<trans-unit id="AddDialog.Title" translate="yes" xml:space="preserve">
1245+
<source>Create a New Item</source>
1246+
<target state="new">Create a New Item</target>
1247+
</trans-unit>
1248+
<trans-unit id="AddDialogDescription.Text" translate="yes" xml:space="preserve">
1249+
<source>Choose a type for this new item below</source>
1250+
<target state="new">Choose a type for this new item below</target>
1251+
</trans-unit>
1252+
<trans-unit id="AddDialog.PrimaryButtonText" translate="yes" xml:space="preserve">
1253+
<source>Cancel</source>
1254+
<target state="new">Cancel</target>
1255+
</trans-unit>
1256+
<trans-unit id="AddDialogListBitmapHeader" translate="yes" xml:space="preserve">
1257+
<source>Bitmap Image</source>
1258+
<target state="new">Bitmap Image</target>
1259+
</trans-unit>
1260+
<trans-unit id="AddDialogListBitmapSubHeader" translate="yes" xml:space="preserve">
1261+
<source>Creates an empty bitmap image file</source>
1262+
<target state="new">Creates an empty bitmap image file</target>
1263+
</trans-unit>
1264+
<trans-unit id="AddDialogListFolderHeader" translate="yes" xml:space="preserve">
1265+
<source>Folder</source>
1266+
<target state="new">Folder</target>
1267+
</trans-unit>
1268+
<trans-unit id="AddDialogListFolderSubHeader" translate="yes" xml:space="preserve">
1269+
<source>Creates an empty folder</source>
1270+
<target state="new">Creates an empty folder</target>
1271+
</trans-unit>
1272+
<trans-unit id="AddDialogListTextFileHeader" translate="yes" xml:space="preserve">
1273+
<source>Text Document</source>
1274+
<target state="new">Text Document</target>
1275+
</trans-unit>
1276+
<trans-unit id="AddDialogListTextFileSubHeader" translate="yes" xml:space="preserve">
1277+
<source>Creates an empty text file</source>
1278+
<target state="new">Creates an empty text file</target>
1279+
</trans-unit>
12441280
<trans-unit id="BaseLayoutContextFlyoutLayoutMode.Text" translate="yes" xml:space="preserve">
12451281
<source>Layout mode</source>
12461282
<target state="needs-review-translation" state-qualifier="tm-suggestion">Mode disposition</target>

Files/MultilingualResources/Files.he-IL.xlf

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1241,6 +1241,42 @@
12411241
<source>The application needs to be restarted in order to apply the langague setting, would you like to restart the app?</source>
12421242
<target state="new">The application needs to be restarted in order to apply the langague setting, would you like to restart the app?</target>
12431243
</trans-unit>
1244+
<trans-unit id="AddDialog.Title" translate="yes" xml:space="preserve">
1245+
<source>Create a New Item</source>
1246+
<target state="new">Create a New Item</target>
1247+
</trans-unit>
1248+
<trans-unit id="AddDialogDescription.Text" translate="yes" xml:space="preserve">
1249+
<source>Choose a type for this new item below</source>
1250+
<target state="new">Choose a type for this new item below</target>
1251+
</trans-unit>
1252+
<trans-unit id="AddDialog.PrimaryButtonText" translate="yes" xml:space="preserve">
1253+
<source>Cancel</source>
1254+
<target state="new">Cancel</target>
1255+
</trans-unit>
1256+
<trans-unit id="AddDialogListBitmapHeader" translate="yes" xml:space="preserve">
1257+
<source>Bitmap Image</source>
1258+
<target state="new">Bitmap Image</target>
1259+
</trans-unit>
1260+
<trans-unit id="AddDialogListBitmapSubHeader" translate="yes" xml:space="preserve">
1261+
<source>Creates an empty bitmap image file</source>
1262+
<target state="new">Creates an empty bitmap image file</target>
1263+
</trans-unit>
1264+
<trans-unit id="AddDialogListFolderHeader" translate="yes" xml:space="preserve">
1265+
<source>Folder</source>
1266+
<target state="new">Folder</target>
1267+
</trans-unit>
1268+
<trans-unit id="AddDialogListFolderSubHeader" translate="yes" xml:space="preserve">
1269+
<source>Creates an empty folder</source>
1270+
<target state="new">Creates an empty folder</target>
1271+
</trans-unit>
1272+
<trans-unit id="AddDialogListTextFileHeader" translate="yes" xml:space="preserve">
1273+
<source>Text Document</source>
1274+
<target state="new">Text Document</target>
1275+
</trans-unit>
1276+
<trans-unit id="AddDialogListTextFileSubHeader" translate="yes" xml:space="preserve">
1277+
<source>Creates an empty text file</source>
1278+
<target state="new">Creates an empty text file</target>
1279+
</trans-unit>
12441280
<trans-unit id="BaseLayoutContextFlyoutLayoutMode.Text" translate="yes" xml:space="preserve">
12451281
<source>Layout mode</source>
12461282
<target state="needs-review-translation" state-qualifier="tm-suggestion">מצב פריסה</target>

0 commit comments

Comments
 (0)