/*---------------------------------------------------------*\ | QMKORGBSettingsEntry.cpp | | | | User interface entry for OpenRGB QMK configuration | | | | This file is part of the OpenRGB project | | SPDX-License-Identifier: GPL-2.0-or-later | \*---------------------------------------------------------*/ #include "QMKORGBSettingsEntry.h" #include "ui_QMKORGBSettingsEntry.h" QMKORGBSettingsEntry::QMKORGBSettingsEntry(QWidget *parent) : BaseManualDeviceEntry(parent), ui(new Ui::QMKORGBSettingsEntry) { ui->setupUi(this); } QMKORGBSettingsEntry::~QMKORGBSettingsEntry() { delete ui; } void QMKORGBSettingsEntry::changeEvent(QEvent *event) { if(event->type() == QEvent::LanguageChange) { ui->retranslateUi(this); } } void QMKORGBSettingsEntry::loadFromSettings(const json& data) { if(data.contains("name")) { ui->NameEdit->setText(QString::fromStdString(data["name"])); } if(data.contains("usb_vid")) { ui->USBVIDEdit->setText(QString::fromStdString(data["usb_vid"])); } if(data.contains("usb_pid")) { ui->USBPIDEdit->setText(QString::fromStdString(data["usb_pid"])); } } json QMKORGBSettingsEntry::saveSettings() { json result; /*-------------------------------------------------*\ | Required parameters | \*-------------------------------------------------*/ result["name"] = ui->NameEdit->text().toStdString(); result["usb_vid"] = ui->USBVIDEdit->text().toStdString(); result["usb_pid"] = ui->USBPIDEdit->text().toStdString(); return result; } bool QMKORGBSettingsEntry::isDataValid() { // stub return true; } static BaseManualDeviceEntry* SpawnQMKORGBSettingsEntry(const json& data) { QMKORGBSettingsEntry* entry = new QMKORGBSettingsEntry; entry->loadFromSettings(data); return entry; } static const char* QMKDeviceName = QT_TRANSLATE_NOOP("ManualDevice", "QMK (OpenRGB Protocol)"); REGISTER_MANUAL_DEVICE_TYPE(QMKDeviceName, "QMKOpenRGBDevices", SpawnQMKORGBSettingsEntry);