|
@@ -22,6 +22,7 @@ using InABox.Core.Reports;
|
|
using ICSharpCode.AvalonEdit.Highlighting;
|
|
using ICSharpCode.AvalonEdit.Highlighting;
|
|
using System.Drawing;
|
|
using System.Drawing;
|
|
using System.Collections.Generic;
|
|
using System.Collections.Generic;
|
|
|
|
+using System.ComponentModel;
|
|
using System.Linq;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Threading;
|
|
using System.Windows.Threading;
|
|
@@ -87,7 +88,8 @@ namespace InABox.Wpf.Reports
|
|
Designer.InnerDesigner.cmdSave.CustomAction += (sender, args) => SaveReport();
|
|
Designer.InnerDesigner.cmdSave.CustomAction += (sender, args) => SaveReport();
|
|
Designer.InnerDesigner.cmdSaveAs.CustomAction += (sender, args) => SaveReportAs();
|
|
Designer.InnerDesigner.cmdSaveAs.CustomAction += (sender, args) => SaveReportAs();
|
|
Designer.InnerDesigner.cmdPreview.CustomAction += (sender, args) => ShowPreview();
|
|
Designer.InnerDesigner.cmdPreview.CustomAction += (sender, args) => ShowPreview();
|
|
-
|
|
|
|
|
|
+ Designer.InnerDesigner.AskSave = false;
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -386,6 +388,7 @@ namespace InABox.Wpf.Reports
|
|
_template.RDL = _report.SaveToString();
|
|
_template.RDL = _report.SaveToString();
|
|
DoSave(_template);
|
|
DoSave(_template);
|
|
Designer.Report = _report;
|
|
Designer.Report = _report;
|
|
|
|
+ Designer.InnerDesigner.Modified = false;
|
|
}
|
|
}
|
|
|
|
|
|
private void DesignButton_Click(object sender, RoutedEventArgs e)
|
|
private void DesignButton_Click(object sender, RoutedEventArgs e)
|
|
@@ -408,7 +411,12 @@ namespace InABox.Wpf.Reports
|
|
private void DoSave(ReportTemplate template)
|
|
private void DoSave(ReportTemplate template)
|
|
{
|
|
{
|
|
if (SaveTemplate is null)
|
|
if (SaveTemplate is null)
|
|
- new Client<ReportTemplate>().Save(template, "Updated by Designer");
|
|
|
|
|
|
+ {
|
|
|
|
+ Progress.ShowModal("Saving", p =>
|
|
|
|
+ {
|
|
|
|
+ new Client<ReportTemplate>().Save(template, "Updated by Designer");
|
|
|
|
+ });
|
|
|
|
+ }
|
|
else
|
|
else
|
|
SaveTemplate?.Invoke(template);
|
|
SaveTemplate?.Invoke(template);
|
|
}
|
|
}
|
|
@@ -419,6 +427,21 @@ namespace InABox.Wpf.Reports
|
|
DoSave(_template);
|
|
DoSave(_template);
|
|
_report = null;
|
|
_report = null;
|
|
ShowPreview();
|
|
ShowPreview();
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void PreviewWindow_OnClosing(object? sender, CancelEventArgs e)
|
|
|
|
+ {
|
|
|
|
+ if (Designer.InnerDesigner.Modified)
|
|
|
|
+ {
|
|
|
|
+ var result = MessageWindow.ShowYesNoCancel("There are unsaved changes in this report!\nDo you wish to save them now?","Save Changes");
|
|
|
|
+ if (result == MessageWindowResult.Cancel)
|
|
|
|
+ {
|
|
|
|
+ e.Cancel = true;
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (result == MessageWindowResult.Yes)
|
|
|
|
+ SaveReport();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|