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 DataDragon;
|
||||
class QListWidgetItem;
|
||||
class QTimer;
|
||||
|
||||
class RuneManager : public QWidget {
|
||||
Q_OBJECT
|
||||
|
@ -23,6 +25,7 @@ public:
|
|||
~RuneManager();
|
||||
|
||||
void setConfig(Config& config);
|
||||
void setDataDragon(DataDragon& dd);
|
||||
|
||||
private slots:
|
||||
void loadRunes();
|
||||
|
@ -38,10 +41,12 @@ private slots:
|
|||
|
||||
private:
|
||||
void syncRunes();
|
||||
void reloadAARunes();
|
||||
|
||||
Ui::RuneManager* ui;
|
||||
std::shared_ptr<ClientAPI> client;
|
||||
Config* config = nullptr;
|
||||
QTimer* initialLoadTimer = nullptr;
|
||||
|
||||
std::vector<RuneAspekt> runeInfo;
|
||||
std::vector<RuneStyle> runeStyles;
|
||||
|
|
|
@ -13,6 +13,7 @@ namespace Ui {
|
|||
class RunePageList;
|
||||
}
|
||||
|
||||
class DataDragon;
|
||||
class DropEvent;
|
||||
|
||||
class RunePageList : public QListWidget {
|
||||
|
@ -27,6 +28,7 @@ public:
|
|||
|
||||
constexpr void setClient(bool b) { isClient = b; }
|
||||
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<std::shared_ptr<Config::RunePageConfig>>& pages);
|
||||
|
@ -58,5 +60,6 @@ private:
|
|||
|
||||
Ui::RunePageList* ui;
|
||||
QListWidget* other = nullptr;
|
||||
DataDragon* dd = nullptr;
|
||||
bool isClient;
|
||||
};
|
||||
|
|
|
@ -30,6 +30,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), loading(true), ui
|
|||
QObject::connect(tab, &SettingsTab::toggled, this, &MainWindow::tabtoggled);
|
||||
}
|
||||
|
||||
ui->runesPage->setDataDragon(dd);
|
||||
ui->runesPage->setConfig(conf);
|
||||
|
||||
ui->enableAll->setChecked(rc.enabledAutoAccept);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include <QDebug>
|
||||
#include <QListWidgetItem>
|
||||
#include <QTimer>
|
||||
|
||||
#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);
|
||||
|
||||
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() {
|
||||
|
@ -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() {
|
||||
if(initialLoadTimer) {
|
||||
initialLoadTimer->deleteLater();
|
||||
initialLoadTimer = nullptr;
|
||||
}
|
||||
|
||||
this->ui->btnRetry->setEnabled(false);
|
||||
QCoreApplication::processEvents();
|
||||
|
||||
|
@ -66,6 +82,9 @@ void RuneManager::loadRunes() {
|
|||
const std::vector<ClientAPI::RunePage> runePages = client->getAllRunePages();
|
||||
ui->listClientRunes->loadRunePages(runePages);
|
||||
|
||||
// reload runepages - so they ids can get their names
|
||||
reloadAARunes();
|
||||
|
||||
// check if autosync is enabled
|
||||
if(config && config->getConfig().runepagesConfig.autoSync) {
|
||||
syncRunes();
|
||||
|
@ -193,3 +212,12 @@ void RuneManager::syncRunes() {
|
|||
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 <QTextStream>
|
||||
|
||||
#include "datadragon.h"
|
||||
|
||||
RunePageList::RunePageList(QWidget* parent) : QListWidget(parent), ui(new Ui::RunePageList) {
|
||||
ui->setupUi(this);
|
||||
|
||||
|
@ -108,12 +110,22 @@ void RunePageList::addRunepageItem(QString name, int id, const ::RunePage& rp, b
|
|||
QListWidgetItem* item = new QListWidgetItem(name);
|
||||
item->setData(RoleId, (uint) id);
|
||||
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;
|
||||
if(id != -1) {
|
||||
tooltipStr = QString("id: %0\n").arg(id);
|
||||
}
|
||||
tooltipStr += getRuneDescription(rp);
|
||||
item->setToolTip(tooltipStr);
|
||||
|
||||
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||
if(isCurrent) {
|
||||
item->setSelected(true);
|
||||
|
|
Loading…
Reference in New Issue