GTPCorrgir/Program.cs

148 lines
4.9 KiB
C#

using GTPCorrgir;
using System;
using System.Configuration;
using System.Windows;
namespace GTPCorrgir
{
public class Opciones
{
public enum LLM_a_Usar
{
OpenAI,
Ollama,
Groq,
Grok,
Claude
}
[Flags]
public enum funcionesOpcionales
{
None = 0,
CtrlA = 1 << 0, // Selecciona todo el texto en la ventana activa
MostrarPopUp = 1 << 1 // Muestra un pop-up con el resultado
}
public enum modoDeUso
{
Corregir,
Ortografia,
Chat,
PreguntaRespuesta,
Traducir_a_Ingles,
Traducir_a_Italiano,
Traducir_a_Espanol,
Traducir_a_Portugues,
OCRaTexto,
Menu,
}
public Dictionary<LLM_a_Usar, string> nombreLLM = new Dictionary<LLM_a_Usar, string>
{
{ LLM_a_Usar.Ollama, "Ollama" },
{ LLM_a_Usar.Groq, "Groq" },
{ LLM_a_Usar.Grok, "Grok" },
{ LLM_a_Usar.OpenAI, "OpenAI" },
{ LLM_a_Usar.Claude, "Claude" },
};
private static Opciones _instance;
public bool AutoCopy { get; set; }
public static Opciones Instance
{
get
{
if (_instance == null)
{
_instance = new Opciones();
// Cargar opciones guardadas si existen
var savedSettings = MenuSettings.Instance;
_instance.LLM = savedSettings.Options.LastUsedLLM;
_instance.modo = savedSettings.Options.LastUsedMode;
_instance.FuncionesOpcionales = 0;
_instance.AutoCopy = true;
}
return _instance;
}
}
public LLM_a_Usar LLM { get; set; }
public modoDeUso modo { get; set; }
public funcionesOpcionales FuncionesOpcionales { get; set; }
public string nombreDeLLM()
{
return nombreLLM[LLM];
}
private Opciones() { }
}
public class Program
{
[STAThread]
public static void Main(string[] args)
{
var application = new App();
foreach (var arg in args)
{
if (arg.StartsWith("--"))
{
// Procesa el argumento según tus necesidades
if (arg.Contains("Ollama"))
Opciones.Instance.LLM = Opciones.LLM_a_Usar.Ollama;
else if (arg.Contains("Groq"))
Opciones.Instance.LLM = Opciones.LLM_a_Usar.Groq;
else if (arg.Contains("Grok"))
Opciones.Instance.LLM = Opciones.LLM_a_Usar.Grok;
else if (arg.Contains("OpenAI"))
Opciones.Instance.LLM = Opciones.LLM_a_Usar.OpenAI;
else if (arg.Contains("Claude"))
Opciones.Instance.LLM = Opciones.LLM_a_Usar.Claude;
if (arg.Contains("CtrlA"))
Opciones.Instance.FuncionesOpcionales = Opciones.funcionesOpcionales.CtrlA;
if (arg.Contains("PopUp"))
Opciones.Instance.FuncionesOpcionales |= Opciones.funcionesOpcionales.MostrarPopUp;
if (arg.Contains("Chat"))
Opciones.Instance.modo = Opciones.modoDeUso.Chat;
if (arg.Contains("PreguntaRespuesta"))
Opciones.Instance.modo = Opciones.modoDeUso.PreguntaRespuesta;
if (arg.Contains("Ortografia"))
Opciones.Instance.modo = Opciones.modoDeUso.Ortografia;
if (arg.Contains("Corregir"))
Opciones.Instance.modo = Opciones.modoDeUso.Corregir;
if (arg.Contains("Traducir_a_Ingles"))
Opciones.Instance.modo = Opciones.modoDeUso.Traducir_a_Ingles;
if (arg.Contains("Traducir_a_Italiano"))
Opciones.Instance.modo = Opciones.modoDeUso.Traducir_a_Italiano;
if (arg.Contains("Traducir_a_Espanol"))
Opciones.Instance.modo = Opciones.modoDeUso.Traducir_a_Espanol;
if (arg.Contains("Traducir_a_Portugues"))
Opciones.Instance.modo = Opciones.modoDeUso.Traducir_a_Portugues;
if (arg.Contains("OCRaTexto"))
Opciones.Instance.modo = Opciones.modoDeUso.OCRaTexto;
if (arg.Contains("AutoCopy"))
Opciones.Instance.AutoCopy = true;
if (arg.Contains("Menu"))
Opciones.Instance.modo = Opciones.modoDeUso.Menu;
}
}
application.Run();
}
}
}