File indexing completed on 2024-04-28 04:05:21

0001 /*
0002     SPDX-FileCopyrightText: 2015 Jakob Gruber <jakob.gruber@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef SELECTBOARD_H
0008 #define SELECTBOARD_H
0009 
0010 #include <QDialog>
0011 #include <QSharedPointer>
0012 
0013 #include "ui_selectboardwindow.h"
0014 
0015 class Level;
0016 class LevelTableModel;
0017 
0018 class SelectBoardWindow : public QDialog
0019 {
0020     Q_OBJECT
0021 public:
0022     explicit SelectBoardWindow(QWidget *parent);
0023 
0024     ~SelectBoardWindow() override;
0025 
0026     QSharedPointer<Level> selectedBoard() const;
0027 
0028 protected:
0029     void resizeEvent(QResizeEvent *event) override;
0030     void showEvent(QShowEvent *event) override;
0031 
0032 private Q_SLOTS:
0033     void selectedLevelChanged(const QModelIndex &current, const QModelIndex &previous);
0034     void levelDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
0035 
0036 private:
0037     void updateDetails(QSharedPointer<Level> level);
0038     void resetSelection();
0039 
0040     Ui::LevelSelectUi *ui;
0041 
0042     QList<QSharedPointer<Level> > m_levels;
0043     QSharedPointer<LevelTableModel> m_model;
0044 };
0045 
0046 #endif