diff --git a/UserInterface/MainWindow.portlist.cs b/UserInterface/MainWindow.portlist.cs index 5472f23..5e65976 100644 --- a/UserInterface/MainWindow.portlist.cs +++ b/UserInterface/MainWindow.portlist.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; using System.Windows; @@ -177,6 +178,17 @@ private void MenuRemoveOutdated_Click(object sender, RoutedEventArgs e) var code = ExecutionDialog.RunVcpkg("remove --outdated", out string result, true); } + private void MenuBrowseHomepage_Click(object sender, RoutedEventArgs e) + { + var port = PortsList.SelectedItem as Port; + var pkg = port.Name.Trim(); + var homepage = (port.CoreParagraph.Homepage ?? "").Trim(); + if (homepage.StartsWith("http://") || homepage.StartsWith("https://")) + Process.Start(homepage); + else + MessageBox.Show($"Homepage not specified in {pkg}", "Browse Homepage", MessageBoxButton.OK, MessageBoxImage.Warning); + } + #endregion } } diff --git a/UserInterface/MainWindow.xaml b/UserInterface/MainWindow.xaml index f7c96ee..5be9ca2 100644 --- a/UserInterface/MainWindow.xaml +++ b/UserInterface/MainWindow.xaml @@ -155,6 +155,8 @@ + + diff --git a/UserInterface/Port.cs b/UserInterface/Port.cs index b8024ec..cf2f562 100644 --- a/UserInterface/Port.cs +++ b/UserInterface/Port.cs @@ -65,6 +65,7 @@ public static Port ParseControlFile(string filepath) switch (item.Key) { case "Version": port.CoreParagraph.Version = item.Value; break; + case "Homepage": port.CoreParagraph.Homepage = item.Value; break; case "Build-Depends": port.CoreParagraph.Depends = CommaSplit(item.Value); break; case "Description": port.CoreParagraph.Description = item.Value; break; case "Maintainer": port.CoreParagraph.Maintainer = item.Value; break; @@ -157,6 +158,7 @@ public sealed class SourceParagraph { public string Name { get; set; } public string Version { get; set; } + public string Homepage { get; set; } public string Description { get; set; } public string Maintainer { get; set; } public string[] Supports { get; set; }