forked from MrBesen/lolautoaccept
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#include "runeaspektbuttongroup.h"
|
|
|
|
#include "runeaspektbutton.h"
|
|
|
|
#include <QDebug>
|
|
|
|
RuneAspektButtonGroup::RuneAspektButtonGroup(QObject* parent, uint32_t size) : QObject(parent), selectedRune(), size(size) {
|
|
selectedRune.reserve(size*2);
|
|
}
|
|
|
|
RuneAspektButtonGroup::~RuneAspektButtonGroup() {}
|
|
|
|
void RuneAspektButtonGroup::addButton(RuneAspektButton* button) {
|
|
QObject::connect(this, &RuneAspektButtonGroup::changed, button, &RuneAspektButton::dataChanged);
|
|
QObject::connect(button, &RuneAspektButton::aspektToggled, this, &RuneAspektButtonGroup::buttonPressed);
|
|
|
|
button->setButtonGroup(this);
|
|
}
|
|
|
|
void RuneAspektButtonGroup::setSelectedRunes(const QVector<int>& newRunes) {
|
|
selectedRune = newRunes;
|
|
|
|
qDebug() << "selectedRunes changed to: " << selectedRune << " refesching buttons";
|
|
|
|
emit changed();
|
|
}
|
|
|
|
void RuneAspektButtonGroup::buttonPressed(int aspektId) {
|
|
if(selectedRune.contains(aspektId)) {
|
|
selectedRune.removeAll(aspektId);
|
|
} else {
|
|
selectedRune.push_back(aspektId);
|
|
|
|
if((uint32_t) selectedRune.size() > size) {
|
|
selectedRune.removeFirst();
|
|
}
|
|
}
|
|
|
|
emit changed();
|
|
}
|