Browse Source

Fixed two editor bugs introduced in revision 4138.

Ask user to save unsaved changes when closing SharpDevelop.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4140 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts^2
Daniel Grunwald 16 years ago
parent
commit
eb09b62e33
  1. 4
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs
  2. 5
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/EditingCommandHandler.cs
  3. 17
      src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs

4
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs

@ -346,7 +346,9 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -346,7 +346,9 @@ namespace ICSharpCode.AvalonEdit.AddIn
void TextArea_TextEntered(object sender, TextCompositionEventArgs e)
{
if (e.Text.Length > 0 && !e.Handled) {
formattingStrategy.FormatLine(GetAdapterFromSender(sender), e.Text[0]);
if (formattingStrategy != null) {
formattingStrategy.FormatLine(GetAdapterFromSender(sender), e.Text[0]);
}
}
}

5
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Gui/EditingCommandHandler.cs

@ -75,7 +75,10 @@ namespace ICSharpCode.AvalonEdit.Gui @@ -75,7 +75,10 @@ namespace ICSharpCode.AvalonEdit.Gui
TextArea textArea = GetTextArea(target);
if (textArea != null) {
TextComposition textComposition = new TextComposition(InputManager.Current, textArea, "\n");
textArea.PerformTextInput(new TextCompositionEventArgs(Keyboard.PrimaryDevice, textComposition));
TextCompositionEventArgs e = new TextCompositionEventArgs(Keyboard.PrimaryDevice, textComposition);
e.RoutedEvent = TextArea.TextInputEvent;
textArea.PerformTextInput(e);
args.Handled = true;
}
}
#endregion

17
src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs

@ -464,7 +464,24 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -464,7 +464,24 @@ namespace ICSharpCode.SharpDevelop.Gui
{
base.OnClosing(e);
if (!e.Cancel) {
Project.ProjectService.SaveSolutionPreferences();
while (WorkbenchSingleton.Workbench.WorkbenchWindowCollection.Count > 0) {
IWorkbenchWindow window = WorkbenchSingleton.Workbench.WorkbenchWindowCollection[0];
if (!window.CloseWindow(false)) {
e.Cancel = true;
return;
}
}
Project.ProjectService.CloseSolution();
ParserService.StopParserThread();
this.WorkbenchLayout = null;
foreach (PadDescriptor padDescriptor in this.PadContentCollection) {
padDescriptor.Dispose();
}
}
}
}

Loading…
Cancel
Save