Skip to content
This repository was archived by the owner on Jan 19, 2026. It is now read-only.

Commit fe330c0

Browse files
committed
redactor(folder peaker & panels)
1 parent 46648c8 commit fe330c0

File tree

5 files changed

+58
-29
lines changed

5 files changed

+58
-29
lines changed

View/MainWindow.axaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
HorizontalAlignment="Center"
3333
Orientation="Horizontal">
3434
<Button Tag="PlayboxesTab" Name="PlayboxesTab" Click="SelectTab" Classes="h2">
35-
<TextBlock Text="Playboxes" />
35+
<TextBlock Text="Music" />
3636
</Button>
3737
<Button Tag="MetadataTab" Name="MetadataTab" Click="SelectTab" Classes="h2">
3838
<TextBlock Text="Metadata" />

View/SecondaryWindows/SettingsWindow/SettingsWindow.axaml

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,36 +11,38 @@
1111
<Grid RowDefinitions="*,90">
1212
<TabControl>
1313
<TabItem Header="Main">
14-
<StackPanel Orientation="Vertical">
15-
<TextBlock HorizontalAlignment="Center">Music paths</TextBlock>
16-
<StackPanel Orientation="Horizontal">
17-
<ComboBox Name="PathsBox" PlaceholderText="Select the path" IsTextSearchEnabled="True"
18-
HorizontalAlignment="Left" HorizontalContentAlignment="Right"
19-
VerticalContentAlignment="Center" />
20-
<TextBox Name="PathToAdd" Watermark="Path" />
21-
<StackPanel>
22-
<Button Name="AddPath" Click="AddPath_OnClick">
23-
<TextBlock Text="Add path" />
24-
</Button>
25-
<Button Name="RemoveSelectedPath" Click="RemoveSelectedPath_OnClick">
26-
<TextBlock Text="Remove selectedPath" />
27-
</Button>
14+
<Border Classes="Panel">
15+
<StackPanel Orientation="Vertical">
16+
<TextBlock HorizontalAlignment="Center">Music paths</TextBlock>
17+
<StackPanel Orientation="Horizontal">
18+
<ComboBox Name="PathsBox" PlaceholderText="Select the path" IsTextSearchEnabled="True"
19+
HorizontalAlignment="Left" HorizontalContentAlignment="Right"
20+
VerticalContentAlignment="Center" />
21+
<StackPanel>
22+
<Button Name="AddPath" Click="AddPath_OnClick">
23+
<TextBlock Text="Add path" />
24+
</Button>
25+
<Button Name="RemoveSelectedPath" Click="RemoveSelectedPath_OnClick">
26+
<TextBlock Text="Remove selected path" />
27+
</Button>
28+
</StackPanel>
2829
</StackPanel>
29-
3030
</StackPanel>
31-
</StackPanel>
31+
</Border>
3232
</TabItem>
3333
<TabItem Header="Play panel">
3434
<ScrollViewer Height="300">
35-
<StackPanel Orientation="Vertical" HorizontalAlignment="Center">
36-
<Border Name="AlbumCover" Height="300" Width="300"
37-
CornerRadius="25" Background="DimGray" Classes="Image">
38-
<Image Source="" />
39-
</Border>
40-
<Button Name="AddImage" Click="AddImage_OnClick" VerticalAlignment="Top">
41-
<TextBlock Text="Add image" />
42-
</Button>
43-
</StackPanel>
35+
<Border Classes="Panel">
36+
<StackPanel Orientation="Vertical" HorizontalAlignment="Center">
37+
<Border Name="AlbumCover" Height="300" Width="300"
38+
CornerRadius="25" Background="DimGray" Classes="Image">
39+
<Image Source="" />
40+
</Border>
41+
<Button Name="AddImage" Click="AddImage_OnClick" VerticalAlignment="Top">
42+
<TextBlock Text="Add image" />
43+
</Button>
44+
</StackPanel>
45+
</Border>
4446
</ScrollViewer>
4547
</TabItem>
4648
<TabItem Header="Sound">

View/SecondaryWindows/SettingsWindow/SettingsWindow.axaml.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,10 @@ private void LoadMusicPaths()
7777

7878
private void AddPath_OnClick(object? sender, RoutedEventArgs e)
7979
{
80-
if (Directory.Exists(PathToAdd.Text) && !PathsBox.Items.Contains(PathToAdd.Text))
81-
PathsBox.Items.Add(PathToAdd.Text);
80+
var pathToAdd = Task.Run(() => _vm.OpenFolderDialogAsync(this)).Result;
81+
if(pathToAdd == null) return;
82+
if (Directory.Exists(pathToAdd) && !PathsBox.Items.Contains(pathToAdd))
83+
PathsBox.Items.Add(pathToAdd);
8284
}
8385

8486
private void RemoveSelectedPath_OnClick(object? sender, RoutedEventArgs e)

ViewModel/Settings/ISettingsWindowViewModel.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ public interface ISettingsWindowViewModel
77
{
88
Task<string?> OpenCoverFileDialogAsync(Window parent);
99
Task SaveSettingsAsync(Model.UserSettings.Settings settings);
10+
Task<string?> OpenFolderDialogAsync(Window parent);
1011
Task<Model.UserSettings.Settings?> GetSettingsAsync();
1112
}

ViewModel/Settings/SettingsWindowViewModel.cs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,37 @@ public class SettingsWindowViewModel(ISettingsManager manager, ILogger logger) :
2424
]
2525
};
2626

27+
private readonly FolderPickerOpenOptions _folderPickerOptions = new()
28+
{
29+
Title = "Select Folder",
30+
AllowMultiple = false
31+
};
32+
33+
public async Task<string?> OpenFolderDialogAsync(Window parent)
34+
{
35+
try
36+
{
37+
var storageProvider = parent.StorageProvider;
38+
logger.LogInformation("Opening folder dialog");
39+
var folder = await storageProvider.OpenFolderPickerAsync(_folderPickerOptions);
40+
if (!folder.Count.Equals(0)) return folder.FirstOrDefault()?.Path.LocalPath;
41+
logger.LogInformation("No folders selected");
42+
return null;
43+
}
44+
catch (Exception e)
45+
{
46+
logger.LogError(e, "Failed to open folder");
47+
return null;
48+
}
49+
}
50+
2751
public async Task<string?> OpenCoverFileDialogAsync(Window parent)
2852
{
2953
try
3054
{
3155
var storageProvider = parent.StorageProvider;
3256

33-
logger.LogInformation("Opening track file dialog");
57+
logger.LogInformation("Opening cover file dialog");
3458

3559
var files = await storageProvider.OpenFilePickerAsync(_filePickerOptions);
3660

0 commit comments

Comments
 (0)