public void SetActiveLayout(KeyboardLayout kly) { kl = kly; LayoutName = kl.getname(); dkstate = "none"; UpdateVisual(); }
private void Form1_Load(object sender, EventArgs e) { //MessageBox.Show("This version of MyInput Beta is for use by \r\nMyanmar Posts and Telecommunications\r\nfor demonstration purpose at ICT Week.\r\nAll other rights reserved.\r\nCopyright 2000-2010\r\nTechnomation Studios."); //UserInterface.Glass.ExtendGlassIntoClientArea(this, 0, 0, Width, Height); kp = new KeyProcessor("NULL"); iop = new IOProcessor(kp); iop.SetMainHandle(this); imp = new IMEProcessor(kime, this, iop); //kl = new KeyboardLayout("NULL"); dkstate = "none"; cfg = new Config("MyInput\\"); //cfg.Write("embed-crypt", EmbeddingControl.createPublicKey("589114946")); int xxx = Screen.GetWorkingArea(this).Width - this.Width + 1; int yyy = Screen.GetWorkingArea(this).Height - this.Height; string left = cfg.Read("mfx", xxx.ToString()); string percent = cfg.Read("ypercent", Pixel2Percent(yyy, Screen.GetWorkingArea(this).Height).ToString()); this.Top = Percent2Pixel(Convert.ToDouble(percent), Screen.GetWorkingArea(this).Height); this.Left = Convert.ToInt32(left); togglekey = Convert.ToInt32(cfg.Read("toggle", "119")); scrkey = Convert.ToInt32(cfg.Read("scriptshortcut", "122")); osk = Convert.ToInt32(cfg.Read("osk", "121")); enableenable = Convert.ToBoolean(cfg.Read("enableenable", "true")); toggleenable = Convert.ToBoolean(cfg.Read("toggleenable", "true")); screnable = Convert.ToBoolean(cfg.Read("screnable", "true")); autohide = Convert.ToBoolean(cfg.Read("autoshow", "true")); oskenable = Convert.ToBoolean(cfg.Read("oskenable", "true")); virtualize = Convert.ToBoolean(cfg.Read("virtualize", "true")); Layouts = new ArrayList(); Scripts = new ArrayList(); string[] s = System.IO.Directory.GetFiles("Layouts\\"); foreach (string x in s) { if (x.EndsWith(".keylayout")) { string ss = Directory.GetCurrentDirectory() + "\\" + x; KeyboardLayout kl = new KeyboardLayout(ss); if (kl.getname() != null) { Layout l = new Layout(); l.name = kl.getname(); l.isIME = false; l.scripts = kl.getScripts(); Layouts.Add(l); } kl = null; } else if (x.EndsWith(".dll")) { Layout l = new Layout(); l.name = x.Substring(x.LastIndexOf("\\") + 1); l.name = l.name.Substring(0, l.name.IndexOf(".")); l.isIME = true; l.scripts = null; Layouts.Add(l); } } s = System.IO.Directory.GetFiles("Scripts\\"); foreach (string x in s) { string ss = Directory.GetCurrentDirectory() + "\\" + x; if (ss.EndsWith(".ikl")) { ss = ss.Substring(ss.LastIndexOf("\\") + 1); ss = ss.Substring(0, ss.Length - 4); if (!ScriptExists(ss)) { Scripts.Add(ss); } } else if (ss.EndsWith(".ikb")) { ss = ss.Substring(ss.LastIndexOf("\\") + 1); ss = ss.Substring(0, ss.Length - 4); if (!ScriptExists(ss)) { Scripts.Add(ss); } } } foreach (string sx in Scripts) { ToolStripMenuItem i = new ToolStripMenuItem(sx); i.Click += ScriptClick; scripts_menu.Items.Add(i); } foreach (Layout l in Layouts) { ToolStripMenuItem i = new ToolStripMenuItem(l.name); i.Click += LayoutClick; layouts.Items.Add(i); } string lay = cfg.Read("layout", "Type Writer"); string scr = cfg.Read("script", "MM Unicode"); if (LayoutExists(lay)) { laybtn.Text = lay; } else { laybtn.Text = "Type Writer"; } if (ScriptExists(scr)) { UpdateScript(scr); } else { UpdateScript("MM Unicode"); } System.GC.Collect(); if (!true) { try { string sss = cfg.Read("embed-crypt"); if (EmbeddingControl.isValid(sss)) { embedcrypt.Enabled = true; actv.Enabled = false; scrbtn.Enabled = false; laybtn.Enabled = false; //glassButton4.Enabled = false; } else { //internet(); } } catch (Exception ex) { //internet(); } } else { enablekey = Convert.ToInt32(cfg.Read("enable", "120")); } this.Refresh(); Program.kh.SetHandle(this); Program.kh.Initiate(); }
private void UpdateLayout(string s) { foreach (Layout l in Layouts) { if (s == l.name) { if (!l.isIME) { scrbtn.Enabled = true; kl = new KeyboardLayout(s); kime = null; /*if (imp != null) { imp.Kill(); imp = null; }*/ laybtn.Text = kl.getname(); cfg.Write("layout", s); if (vk != null) vk.SetActiveLayout(kl); if (hw != null) hw.SetActiveLayout(kl); if (active) { /* if (imp != null) { imp.Kill(); imp = null; }*/ } } else { kl = null; kime = new KeyboardIME(l.name); cfg.Write("layout", s); laybtn.Text = kime.getname(); if (l.name == "MyRoman") { // toolStripMenuItem2.Text = "MyRoman Browser"; } else { //toolStripMenuItem2.Enabled = false; } if (vk != null) { vk.Hide(); vk.Dispose(); vk = null; } if (active) { //if (imp != null) // imp.Kill(); imp.Reset(kime, iop);// = new IMEProcessor(kime,this, iop); } } System.GC.Collect(); return; } } }