Clean up some more reference passing related to server and clients and use the Resource Manager instead
This commit is contained in:
parent
128bfc7792
commit
55bf28d4c3
7 changed files with 34 additions and 40 deletions
|
|
@ -101,7 +101,7 @@ NetworkServer* ResourceManager::GetServer()
|
|||
return(server);
|
||||
}
|
||||
|
||||
std::vector<NetworkClient*> ResourceManager::GetClients()
|
||||
std::vector<NetworkClient*>& ResourceManager::GetClients()
|
||||
{
|
||||
return(clients);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public:
|
|||
unsigned int GetDetectionPercent();
|
||||
const char* GetDetectionString();
|
||||
|
||||
std::vector<NetworkClient*> GetClients();
|
||||
std::vector<NetworkClient*>& GetClients();
|
||||
NetworkServer* GetServer();
|
||||
|
||||
void DeviceListChanged();
|
||||
|
|
|
|||
10
main.cpp
10
main.cpp
|
|
@ -180,18 +180,8 @@ int main(int argc, char* argv[])
|
|||
dlg.AddI2CToolsPage();
|
||||
}
|
||||
|
||||
if(ResourceManager::get()->GetClients().size() == 0)
|
||||
{
|
||||
dlg.AddServerTab(ResourceManager::get()->GetServer());
|
||||
}
|
||||
|
||||
dlg.AddClientTab();
|
||||
|
||||
for(std::size_t client_idx = 0; client_idx < ResourceManager::get()->GetClients().size(); client_idx++)
|
||||
{
|
||||
dlg.AddClient(ResourceManager::get()->GetClients()[client_idx]);
|
||||
}
|
||||
|
||||
if(ret_flags & RET_FLAG_START_MINIMIZED)
|
||||
{
|
||||
dlg.hide();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#include <QSignalMapper>
|
||||
#include "OpenRGBClientInfoPage.h"
|
||||
#include "ResourceManager.h"
|
||||
|
||||
using namespace Ui;
|
||||
|
||||
|
|
@ -18,8 +19,7 @@ public:
|
|||
|
||||
OpenRGBClientInfoPage::OpenRGBClientInfoPage(std::vector<RGBController *>& control, QWidget *parent) :
|
||||
QFrame(parent),
|
||||
ui(new Ui::OpenRGBClientInfoPageUi),
|
||||
controllers(control)
|
||||
ui(new Ui::OpenRGBClientInfoPageUi)
|
||||
{
|
||||
/*-----------------------------------------------------*\
|
||||
| Set initial values for GUI fields |
|
||||
|
|
@ -48,7 +48,7 @@ void OpenRGBClientInfoPage::AddClient(NetworkClient* new_client)
|
|||
\*-----------------------------------------------------*/
|
||||
if(new_client != NULL)
|
||||
{
|
||||
rgb_clients.push_back(new_client);
|
||||
ResourceManager::get()->GetClients().push_back(new_client);
|
||||
new_client->RegisterClientInfoChangeCallback(UpdateInfoCallback, this);
|
||||
|
||||
UpdateInfo();
|
||||
|
|
@ -80,14 +80,14 @@ void OpenRGBClientInfoPage::UpdateInfo()
|
|||
/*-----------------------------------------------------*\
|
||||
| Loop through all clients in list and display them |
|
||||
\*-----------------------------------------------------*/
|
||||
for(std::size_t client_idx = 0; client_idx < rgb_clients.size(); client_idx++)
|
||||
for(std::size_t client_idx = 0; client_idx < ResourceManager::get()->GetClients().size(); client_idx++)
|
||||
{
|
||||
/*-----------------------------------------------------*\
|
||||
| Create the top level tree widget items and display the|
|
||||
| client IP addresses in them |
|
||||
\*-----------------------------------------------------*/
|
||||
QTreeWidgetItem* new_top_item = new QTreeWidgetItem(ui->ClientTree);
|
||||
new_top_item->setText(0, QString::fromStdString(rgb_clients[client_idx]->GetIP()));
|
||||
new_top_item->setText(0, QString::fromStdString(ResourceManager::get()->GetClients()[client_idx]->GetIP()));
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Create the disconnect buttons and connect them to the |
|
||||
|
|
@ -99,26 +99,26 @@ void OpenRGBClientInfoPage::UpdateInfo()
|
|||
connect(new_button, SIGNAL(clicked()), signalMapper, SLOT(map()));
|
||||
|
||||
NetworkClientPointer * new_arg = new NetworkClientPointer();
|
||||
new_arg->net_client = rgb_clients[client_idx];
|
||||
new_arg->net_client = ResourceManager::get()->GetClients()[client_idx];
|
||||
|
||||
signalMapper->setMapping(new_button, new_arg);
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Add child items for each device in the client |
|
||||
\*-----------------------------------------------------*/
|
||||
for(std::size_t dev_idx = 0; dev_idx < rgb_clients[client_idx]->server_controllers.size(); dev_idx++)
|
||||
for(std::size_t dev_idx = 0; dev_idx < ResourceManager::get()->GetClients()[client_idx]->server_controllers.size(); dev_idx++)
|
||||
{
|
||||
/*-----------------------------------------------------*\
|
||||
| Create child tree widget items and display the device |
|
||||
| names in them |
|
||||
\*-----------------------------------------------------*/
|
||||
QTreeWidgetItem* new_item = new QTreeWidgetItem(new_top_item);
|
||||
new_item->setText(0, QString::fromStdString(rgb_clients[client_idx]->server_controllers[dev_idx]->name));
|
||||
new_item->setText(0, QString::fromStdString(ResourceManager::get()->GetClients()[client_idx]->server_controllers[dev_idx]->name));
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Add child items for each zone in the device |
|
||||
\*-----------------------------------------------------*/
|
||||
for(std::size_t zone_idx = 0; zone_idx < rgb_clients[client_idx]->server_controllers[dev_idx]->zones.size(); zone_idx++)
|
||||
for(std::size_t zone_idx = 0; zone_idx < ResourceManager::get()->GetClients()[client_idx]->server_controllers[dev_idx]->zones.size(); zone_idx++)
|
||||
{
|
||||
/*-----------------------------------------------------*\
|
||||
| Create child tree widget items and display the zone |
|
||||
|
|
@ -126,11 +126,11 @@ void OpenRGBClientInfoPage::UpdateInfo()
|
|||
\*-----------------------------------------------------*/
|
||||
QTreeWidgetItem* new_child = new QTreeWidgetItem();
|
||||
|
||||
std::string zone_str = rgb_clients[client_idx]->server_controllers[dev_idx]->zones[zone_idx].name + ", ";
|
||||
zone_str.append(std::to_string(rgb_clients[client_idx]->server_controllers[dev_idx]->zones[zone_idx].leds_count));
|
||||
std::string zone_str = ResourceManager::get()->GetClients()[client_idx]->server_controllers[dev_idx]->zones[zone_idx].name + ", ";
|
||||
zone_str.append(std::to_string(ResourceManager::get()->GetClients()[client_idx]->server_controllers[dev_idx]->zones[zone_idx].leds_count));
|
||||
zone_str.append(" LEDs, ");
|
||||
|
||||
switch(rgb_clients[client_idx]->server_controllers[dev_idx]->zones[zone_idx].type)
|
||||
switch(ResourceManager::get()->GetClients()[client_idx]->server_controllers[dev_idx]->zones[zone_idx].type)
|
||||
{
|
||||
case ZONE_TYPE_SINGLE:
|
||||
zone_str.append("Single");
|
||||
|
|
@ -169,7 +169,7 @@ void Ui::OpenRGBClientInfoPage::on_ClientConnectButton_clicked()
|
|||
/*-----------------------------------------------------*\
|
||||
| Create a new client and set name, IP, and port values |
|
||||
\*-----------------------------------------------------*/
|
||||
NetworkClient * rgb_client = new NetworkClient(controllers);
|
||||
NetworkClient * rgb_client = new NetworkClient(ResourceManager::get()->GetRGBControllers());
|
||||
|
||||
std::string titleString = "OpenRGB ";
|
||||
titleString.append(VERSION_STRING);
|
||||
|
|
@ -183,7 +183,7 @@ void Ui::OpenRGBClientInfoPage::on_ClientConnectButton_clicked()
|
|||
/*-----------------------------------------------------*\
|
||||
| Add new client to list and register update callback |
|
||||
\*-----------------------------------------------------*/
|
||||
rgb_clients.push_back(rgb_client);
|
||||
ResourceManager::get()->GetClients().push_back(rgb_client);
|
||||
|
||||
rgb_client->RegisterClientInfoChangeCallback(UpdateInfoCallback, this);
|
||||
}
|
||||
|
|
@ -203,11 +203,11 @@ void Ui::OpenRGBClientInfoPage::on_ClientDisconnectButton_clicked(QObject * arg)
|
|||
/*-----------------------------------------------------*\
|
||||
| Remove disconnecting client from list |
|
||||
\*-----------------------------------------------------*/
|
||||
for(unsigned int client_idx = 0; client_idx < rgb_clients.size(); client_idx++)
|
||||
for(unsigned int client_idx = 0; client_idx < ResourceManager::get()->GetClients().size(); client_idx++)
|
||||
{
|
||||
if(disconnect_client == rgb_clients[client_idx])
|
||||
if(disconnect_client == ResourceManager::get()->GetClients()[client_idx])
|
||||
{
|
||||
rgb_clients.erase(rgb_clients.begin() + client_idx);
|
||||
ResourceManager::get()->GetClients().erase(ResourceManager::get()->GetClients().begin() + client_idx);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,9 +30,6 @@ private slots:
|
|||
private:
|
||||
Ui::OpenRGBClientInfoPageUi *ui;
|
||||
|
||||
std::vector<RGBController *>& controllers;
|
||||
std::vector<NetworkClient*> rgb_clients;
|
||||
|
||||
signals:
|
||||
void ClientListUpdated();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -171,6 +171,16 @@ OpenRGBDialog2::OpenRGBDialog2(std::vector<i2c_smbus_interface *>& bus, std::vec
|
|||
| ProgressBar gets a proper value |
|
||||
\*-----------------------------------------------------*/
|
||||
UpdateDevicesList();
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Add Server Tab |
|
||||
\*-----------------------------------------------------*/
|
||||
AddServerTab();
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Add Client Tab |
|
||||
\*-----------------------------------------------------*/
|
||||
AddClientTab();
|
||||
}
|
||||
|
||||
OpenRGBDialog2::~OpenRGBDialog2()
|
||||
|
|
@ -264,17 +274,14 @@ void OpenRGBDialog2::AddClient(NetworkClient* new_client)
|
|||
}
|
||||
}
|
||||
|
||||
void OpenRGBDialog2::AddServerTab(NetworkServer* network_server)
|
||||
void OpenRGBDialog2::AddServerTab()
|
||||
{
|
||||
/*-----------------------------------------------------*\
|
||||
| Add server information tab if there is a server |
|
||||
\*-----------------------------------------------------*/
|
||||
if(network_server != NULL)
|
||||
{
|
||||
OpenRGBServerInfoPage *ServerInfoPage = new OpenRGBServerInfoPage(network_server);
|
||||
OpenRGBServerInfoPage *ServerInfoPage = new OpenRGBServerInfoPage(ResourceManager::get()->GetServer());
|
||||
ui->MainTabBar->addTab(ServerInfoPage, "SDK Server");
|
||||
}
|
||||
}
|
||||
|
||||
void OpenRGBDialog2::ClearDevicesList()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public:
|
|||
void AddClient(NetworkClient* new_client);
|
||||
void AddClientTab();
|
||||
void AddI2CToolsPage();
|
||||
void AddServerTab(NetworkServer* network_server);
|
||||
void AddServerTab();
|
||||
|
||||
void setMode(unsigned char mode_val);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue