libquentier
0.5.0
The library for rich desktop clients of Evernote service
headers
quentier
utility
QuentierUndoCommand.h
1
/*
2
* Copyright 2016-2020 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
#ifndef LIB_QUENTIER_UTILITY_QUENTIER_UNDO_COMMAND_H
20
#define LIB_QUENTIER_UTILITY_QUENTIER_UNDO_COMMAND_H
21
22
#include <quentier/types/ErrorString.h>
23
#include <quentier/utility/Macros.h>
24
25
#include <QObject>
26
#include <QUndoCommand>
27
28
namespace
quentier {
29
55
class
QuentierUndoCommand
:
public
QObject,
public
QUndoCommand
56
{
57
Q_OBJECT
58
public
:
59
QuentierUndoCommand
(QUndoCommand * parent =
nullptr
);
60
QuentierUndoCommand
(
const
QString & text, QUndoCommand * parent =
nullptr
);
61
virtual
~
QuentierUndoCommand
()
override
;
62
63
virtual
void
undo()
override
final
;
64
virtual
void
redo()
override
final
;
65
66
bool
onceUndoExecuted()
const
{
return
m_onceUndoExecuted; }
67
68
Q_SIGNALS:
69
void
notifyError(
ErrorString
error);
70
71
protected
:
72
virtual
void
undoImpl() = 0;
73
virtual
void
redoImpl() = 0;
74
75
private
:
76
bool
m_onceUndoExecuted;
77
};
78
79
}
// namespace quentier
80
81
#endif // LIB_QUENTIER_UTILITY_QUENTIER_UNDO_COMMAND_H
82
quentier::ErrorString
The ErrorString class encapsulates two (or more) strings which are meant to contain translatable (bas...
Definition:
ErrorString.h:44
quentier::QuentierUndoCommand
The QuentierUndoCommand class has the sole purpose of working around one quirky aspect of Qt's undo/r...
Definition:
QuentierUndoCommand.h:56
Generated on Wed Jul 29 2020 14:20:28 for libquentier by
1.8.18