240 lines
6.4 KiB
C#
240 lines
6.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using System.IO;
|
|
|
|
namespace GroundZero.KeyCodes
|
|
{
|
|
public partial class MsgEditor : Form
|
|
{
|
|
public MsgEditor()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private MessageType currentMessageType = MessageType.None;
|
|
private string currentMessage = "";
|
|
|
|
#region open message types menu clicks
|
|
|
|
private void mnuLiteTrialGreeting_Click(object sender, EventArgs e)
|
|
{
|
|
OpenMessage(MessageType.TrialGreetingLite);
|
|
}
|
|
|
|
private void mnuFullTrialGreeting_Click(object sender, EventArgs e)
|
|
{
|
|
OpenMessage(MessageType.TrialGreetingFull);
|
|
}
|
|
|
|
private void mnuKeyNewFull_Click(object sender, EventArgs e)
|
|
{
|
|
OpenMessage(MessageType.KeyNewFull);
|
|
}
|
|
|
|
private void mnuKeyNewLite_Click(object sender, EventArgs e)
|
|
{
|
|
OpenMessage(MessageType.KeyNewLite);
|
|
}
|
|
|
|
private void mnuKeyAddOnFull_Click(object sender, EventArgs e)
|
|
{
|
|
OpenMessage(MessageType.KeyAddOnFull);
|
|
}
|
|
|
|
private void mnuKeyAddOnLite_Click(object sender, EventArgs e)
|
|
{
|
|
OpenMessage(MessageType.KeyAddOnLite);
|
|
}
|
|
|
|
private void mnuKeyTrialFull_Click(object sender, EventArgs e)
|
|
{
|
|
OpenMessage(MessageType.KeyTrialFull);
|
|
}
|
|
|
|
private void mnuKeyTrialLite_Click(object sender, EventArgs e)
|
|
{
|
|
OpenMessage(MessageType.KeyTrialLite);
|
|
}
|
|
|
|
#endregion open message types menu clicks
|
|
|
|
#region nuts and bolts
|
|
private bool IsDirty
|
|
{
|
|
get
|
|
{
|
|
if (currentMessageType == MessageType.None) return false;
|
|
return currentMessage != edMsg.Text;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void OpenMessage(MessageType mtype)
|
|
{
|
|
if (IsDirty)
|
|
{
|
|
if (!PromptToSave())
|
|
return;
|
|
}
|
|
|
|
Read(mtype);
|
|
edMsg.Enabled = true;
|
|
}
|
|
|
|
private bool PromptToSave()
|
|
{
|
|
DialogResult dr = MessageBox.Show("Save changes?", "Changes have been made", MessageBoxButtons.YesNoCancel);
|
|
if(dr== System.Windows.Forms.DialogResult.Cancel)
|
|
return false;
|
|
|
|
if (dr == System.Windows.Forms.DialogResult.No) return true;
|
|
|
|
Save();
|
|
return true;
|
|
}
|
|
|
|
|
|
private void Save()
|
|
{
|
|
File.WriteAllText(FileName(currentMessageType), edMsg.Text);
|
|
currentMessage = edMsg.Text;
|
|
ShowDirty();
|
|
}
|
|
|
|
|
|
private void Read(MessageType mtype)
|
|
{
|
|
currentMessageType = mtype;
|
|
this.Text = "Key generator message editor - " + FileName(mtype);
|
|
if (!File.Exists(FileName(mtype)))
|
|
{
|
|
MessageBox.Show("File " + FileName(mtype) + " not found, a new one will be created on save");
|
|
edMsg.Text = "";
|
|
currentMessage = "";
|
|
return;
|
|
}
|
|
currentMessage=edMsg.Text = File.ReadAllText(FileName(mtype));
|
|
ShowDirty();
|
|
}
|
|
|
|
|
|
|
|
|
|
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
Save();
|
|
}
|
|
|
|
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void MsgEditor_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
if (IsDirty)
|
|
{
|
|
if (!PromptToSave())
|
|
{
|
|
e.Cancel = true;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void edMsg_TextChanged(object sender, EventArgs e)
|
|
{
|
|
ShowDirty();
|
|
}
|
|
|
|
private void ShowDirty()
|
|
{
|
|
this.Text = this.Text.Replace("*", "");
|
|
if (IsDirty)
|
|
{
|
|
this.Text = "*" + this.Text;
|
|
|
|
}
|
|
}
|
|
#endregion nuts and bolts
|
|
|
|
#region Tokens
|
|
private void mnuInsertFirstNameToken_Click(object sender, EventArgs e)
|
|
{
|
|
edMsg.SelectedText = "[FirstName]";
|
|
}
|
|
|
|
private void mnuInsertTokenLicenseExpiryDate_Click(object sender, EventArgs e)
|
|
{
|
|
edMsg.SelectedText = "[LicenseExpiryDate]";
|
|
}
|
|
|
|
private void mnuInsertTokenLicenseDescription_Click(object sender, EventArgs e)
|
|
{
|
|
edMsg.SelectedText = "[LicenseDescription]";
|
|
}
|
|
|
|
private void mnuInsertTokenLicenseKey_Click(object sender, EventArgs e)
|
|
{
|
|
edMsg.SelectedText = "[LicenseKey]";
|
|
}
|
|
|
|
#endregion tokens
|
|
|
|
#region MessageType enum
|
|
enum MessageType
|
|
{
|
|
None,
|
|
TrialGreetingLite,
|
|
TrialGreetingFull,
|
|
KeyNewFull,
|
|
KeyNewLite,
|
|
KeyAddOnFull,
|
|
KeyAddOnLite,
|
|
KeyTrialFull,
|
|
KeyTrialLite
|
|
|
|
}
|
|
|
|
private string FileName(MessageType mtype)
|
|
{
|
|
switch (mtype)
|
|
{
|
|
case MessageType.TrialGreetingFull:
|
|
return "TrialGreetingFull.txt";
|
|
case MessageType.TrialGreetingLite:
|
|
return "TrialGreetingLite.txt";
|
|
case MessageType.KeyNewFull:
|
|
return "KeyNewFull.txt";
|
|
case MessageType.KeyNewLite:
|
|
return "KeyNewLite.txt";
|
|
case MessageType.KeyAddOnFull:
|
|
return "KeyAddOnFull.txt";
|
|
case MessageType.KeyAddOnLite:
|
|
return "KeyAddOnLite.txt";
|
|
case MessageType.KeyTrialFull:
|
|
return "KeyTrialFull.txt";
|
|
case MessageType.KeyTrialLite:
|
|
return "KeyTrialLite.txt";
|
|
|
|
}
|
|
|
|
return "";
|
|
}
|
|
#endregion MessageTypeEnum
|
|
|
|
|
|
|
|
}//end of class
|
|
|
|
|
|
|
|
}
|