Skip to content

Commit 40a85d5

Browse files
committed
Show current terminal application in settings
1 parent 8c5597a commit 40a85d5

File tree

4 files changed

+18
-24
lines changed

4 files changed

+18
-24
lines changed

Files/App.xaml.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,6 @@ public App()
9898

9999
private async void LoadTerminalApps()
100100
{
101-
ApplicationData.Current.LocalSettings.Values["terminal_id"] = 1;
102-
103101
var localFolder = ApplicationData.Current.LocalFolder;
104102
var localSettingsFolder = await localFolder.CreateFolderAsync("settings", CreationCollisionOption.OpenIfExists);
105103
StorageFile file;

Files/Interacts/Interaction.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,11 @@ public void OpenDirectoryInNewTab_Click(object sender, RoutedEventArgs e)
9494
public async void OpenDirectoryInTerminal(object sender, RoutedEventArgs e)
9595
{
9696
var localSettings = ApplicationData.Current.LocalSettings;
97-
var terminalId = (int)localSettings.Values["terminal_id"];
97+
98+
var terminalId = 1;
99+
100+
if (localSettings.Values["terminal_id"] != null) terminalId = (int)localSettings.Values["terminal_id"];
101+
98102
var terminal = App.Terminals.Single(p => p.Id == terminalId);
99103

100104
localSettings.Values["Application"] = terminal.Path;

Files/SettingsPages/Preferences.xaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,9 @@
5959
<TextBlock FontSize="20" Text="Terminal Applications"/>
6060

6161
<ComboBox
62-
Header="Choose Terminal Application"
63-
ItemsSource="{x:Bind Terminals}"
62+
x:Name="TerminalApplicationsComboBox"
63+
Header="Choose Terminal Application"
64+
ItemsSource="{x:Bind Terminals}"
6465
SelectionChanged="TerminalApp_SelectionChanged">
6566
<ComboBox.ItemTemplate>
6667
<DataTemplate x:DataType="datamodels:TerminalModel">

Files/SettingsPages/Preferences.xaml.cs

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
using Files.DataModels;
1010
using System.Collections.ObjectModel;
1111
using Windows.System;
12+
using Windows.UI.Xaml.Navigation;
13+
using System.Linq;
1214

1315
namespace Files.SettingsPages
1416
{
@@ -78,31 +80,20 @@ public Preferences()
7880
OneDriveL.IsEnabled = false;
7981
}
8082
SuccessMark.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
81-
82-
LoadTerminalsAsync();
8383
}
8484

85-
private async System.Threading.Tasks.Task LoadTerminalsAsync()
85+
protected override void OnNavigatedTo(NavigationEventArgs e)
8686
{
87-
var localSettingsFolder = await localFolder.CreateFolderAsync("settings", CreationCollisionOption.OpenIfExists);
88-
StorageFile file;
89-
try
90-
{
91-
file = await localSettingsFolder.GetFileAsync("terminal.json");
92-
}
93-
catch (FileNotFoundException ex)
94-
{
95-
var defaultFile = StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/terminal/terminal.json"));
87+
base.OnNavigatedTo(e);
9688

97-
file = await localSettingsFolder.CreateFileAsync("terminal.json");
98-
await FileIO.WriteBufferAsync(file, await FileIO.ReadBufferAsync(await defaultFile));
99-
}
100-
101-
var content = await FileIO.ReadTextAsync(file);
102-
103-
var terminals = JsonConvert.DeserializeObject<TerminalFileModel>(content).Terminals;
89+
var terminals = App.Terminals;
10490

10591
foreach (var terminal in terminals) Terminals.Add(terminal);
92+
93+
var terminalId = 1;
94+
if (localSettings.Values["terminal_id"] != null) terminalId = (int) localSettings.Values["terminal_id"];
95+
96+
TerminalApplicationsComboBox.SelectedItem = Terminals.Single(p => p.Id == terminalId);
10697
}
10798

10899
private void ToggleSwitch_Toggled(object sender, Windows.UI.Xaml.RoutedEventArgs e)

0 commit comments

Comments
 (0)