93 lines
2.8 KiB
C++
93 lines
2.8 KiB
C++
#include "mainwindow.h"
|
|
#include "ui_mainwindow.h"
|
|
|
|
#include <Log.h>
|
|
|
|
MainWindow::MainWindow(LolAutoAccept& lolaa, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), lolaa(lolaa), dd(QLocale().name().toStdString()) {
|
|
ui->setupUi(this);
|
|
|
|
conf.load();
|
|
|
|
// for all tabs - set their config and datadragon
|
|
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);
|
|
|
|
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) ));
|
|
}
|
|
|
|
ui->enableAll->setChecked(rc.enabledAutoAccept);
|
|
lolaa.setEnabled(rc.enabledAutoAccept, LolAutoAccept::State::LOBBY);
|
|
|
|
resizeEvent(nullptr);
|
|
}
|
|
|
|
MainWindow::~MainWindow() {
|
|
lolaa.stop();
|
|
conf.save();
|
|
|
|
delete ui;
|
|
}
|
|
|
|
void MainWindow::closeEvent([[maybe_unused]] QCloseEvent* event) {
|
|
conf.save();
|
|
}
|
|
|
|
void MainWindow::resizeEvent([[maybe_unused]] QResizeEvent *event) {
|
|
ui->verticalLayoutWidget->setMinimumSize(ui->centralwidget->size());
|
|
ui->verticalLayoutWidget->setMaximumSize(ui->centralwidget->size());
|
|
ui->verticalLayoutWidget->setMinimumSize(ui->centralwidget->size());
|
|
}
|
|
|
|
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<uint32_t> toChampionIDList(const std::vector<StageSettings::SelectedChamp>& scs) {
|
|
std::vector<uint32_t> out;
|
|
|
|
for(const StageSettings::SelectedChamp& sc : scs) {
|
|
out.push_back(sc.id);
|
|
}
|
|
|
|
return out;
|
|
}
|
|
|
|
void MainWindow::tabtoggled(Position p, LolAutoAccept::State s, bool state) {
|
|
Log::info << "PrePick checkbox toggled " << state << " position: " << p << " state: " << (int) s;
|
|
|
|
lolaa.setEnabled(state, s);
|
|
}
|
|
|
|
void MainWindow::tabchanged(Position p, LolAutoAccept::State s) {
|
|
Log::info << "prepick edited position: " << p << " state: " << (int) s;
|
|
|
|
SettingsTab* tab = (SettingsTab*) ui->tabWidget->widget((int) p -1);
|
|
auto champs = tab->getChamps(s);
|
|
lolaa.setChamps(toChampionIDList(champs), s);
|
|
}
|