13 if (!allowImmediateClose_)
15 allowImmediateClose_ =
false;
22 const std::function<
void()>& requestSave) {
25 if (pendingCloseAfterSave_) {
30 pendingCloseAfterSave_ =
true;
36 pendingCloseAfterSave_ =
false;
37 allowImmediateClose_ =
true;
42 const QString& operation,
const QString& saveOperation,
43 const std::function<
void()>& closeWindow) {
44 if (!pendingCloseAfterSave_ || operation != saveOperation)
47 pendingCloseAfterSave_ =
false;
48 allowImmediateClose_ =
true;
55 const QString& saveOperation) {
56 if (!pendingCloseAfterSave_ || operation != saveOperation)
59 pendingCloseAfterSave_ =
false;
60 allowImmediateClose_ =
true;
Declarations for the UI CloseWorkflow component.
void requestClose(QCloseEvent *event, const std::function< void()> &requestSave)
Defers closing and invokes the supplied save request.
bool allowImmediateClose(QCloseEvent *event)
Accepts a close event when a deferred close is already authorized.
bool handleStorageOperationSucceeded(const QString &operation, const QString &saveOperation, const std::function< void()> &closeWindow)
Completes a deferred close after the matching save succeeded.
bool handleStorageOperationFailed(const QString &operation, const QString &saveOperation)
Cancels a deferred close after the matching save failed.