forked from MrBesen/lolautoaccept
champion images in runepages
This commit is contained in:
parent
67175bc446
commit
ee7a11b0ef
|
@ -95,4 +95,4 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
std::ostream& operator<<(std::ostream& str, const DataDragon::ChampData& cd);
|
std::ostream& operator<<(std::ostream& str, const DataDragon::ChampData& cd);
|
||||||
|
|
|
@ -13,7 +13,9 @@ namespace Ui {
|
||||||
}
|
}
|
||||||
|
|
||||||
class ClientAPI;
|
class ClientAPI;
|
||||||
|
class DataDragon;
|
||||||
class QListWidgetItem;
|
class QListWidgetItem;
|
||||||
|
class QTimer;
|
||||||
|
|
||||||
class RuneManager : public QWidget {
|
class RuneManager : public QWidget {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
@ -23,6 +25,7 @@ public:
|
||||||
~RuneManager();
|
~RuneManager();
|
||||||
|
|
||||||
void setConfig(Config& config);
|
void setConfig(Config& config);
|
||||||
|
void setDataDragon(DataDragon& dd);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void loadRunes();
|
void loadRunes();
|
||||||
|
@ -38,10 +41,12 @@ private slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void syncRunes();
|
void syncRunes();
|
||||||
|
void reloadAARunes();
|
||||||
|
|
||||||
Ui::RuneManager* ui;
|
Ui::RuneManager* ui;
|
||||||
std::shared_ptr<ClientAPI> client;
|
std::shared_ptr<ClientAPI> client;
|
||||||
Config* config = nullptr;
|
Config* config = nullptr;
|
||||||
|
QTimer* initialLoadTimer = nullptr;
|
||||||
|
|
||||||
std::vector<RuneAspekt> runeInfo;
|
std::vector<RuneAspekt> runeInfo;
|
||||||
std::vector<RuneStyle> runeStyles;
|
std::vector<RuneStyle> runeStyles;
|
||||||
|
|
|
@ -13,6 +13,7 @@ namespace Ui {
|
||||||
class RunePageList;
|
class RunePageList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class DataDragon;
|
||||||
class DropEvent;
|
class DropEvent;
|
||||||
|
|
||||||
class RunePageList : public QListWidget {
|
class RunePageList : public QListWidget {
|
||||||
|
@ -27,6 +28,7 @@ public:
|
||||||
|
|
||||||
constexpr void setClient(bool b) { isClient = b; }
|
constexpr void setClient(bool b) { isClient = b; }
|
||||||
constexpr void setOther(QListWidget* other) { this->other = other; }
|
constexpr void setOther(QListWidget* other) { this->other = other; }
|
||||||
|
constexpr void setDataDragon(DataDragon& dd) { this->dd = ⅆ }
|
||||||
|
|
||||||
void loadRunePages(const std::vector<ClientAPI::RunePage>& pages);
|
void loadRunePages(const std::vector<ClientAPI::RunePage>& pages);
|
||||||
void loadRunePages(const std::vector<std::shared_ptr<Config::RunePageConfig>>& pages);
|
void loadRunePages(const std::vector<std::shared_ptr<Config::RunePageConfig>>& pages);
|
||||||
|
@ -58,5 +60,6 @@ private:
|
||||||
|
|
||||||
Ui::RunePageList* ui;
|
Ui::RunePageList* ui;
|
||||||
QListWidget* other = nullptr;
|
QListWidget* other = nullptr;
|
||||||
|
DataDragon* dd = nullptr;
|
||||||
bool isClient;
|
bool isClient;
|
||||||
};
|
};
|
||||||
|
|
|
@ -30,6 +30,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), loading(true), ui
|
||||||
QObject::connect(tab, &SettingsTab::toggled, this, &MainWindow::tabtoggled);
|
QObject::connect(tab, &SettingsTab::toggled, this, &MainWindow::tabtoggled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui->runesPage->setDataDragon(dd);
|
||||||
ui->runesPage->setConfig(conf);
|
ui->runesPage->setConfig(conf);
|
||||||
|
|
||||||
ui->enableAll->setChecked(rc.enabledAutoAccept);
|
ui->enableAll->setChecked(rc.enabledAutoAccept);
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QListWidgetItem>
|
#include <QListWidgetItem>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
#include "clientapi.h"
|
#include "clientapi.h"
|
||||||
|
|
||||||
|
@ -22,7 +23,12 @@ RuneManager::RuneManager(QWidget* parent) : QWidget(parent), ui(new Ui::RuneMana
|
||||||
|
|
||||||
QObject::connect(ui->chkAutoCopy, &QCheckBox::clicked, this, &RuneManager::autoSyncToggled);
|
QObject::connect(ui->chkAutoCopy, &QCheckBox::clicked, this, &RuneManager::autoSyncToggled);
|
||||||
|
|
||||||
loadRunes();
|
|
||||||
|
initialLoadTimer = new QTimer(this);
|
||||||
|
QObject::connect(initialLoadTimer, &QTimer::timeout, this, &RuneManager::loadRunes);
|
||||||
|
initialLoadTimer->setInterval(std::chrono::milliseconds(1));
|
||||||
|
initialLoadTimer->setSingleShot(true);
|
||||||
|
initialLoadTimer->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
RuneManager::~RuneManager() {
|
RuneManager::~RuneManager() {
|
||||||
|
@ -40,7 +46,17 @@ void RuneManager::setConfig(Config& config) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RuneManager::setDataDragon(DataDragon& dd) {
|
||||||
|
ui->listaaRunes->setDataDragon(dd);
|
||||||
|
ui->listClientRunes->setDataDragon(dd);
|
||||||
|
}
|
||||||
|
|
||||||
void RuneManager::loadRunes() {
|
void RuneManager::loadRunes() {
|
||||||
|
if(initialLoadTimer) {
|
||||||
|
initialLoadTimer->deleteLater();
|
||||||
|
initialLoadTimer = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
this->ui->btnRetry->setEnabled(false);
|
this->ui->btnRetry->setEnabled(false);
|
||||||
QCoreApplication::processEvents();
|
QCoreApplication::processEvents();
|
||||||
|
|
||||||
|
@ -66,6 +82,9 @@ void RuneManager::loadRunes() {
|
||||||
const std::vector<ClientAPI::RunePage> runePages = client->getAllRunePages();
|
const std::vector<ClientAPI::RunePage> runePages = client->getAllRunePages();
|
||||||
ui->listClientRunes->loadRunePages(runePages);
|
ui->listClientRunes->loadRunePages(runePages);
|
||||||
|
|
||||||
|
// reload runepages - so they ids can get their names
|
||||||
|
reloadAARunes();
|
||||||
|
|
||||||
// check if autosync is enabled
|
// check if autosync is enabled
|
||||||
if(config && config->getConfig().runepagesConfig.autoSync) {
|
if(config && config->getConfig().runepagesConfig.autoSync) {
|
||||||
syncRunes();
|
syncRunes();
|
||||||
|
@ -193,3 +212,12 @@ void RuneManager::syncRunes() {
|
||||||
ui->listaaRunes->loadRunePages(configs);
|
ui->listaaRunes->loadRunePages(configs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RuneManager::reloadAARunes() {
|
||||||
|
if(!config) return;
|
||||||
|
|
||||||
|
const auto& pages = config->getConfig().runepagesConfig.runePages;
|
||||||
|
|
||||||
|
// reload runes
|
||||||
|
ui->listaaRunes->loadRunePages(pages);
|
||||||
|
}
|
|
@ -7,6 +7,8 @@
|
||||||
#include <QMimeData>
|
#include <QMimeData>
|
||||||
#include <QTextStream>
|
#include <QTextStream>
|
||||||
|
|
||||||
|
#include "datadragon.h"
|
||||||
|
|
||||||
RunePageList::RunePageList(QWidget* parent) : QListWidget(parent), ui(new Ui::RunePageList) {
|
RunePageList::RunePageList(QWidget* parent) : QListWidget(parent), ui(new Ui::RunePageList) {
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
@ -108,12 +110,22 @@ void RunePageList::addRunepageItem(QString name, int id, const ::RunePage& rp, b
|
||||||
QListWidgetItem* item = new QListWidgetItem(name);
|
QListWidgetItem* item = new QListWidgetItem(name);
|
||||||
item->setData(RoleId, (uint) id);
|
item->setData(RoleId, (uint) id);
|
||||||
item->setData(RolePointer, (qulonglong) new ::RunePage(rp));
|
item->setData(RolePointer, (qulonglong) new ::RunePage(rp));
|
||||||
|
|
||||||
|
if(dd) {
|
||||||
|
const DataDragon::ChampData& champData = dd->getBestMatchingChamp(name.toStdString());
|
||||||
|
if(champData.key != -1) {
|
||||||
|
QPixmap iamge = dd->getImage(champData.id);
|
||||||
|
item->setIcon(iamge);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QString tooltipStr;
|
QString tooltipStr;
|
||||||
if(id != -1) {
|
if(id != -1) {
|
||||||
tooltipStr = QString("id: %0\n").arg(id);
|
tooltipStr = QString("id: %0\n").arg(id);
|
||||||
}
|
}
|
||||||
tooltipStr += getRuneDescription(rp);
|
tooltipStr += getRuneDescription(rp);
|
||||||
item->setToolTip(tooltipStr);
|
item->setToolTip(tooltipStr);
|
||||||
|
|
||||||
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||||
if(isCurrent) {
|
if(isCurrent) {
|
||||||
item->setSelected(true);
|
item->setSelected(true);
|
||||||
|
|
Loading…
Reference in New Issue