mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 11:34:57 +02:00
update browser launcher
This commit is contained in:
parent
fb3863de7e
commit
4d16f97047
9 changed files with 76 additions and 52 deletions
|
@ -86,5 +86,7 @@ namespace MediaBrowser.Controller
|
|||
/// <param name="ipAddress">The ip address.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
string GetLocalApiUrl(IPAddress ipAddress);
|
||||
|
||||
void LaunchUrl(string url);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -217,6 +217,11 @@ namespace MediaBrowser.Server.Mono.Native
|
|||
return GetInfo(Environment);
|
||||
}
|
||||
|
||||
public void LaunchUrl(string url)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public static FFMpegInstallInfo GetInfo(NativeEnvironment environment)
|
||||
{
|
||||
var info = new FFMpegInstallInfo();
|
||||
|
|
|
@ -1404,5 +1404,10 @@ namespace MediaBrowser.Server.Startup.Common
|
|||
return externalDns;
|
||||
}
|
||||
}
|
||||
|
||||
public void LaunchUrl(string url)
|
||||
{
|
||||
NativeApp.LaunchUrl(url);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,87 +15,58 @@ namespace MediaBrowser.Server.Startup.Common.Browser
|
|||
/// </summary>
|
||||
/// <param name="page">The page.</param>
|
||||
/// <param name="appHost">The app host.</param>
|
||||
/// <param name="logger">The logger.</param>
|
||||
public static void OpenDashboardPage(string page, IServerApplicationHost appHost, ILogger logger)
|
||||
public static void OpenDashboardPage(string page, IServerApplicationHost appHost)
|
||||
{
|
||||
var url = appHost.GetLocalApiUrl("localhost") + "/web/" + page;
|
||||
|
||||
OpenUrl(url, logger);
|
||||
OpenUrl(appHost, url);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Opens the community.
|
||||
/// </summary>
|
||||
/// <param name="logger">The logger.</param>
|
||||
public static void OpenCommunity(ILogger logger)
|
||||
public static void OpenCommunity(IServerApplicationHost appHost)
|
||||
{
|
||||
OpenUrl("http://emby.media/community", logger);
|
||||
OpenUrl(appHost, "http://emby.media/community");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Opens the web client.
|
||||
/// </summary>
|
||||
/// <param name="appHost">The app host.</param>
|
||||
/// <param name="logger">The logger.</param>
|
||||
public static void OpenWebClient(IServerApplicationHost appHost, ILogger logger)
|
||||
public static void OpenWebClient(IServerApplicationHost appHost)
|
||||
{
|
||||
OpenDashboardPage("index.html", appHost, logger);
|
||||
OpenDashboardPage("index.html", appHost);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Opens the dashboard.
|
||||
/// </summary>
|
||||
/// <param name="appHost">The app host.</param>
|
||||
/// <param name="logger">The logger.</param>
|
||||
public static void OpenDashboard(IServerApplicationHost appHost, ILogger logger)
|
||||
public static void OpenDashboard(IServerApplicationHost appHost)
|
||||
{
|
||||
OpenDashboardPage("dashboard.html", appHost, logger);
|
||||
OpenDashboardPage("dashboard.html", appHost);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Opens the URL.
|
||||
/// </summary>
|
||||
/// <param name="url">The URL.</param>
|
||||
/// <param name="logger">The logger.</param>
|
||||
private static void OpenUrl(string url, ILogger logger)
|
||||
private static void OpenUrl(IServerApplicationHost appHost, string url)
|
||||
{
|
||||
var process = new Process
|
||||
{
|
||||
StartInfo = new ProcessStartInfo
|
||||
{
|
||||
FileName = url
|
||||
},
|
||||
|
||||
EnableRaisingEvents = true,
|
||||
};
|
||||
|
||||
process.Exited += ProcessExited;
|
||||
|
||||
try
|
||||
{
|
||||
process.Start();
|
||||
appHost.LaunchUrl(url);
|
||||
}
|
||||
catch (NotImplementedException)
|
||||
{
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.ErrorException("Error launching url: {0}", ex, url);
|
||||
|
||||
Console.WriteLine("Error launching url: {0}", ex.Message);
|
||||
Console.WriteLine("Error launching url: " + url);
|
||||
Console.WriteLine(ex.Message);
|
||||
|
||||
//#if !__MonoCS__
|
||||
// System.Windows.Forms.MessageBox.Show("There was an error launching your web browser. Please check your default browser settings.");
|
||||
//#endif
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processes the exited.
|
||||
/// </summary>
|
||||
/// <param name="sender">The sender.</param>
|
||||
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
|
||||
private static void ProcessExited(object sender, EventArgs e)
|
||||
{
|
||||
((Process)sender).Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,7 +46,7 @@ namespace MediaBrowser.Server.Startup.Common.EntryPoints
|
|||
/// </summary>
|
||||
private void LaunchStartupWizard()
|
||||
{
|
||||
BrowserLauncher.OpenDashboardPage("wizardstart.html", _appHost, _logger);
|
||||
BrowserLauncher.OpenDashboardPage("wizardstart.html", _appHost);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -100,5 +100,7 @@ namespace MediaBrowser.Server.Startup.Common
|
|||
IPowerManagement GetPowerManagement();
|
||||
|
||||
FFMpegInstallInfo GetFfmpegInstallInfo();
|
||||
|
||||
void LaunchUrl(string url);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -317,7 +317,7 @@ namespace MediaBrowser.ServerApplication
|
|||
{
|
||||
if (e.Reason == SessionSwitchReason.SessionLogon)
|
||||
{
|
||||
BrowserLauncher.OpenDashboard(_appHost, _logger);
|
||||
BrowserLauncher.OpenDashboard(_appHost);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
using MediaBrowser.Common.Net;
|
||||
using System;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using MediaBrowser.Server.Startup.Common;
|
||||
using MediaBrowser.ServerApplication.Networking;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using CommonIO;
|
||||
using MediaBrowser.Controller.Power;
|
||||
using MediaBrowser.Server.Startup.Common.FFMpeg;
|
||||
using OperatingSystem = MediaBrowser.Server.Startup.Common.OperatingSystem;
|
||||
|
||||
namespace MediaBrowser.ServerApplication.Native
|
||||
{
|
||||
|
@ -156,6 +159,42 @@ namespace MediaBrowser.ServerApplication.Native
|
|||
return info;
|
||||
}
|
||||
|
||||
public void LaunchUrl(string url)
|
||||
{
|
||||
var process = new Process
|
||||
{
|
||||
StartInfo = new ProcessStartInfo
|
||||
{
|
||||
FileName = url
|
||||
},
|
||||
|
||||
EnableRaisingEvents = true,
|
||||
};
|
||||
|
||||
process.Exited += ProcessExited;
|
||||
|
||||
try
|
||||
{
|
||||
process.Start();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.ErrorException("Error launching url: {0}", ex, url);
|
||||
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processes the exited.
|
||||
/// </summary>
|
||||
/// <param name="sender">The sender.</param>
|
||||
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
|
||||
private static void ProcessExited(object sender, EventArgs e)
|
||||
{
|
||||
((Process)sender).Dispose();
|
||||
}
|
||||
|
||||
private string[] GetDownloadUrls()
|
||||
{
|
||||
switch (Environment.SystemArchitecture)
|
||||
|
|
|
@ -163,7 +163,7 @@ namespace MediaBrowser.ServerApplication
|
|||
|
||||
void notifyIcon1_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
BrowserLauncher.OpenDashboard(_appHost, _logger);
|
||||
BrowserLauncher.OpenDashboard(_appHost);
|
||||
}
|
||||
|
||||
private void LocalizeText()
|
||||
|
@ -194,17 +194,17 @@ namespace MediaBrowser.ServerApplication
|
|||
|
||||
void cmdBrowse_Click(object sender, EventArgs e)
|
||||
{
|
||||
BrowserLauncher.OpenWebClient(_appHost, _logger);
|
||||
BrowserLauncher.OpenWebClient(_appHost);
|
||||
}
|
||||
|
||||
void cmdCommunity_Click(object sender, EventArgs e)
|
||||
{
|
||||
BrowserLauncher.OpenCommunity(_logger);
|
||||
BrowserLauncher.OpenCommunity(_appHost);
|
||||
}
|
||||
|
||||
void cmdConfigure_Click(object sender, EventArgs e)
|
||||
{
|
||||
BrowserLauncher.OpenDashboard(_appHost, _logger);
|
||||
BrowserLauncher.OpenDashboard(_appHost);
|
||||
}
|
||||
|
||||
void cmdRestart_Click(object sender, EventArgs e)
|
||||
|
|
Loading…
Reference in a new issue