mimimi
Co-authored-by: MrBesen <mrbesen@users.noreply.github.com>
This commit is contained in:
parent
ffc83a175f
commit
03e4017e7f
|
@ -1,5 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <QJsonObject>
|
||||
|
||||
#include "position.h"
|
||||
|
@ -31,9 +32,9 @@ public:
|
|||
RootConfig(const QJsonObject&);
|
||||
operator QJsonObject() const;
|
||||
|
||||
PositionConfig& getPositionConfig(Position position);
|
||||
std::shared_ptr<Config::PositionConfig> getPositionConfig(Position position);
|
||||
|
||||
std::vector<PositionConfig> positionConfigs;
|
||||
std::vector<std::shared_ptr<PositionConfig>> positionConfigs;
|
||||
|
||||
bool enabledAutoAccept;
|
||||
};
|
||||
|
|
|
@ -87,8 +87,8 @@ Config::RootConfig::operator QJsonObject() const {
|
|||
QJsonObject out;
|
||||
|
||||
QJsonArray positionarr;
|
||||
for(const PositionConfig& pos : positionConfigs) {
|
||||
positionarr.push_back((QJsonObject) pos);
|
||||
for(auto pos : positionConfigs) {
|
||||
positionarr.push_back((QJsonObject) *pos.get());
|
||||
}
|
||||
|
||||
out["positions"] = positionarr;
|
||||
|
@ -97,17 +97,19 @@ Config::RootConfig::operator QJsonObject() const {
|
|||
return out;
|
||||
}
|
||||
|
||||
Config::PositionConfig& Config::RootConfig::getPositionConfig(Position position) {
|
||||
for(uint32_t i = 0; i < positionConfigs.size(); ++i) {
|
||||
if(positionConfigs.at(i).position == position) {
|
||||
return positionConfigs.at(i);
|
||||
std::shared_ptr<Config::PositionConfig> Config::RootConfig::getPositionConfig(Position position) {
|
||||
// find existing configuration with given position
|
||||
for(auto posc : positionConfigs) {
|
||||
if(posc->position == position) {
|
||||
return posc;
|
||||
}
|
||||
}
|
||||
|
||||
// add a new config
|
||||
positionConfigs.emplace_back();
|
||||
positionConfigs.back().position = position;
|
||||
return positionConfigs.back();
|
||||
auto posconfig = std::make_shared<Config::PositionConfig>();
|
||||
positionConfigs.push_back(posconfig);
|
||||
posconfig->position = position;
|
||||
return posconfig;
|
||||
}
|
||||
|
||||
Config::Config() {
|
||||
|
|
|
@ -222,10 +222,10 @@ void LolAutoAccept::loadPosition(Position pos) {
|
|||
stages.resize(1); // first stage does not change
|
||||
stages.resize(3);
|
||||
|
||||
const Config::PositionConfig& posconf = config.getPositionConfig(pos);
|
||||
std::shared_ptr<Config::PositionConfig> posconf = config.getPositionConfig(pos);
|
||||
|
||||
applyConfigToStage(stages.at((int) State::BAN), posconf.ban);
|
||||
applyConfigToStage(stages.at((int) State::PICK), posconf.pick);
|
||||
applyConfigToStage(stages.at((int) State::BAN), posconf->ban);
|
||||
applyConfigToStage(stages.at((int) State::PICK), posconf->pick);
|
||||
|
||||
currentPosition = pos;
|
||||
currentPositionSet = true;
|
||||
|
|
|
@ -15,7 +15,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
|||
Config::RootConfig& rc = conf.getConfig();
|
||||
for(int32_t tabnr = 0; tabnr < ui->tabWidget->count(); ++tabnr) {
|
||||
SettingsTab* tab = (SettingsTab*) ui->tabWidget->widget(tabnr);
|
||||
tab->setup(rc.getPositionConfig(tab->getPosition()), &dd);
|
||||
tab->setup(*rc.getPositionConfig(tab->getPosition()), &dd);
|
||||
|
||||
QObject::connect(tab, SIGNAL( changed(Position, LolAutoAccept::State) ), this, SLOT( tabchanged(Position, LolAutoAccept::State) ));
|
||||
QObject::connect(tab, SIGNAL( toggled(Position, LolAutoAccept::State, bool) ), this, SLOT( tabtoggled(Position, LolAutoAccept::State, bool) ));
|
||||
|
|
|
@ -71,7 +71,9 @@ void SettingsTab::pickToggled(bool b) {
|
|||
}
|
||||
|
||||
void SettingsTab::pickChampsChanged() {
|
||||
conf->pick.champs = toChampionNameList(ui->pickstage->getChampions());
|
||||
auto champs = ui->pickstage->getChampions();
|
||||
auto champnames = toChampionNameList(champs);
|
||||
conf->pick.champs.swap(champnames);
|
||||
emit changed(position, LolAutoAccept::State::BAN);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue