Skip to content

Commit c04daf4

Browse files
authored
Add support for combined and drive properties (#1211)
1 parent a36ccc9 commit c04daf4

27 files changed

+1182
-277
lines changed

Files/BaseLayout.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ internal set
8282
if (SelectedItems.Count == 1)
8383
{
8484
SelectedItemsPropertiesViewModel.SelectedItemsCount = SelectedItems.Count.ToString() + " " + ResourceController.GetTranslation("ItemSelected/Text");
85-
SelectedItemsPropertiesViewModel.ItemsSize = SelectedItem.FileSize;
85+
SelectedItemsPropertiesViewModel.ItemSize = SelectedItem.FileSize;
8686
}
8787
else
8888
{
@@ -95,11 +95,11 @@ internal set
9595
{
9696
size += item.FileSizeBytes;
9797
}
98-
SelectedItemsPropertiesViewModel.ItemsSize = ByteSizeLib.ByteSize.FromBytes(size).ToBinaryString().ConvertSizeAbbreviation();
98+
SelectedItemsPropertiesViewModel.ItemSize = ByteSizeLib.ByteSize.FromBytes(size).ToBinaryString().ConvertSizeAbbreviation();
9999
}
100100
else
101101
{
102-
SelectedItemsPropertiesViewModel.ItemsSize = string.Empty;
102+
SelectedItemsPropertiesViewModel.ItemSize = string.Empty;
103103
}
104104
}
105105
}
@@ -115,7 +115,7 @@ public BaseLayout()
115115
{
116116
this.Loaded += Page_Loaded;
117117
Page_Loaded(null, null);
118-
SelectedItemsPropertiesViewModel = new SelectedItemsPropertiesViewModel(null);
118+
SelectedItemsPropertiesViewModel = new SelectedItemsPropertiesViewModel(null as ListedItem);
119119
DirectoryPropertiesViewModel = new DirectoryPropertiesViewModel();
120120
// QuickLook Integration
121121
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;

Files/Enums/PropertiesType.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace Files.Enums
2+
{
3+
public enum PropertiesType
4+
{
5+
File,
6+
Folder,
7+
Combined,
8+
Drive
9+
}
10+
}

Files/Files.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@
205205
<DependentUpon>RenameDialog.xaml</DependentUpon>
206206
</Compile>
207207
<Compile Include="Enums\FormFactorMode.cs" />
208+
<Compile Include="Enums\PropertiesType.cs" />
208209
<Compile Include="Enums\SidebarOpacity.cs" />
209210
<Compile Include="Enums\SortOption.cs" />
210211
<Compile Include="Enums\TimeStyle.cs" />

Files/Interacts/Interaction.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -468,12 +468,9 @@ private async void ShowProperties()
468468
{
469469
if (App.CurrentInstance.ContentPage.IsItemSelected)
470470
{
471-
if (AppSettings.OpenPropertiesInMultipleWindows)
471+
if (App.CurrentInstance.ContentPage.SelectedItems.Count > 1)
472472
{
473-
foreach (var item in App.CurrentInstance.ContentPage.SelectedItems)
474-
{
475-
await OpenPropertiesWindow(item);
476-
}
473+
await OpenPropertiesWindow(App.CurrentInstance.ContentPage.SelectedItems);
477474
}
478475
else
479476
{
@@ -489,12 +486,13 @@ private async void ShowProperties()
489486
}
490487
else
491488
{
492-
//TODO: Implement drive properties
489+
await OpenPropertiesWindow(App.AppSettings.DrivesManager.Drives
490+
.Single(x => x.Path.Equals(App.CurrentInstance.FilesystemViewModel.CurrentFolder.ItemPath)));
493491
}
494492
}
495493
}
496494

497-
private async Task OpenPropertiesWindow(ListedItem item)
495+
private async Task OpenPropertiesWindow(object item)
498496
{
499497
if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 8))
500498
{

Files/MultilingualResources/Files.de-DE.xlf

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -829,10 +829,6 @@
829829
<source>Show Owner in properties</source>
830830
<target state="new">Show Owner in properties</target>
831831
</trans-unit>
832-
<trans-unit id="SettingsExperimentalPropertiesMultipleWindows.Text" translate="yes" xml:space="preserve">
833-
<source>Open properties in Multiple Windows</source>
834-
<target state="new">Open properties in Multiple Windows</target>
835-
</trans-unit>
836832
<trans-unit id="ItemSizeBytes" translate="yes" xml:space="preserve">
837833
<source>bytes</source>
838834
<target state="new">bytes</target>
@@ -873,7 +869,35 @@
873869
<source>{0:#,##0} Files, {1:#,##0} Folders</source>
874870
<target state="new">{0:#,##0} Files, {1:#,##0} Folders</target>
875871
</trans-unit>
872+
<trans-unit id="PropertiesDriveItemTypesEquals" translate="yes" xml:space="preserve">
873+
<source>All type of {0}</source>
874+
<target state="new">All type of {0}</target>
875+
</trans-unit>
876+
<trans-unit id="PropertiesDriveItemTypeDifferent" translate="yes" xml:space="preserve">
877+
<source>Different types</source>
878+
<target state="new">Different types</target>
879+
</trans-unit>
880+
<trans-unit id="PropertiesCombinedItemPath" translate="yes" xml:space="preserve">
881+
<source>All in {0}</source>
882+
<target state="new">All in {0}</target>
883+
</trans-unit>
884+
<trans-unit id="PropertiesDriveUsedSpace.Text" translate="yes" xml:space="preserve">
885+
<source>Used space:</source>
886+
<target state="new">Used space:</target>
887+
</trans-unit>
888+
<trans-unit id="PropertiesDriveFreeSpace.Text" translate="yes" xml:space="preserve">
889+
<source>Free space:</source>
890+
<target state="new">Free space:</target>
891+
</trans-unit>
892+
<trans-unit id="PropertiesDriveCapacity.Text" translate="yes" xml:space="preserve">
893+
<source>Capacity:</source>
894+
<target state="new">Capacity:</target>
895+
</trans-unit>
896+
<trans-unit id="PropertiesDriveFileSystem.Text" translate="yes" xml:space="preserve">
897+
<source>File system:</source>
898+
<target state="new">File system:</target>
899+
</trans-unit>
876900
</group>
877901
</body>
878902
</file>
879-
</xliff>
903+
</xliff>

Files/MultilingualResources/Files.es-ES.xlf

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -822,10 +822,6 @@
822822
<source>Show Owner in properties</source>
823823
<target state="translated">Mostrar propietario de archivo en propiedades</target>
824824
</trans-unit>
825-
<trans-unit id="SettingsExperimentalPropertiesMultipleWindows.Text" translate="yes" xml:space="preserve">
826-
<source>Open properties in Multiple Windows</source>
827-
<target state="translated">Ver propiedades de multiples elementos seleccionados</target>
828-
</trans-unit>
829825
<trans-unit id="ItemSizeBytes" translate="yes" xml:space="preserve">
830826
<source>bytes</source>
831827
<target state="new">bytes</target>
@@ -866,6 +862,34 @@
866862
<source>{0:#,##0} Files, {1:#,##0} Folders</source>
867863
<target state="new">{0:#,##0} Files, {1:#,##0} Folders</target>
868864
</trans-unit>
865+
<trans-unit id="PropertiesDriveItemTypesEquals" translate="yes" xml:space="preserve">
866+
<source>All type of {0}</source>
867+
<target state="new">All type of {0}</target>
868+
</trans-unit>
869+
<trans-unit id="PropertiesDriveItemTypeDifferent" translate="yes" xml:space="preserve">
870+
<source>Different types</source>
871+
<target state="new">Different types</target>
872+
</trans-unit>
873+
<trans-unit id="PropertiesCombinedItemPath" translate="yes" xml:space="preserve">
874+
<source>All in {0}</source>
875+
<target state="new">All in {0}</target>
876+
</trans-unit>
877+
<trans-unit id="PropertiesDriveUsedSpace.Text" translate="yes" xml:space="preserve">
878+
<source>Used space:</source>
879+
<target state="new">Used space:</target>
880+
</trans-unit>
881+
<trans-unit id="PropertiesDriveFreeSpace.Text" translate="yes" xml:space="preserve">
882+
<source>Free space:</source>
883+
<target state="new">Free space:</target>
884+
</trans-unit>
885+
<trans-unit id="PropertiesDriveCapacity.Text" translate="yes" xml:space="preserve">
886+
<source>Capacity:</source>
887+
<target state="new">Capacity:</target>
888+
</trans-unit>
889+
<trans-unit id="PropertiesDriveFileSystem.Text" translate="yes" xml:space="preserve">
890+
<source>File system:</source>
891+
<target state="new">File system:</target>
892+
</trans-unit>
869893
</group>
870894
</body>
871895
</file>

Files/MultilingualResources/Files.fr-FR.xlf

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -825,10 +825,6 @@
825825
<source>Show Owner in properties</source>
826826
<target state="new">Show Owner in properties</target>
827827
</trans-unit>
828-
<trans-unit id="SettingsExperimentalPropertiesMultipleWindows.Text" translate="yes" xml:space="preserve">
829-
<source>Open properties in Multiple Windows</source>
830-
<target state="new">Open properties in Multiple Windows</target>
831-
</trans-unit>
832828
<trans-unit id="ItemSizeBytes" translate="yes" xml:space="preserve">
833829
<source>bytes</source>
834830
<target state="new">bytes</target>
@@ -869,6 +865,34 @@
869865
<source>{0:#,##0} Files, {1:#,##0} Folders</source>
870866
<target state="new">{0:#,##0} Files, {1:#,##0} Folders</target>
871867
</trans-unit>
868+
<trans-unit id="PropertiesDriveItemTypesEquals" translate="yes" xml:space="preserve">
869+
<source>All type of {0}</source>
870+
<target state="new">All type of {0}</target>
871+
</trans-unit>
872+
<trans-unit id="PropertiesDriveItemTypeDifferent" translate="yes" xml:space="preserve">
873+
<source>Different types</source>
874+
<target state="new">Different types</target>
875+
</trans-unit>
876+
<trans-unit id="PropertiesCombinedItemPath" translate="yes" xml:space="preserve">
877+
<source>All in {0}</source>
878+
<target state="new">All in {0}</target>
879+
</trans-unit>
880+
<trans-unit id="PropertiesDriveUsedSpace.Text" translate="yes" xml:space="preserve">
881+
<source>Used space:</source>
882+
<target state="new">Used space:</target>
883+
</trans-unit>
884+
<trans-unit id="PropertiesDriveFreeSpace.Text" translate="yes" xml:space="preserve">
885+
<source>Free space:</source>
886+
<target state="new">Free space:</target>
887+
</trans-unit>
888+
<trans-unit id="PropertiesDriveCapacity.Text" translate="yes" xml:space="preserve">
889+
<source>Capacity:</source>
890+
<target state="new">Capacity:</target>
891+
</trans-unit>
892+
<trans-unit id="PropertiesDriveFileSystem.Text" translate="yes" xml:space="preserve">
893+
<source>File system:</source>
894+
<target state="new">File system:</target>
895+
</trans-unit>
872896
</group>
873897
</body>
874898
</file>

Files/MultilingualResources/Files.it-IT.xlf

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -830,10 +830,6 @@
830830
<source>Show Owner in properties</source>
831831
<target state="new">Show Owner in properties</target>
832832
</trans-unit>
833-
<trans-unit id="SettingsExperimentalPropertiesMultipleWindows.Text" translate="yes" xml:space="preserve">
834-
<source>Open properties in Multiple Windows</source>
835-
<target state="new">Open properties in Multiple Windows</target>
836-
</trans-unit>
837833
<trans-unit id="ItemSizeBytes" translate="yes" xml:space="preserve">
838834
<source>bytes</source>
839835
<target state="new">bytes</target>
@@ -874,6 +870,34 @@
874870
<source>{0:#,##0} Files, {1:#,##0} Folders</source>
875871
<target state="new">{0:#,##0} Files, {1:#,##0} Folders</target>
876872
</trans-unit>
873+
<trans-unit id="PropertiesDriveItemTypesEquals" translate="yes" xml:space="preserve">
874+
<source>All type of {0}</source>
875+
<target state="new">All type of {0}</target>
876+
</trans-unit>
877+
<trans-unit id="PropertiesDriveItemTypeDifferent" translate="yes" xml:space="preserve">
878+
<source>Different types</source>
879+
<target state="new">Different types</target>
880+
</trans-unit>
881+
<trans-unit id="PropertiesCombinedItemPath" translate="yes" xml:space="preserve">
882+
<source>All in {0}</source>
883+
<target state="new">All in {0}</target>
884+
</trans-unit>
885+
<trans-unit id="PropertiesDriveUsedSpace.Text" translate="yes" xml:space="preserve">
886+
<source>Used space:</source>
887+
<target state="new">Used space:</target>
888+
</trans-unit>
889+
<trans-unit id="PropertiesDriveFreeSpace.Text" translate="yes" xml:space="preserve">
890+
<source>Free space:</source>
891+
<target state="new">Free space:</target>
892+
</trans-unit>
893+
<trans-unit id="PropertiesDriveCapacity.Text" translate="yes" xml:space="preserve">
894+
<source>Capacity:</source>
895+
<target state="new">Capacity:</target>
896+
</trans-unit>
897+
<trans-unit id="PropertiesDriveFileSystem.Text" translate="yes" xml:space="preserve">
898+
<source>File system:</source>
899+
<target state="new">File system:</target>
900+
</trans-unit>
877901
</group>
878902
</body>
879903
</file>

Files/MultilingualResources/Files.ja-JP.xlf

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -823,10 +823,6 @@
823823
<source>Show Owner in properties</source>
824824
<target state="new">Show Owner in properties</target>
825825
</trans-unit>
826-
<trans-unit id="SettingsExperimentalPropertiesMultipleWindows.Text" translate="yes" xml:space="preserve">
827-
<source>Open properties in Multiple Windows</source>
828-
<target state="new">Open properties in Multiple Windows</target>
829-
</trans-unit>
830826
<trans-unit id="ItemSizeBytes" translate="yes" xml:space="preserve">
831827
<source>bytes</source>
832828
<target state="new">bytes</target>
@@ -867,6 +863,34 @@
867863
<source>{0:#,##0} Files, {1:#,##0} Folders</source>
868864
<target state="new">{0:#,##0} Files, {1:#,##0} Folders</target>
869865
</trans-unit>
866+
<trans-unit id="PropertiesDriveItemTypesEquals" translate="yes" xml:space="preserve">
867+
<source>All type of {0}</source>
868+
<target state="new">All type of {0}</target>
869+
</trans-unit>
870+
<trans-unit id="PropertiesDriveItemTypeDifferent" translate="yes" xml:space="preserve">
871+
<source>Different types</source>
872+
<target state="new">Different types</target>
873+
</trans-unit>
874+
<trans-unit id="PropertiesCombinedItemPath" translate="yes" xml:space="preserve">
875+
<source>All in {0}</source>
876+
<target state="new">All in {0}</target>
877+
</trans-unit>
878+
<trans-unit id="PropertiesDriveUsedSpace.Text" translate="yes" xml:space="preserve">
879+
<source>Used space:</source>
880+
<target state="new">Used space:</target>
881+
</trans-unit>
882+
<trans-unit id="PropertiesDriveFreeSpace.Text" translate="yes" xml:space="preserve">
883+
<source>Free space:</source>
884+
<target state="new">Free space:</target>
885+
</trans-unit>
886+
<trans-unit id="PropertiesDriveCapacity.Text" translate="yes" xml:space="preserve">
887+
<source>Capacity:</source>
888+
<target state="new">Capacity:</target>
889+
</trans-unit>
890+
<trans-unit id="PropertiesDriveFileSystem.Text" translate="yes" xml:space="preserve">
891+
<source>File system:</source>
892+
<target state="new">File system:</target>
893+
</trans-unit>
870894
</group>
871895
</body>
872896
</file>

Files/MultilingualResources/Files.nl-NL.xlf

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -825,10 +825,6 @@
825825
<source>Show Owner in properties</source>
826826
<target state="new">Show Owner in properties</target>
827827
</trans-unit>
828-
<trans-unit id="SettingsExperimentalPropertiesMultipleWindows.Text" translate="yes" xml:space="preserve">
829-
<source>Open properties in Multiple Windows</source>
830-
<target state="new">Open properties in Multiple Windows</target>
831-
</trans-unit>
832828
<trans-unit id="ItemSizeBytes" translate="yes" xml:space="preserve">
833829
<source>bytes</source>
834830
<target state="new">bytes</target>
@@ -869,6 +865,34 @@
869865
<source>{0:#,##0} Files, {1:#,##0} Folders</source>
870866
<target state="new">{0:#,##0} Files, {1:#,##0} Folders</target>
871867
</trans-unit>
868+
<trans-unit id="PropertiesDriveItemTypesEquals" translate="yes" xml:space="preserve">
869+
<source>All type of {0}</source>
870+
<target state="new">All type of {0}</target>
871+
</trans-unit>
872+
<trans-unit id="PropertiesDriveItemTypeDifferent" translate="yes" xml:space="preserve">
873+
<source>Different types</source>
874+
<target state="new">Different types</target>
875+
</trans-unit>
876+
<trans-unit id="PropertiesCombinedItemPath" translate="yes" xml:space="preserve">
877+
<source>All in {0}</source>
878+
<target state="new">All in {0}</target>
879+
</trans-unit>
880+
<trans-unit id="PropertiesDriveUsedSpace.Text" translate="yes" xml:space="preserve">
881+
<source>Used space:</source>
882+
<target state="new">Used space:</target>
883+
</trans-unit>
884+
<trans-unit id="PropertiesDriveFreeSpace.Text" translate="yes" xml:space="preserve">
885+
<source>Free space:</source>
886+
<target state="new">Free space:</target>
887+
</trans-unit>
888+
<trans-unit id="PropertiesDriveCapacity.Text" translate="yes" xml:space="preserve">
889+
<source>Capacity:</source>
890+
<target state="new">Capacity:</target>
891+
</trans-unit>
892+
<trans-unit id="PropertiesDriveFileSystem.Text" translate="yes" xml:space="preserve">
893+
<source>File system:</source>
894+
<target state="new">File system:</target>
895+
</trans-unit>
872896
</group>
873897
</body>
874898
</file>

0 commit comments

Comments
 (0)