Refactor replay code in TabGame to replayManager (#6026)

* Refactor replay code to replayManager

* Lint.

* Refresh shortcuts.

Took 13 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
Co-authored-by: Zach H <zahalpern+github@gmail.com>
This commit is contained in:
BruebachL 2025-07-16 12:33:48 +02:00 committed by GitHub
parent 70b4843bc4
commit b9f16e8cce
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 227 additions and 159 deletions

View file

@ -0,0 +1,37 @@
#ifndef REPLAY_MANAGER_H
#define REPLAY_MANAGER_H
#include "network/replay_timeline_widget.h"
#include "pb/game_replay.pb.h"
#include <QWidget>
class ReplayManager : public QWidget
{
Q_OBJECT
public:
ReplayManager(TabGame *parent, GameReplay *replay);
TabGame *game;
GameReplay *replay;
signals:
void requestChatAndPhaseReset();
private:
// Replay related members
int currentReplayStep = 0;
QList<int> replayTimeline;
ReplayTimelineWidget *timelineWidget;
QToolButton *replayPlayButton, *replayFastForwardButton;
QAction *aReplaySkipForward, *aReplaySkipBackward, *aReplaySkipForwardBig, *aReplaySkipBackwardBig;
private slots:
void replayNextEvent(Player::EventProcessingOptions options);
void replayFinished();
void replayPlayButtonToggled(bool checked);
void replayFastForwardButtonToggled(bool checked);
void replayRewind();
void refreshShortcuts();
};
#endif // REPLAY_MANAGER_H