4 #include <QtCore/QStringListModel>
5 #include <QtWidgets/QPushButton>
11 #include <boost/optional/optional_io.hpp>
12 #include <QMessageBox>
23 for(
int i = 0; i < 4; i++){
24 ui->
retail_table->horizontalHeader()->setSectionResizeMode(i, QHeaderView::Stretch);
25 ui->
classic_table->horizontalHeader()->setSectionResizeMode(i, QHeaderView::Stretch);
26 ui->
ptr_table->horizontalHeader()->setSectionResizeMode(i, QHeaderView::Stretch);
34 ui->
retail_table->setItem(0,0,
new QTableWidgetItem(
"Hello World!"));
36 if(addons != boost::none) {
38 for (
int i = 0; i < addons->size(); i++) {
39 auto addon = addons->at(i);
40 ui->
retail_table->setItem(i, 0,
new QTableWidgetItem(addon.m_addonName.c_str()));
46 QString file_path = QFileDialog::getExistingDirectory(this,
"Select WoW Folder");
47 settings.set_base_wow_path(file_path.toStdString());
48 settings.set_wow_folder_paths();
49 ui->lineEdit->setText(QString::fromStdString(settings.get_base_wow_path()));
52 connect(
ui->
wow_version_combo_box,
static_cast<void (QComboBox::*)(
const QString&)
>(&QComboBox::currentIndexChanged), [
this](
const QString& tab) {
65 auto result = Addon::get_addon_by_name(ui->addon_search_field->text().toStdString());
67 if(result.get_error_code() == 200) {
68 auto addon = result.get_data();
69 auto get_addons_table = ui->get_addons_table;
70 get_addons_table->setRowCount(1);
71 get_addons_table->setItem(0,0,new QTableWidgetItem(QString::fromStdString(addon->m_addonName)));
72 get_addons_table->setItem(0,1,new QTableWidgetItem(QString::fromStdString(addon->m_addon_version)));
73 get_addons_table->setItem(0,3,new QTableWidgetItem(QString::fromStdString(addon->m_description)));
74 auto *widget = new QWidget();
75 auto *install_button = new QPushButton();
76 install_button->setText(
"Install");
77 auto *layout = new QHBoxLayout(widget);
78 layout->addWidget(install_button);
79 layout->setAlignment(Qt::AlignCenter);
80 layout->setContentsMargins(0,0,0,0);
81 widget->setLayout(layout);
82 get_addons_table->setCellWidget(0,4, widget);
83 connect(install_button, &QPushButton::clicked, [&, addon](){
84 std::cout <<
"Instaling: " << addon;
87 else if (result.get_error_code() == 404) {
88 make_message_box(
"No Addon found!");
91 make_message_box(
"Woah something went wrong?");
96 fill_in_settings(settings);
102 if(version ==
"Retail"){
107 else if(version ==
"Classic"){