private void Import(string file, TranslateSet set, TranslateCategory category, Language language) { var xmlText = System.IO.File.ReadAllText(file); var xml = XElement.Parse(xmlText); foreach (var data in xml.Descendants("data")) { string key = data.Attribute("name").Value; string value = data.Descendants("value").Single().Value; var translateKey = set.TranslateKeys.Where(x => x.Label == key && x.Set == set).SingleOrDefault(); if (translateKey == null) { translateKey = new TranslateKey { Label = key, Set = set, Category = category }; set.TranslateKeys.Add(translateKey); } var translation = new Translation() { Key = translateKey, Language = language, Translator = null, Value = value }; DbSession.Save(translateKey); DbSession.Save(translation); } Global.CurrentSession.Update(set); }
private void Import(string file, TranslateSet set, TranslateCategory category, Language language) { var xmlText = System.IO.File.ReadAllText(file); var xml = XElement.Parse(xmlText); foreach (var data in xml.Descendants("data")) { string key = data.Attribute("name").Value; string value = data.Descendants("value").Single().Value; var translateKey = set.TranslateKeys.Where(x => x.Label == key && x.Set == set).SingleOrDefault(); if (translateKey == null) { translateKey = new TranslateKey { Label = key, Set = set, Category = category }; set.TranslateKeys.Add(translateKey); } var translation = new Translation() { Key = translateKey, Language = language, Translator = null, Value = value }; DbSession.Save(translateKey); DbSession.Save(translation); } Global.CurrentSession.Update(set); }
/// <summary>Handle navigation keyboard shortcuts</summary> public virtual void OnTranslateKey(KeyEventArgs e) { // Notes: // - Default chart key bindings. These are intended as default key bindings // Applications should probably set DefaultKeyboardShortcuts to false and // handle key bindings themselves. if (e.Handled) { return; } // Allow users to handle the key TranslateKey?.Invoke(this, e); if (e.Handled) { return; } // Fall back to default switch (e.Key) { case Key.Escape: { // Deselect all on escape if (AllowSelection) { Selected.Clear(); Invalidate(); e.Handled = true; } break; } case Key.Delete: { //if (AllowEditing) { //// Allow the caller to cancel the deletion or change the selection //var res = new DiagramChangedRemoveElementsEventArgs(Selected.ToArray()); //if (!RaiseDiagramChanged(res).Cancel) //{ // foreach (var elem in res.Elements) // { // var node = elem as Node; // if (node != null) // node.DetachConnectors(); // var conn = elem as Connector; // if (conn != null) // conn.DetachNodes(); // Elements.Remove(elem); // } // Invalidate(); //} } break; } case Key.F5: { View3d.ReloadScriptSources(); Invalidate(); e.Handled = true; break; } case Key.F7: { var bounds = Keyboard.Modifiers.HasFlag(ModifierKeys.Shift) ? Gfx.View3d.ESceneBounds.Selected : Keyboard.Modifiers.HasFlag(ModifierKeys.Control) ? Gfx.View3d.ESceneBounds.Visible : Gfx.View3d.ESceneBounds.All; AutoRange(who: bounds); Invalidate(); e.Handled = true; break; } case Key.A: { if (Keyboard.Modifiers.HasFlag(ModifierKeys.Control)) { Selected.Clear(); Selected.AddRange(Elements); Invalidate(); Debug.Assert(CheckConsistency()); e.Handled = true; } break; } } }