diff --git a/src/UniGetUI/MainWindow.xaml.cs b/src/UniGetUI/MainWindow.xaml.cs
index 0620655a7..2d665e1bc 100644
--- a/src/UniGetUI/MainWindow.xaml.cs
+++ b/src/UniGetUI/MainWindow.xaml.cs
@@ -399,16 +399,12 @@ private void LoadTrayMenu()
TrayIcon = new TaskbarIcon();
ContentRoot.Children.Add(TrayIcon);
Closed += (_, _) => TrayIcon.Dispose();
- TrayIcon.ContextMenuMode = H.NotifyIcon.ContextMenuMode.PopupMenu;
+ TrayIcon.ContextMenuMode = ContextMenuMode.PopupMenu;
XamlUICommand ShowHideCommand = new();
ShowHideCommand.ExecuteRequested += (_, _) =>
{
- if (MainApp.Instance.TooltipStatus.AvailableUpdates > 0)
- {
- MainApp.Instance?.MainWindow?.NavigationPage?.UpdatesNavButton?.ForceClick();
- }
-
+ NavigationPage?.LoadDefaultPage();
Activate();
};
diff --git a/src/UniGetUI/Pages/MainView.xaml.cs b/src/UniGetUI/Pages/MainView.xaml.cs
index 4fd4428cd..d6f3624bb 100644
--- a/src/UniGetUI/Pages/MainView.xaml.cs
+++ b/src/UniGetUI/Pages/MainView.xaml.cs
@@ -55,7 +55,7 @@ public MainView()
PageButtonReference.Add(SettingsPage, SettingsNavButton);
PageButtonReference.Add(BundlesPage, BundlesNavButton);
- DiscoverNavButton.ForceClick();
+ LoadDefaultPage();
if (CoreTools.IsAdministrator() && !Settings.Get("AlreadyWarnedAboutAdmin"))
{
@@ -137,25 +137,45 @@ public MainView()
};
}
- private void DiscoverNavButton_Click(object sender, EventArgs e)
+ public void LoadDefaultPage()
{
- NavigateToPage(DiscoverPage);
+ switch (Settings.GetValue("StartupPage"))
+ {
+ case "discover":
+ NavigateToPage(DiscoverPage);
+ break;
+ case "updates":
+ NavigateToPage(UpdatesPage);
+ break;
+ case "installed":
+ NavigateToPage(InstalledPage);
+ break;
+ case "bundles":
+ NavigateToPage(BundlesPage);
+ break;
+ case "settings":
+ NavigateToPage(SettingsPage);
+ break;
+ default:
+ if (MainApp.Instance.TooltipStatus.AvailableUpdates > 0)
+ NavigateToPage(UpdatesPage);
+ else
+ NavigateToPage(DiscoverPage);
+ break;
+ }
}
+ private void DiscoverNavButton_Click(object sender, EventArgs e)
+ => NavigateToPage(DiscoverPage);
+
private void InstalledNavButton_Click(object sender, EventArgs e)
- {
- NavigateToPage(InstalledPage);
- }
+ => NavigateToPage(InstalledPage);
private void UpdatesNavButton_Click(object sender, EventArgs e)
- {
- NavigateToPage(UpdatesPage);
- }
+ => NavigateToPage(UpdatesPage);
private void BundlesNavButton_Click(object sender, EventArgs e)
- {
- NavigateToPage(BundlesPage);
- }
+ => NavigateToPage(BundlesPage);
private void MoreNavButton_Click(object sender, EventArgs e)
{
@@ -180,9 +200,7 @@ private void MoreNavButton_Click(object sender, EventArgs e)
}
private void SettingsNavButton_Click(object sender, EventArgs e)
- {
- NavigateToPage(SettingsPage);
- }
+ => NavigateToPage(SettingsPage);
private async void AboutNavButton_Click(object sender, EventArgs e)
{
@@ -202,6 +220,8 @@ private async void AboutNavButton_Click(object sender, EventArgs e)
private void NavigateToPage(Page TargetPage)
{
+ if (CurrentPage == TargetPage) return;
+
if (!PageButtonReference.TryGetValue(TargetPage, out var pageButton))
{
PageButtonReference.Add(TargetPage, MoreNavButton);
@@ -211,7 +231,6 @@ private void NavigateToPage(Page TargetPage)
}
foreach (NavButton button in MainApp.Instance.MainWindow.NavButtonList)
{
-
button.ToggleButton.IsChecked = button == pageButton;
}
@@ -229,9 +248,7 @@ private void NavigateToPage(Page TargetPage)
}
private void ReleaseNotesMenu_Click(object sender, RoutedEventArgs e)
- {
- DialogHelper.ShowReleaseNotes();
- }
+ => DialogHelper.ShowReleaseNotes();
private void OperationHistoryMenu_Click(object sender, RoutedEventArgs e)
{
@@ -252,15 +269,9 @@ private void HelpMenu_Click(object sender, RoutedEventArgs e)
{
ShowHelp();
}
- public void ShowHelp()
- {
- if (HelpPage is null)
- {
- HelpPage = new HelpDialog();
- }
- NavigateToPage(HelpPage);
- }
+ public void ShowHelp()
+ => NavigateToPage(HelpPage ??= new HelpDialog());
private void QuitUniGetUI_Click(object sender, RoutedEventArgs e)
{
diff --git a/src/UniGetUI/Pages/SettingsPage.xaml b/src/UniGetUI/Pages/SettingsPage.xaml
index c34c9a70e..53289ee88 100644
--- a/src/UniGetUI/Pages/SettingsPage.xaml
+++ b/src/UniGetUI/Pages/SettingsPage.xaml
@@ -110,9 +110,10 @@
SettingName="PreferredTheme"
ValueChanged="ThemeSelector_ValueChanged"
/>
-
+
diff --git a/src/UniGetUI/Pages/SettingsPage.xaml.cs b/src/UniGetUI/Pages/SettingsPage.xaml.cs
index 32d062cef..93b96d184 100644
--- a/src/UniGetUI/Pages/SettingsPage.xaml.cs
+++ b/src/UniGetUI/Pages/SettingsPage.xaml.cs
@@ -31,7 +31,7 @@ public sealed partial class SettingsInterface : Page
private readonly HyperlinkButton ResetBackupDirectory;
private readonly HyperlinkButton OpenBackupDirectory;
private readonly TextBlock BackupDirectoryLabel;
- private bool InterfaceLoaded = false;
+ private bool InterfaceLoaded;
public SettingsInterface()
{
@@ -51,7 +51,7 @@ public SettingsInterface()
bool isFirst = true;
foreach (KeyValuePair entry in lang_dict)
{
- LanguageSelector.AddItem(entry.Value, entry.Key.ToString(), isFirst);
+ LanguageSelector.AddItem(entry.Value, entry.Key, isFirst);
isFirst = false;
}
LanguageSelector.ShowAddedItems();
@@ -89,9 +89,13 @@ public SettingsInterface()
ThemeSelector.AddItem(CoreTools.AutoTranslated("Follow system color scheme"), "auto");
ThemeSelector.ShowAddedItems();
- // UI Section
- // DisableIconsOnPackageLists.Text = "[EXPERIMENTAL] " + CoreTools.Translate("Show package icons on package lists");
-
+ StartupPageSelector.AddItem(CoreTools.AutoTranslated("Default"), "default");
+ StartupPageSelector.AddItem(CoreTools.AutoTranslated("Discover Packages"), "discover");
+ StartupPageSelector.AddItem(CoreTools.AutoTranslated("Software Updates"), "updates");
+ StartupPageSelector.AddItem(CoreTools.AutoTranslated("Installed Packages"), "installed");
+ StartupPageSelector.AddItem(CoreTools.AutoTranslated("Package Bundles"), "bundles");
+ StartupPageSelector.AddItem(CoreTools.AutoTranslated("Settings"), "settings");
+ StartupPageSelector.ShowAddedItems();
// Backup Section
BackupDirectoryLabel = (TextBlock)((StackPanel)ChangeBackupDirectory.Description).Children.ElementAt(0);