151 lines
5.0 KiB
C#
151 lines
5.0 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,
|
|
ClaudeWebSearch,
|
|
}
|
|
|
|
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("ClaudeWebSearch"))
|
|
Opciones.Instance.modo = Opciones.modoDeUso.ClaudeWebSearch;
|
|
if (arg.Contains("AutoCopy"))
|
|
Opciones.Instance.AutoCopy = true;
|
|
if (arg.Contains("Menu"))
|
|
Opciones.Instance.modo = Opciones.modoDeUso.Menu;
|
|
}
|
|
}
|
|
|
|
application.Run();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|