add OpenUri to interface and change OpenUrl method to OpenUri

This commit is contained in:
Jeremy 2022-01-31 08:34:02 +11:00
parent f07db3db1d
commit 3188bd82c0
2 changed files with 27 additions and 4 deletions

View file

@ -231,5 +231,10 @@ namespace Flow.Launcher.Plugin
/// Opens the url. The browser and mode used is based on what's configured in Flow's default browser settings.
/// </summary>
public void OpenUrl(string url, bool? inPrivate = null);
/// <summary>
/// Opens the application URI.
/// </summary>
public void OpenAppUri(string appUri);
}
}

View file

@ -209,7 +209,7 @@ namespace Flow.Launcher
explorer.Start();
}
public void OpenUrl(string url, bool? inPrivate = null)
public void OpenUri(string url, bool? inPrivate = null, bool isAppUri = false)
{
var uri = new Uri(url);
if (uri.Scheme == Uri.UriSchemeHttp || uri.Scheme == Uri.UriSchemeHttps)
@ -229,10 +229,28 @@ namespace Flow.Launcher
return;
}
Process.Start(new ProcessStartInfo()
if (isAppUri)
{
FileName = url, UseShellExecute = true
})?.Dispose();
Process.Start(new ProcessStartInfo()
{
FileName = url,
UseShellExecute = true
})?.Dispose();
return;
}
throw new InvalidOperationException("URI scheme not specifiedor supported ");
}
public void OpenUrl(string url, bool? inPrivate = null)
{
OpenUri(url, inPrivate);
}
public void OpenAppUri(string appUri)
{
OpenUri(appUri, isAppUri: true);
}
public event FlowLauncherGlobalKeyboardEventHandler GlobalKeyboardEvent;