#include "mainwindow.h" #include "ui_mainwindow.h" #include static void applySetting(const Config::StageConfig& sc, StageSettings* ss) { ss->setState(sc.enabled); ss->setChampions(sc.champs); } MainWindow::MainWindow(LolAutoAccept& lolaa, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), lolaa(lolaa), dd(QLocale().name().toStdString()) { ui->setupUi(this); conf.load(); ui->prepickstage->setDataDragon(&dd); ui->banstage->setDataDragon(&dd); ui->pickstage->setDataDragon(&dd); const Config::RootConfig& rc = conf.getConfig(); ui->enableAll->setChecked(rc.enabledAutoAccept); lolaa.setEnabled(rc.enabledAutoAccept, LolAutoAccept::State::LOBBY); applySetting(rc.prepick, ui->prepickstage); applySetting(rc.ban, ui->banstage); applySetting(rc.pick, ui->pickstage); } MainWindow::~MainWindow() { lolaa.stop(); conf.save(); delete ui; } void MainWindow::closeEvent([[maybe_unused]] QCloseEvent* event) { conf.save(); } void MainWindow::toggleMainswitch(bool state) { Log::info << "mainswitch toggled: " << state; if(state) { if(!lolaa.init()) { Log::error << "League Client not found!"; ui->statusbar->showMessage(tr("League of Legends Client not found!")); ui->mainswitch->setCheckState(Qt::CheckState::Unchecked); return; } lolaa.run(); ui->statusbar->showMessage(tr("Auto-Acceptor started!")); } else { lolaa.stop(); ui->statusbar->showMessage(tr("Auto-Acceptor stoped!")); } } void MainWindow::aatoggled(bool state) { Log::info << "enableAll checkbox toggled " << state; lolaa.setEnabled(state, LolAutoAccept::State::LOBBY); conf.getConfig().enabledAutoAccept = state; } static std::vector toChampionNameList(const std::vector& scs) { std::vector out; for(const StageSettings::SelectedChamp& sc : scs) { out.push_back(sc.name); } return out; } void MainWindow::pptoggled(bool state) { Log::info << "enablePrePick checkbox toggled " << state; lolaa.setEnabled(state, LolAutoAccept::State::PREPICK); conf.getConfig().prepick.enabled = state; } void MainWindow::ppedited(const QString& b) { Log::info << "prepick edited: " << b.toStdString(); //lolaa.setChamps(dd.getBestMatchingChamp(b.toStdString()).key, LolAutoAccept::State::PREPICK); conf.getConfig().prepick.champs = toChampionNameList(ui->prepickstage->getChampions()); } void MainWindow::bantoggled(bool state) { Log::info << "enableBan checkbox toggled " << state; lolaa.setEnabled(state, LolAutoAccept::State::BAN); conf.getConfig().ban.enabled = state; } void MainWindow::banedited(const QString& b) { Log::info << "ban edited: " << b.toStdString(); //lolaa.setChamp(dd.getBestMatchingChamp(b.toStdString()).key, LolAutoAccept::State::BAN); conf.getConfig().ban.champs = toChampionNameList(ui->banstage->getChampions()); } void MainWindow::picktoggled(bool state) { Log::info << "enablePick checkbox toggled " << state; lolaa.setEnabled(state, LolAutoAccept::State::PICK); conf.getConfig().pick.enabled = state; } void MainWindow::pickedited(const QString& b) { Log::info << "pick edited: " << b.toStdString(); //lolaa.setChamp(dd.getBestMatchingChamp(b.toStdString()).key, LolAutoAccept::State::PICK); conf.getConfig().pick.champs = toChampionNameList(ui->pickstage->getChampions()); }