diff --git a/Controllers/LIFXController/LIFXController.cpp b/Controllers/LIFXController/LIFXController.cpp index 008dcc24..fbb8cd36 100644 --- a/Controllers/LIFXController/LIFXController.cpp +++ b/Controllers/LIFXController/LIFXController.cpp @@ -11,8 +11,10 @@ using json = nlohmann::json; using namespace std::chrono_literals; -LIFXController::LIFXController(std::string ip) +LIFXController::LIFXController(std::string ip, std::string name) { + this->name = name; + /*-----------------------------------------------------------------*\ | Fill in location string with device's IP address | \*-----------------------------------------------------------------*/ @@ -36,7 +38,7 @@ std::string LIFXController::GetLocation() std::string LIFXController::GetName() { - return("LIFX"); + return(name); } std::string LIFXController::GetVersion() diff --git a/Controllers/LIFXController/LIFXController.h b/Controllers/LIFXController/LIFXController.h index 0963ef27..8f41d1a6 100644 --- a/Controllers/LIFXController/LIFXController.h +++ b/Controllers/LIFXController/LIFXController.h @@ -42,7 +42,7 @@ enum class LIFXController { public: - LIFXController(std::string ip); + LIFXController(std::string ip, std::string name); ~LIFXController(); std::string GetLocation(); @@ -58,6 +58,7 @@ private: unsigned char* data; unsigned char sequence; unsigned int source; + std::string name; std::string firmware_version; std::string module_name; std::string module_mac; diff --git a/Controllers/LIFXController/LIFXControllerDetect.cpp b/Controllers/LIFXController/LIFXControllerDetect.cpp index a26f4c43..377ef978 100644 --- a/Controllers/LIFXController/LIFXControllerDetect.cpp +++ b/Controllers/LIFXController/LIFXControllerDetect.cpp @@ -34,8 +34,9 @@ void DetectLIFXControllers(std::vector &rgb_controllers) if(lifx_settings["devices"][device_idx].contains("ip")) { std::string lifx_ip = lifx_settings["devices"][device_idx]["ip"]; + std::string name = lifx_settings["devices"][device_idx]["name"]; - LIFXController* controller = new LIFXController(lifx_ip); + LIFXController* controller = new LIFXController(lifx_ip, name); RGBController_LIFX* rgb_controller = new RGBController_LIFX(controller); rgb_controllers.push_back(rgb_controller); diff --git a/qt/OpenRGBLIFXSettingsPage/OpenRGBLIFXSettingsEntry.ui b/qt/OpenRGBLIFXSettingsPage/OpenRGBLIFXSettingsEntry.ui index 55242474..00f960f4 100644 --- a/qt/OpenRGBLIFXSettingsPage/OpenRGBLIFXSettingsEntry.ui +++ b/qt/OpenRGBLIFXSettingsPage/OpenRGBLIFXSettingsEntry.ui @@ -7,7 +7,7 @@ 0 0 190 - 59 + 89 @@ -26,8 +26,8 @@ - - + + @@ -36,6 +36,16 @@ + + + + + + + Name + + + diff --git a/qt/OpenRGBLIFXSettingsPage/OpenRGBLIFXSettingsPage.cpp b/qt/OpenRGBLIFXSettingsPage/OpenRGBLIFXSettingsPage.cpp index 044e29a2..5a45d8ee 100644 --- a/qt/OpenRGBLIFXSettingsPage/OpenRGBLIFXSettingsPage.cpp +++ b/qt/OpenRGBLIFXSettingsPage/OpenRGBLIFXSettingsPage.cpp @@ -31,6 +31,11 @@ OpenRGBLIFXSettingsPage::OpenRGBLIFXSettingsPage(QWidget *parent) : entry->ui->IPEdit->setText(QString::fromStdString(lifx_settings["devices"][device_idx]["ip"])); } + if(lifx_settings["devices"][device_idx].contains("name")) + { + entry->ui->IPEdit->setText(QString::fromStdString(lifx_settings["devices"][device_idx]["name"])); + } + entries.push_back(entry); QListWidgetItem* item = new QListWidgetItem; @@ -52,6 +57,7 @@ OpenRGBLIFXSettingsPage::~OpenRGBLIFXSettingsPage() void Ui::OpenRGBLIFXSettingsPage::on_AddLIFXDeviceButton_clicked() { OpenRGBLIFXSettingsEntry* entry = new OpenRGBLIFXSettingsEntry; + entry->ui->NameEdit->setText(QString("LIFX%1").arg(entries.size())); entries.push_back(entry); QListWidgetItem* item = new QListWidgetItem; @@ -98,6 +104,7 @@ void Ui::OpenRGBLIFXSettingsPage::on_SaveLIFXConfigurationButton_clicked() | Required parameters | \*-------------------------------------------------*/ lifx_settings["devices"][device_idx]["ip"] = entries[device_idx]->ui->IPEdit->text().toStdString(); + lifx_settings["devices"][device_idx]["name"] = entries[device_idx]->ui->NameEdit->text().toStdString(); } ResourceManager::get()->GetSettingsManager()->SetSettings("LIFXDevices", lifx_settings);