This commit is contained in:
Frank Skare
2021-07-19 02:33:32 +02:00
parent fbeeb3f015
commit e1c9d81496
8 changed files with 252 additions and 214 deletions

View File

@@ -23,7 +23,7 @@ namespace mpvnet
public static bool RememberWindowPosition { get; set; }
public static bool DebugMode { get; set; }
public static bool IsStartedFromTerminal { get; } = Environment.GetEnvironmentVariable("_started_from_console") == "yes";
public static bool IsTerminalAttached { get; } = Environment.GetEnvironmentVariable("_started_from_console") == "yes";
public static bool RememberVolume { get; set; } = true;
public static bool AutoLoadFolder { get; set; } = true;
public static bool Queue { get; set; }
@@ -126,7 +126,7 @@ namespace mpvnet
public static void ShowException(object obj)
{
if (IsStartedFromTerminal)
if (IsTerminalAttached)
Terminal.WriteError(obj.ToString());
else
{
@@ -139,9 +139,23 @@ namespace mpvnet
public static void InvokeOnMainThread(Action action) => MainForm.Instance.BeginInvoke(action);
public static void ShowInfo(string title, string msg = null)
{
if (IsTerminalAttached)
{
if (title != null)
Terminal.Write(title);
if (msg != null)
Terminal.Write(msg);
}
else
InvokeOnMainThread(() => Msg.ShowInfo(title, msg));
}
public static void ShowError(string title, string msg = null)
{
if (IsStartedFromTerminal)
if (IsTerminalAttached)
{
if (title != null)
Terminal.WriteError(title);

View File

@@ -327,12 +327,6 @@ namespace mpvnet
ShowTextWithEditor("command-list", PowerShell.InvokeAndReturnString(code, "json", json));
}
public static void ShowProperties()
{
var props = Core.GetPropertyString("property-list").Split(',').OrderBy(prop => prop);
ShowTextWithEditor("property-list", string.Join(BR, props));
}
public static void ShowTextWithEditor(string name, string text)
{
string file = Path.Combine(Path.GetTempPath(), name + ".txt");
@@ -425,5 +419,37 @@ namespace mpvnet
MainForm.Instance.ShowCommandPalette();
}
public static void ShowProperties() => App.InvokeOnMainThread(ShowPropertiesInternal);
public static void ShowPropertiesInternal()
{
var props = Core.GetPropertyString("property-list").Split(',').OrderBy(prop => prop);
List<CommandPaletteItem> items = new List<CommandPaletteItem>();
foreach (string i in props)
{
string prop = i;
CommandPaletteItem item = new CommandPaletteItem()
{
Text = prop,
Action = () =>
{
string propValue = Core.GetPropertyString(prop);
if (propValue.ContainsEx("${"))
propValue += BR2 + Core.Expand(propValue);
App.ShowInfo(prop + ": " +propValue);
}
};
items.Add(item);
}
CommandPalette.Instance.SetItems(items);
MainForm.Instance.ShowCommandPalette();
}
}
}

View File

@@ -129,7 +129,7 @@ namespace mpvnet
App.RunTask(() => EventLoop());
if (App.IsStartedFromTerminal)
if (App.IsTerminalAttached)
{
SetPropertyString("terminal", "yes");
SetPropertyString("input-terminal", "yes");
@@ -1061,7 +1061,7 @@ namespace mpvnet
}
catch (Exception e)
{
if (!App.IsStartedFromTerminal)
if (!App.IsTerminalAttached)
Msg.ShowException(e);
}
}
@@ -1290,7 +1290,7 @@ namespace mpvnet
gx.DrawImage(bmp2, rect);
BitmapData bd = bmp.LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format32bppPArgb);
int x = Convert.ToInt32((cr.Width - len) / (december ? 1.95 : 2));
int y = Convert.ToInt32(((cr.Height - len) / 2.0) * (december ? 0.85 : 0.9));
int y = Convert.ToInt32((cr.Height - len) / 2.0 * (december ? 0.85 : 0.9));
CommandV("overlay-add", "0", $"{x}", $"{y}", "&" + bd.Scan0.ToInt64().ToString(), "0", "bgra", bd.Width.ToString(), bd.Height.ToString(), bd.Stride.ToString());
bmp.UnlockBits(bd);
IsLogoVisible = true;

View File

@@ -18,7 +18,7 @@ namespace mpvnet
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (App.IsStartedFromTerminal)
if (App.IsTerminalAttached)
Native.AttachConsole(-1 /*ATTACH_PARENT_PROCESS*/);
string[] args = Environment.GetCommandLineArgs().Skip(1).ToArray();
@@ -75,7 +75,7 @@ namespace mpvnet
Native.SendMessage(proc.MainWindowHandle, 0x004A /*WM_COPYDATA*/, IntPtr.Zero, ref data);
mutex.Dispose();
if (App.IsStartedFromTerminal)
if (App.IsTerminalAttached)
Native.FreeConsole();
return;
@@ -91,7 +91,7 @@ namespace mpvnet
Application.Run(new MainForm());
if (App.IsStartedFromTerminal)
if (App.IsTerminalAttached)
Native.FreeConsole();
mutex.Dispose();