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. 2
      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

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

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

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

@ -75,7 +75,10 @@ namespace ICSharpCode.AvalonEdit.Gui
TextArea textArea = GetTextArea(target); TextArea textArea = GetTextArea(target);
if (textArea != null) { if (textArea != null) {
TextComposition textComposition = new TextComposition(InputManager.Current, textArea, "\n"); 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 #endregion

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

@ -464,7 +464,24 @@ namespace ICSharpCode.SharpDevelop.Gui
{ {
base.OnClosing(e); base.OnClosing(e);
if (!e.Cancel) { 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; this.WorkbenchLayout = null;
foreach (PadDescriptor padDescriptor in this.PadContentCollection) {
padDescriptor.Dispose();
}
} }
} }
} }

Loading…
Cancel
Save