mirror of
https://github.com/sudoxnym/open-hyperion.git
synced 2026-04-14 11:36:31 +00:00
Add function to save universe map as a json file
This commit is contained in:
parent
c43c2c9813
commit
05362ae8a7
3 changed files with 63 additions and 0 deletions
|
|
@ -5,6 +5,8 @@
|
||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
#include <QSignalMapper>
|
#include <QSignalMapper>
|
||||||
|
|
||||||
|
#include <fstream>
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#define closesocket ::close
|
#define closesocket ::close
|
||||||
|
|
@ -681,3 +683,55 @@ void OpenRGBE131ReceiverDialog::on_ButtonAutoMap_clicked()
|
||||||
\*-----------------------------------------------------*/
|
\*-----------------------------------------------------*/
|
||||||
UpdateTreeView();
|
UpdateTreeView();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OpenRGBE131ReceiverDialog::on_ButtonSaveMap_clicked()
|
||||||
|
{
|
||||||
|
/*-----------------------------------------------------*\
|
||||||
|
| Create a JSON structure to hold the universe map |
|
||||||
|
\*-----------------------------------------------------*/
|
||||||
|
json universe_map;
|
||||||
|
|
||||||
|
/*-----------------------------------------------------*\
|
||||||
|
| Loop through the universe list and add universe fields|
|
||||||
|
\*-----------------------------------------------------*/
|
||||||
|
for(unsigned int universe_index = 0; universe_index < universe_list.size(); universe_index++)
|
||||||
|
{
|
||||||
|
universe_entry universe = universe_list[universe_index];
|
||||||
|
|
||||||
|
universe_map["universes"][universe_index]["universe"] = universe.universe;
|
||||||
|
|
||||||
|
/*-----------------------------------------------------*\
|
||||||
|
| Loop through all members and add info fields |
|
||||||
|
\*-----------------------------------------------------*/
|
||||||
|
for(unsigned int member_index = 0; member_index < universe.members.size(); member_index++)
|
||||||
|
{
|
||||||
|
universe_member member = universe.members[member_index];
|
||||||
|
|
||||||
|
universe_map["universes"][universe_index]["members"][member_index]["start_channel"] = member.start_channel;
|
||||||
|
universe_map["universes"][universe_index]["members"][member_index]["start_led"] = member.start_led;
|
||||||
|
universe_map["universes"][universe_index]["members"][member_index]["num_leds"] = member.num_leds;
|
||||||
|
universe_map["universes"][universe_index]["members"][member_index]["update"] = member.update;
|
||||||
|
universe_map["universes"][universe_index]["members"][member_index]["controller_name"] = member.controller->name;
|
||||||
|
universe_map["universes"][universe_index]["members"][member_index]["controller_description"] = member.controller->description;
|
||||||
|
universe_map["universes"][universe_index]["members"][member_index]["controller_location"] = member.controller->location;
|
||||||
|
universe_map["universes"][universe_index]["members"][member_index]["controller_serial"] = member.controller->serial;
|
||||||
|
universe_map["universes"][universe_index]["members"][member_index]["controller_led_count"] = member.controller->colors.size();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::ofstream universe_file("E131UniverseMap.json", std::ios::out | std::ios::binary);
|
||||||
|
|
||||||
|
if(universe_file)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
universe_file << universe_map.dump(4);
|
||||||
|
}
|
||||||
|
catch(std::exception e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
universe_file.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,8 @@ private slots:
|
||||||
|
|
||||||
void on_ButtonAutoMap_clicked();
|
void on_ButtonAutoMap_clicked();
|
||||||
|
|
||||||
|
void on_ButtonSaveMap_clicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ResourceManager* resource_manager;
|
ResourceManager* resource_manager;
|
||||||
Ui::OpenRGBE131ReceiverDialog *ui;
|
Ui::OpenRGBE131ReceiverDialog *ui;
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="3" column="2">
|
||||||
|
<widget class="QPushButton" name="ButtonSaveMap">
|
||||||
|
<property name="text">
|
||||||
|
<string>Save Map</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue