libquentier
0.8.0
The library for rich desktop clients of Evernote service
Loading...
Searching...
No Matches
headers
quentier
utility
QuentierUndoCommand.h
1
/*
2
* Copyright 2016-2025 Dmitry Ivanov
3
*
4
* This file is part of libquentier
5
*
6
* libquentier is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU Lesser General Public License as published by
8
* the Free Software Foundation, version 3 of the License.
9
*
10
* libquentier is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with libquentier. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#pragma once
20
21
#include <quentier/types/ErrorString.h>
22
23
#include <QObject>
24
#include <QUndoCommand>
25
26
namespace
quentier::utility {
27
53
class
QuentierUndoCommand :
public
QObject,
public
QUndoCommand
54
{
55
Q_OBJECT
56
public
:
57
QuentierUndoCommand(QUndoCommand * parent =
nullptr
);
58
QuentierUndoCommand(
const
QString & text, QUndoCommand * parent =
nullptr
);
59
~QuentierUndoCommand()
noexcept
override
;
60
61
void
undo()
final
;
62
void
redo()
final
;
63
64
[[nodiscard]]
bool
onceUndoExecuted()
const
noexcept
65
{
66
return
m_onceUndoExecuted;
67
}
68
69
Q_SIGNALS:
70
void
notifyError(
ErrorString
error);
71
72
protected
:
73
virtual
void
undoImpl() = 0;
74
virtual
void
redoImpl() = 0;
75
76
private
:
77
bool
m_onceUndoExecuted =
false
;
78
};
79
80
}
// namespace quentier::utility
quentier::ErrorString
The ErrorString class encapsulates two (or more) strings which are meant to contain translatable (bas...
Definition
ErrorString.h:43
Generated on
for libquentier by
1.15.0