diff --git a/src/gui/views/view2d.h b/src/gui/views/view2d.h --- a/src/gui/views/view2d.h +++ b/src/gui/views/view2d.h @@ -67,6 +67,9 @@ inline int maxValue() const { return m_game.order(); } + void undo(); + void redo(); + public slots: void selectValue(int val); void enterValue(int val, int cell=-1); diff --git a/src/gui/views/view2d.cpp b/src/gui/views/view2d.cpp --- a/src/gui/views/view2d.cpp +++ b/src/gui/views/view2d.cpp @@ -103,6 +103,12 @@ case Qt::RightButton: m_scene->press(m_id, true); break; + case Qt::BackButton: + m_scene->undo(); + break; + case Qt::ForwardButton: + m_scene->redo(); + break; default: break; } @@ -765,6 +771,13 @@ emit valueSelected(m_selectedValue); } +void View2DScene::undo() { + m_game.interface()->undo(); +} + +void View2DScene::redo() { + m_game.interface()->redo(); +} View2D::View2D(QWidget *parent, const Game& game, GameActions* gameActions) : QGraphicsView(parent) { setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);