diff --git a/Qrakhen.Qamp.Editor/InputService.cs b/Qrakhen.Qamp.Editor/InputService.cs
index baed6ad..465da83 100644
--- a/Qrakhen.Qamp.Editor/InputService.cs
+++ b/Qrakhen.Qamp.Editor/InputService.cs
@@ -172,85 +172,84 @@ public static class KeyHelper
Add(Key.NumLock);
Add(Key.Scroll);
Add(Key.LeftShift);
- Add(Key.RightShift);
- Add(Key.LeftCtrl);
- Add(Key.RightCtrl);
- Add(Key.LeftAlt);
- Add(Key.RightAlt);
- Add(Key.BrowserBack);
- Add(Key.BrowserForward);
- Add(Key.BrowserRefresh);
- Add(Key.BrowserStop);
- Add(Key.BrowserSearch);
- Add(Key.BrowserFavorites);
- Add(Key.BrowserHome);
- Add(Key.VolumeMute);
- Add(Key.VolumeDown);
- Add(Key.VolumeUp);
- Add(Key.MediaNextTrack);
- Add(Key.MediaPreviousTrack);
- Add(Key.MediaStop);
- Add(Key.MediaPlayPause);
- Add(Key.LaunchMail);
- Add(Key.SelectMedia);
- Add(Key.LaunchApplication1);
- Add(Key.LaunchApplication2);
- Add(Key.Oem1, 'ü', 'Ü');
- Add(Key.OemSemicolon, ',', ';');
- Add(Key.OemPlus, '+', '*', '~');
- Add(Key.OemComma, ',', ';');
- Add(Key.OemMinus, '-', '_');
- Add(Key.OemPeriod, '.', ':');
- Add(Key.Oem2);
- Add(Key.OemQuestion, '#', '\'');
- Add(Key.Oem3, 'ö', 'Ö');
- Add(Key.OemTilde);
- Add(Key.AbntC1);
- Add(Key.AbntC2);
- Add(Key.Oem4);
- Add(Key.OemOpenBrackets);
- Add(Key.Oem5, '^', '°');
- Add(Key.OemPipe);
- Add(Key.Oem6, '´', '`');
- Add(Key.OemCloseBrackets);
- Add(Key.Oem7, 'ß', '?');
- Add(Key.OemQuotes, 'ä', 'Ä');
- Add(Key.Oem8);
- Add(Key.Oem102);
- Add(Key.OemBackslash, '<', '>', '|');
- Add(Key.ImeProcessed);
- Add(Key.System);
- Add(Key.DbeAlphanumeric);
- Add(Key.OemAttn);
- Add(Key.DbeKatakana);
- Add(Key.OemFinish);
- Add(Key.DbeHiragana);
- Add(Key.OemCopy);
- Add(Key.DbeSbcsChar);
- Add(Key.OemAuto);
- Add(Key.DbeDbcsChar);
- Add(Key.OemEnlw);
- Add(Key.DbeRoman);
- Add(Key.OemBackTab);
- Add(Key.Attn);
- Add(Key.DbeNoRoman);
- Add(Key.CrSel);
- Add(Key.DbeEnterWordRegisterMode);
- Add(Key.DbeEnterImeConfigureMode);
- Add(Key.ExSel);
- Add(Key.DbeFlushString);
- Add(Key.EraseEof);
- Add(Key.DbeCodeInput);
- Add(Key.Play);
- Add(Key.DbeNoCodeInput);
- Add(Key.Zoom);
- Add(Key.DbeDetermineString);
- Add(Key.NoName);
- Add(Key.DbeEnterDialogConversionMode);
- Add(Key.Pa1);
- Add(Key.OemClear);
- Add(Key.DeadCharProcessed);
-
+ Add(Key.RightShift);
+ Add(Key.LeftCtrl);
+ Add(Key.RightCtrl);
+ Add(Key.LeftAlt);
+ Add(Key.RightAlt);
+ Add(Key.BrowserBack);
+ Add(Key.BrowserForward);
+ Add(Key.BrowserRefresh);
+ Add(Key.BrowserStop);
+ Add(Key.BrowserSearch);
+ Add(Key.BrowserFavorites);
+ Add(Key.BrowserHome);
+ Add(Key.VolumeMute);
+ Add(Key.VolumeDown);
+ Add(Key.VolumeUp);
+ Add(Key.MediaNextTrack);
+ Add(Key.MediaPreviousTrack);
+ Add(Key.MediaStop);
+ Add(Key.MediaPlayPause);
+ Add(Key.LaunchMail);
+ Add(Key.SelectMedia);
+ Add(Key.LaunchApplication1);
+ Add(Key.LaunchApplication2);
+ Add(Key.Oem1, 'ü', 'Ü');
+ Add(Key.OemSemicolon, ',', ';');
+ Add(Key.OemPlus, '+', '*', '~');
+ Add(Key.OemComma, ',', ';');
+ Add(Key.OemMinus, '-', '_');
+ Add(Key.OemPeriod, '.', ':');
+ Add(Key.Oem2);
+ Add(Key.OemQuestion, '#', '\'');
+ Add(Key.Oem3, 'ö', 'Ö');
+ Add(Key.OemTilde);
+ Add(Key.AbntC1);
+ Add(Key.AbntC2);
+ Add(Key.Oem4);
+ Add(Key.OemOpenBrackets);
+ Add(Key.Oem5, '^', '°');
+ Add(Key.OemPipe);
+ Add(Key.Oem6, '´', '`');
+ Add(Key.OemCloseBrackets);
+ Add(Key.Oem7);
+ Add(Key.OemQuotes, 'ä', 'Ä');
+ Add(Key.Oem8);
+ Add(Key.Oem102);
+ Add(Key.OemBackslash, '<', '>', '|');
+ Add(Key.ImeProcessed);
+ Add(Key.System);
+ Add(Key.DbeAlphanumeric);
+ Add(Key.OemAttn);
+ Add(Key.DbeKatakana);
+ Add(Key.OemFinish);
+ Add(Key.DbeHiragana);
+ Add(Key.OemCopy);
+ Add(Key.DbeSbcsChar);
+ Add(Key.OemAuto);
+ Add(Key.DbeDbcsChar);
+ Add(Key.OemEnlw);
+ Add(Key.DbeRoman);
+ Add(Key.OemBackTab);
+ Add(Key.Attn);
+ Add(Key.DbeNoRoman);
+ Add(Key.CrSel);
+ Add(Key.DbeEnterWordRegisterMode);
+ Add(Key.DbeEnterImeConfigureMode);
+ Add(Key.ExSel);
+ Add(Key.DbeFlushString);
+ Add(Key.EraseEof);
+ Add(Key.DbeCodeInput);
+ Add(Key.Play);
+ Add(Key.DbeNoCodeInput);
+ Add(Key.Zoom);
+ Add(Key.DbeDetermineString);
+ Add(Key.NoName);
+ Add(Key.DbeEnterDialogConversionMode);
+ Add(Key.Pa1);
+ Add(Key.OemClear);
+ Add(Key.DeadCharProcessed);
}
private static void Add(Key key, params char[] chars)
diff --git a/Qrakhen.Qamp.Editor/MainWindow.xaml b/Qrakhen.Qamp.Editor/MainWindow.xaml
index 87cee02..365ea39 100644
--- a/Qrakhen.Qamp.Editor/MainWindow.xaml
+++ b/Qrakhen.Qamp.Editor/MainWindow.xaml
@@ -11,20 +11,35 @@
Title="MainWindow" Height="450" Width="800">
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
diff --git a/Qrakhen.Qamp.Editor/ViewModel/EditorFrameViewModel.cs b/Qrakhen.Qamp.Editor/ViewModel/EditorFrameViewModel.cs
index 040e210..3b3bef5 100644
--- a/Qrakhen.Qamp.Editor/ViewModel/EditorFrameViewModel.cs
+++ b/Qrakhen.Qamp.Editor/ViewModel/EditorFrameViewModel.cs
@@ -89,21 +89,20 @@ public class EditorFrameViewModel : ObservableObject
CurrentLineBuffer.Slice(0));
Lines.RemoveAt(CursorLine);
SetCursor(CursorLine - 1, position);
- return;
- } else
+ } else {
MoveCursor(0, -count);
+ CurrentLineBuffer.Delete(CursorColumn, count);
+ }
} else {
- if (CursorColumn + count >= CurrentLineBuffer.Tail &&
+ if (CursorColumn + count > CurrentLineBuffer.Tail &&
CursorLine < Lines.Count - 1) {
CurrentLineBuffer.Insert(
CurrentLineBuffer.Tail,
Lines[CursorLine + 1].Slice(0));
Lines.RemoveAt(CursorLine + 1);
- return;
}
+ CurrentLineBuffer.Delete(CursorColumn, count);
}
-
- CurrentLineBuffer.Delete(CursorColumn, count);
}
/*
diff --git a/Qrakhen.Qamp.Memory/TailBuffer.cs b/Qrakhen.Qamp.Memory/TailBuffer.cs
index 1529cf0..875edfb 100644
--- a/Qrakhen.Qamp.Memory/TailBuffer.cs
+++ b/Qrakhen.Qamp.Memory/TailBuffer.cs
@@ -82,11 +82,7 @@ public abstract class TailBuffer : ICloneable
}
}
- ///
- /// Sets the tail, or, if omitted, seeks the tail by finding the first null terminator.
- ///
- ///
- protected virtual void SetTail(int tail = -1)
+ protected virtual void SetTail(int tail)
{
Tail = tail;
}