#include "OpenRGBSystemInfoPage.h" #include "i2c_tools.h" using namespace Ui; OpenRGBSystemInfoPage::OpenRGBSystemInfoPage(std::vector& bus, QWidget *parent) : QFrame(parent), ui(new Ui::OpenRGBSystemInfoPageUi), busses(bus) { ui->setupUi(this); /*-----------------------------------------------------*\ | Use a monospace font for the text box | \*-----------------------------------------------------*/ QFont MonoFont("monospace"); MonoFont.setStyleHint(QFont::Monospace); ui->SMBusDataText->setFont(MonoFont); /*-----------------------------------------------------*\ | Fill in the combo boxes with device information | \*-----------------------------------------------------*/ ui->SMBusAdaptersBox->clear(); for (std::size_t i = 0; i < busses.size(); i++) { ui->SMBusAdaptersBox->addItem(busses[i]->device_name); } ui->SMBusAdaptersBox->setCurrentIndex(0); } OpenRGBSystemInfoPage::~OpenRGBSystemInfoPage() { delete ui; } void Ui::OpenRGBSystemInfoPage::on_DetectButton_clicked() { i2c_smbus_interface* bus = busses[ui->SMBusAdaptersBox->currentIndex()]; ui->SMBusDataText->setPlainText(i2c_detect(bus, MODE_QUICK).c_str()); } void Ui::OpenRGBSystemInfoPage::on_DumpButton_clicked() { i2c_smbus_interface* bus = busses[ui->SMBusAdaptersBox->currentIndex()]; unsigned char address = ui->DumpAddressBox->value(); ui->SMBusDataText->setPlainText(i2c_dump(bus, address).c_str()); }