jellyfin-rich-presence/WindowsFormsApplication2/Form1.cs
2025-04-29 11:52:21 -06:00

190 lines
5.6 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.IO;
using System.Text;
using System.Windows.Forms;
namespace JellyfinRPC
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
AboutBox1 form = new AboutBox1();
form.Show();
}
private void quitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void serverConfigToolStripMenuItem_Click(object sender, EventArgs e)
{
ConfigForm form = new ConfigForm();
form.Show();
}
private static System.Timers.Timer consoleTimer;
private void Form1_Load(object sender, EventArgs e)
{
minimiseToTrayToolStripMenuItem.Checked = bool.Parse(ConfigManager.GetEntry("MinimiseToTray", "False"));
closeToTrayToolStripMenuItem.Checked = bool.Parse(ConfigManager.GetEntry("CloseToTray", "False"));
ConfigManager.GetEntry("ApiKey", "");
ConfigManager.GetEntry("ServerURL", "");
ConfigManager.GetEntry("UserID", "");
ConfigManager.GetEntry("JellyfinToken", "");
openToTrayToolStripMenuItem.Checked = bool.Parse(ConfigManager.GetEntry("OpenToTray", "False"));
ConfigManager.GetEntry("JellyfinToken", "");
ConfigManager.GetEntry("DeviceID", $"{JellyfinAPI.DeviceID()}");
SetTimer();
JellyfinAPI.Jellyfin();
//if (ConfigManager.GetEntry("JellyfinToken") == "" && ConfigManager.GetEntry("ApiKey") == "")
//{
// ConfigForm form = new ConfigForm();
// form.Show();
//}
}
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
Form1 form = new Form1();
form.Show();
}
public void SetTimer()
{
consoleTimer = new System.Timers.Timer(5);
consoleTimer.Elapsed += ConsoleTimer_Elapsed;
consoleTimer.AutoReset = true;
consoleTimer.Enabled = true;
}
private void ConsoleTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
try
{
if (!listBox1.Items.Contains((object)ConsoleManager.lineToWrite))
{
listBox1.BeginInvoke((MethodInvoker)delegate
{
listBox1.Items.Add(ConsoleManager.lineToWrite);
});
}
}
catch (ArgumentNullException)
{
return;
}
}
private void Form1_Resize(object sender, EventArgs e)
{
if (ConfigManager.GetEntry("MinimiseToTray") == "True")
{
if (this.WindowState == FormWindowState.Minimized)
{
Hide();
notifyIcon1.Visible = true;
notifyIcon1.ShowBalloonTip(5000);
}
}
}
private void minimiseToTrayToolStripMenuItem_Click(object sender, EventArgs e)
{
ConfigManager.SetEntry("MinimiseToTray", minimiseToTrayToolStripMenuItem.Checked.ToString());
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void showToolStripMenuItem_Click(object sender, EventArgs e)
{
Show();
notifyIcon1.Visible = false;
}
private void notifyIcon1_Click(object sender, EventArgs e)
{
Show();
}
private void quitToolStripMenuItem1_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void openToTrayToolStripMenuItem_Click(object sender, EventArgs e)
{
ConfigManager.SetEntry("OpenToTray", openToTrayToolStripMenuItem.Checked.ToString());
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (ConfigManager.GetEntry("CloseToTray") == "True")
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
Hide();
notifyIcon1.Visible = true;
notifyIcon1.ShowBalloonTip(5000);
}
}
else
{
Application.Exit();
}
}
private void closeToTrayToolStripMenuItem_Click(object sender, EventArgs e)
{
ConfigManager.SetEntry("CloseToTray", closeToTrayToolStripMenuItem.Checked.ToString());
}
private void rPCSettingsToolStripMenuItem_Click(object sender, EventArgs e)
{
Form3 form = new Form3();
form.Show();
}
private void testConsoleToolStripMenuItem_Click(object sender, EventArgs e)
{
ConsoleManager.WriteToConsole("Testing Console...");
}
private void writeLabelToolStripMenuItem_Click(object sender, EventArgs e)
{
StatusManager.WriteStatusLine("Testing Status...");
}
private void checkBox1_Click(object sender, EventArgs e)
{
listBox1.Enabled = checkBox1.Checked;
}
}
}