module ParasitemiaUI.About open System.Windows open System.Diagnostics open ParasitemiaUIControls let showWindow (parent : Window) = let win = AboutWindow () win.Owner <- parent win.Left <- (if parent.WindowState = WindowState.Maximized then 0. else parent.Left) + parent.ActualWidth / 2. - win.Width / 2. win.Top <- (if parent.WindowState = WindowState.Maximized then 0. else parent.Top) + parent.ActualHeight / 2. - win.Height / 2. let version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version let txtVersion = sprintf " %d.%d.%d" version.Major version.Minor version.Revision win.txtAbout.Inlines.FirstInline.ElementEnd.InsertTextInRun txtVersion let navigateTo = Navigation.RequestNavigateEventHandler ( fun obj args -> Process.Start (ProcessStartInfo (args.Uri.AbsoluteUri, UseShellExecute = true)) |> ignore args.Handled <- true ) win.linkHESSO.RequestNavigate.AddHandler navigateTo; win.linkCHUV.RequestNavigate.AddHandler navigateTo; win.linkGBurri.RequestNavigate.AddHandler navigateTo; #if DEBUG win.txtAbout.Inlines.FirstInline.ElementEnd.InsertTextInRun " - DEBUG" #endif win.butClose.Click.AddHandler (fun obj args -> win.Close ()) win.ShowDialog () |> ignore