diff options
Diffstat (limited to 'source/WindowsFormsApplication1/TextPad.cs')
| -rw-r--r-- | source/WindowsFormsApplication1/TextPad.cs | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/source/WindowsFormsApplication1/TextPad.cs b/source/WindowsFormsApplication1/TextPad.cs new file mode 100644 index 0000000..1b49129 --- /dev/null +++ b/source/WindowsFormsApplication1/TextPad.cs @@ -0,0 +1,239 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ShiftOS +{ + public partial class TextPad : Form + { + private bool codepointscooldown = false; + private int codepointsearned = 0; + private bool needtosave = false; + + public TextPad() + { + InitializeComponent(); + } + + private void TextPad_Load(object sender, EventArgs e) + { + txtuserinput.Size = new Size(txtuserinput.Size.Width, txtuserinput.Size.Height + pnloptions.Height); + setupoptions(); + } + + // ERROR: Handles clauses are not supported in C# + private void pnlbreak_MouseEnter(object sender, EventArgs e) + { + if (pnloptions.Visible == false) + { + pnlbreak.BackgroundImage = Properties.Resources.downarrow; + pnloptions.Show(); + txtuserinput.Size = new Size(txtuserinput.Size.Width, txtuserinput.Size.Height - pnloptions.Height); + } + else { + pnlbreak.BackgroundImage = Properties.Resources.uparrow; + pnloptions.Hide(); + txtuserinput.Size = new Size(txtuserinput.Size.Width, txtuserinput.Size.Height + pnloptions.Height); + } + } + + // ERROR: Handles clauses are not supported in C# + private void btnnew_Click(object sender, EventArgs e) + { + if (needtosave == true) + { + API.CreateInfoboxSession("Textpad - Save?", "It appears that your text document currently contains unsaved changes." + Environment.NewLine + Environment.NewLine + "Are you sure you want to start a new document without saving the changes?", infobox.InfoboxMode.YesNo); + API.InfoboxSession.FormClosing += (object s, FormClosingEventArgs a) => + { + string result = API.GetInfoboxResult(); + switch(result) + { + case "Yes": + codepointsearned = 0; + this.txtuserinput.Text = ""; + break; + case "No": + SaveFile(); + break; + } + }; + } + else { + makenewdoc(); + } + } + + private void SaveFile() + { + if (API.Upgrades["trmfiles"] == true) + { + API.CreateFileSkimmerSession(".txt;.trm", File_Skimmer.FileSkimmerMode.Save); + + } + else + { + API.CreateFileSkimmerSession(".txt", File_Skimmer.FileSkimmerMode.Save); + } + API.FileSkimmerSession.FormClosing += (object se, FormClosingEventArgs ea) => + { + string res = API.GetFSResult(); + if (res != "fail") + { + File.WriteAllText(res, txtuserinput.Text); + } + }; + } + + private void SaveFile(string text) + { + if (API.Upgrades["trmfiles"] == true) + { + API.CreateFileSkimmerSession(".txt;.trm", File_Skimmer.FileSkimmerMode.Save); + + } + else + { + API.CreateFileSkimmerSession(".txt", File_Skimmer.FileSkimmerMode.Save); + } + API.FileSkimmerSession.FormClosing += (object se, FormClosingEventArgs ea) => + { + string res = API.GetFSResult(); + if (res != "fail") + { + File.WriteAllText(res, text); + } + }; + } + + public void makenewdoc() + { + txtuserinput.Text = ""; + needtosave = false; + codepointsearned = 0; + } + + // ERROR: Handles clauses are not supported in C# + private void btnsave_Click(object sender, EventArgs e) + { + SaveFile(); + } + + // ERROR: Handles clauses are not supported in C# + private void btnopen_Click(object sender, EventArgs e) + { + API.CreateFileSkimmerSession(".txt", File_Skimmer.FileSkimmerMode.Open); + API.FileSkimmerSession.FormClosing += (object s, FormClosingEventArgs a) => + { + if (needtosave == true) + { + API.CreateInfoboxSession("Textpad - Save?", "It appears that your text document currently contains unsaved changes." + Environment.NewLine + Environment.NewLine + "Are you sure you want to start a new document without saving the changes?", infobox.InfoboxMode.YesNo); + API.InfoboxSession.FormClosing += (object se, FormClosingEventArgs ea) => + { + string result = API.GetInfoboxResult(); + switch (result) + { + case "Yes": + codepointsearned = 0; + string res = API.GetFSResult(); + if (res != "fail") + { + string fContents = File.ReadAllText(res); + + txtuserinput.Text = fContents; + } + break; + case "No": + string fcontents = txtuserinput.Text; + SaveFile(fcontents); + string res2 = API.GetFSResult(); + if (res2 != "fail") + { + string fContents = File.ReadAllText(res2); + + txtuserinput.Text = fContents; + } + break; + } + }; + } + else { + string res = API.GetFSResult(); + if (res != "fail") + { + try { + string fContents = File.ReadAllText(res); + + txtuserinput.Text = fContents; + } + catch(Exception ex) + { + txtuserinput.Text = ex.Message; + } + } + } + }; + } + + public void setupoptions() + { + if (API.Upgrades["textpadnew"] == true) + btnnew.Show(); + else + btnnew.Hide(); + if (API.Upgrades["textpadopen"] == true) + btnopen.Show(); + else + btnopen.Hide(); + if (API.Upgrades["textpadsave"] == true) + btnsave.Show(); + else + btnsave.Hide(); + if (API.Upgrades["textpadnew"] == false && API.Upgrades["textpadsave"] == false && API.Upgrades["textpadopen"] == false) + pnlbreak.Hide(); + } + + // ERROR: Handles clauses are not supported in C# + private void txtuserinput_TextChanged(object sender, EventArgs e) + { + needtosave = true; + if (codepointscooldown == true) + { + } + else { + codepointsearned = codepointsearned + 1; + codepointscooldown = true; + tmrcodepointcooldown.Start(); + } + if (Viruses.InfectedWith("keyboardfucker")) + { + var rnd = new Random(); + if (rnd.Next(0, 20) == 10) + { + txtuserinput.Text += Viruses.KeyboardInceptor.Intercept(); + } + } + } + + // ERROR: Handles clauses are not supported in C# + private void tmrcodepointcooldown_Tick(object sender, EventArgs e) + { + codepointscooldown = false; + tmrcodepointcooldown.Stop(); + } + + // ERROR: Handles clauses are not supported in C# + private void tmrshowearnedcodepoints_Tick(object sender, EventArgs e) + { + API.CreateInfoboxSession("TextPad", "You have earned " + codepointsearned.ToString() + " Codepoints from typing up and saving that document!", infobox.InfoboxMode.Info); + API.AddCodepoints(codepointsearned); + tmrshowearnedcodepoints.Stop(); + } + } +} |
