diff --git a/src/gui/TimeMachineDialog.cxx b/src/gui/TimeMachineDialog.cxx index 6dfb7c906..f49c8a643 100644 --- a/src/gui/TimeMachineDialog.cxx +++ b/src/gui/TimeMachineDialog.cxx @@ -332,10 +332,9 @@ void TimeMachineDialog::loadConfig() void TimeMachineDialog::handleKeyDown(StellaKey key, StellaMod mod, bool repeated) { // The following shortcuts duplicate the shortcuts in EventHandler - Event::Type event = instance().eventHandler().eventForKey(EventMode::kEmulationMode, key, mod); - switch (event) + switch(event) { case Event::ExitMode: handleCommand(nullptr, kExit, 0, 0); @@ -375,9 +374,14 @@ void TimeMachineDialog::handleKeyDown(StellaKey key, StellaMod mod, bool repeate handleCommand(nullptr, kSaveAll, 0, 0); break; + // Hotkey only commands (no button available) + case Event::SaveState: + case Event::PreviousState: + case Event::NextState: + case Event::LoadState: case Event::TakeSnapshot: if(!repeated) - handleCommand(nullptr, kSnapShot, 0, 0); + handleCommand(nullptr, event, 0, 0); break; default: @@ -451,16 +455,25 @@ void TimeMachineDialog::handleCommand(CommandSender* sender, int cmd, break; case kSaveAll: - instance().frameBuffer().showTextMessage(instance().state().rewindManager().saveAllStates()); + instance().eventHandler().handleEvent(Event::SaveAllStates); break; case kLoadAll: - instance().frameBuffer().showTextMessage(instance().state().rewindManager().loadAllStates()); + instance().eventHandler().handleEvent(Event::LoadAllStates); initBar(); break; - case kSnapShot: - instance().frameBuffer().tiaSurface().saveSnapShot(); + // Hotkey only commands (no button available) + case Event::SaveState: + case Event::PreviousState: + case Event::NextState: + case Event::LoadState: + instance().eventHandler().handleEvent(Event::Type(cmd)); + break; + + case Event::TakeSnapshot: + instance().eventHandler().handleEvent(Event::TakeSnapshot); + instance().frameBuffer().setPendingRender(); break; default: diff --git a/src/gui/TimeMachineDialog.hxx b/src/gui/TimeMachineDialog.hxx index 439c4211f..bc9f57425 100644 --- a/src/gui/TimeMachineDialog.hxx +++ b/src/gui/TimeMachineDialog.hxx @@ -69,7 +69,6 @@ class TimeMachineDialog : public Dialog kUnwind1 = 'TMun', kSaveAll = 'TMsv', kLoadAll = 'TMld', - kSnapShot = 'TMsn', }; TimeLineWidget* myTimeline{nullptr};