#include "runemanager.h" #include "ui_runemanager.h" #include #include #include "clientapi.h" RuneManager::RuneManager(QWidget* parent) : QWidget(parent), ui(new Ui::RuneManager) { ui->setupUi(this); ui->listClientRunes->setClient(true); ui->listaaRunes->setClient(false); ui->listClientRunes->setOther(ui->listaaRunes); ui->listaaRunes->setOther(ui->listClientRunes); loadRunes(); } RuneManager::~RuneManager() { delete this->ui; } void RuneManager::loadRunes() { if(!client) { auto ca = ClientAccess::find(); if(ca) { client = std::make_shared(*ca.get()); } } if(client) { // load runepages const std::vector runePages = client->getAllRunePages(); ui->listClientRunes->loadRunePages(runePages); } setRunesEnabled(!!client); // cast to bool } void RuneManager::setRunesEnabled(bool enabled) { this->ui->lblClientRunes->setEnabled(enabled); this->ui->lblaaRunes->setEnabled(enabled); this->ui->listClientRunes->setEnabled(enabled); this->ui->listaaRunes->setEnabled(enabled); this->ui->btnDelete->setEnabled(enabled); this->ui->btnRetry->setEnabled(!enabled); } void RuneManager::clientRunePageRenamed(QListWidgetItem* item) { uint32_t pageId = item->data(RunePageList::RoleId).toUInt(); const ::RunePage* page = (::RunePage*) item->data(RunePageList::RolePointer).toULongLong(); qDebug() << "edit page: " << pageId << "setname:" << item->text(); if(client) { ClientAPI::RunePage newPage; newPage.id = pageId; newPage.name = item->text().toStdString(); newPage.runepage = *page; if(!client->editRunePage(newPage)) { // TODO: some error occured } } }