Akonadi Calendar
history.cpp
30void History::recordCreation(const Akonadi::Item &item, const QString &description, const uint atomicOperationId)
34 Q_ASSERT_X(item.hasPayload<KCalendarCore::Incidence::Ptr>(), "History::recordCreation()", "Item must have Incidence::Ptr payload.");
41void History::recordModification(const Akonadi::Item &oldItem, const Akonadi::Item &newItem, const QString &description, const uint atomicOperationId)
45 Q_ASSERT_X(oldItem.hasPayload<KCalendarCore::Incidence::Ptr>(), "History::recordModification", "old item must have Incidence::Ptr payload");
46 Q_ASSERT_X(newItem.hasPayload<KCalendarCore::Incidence::Ptr>(), "History::recordModification", "newItem item must have Incidence::Ptr payload");
48 Entry::Ptr entry(new ModificationEntry(newItem, oldItem.payload<KCalendarCore::Incidence::Ptr>(), description, this));
55void History::recordDeletion(const Akonadi::Item &item, const QString &description, const uint atomicOperationId)
63void History::recordDeletions(const Akonadi::Item::List &items, const QString &description, const uint atomicOperationId)
70 Q_ASSERT_X(item.hasPayload<Incidence::Ptr>(), "History::recordDeletion()", "Item must have an Incidence::Ptr payload.");
163 Q_EMIT q->changed(); // Application will disable undo/redo buttons because operation is in progress
167 connect(mEntryInProgress.data(), &Entry::finished, this, &HistoryPrivate::handleFinished, Qt::UniqueConnection);
171void HistoryPrivate::handleFinished(IncidenceChanger::ResultCode changerResult, const QString &errorString)
177 const History::ResultCode resultCode = success ? History::ResultCodeSuccess : History::ResultCodeError;
211 Entry::Ptr topEntry = (mOperationTypeInProgress == TypeNone) ? (mUndoStack.isEmpty() ? Entry::Ptr() : mUndoStack.top())
224 MultiEntry::Ptr multiEntry = MultiEntry::Ptr(new MultiEntry(atomicOperationId, entry->mDescription, q));
History class for implementing undo/redo of calendar operations.
Definition history.h:48
void recordDeletions(const Akonadi::Item::List &items, const QString &description, const uint atomicOperationId=0)
Pushes a list of incidence deletions onto the undo stack.
Definition history.cpp:63
void recordDeletion(const Akonadi::Item &item, const QString &description, const uint atomicOperationId=0)
Pushes an incidence deletion onto the undo stack.
Definition history.cpp:55
QString nextUndoDescription() const
Returns the description of the next undo.
Definition history.cpp:76
bool redoAvailable() const
Returns true if there are changes that can be redone.
Definition history.cpp:142
void recordModification(const Akonadi::Item &oldItem, const Akonadi::Item &newItem, const QString &description, const uint atomicOperationId=0)
Pushes an incidence modification onto the undo stack.
Definition history.cpp:41
void undoAll(QWidget *parent=nullptr)
Reverts every change in the undo stack.
Definition history.cpp:104
void redo(QWidget *parent=nullptr)
Reverts the change that's on top of the redo stack.
Definition history.cpp:99
QString nextRedoDescription() const
Returns the description of the next redo.
Definition history.cpp:85
bool undoAvailable() const
Returns true if there are changes that can be undone.
Definition history.cpp:137
ResultCode
This enum describes the possible result codes (success/error values) for an undo or redo operation.
Definition history.h:57
void undo(QWidget *parent=nullptr)
Reverts the change that's on top of the undo stack.
Definition history.cpp:94
void recordCreation(const Akonadi::Item &item, const QString &description, const uint atomicOperationId=0)
Pushes an incidence creation onto the undo stack.
Definition history.cpp:30
qint64 Id
bool hasPayload() const
int revision() const
T payload() const
bool isValid() const
Type type(const QSqlDatabase &db)
FreeBusyManager::Singleton.
void append(QList< T > &&value)
Q_EMITQ_EMIT
QObject * parent() const const
void clear()
UniqueConnection
QFuture< ArgsType< Signal > > connect(Sender *sender, Signal signal)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:17:16 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:17:16 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.