#ifndef STAGESETTINGS_H #define STAGESETTINGS_H #include #include "config.h" #include "datadragon.h" namespace Ui { class StageSettings; } class StageSettings : public QWidget { Q_OBJECT Q_PROPERTY(QString name READ getName WRITE setName) Q_PROPERTY(bool state READ getState WRITE setState NOTIFY toggled) public: explicit StageSettings(QWidget *parent = nullptr); ~StageSettings(); QString getName() const; void setName(const QString& n); bool getState() const; void setState(bool); struct SelectedChamp { SelectedChamp(QString name, uint32_t id); QString name; uint32_t id; }; std::vector getChampions() const; void setChampions(const std::vector& champs); void setDataDragon(DataDragon* dd); void addChamp(const DataDragon::ChampData& cd, QPixmap icon); void loadConfig(Config::StageConfig& c); private slots: void toggledinternal(int state); void addChamp(); void removeChamp(); void moved(); signals: void toggled(bool); void championsChanged(); private: // delete all items void resolveAndAddChamp(const QString& name, bool emitchange = false); void clear(); void updateEnabled(); Ui::StageSettings *ui; DataDragon* dd = nullptr; }; #endif // STAGESETTINGS_H