Added "Auto close editor on task" option

This commit is contained in:
Jaex 2017-12-24 12:01:16 +03:00
parent f95a4b4141
commit 9a8d8f0fc5
5 changed files with 61 additions and 20 deletions

View file

@ -270,17 +270,9 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="packages.config" /> <None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\image.png" /> <None Include="Resources\image.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\notebook.png" /> <None Include="Resources\notebook.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\application-block.png" /> <None Include="Resources\application-block.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\globe.png" /> <None Include="Resources\globe.png" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

View file

@ -1465,45 +1465,90 @@ internal void OnSaveImageRequested()
if (SaveImageRequested != null) if (SaveImageRequested != null)
{ {
Image img = GetResultImage(); Image img = GetResultImage();
if (Options.AutoCloseEditorOnTask)
{
Close();
TaskEx.Run(() => SaveImageRequested(img, ImageFilePath));
}
else
{
SaveImageRequested(img, ImageFilePath); SaveImageRequested(img, ImageFilePath);
} }
} }
}
internal void OnSaveImageAsRequested() internal void OnSaveImageAsRequested()
{ {
if (SaveImageAsRequested != null) if (SaveImageAsRequested != null)
{ {
Image img = GetResultImage(); Image img = GetResultImage();
if (Options.AutoCloseEditorOnTask)
{
Close();
TaskEx.Run(() => SaveImageAsRequested(img, ImageFilePath));
}
else
{
SaveImageAsRequested(img, ImageFilePath); SaveImageAsRequested(img, ImageFilePath);
} }
} }
}
internal void OnCopyImageRequested() internal void OnCopyImageRequested()
{ {
if (CopyImageRequested != null) if (CopyImageRequested != null)
{ {
Image img = GetResultImage(); Image img = GetResultImage();
if (Options.AutoCloseEditorOnTask)
{
Close();
TaskEx.Run(() => CopyImageRequested(img));
}
else
{
CopyImageRequested(img); CopyImageRequested(img);
} }
} }
}
internal void OnUploadImageRequested() internal void OnUploadImageRequested()
{ {
if (UploadImageRequested != null) if (UploadImageRequested != null)
{ {
Image img = GetResultImage(); Image img = GetResultImage();
if (Options.AutoCloseEditorOnTask)
{
Close();
TaskEx.Run(() => UploadImageRequested(img));
}
else
{
UploadImageRequested(img); UploadImageRequested(img);
} }
} }
}
internal void OnPrintImageRequested() internal void OnPrintImageRequested()
{ {
if (PrintImageRequested != null) if (PrintImageRequested != null)
{ {
Image img = GetResultImage(); Image img = GetResultImage();
if (Options.AutoCloseEditorOnTask)
{
Close();
TaskEx.Run(() => PrintImageRequested(img));
}
else
{
PrintImageRequested(img); PrintImageRequested(img);
} }
} }
}
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {

View file

@ -81,8 +81,9 @@ public class RegionCaptureOptions
// Image editor // Image editor
public ImageEditorStartMode ImageEditorStartMode = ImageEditorStartMode.AutoSize; public ImageEditorStartMode ImageEditorStartMode = ImageEditorStartMode.AutoSize;
public WindowState ImageEditorWindowState = new WindowState(); public WindowState ImageEditorWindowState = new WindowState();
public bool AutoCloseEditorOnTask = true;
public Color ImageEditorBackgroundColor = Color.FromArgb(200, 200, 200); public Color ImageEditorBackgroundColor = Color.FromArgb(200, 200, 200);
public bool ShowEditorPanTip = true; public bool ShowEditorPanTip = true;
public ImageEditorInterpolationMode ImageEditorInterpolationMode = ImageEditorInterpolationMode.Bicubic; public ImageEditorInterpolationMode ImageEditorResizeInterpolationMode = ImageEditorInterpolationMode.Bicubic;
} }
} }

View file

@ -1478,16 +1478,16 @@ private void ChangeImageSize()
{ {
Size oldSize = Form.Canvas.Size; Size oldSize = Form.Canvas.Size;
using (ImageSizeForm imageSizeForm = new ImageSizeForm(oldSize, Options.ImageEditorInterpolationMode)) using (ImageSizeForm imageSizeForm = new ImageSizeForm(oldSize, Options.ImageEditorResizeInterpolationMode))
{ {
if (imageSizeForm.ShowDialog(Form) == DialogResult.OK) if (imageSizeForm.ShowDialog(Form) == DialogResult.OK)
{ {
Size size = imageSizeForm.ImageSize; Size size = imageSizeForm.ImageSize;
Options.ImageEditorInterpolationMode = imageSizeForm.InterpolationMode; Options.ImageEditorResizeInterpolationMode = imageSizeForm.InterpolationMode;
if (size != oldSize) if (size != oldSize)
{ {
InterpolationMode interpolationMode = GetInterpolationMode(Options.ImageEditorInterpolationMode); InterpolationMode interpolationMode = GetInterpolationMode(Options.ImageEditorResizeInterpolationMode);
Image img = ImageHelpers.ResizeImage(Form.Canvas, size, interpolationMode); Image img = ImageHelpers.ResizeImage(Form.Canvas, size, interpolationMode);
if (img != null) if (img != null)

View file

@ -159,10 +159,7 @@ internal void CreateToolbar()
tsbCloseCancel.Image = Resources.cross; tsbCloseCancel.Image = Resources.cross;
tsbCloseCancel.Click += (sender, e) => Form.Close(RegionResult.AnnotateCancelTask); tsbCloseCancel.Click += (sender, e) => Form.Close(RegionResult.AnnotateCancelTask);
tsMain.Items.Add(tsbCloseCancel); tsMain.Items.Add(tsbCloseCancel);
}
if (Form.Mode == RegionCaptureMode.TaskEditor)
{
tsMain.Items.Add(new ToolStripSeparator()); tsMain.Items.Add(new ToolStripSeparator());
} }
@ -752,6 +749,12 @@ internal void CreateToolbar()
(sender, e) => Options.ImageEditorStartMode = (ImageEditorStartMode)tscbImageEditorStartMode.Content.SelectedIndex; (sender, e) => Options.ImageEditorStartMode = (ImageEditorStartMode)tscbImageEditorStartMode.Content.SelectedIndex;
tsddbOptions.DropDownItems.Add(tscbImageEditorStartMode); tsddbOptions.DropDownItems.Add(tscbImageEditorStartMode);
ToolStripMenuItem tsmiAutoCloseEditorOnTask = new ToolStripMenuItem("Auto close editor on task");
tsmiAutoCloseEditorOnTask.Checked = Options.AutoCloseEditorOnTask;
tsmiAutoCloseEditorOnTask.CheckOnClick = true;
tsmiAutoCloseEditorOnTask.Click += (sender, e) => Options.AutoCloseEditorOnTask = tsmiAutoCloseEditorOnTask.Checked;
tsddbOptions.DropDownItems.Add(tsmiAutoCloseEditorOnTask);
tsmiImageEditorBackgroundColor = new ToolStripMenuItem(Resources.ShapeManager_CreateToolbar_EditorBackgroundColor); tsmiImageEditorBackgroundColor = new ToolStripMenuItem(Resources.ShapeManager_CreateToolbar_EditorBackgroundColor);
tsmiImageEditorBackgroundColor.Click += (sender, e) => tsmiImageEditorBackgroundColor.Click += (sender, e) =>
{ {