mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-11 03:21:29 +00:00
undo: switch to affected dive on undo/redo of event-changes
Select and make current the affected dive. And also switch to the divecomputer that was affected. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
48b4dc9c84
commit
e39063f6df
2 changed files with 11 additions and 2 deletions
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
#include "command_event.h"
|
#include "command_event.h"
|
||||||
#include "core/dive.h"
|
#include "core/dive.h"
|
||||||
|
#include "core/selection.h"
|
||||||
#include "core/subsurface-qt/divelistnotifier.h"
|
#include "core/subsurface-qt/divelistnotifier.h"
|
||||||
#include "core/libdivecomputer.h"
|
#include "core/libdivecomputer.h"
|
||||||
#include "core/gettextfromc.h"
|
#include "core/gettextfromc.h"
|
||||||
|
@ -17,15 +18,21 @@ EventBase::EventBase(struct dive *dIn, int dcNrIn) :
|
||||||
void EventBase::redo()
|
void EventBase::redo()
|
||||||
{
|
{
|
||||||
redoit(); // Call actual function in base class
|
redoit(); // Call actual function in base class
|
||||||
invalidate_dive_cache(d);
|
updateDive();
|
||||||
emit diveListNotifier.eventsChanged(d);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EventBase::undo()
|
void EventBase::undo()
|
||||||
{
|
{
|
||||||
undoit(); // Call actual function in base class
|
undoit(); // Call actual function in base class
|
||||||
|
updateDive();
|
||||||
|
}
|
||||||
|
|
||||||
|
void EventBase::updateDive()
|
||||||
|
{
|
||||||
invalidate_dive_cache(d);
|
invalidate_dive_cache(d);
|
||||||
emit diveListNotifier.eventsChanged(d);
|
emit diveListNotifier.eventsChanged(d);
|
||||||
|
dc_number = dcNr;
|
||||||
|
setSelection({ d }, d);
|
||||||
}
|
}
|
||||||
|
|
||||||
AddEventBase::AddEventBase(struct dive *d, int dcNr, struct event *ev) : EventBase(d, dcNr),
|
AddEventBase::AddEventBase(struct dive *d, int dcNr, struct event *ev) : EventBase(d, dcNr),
|
||||||
|
|
|
@ -29,6 +29,8 @@ protected:
|
||||||
// are probably not stable.
|
// are probably not stable.
|
||||||
struct dive *d;
|
struct dive *d;
|
||||||
int dcNr;
|
int dcNr;
|
||||||
|
private:
|
||||||
|
void updateDive();
|
||||||
};
|
};
|
||||||
|
|
||||||
class AddEventBase : public EventBase {
|
class AddEventBase : public EventBase {
|
||||||
|
|
Loading…
Reference in a new issue