diff options
Diffstat (limited to 'confui/ui_node.cpp')
| -rw-r--r-- | confui/ui_node.cpp | 55 | 
1 files changed, 33 insertions, 22 deletions
diff --git a/confui/ui_node.cpp b/confui/ui_node.cpp index 38c189e..3621083 100644 --- a/confui/ui_node.cpp +++ b/confui/ui_node.cpp @@ -1,38 +1,49 @@ -#include <QWidget> -#include <QLabel> -#include <QHBoxLayout> -#include <QCheckBox> -#include <QPushButton> -#include <QString> -  #include "ui_node.h"  CDNodeWidget::~CDNodeWidget() { }  CDNodeWidget::CDNodeWidget(cd_s_node* node, QWidget *parent) : QWidget(parent) { -	_node = node; -	QHBoxLayout* main_layout = new QHBoxLayout; -	QHBoxLayout* float_left = new QHBoxLayout; -	QHBoxLayout* float_right = new QHBoxLayout; +	set_node(node); + +	main_layout = new QHBoxLayout; +	float_left = new QHBoxLayout; +	float_right = new QHBoxLayout; +	switch_on_off = new QCheckBox; +	button_add_remove = new QPushButton; +	label_node_address = new QLabel; +	label_node_name = new QLabel; -	QString	node_name = QString::fromLocal8Bit(_node->name, _node->name_len); -	QString node_address = QString::fromStdString(cd_node_mac_string(_node->address)); -	node_address.prepend("("); -	node_address.append(")"); -	QLabel* label_node_name = new QLabel(node_name, this); -	QLabel* label_node_address = new QLabel(node_address, this);  	float_left->addWidget(label_node_name);  	float_left->addWidget(label_node_address); -  	float_left->addStretch(); -	float_right->addStretch(); -	QCheckBox* switch_on_off = new QCheckBox("on", this); -	switch_on_off->setCheckable(_node->provisioned); -	QPushButton* button_add_remove = new QPushButton(_node->provisioned ? "Remove from network" : "Join network", this); +	float_right->addStretch();  	float_right->addWidget(switch_on_off);  	float_right->addWidget(button_add_remove);  	main_layout->addLayout(float_left);  	main_layout->addLayout(float_right); + +	update();  	setLayout(main_layout);  } + +void CDNodeWidget::set_node(cd_s_node* node) { +	_node = node; +} + +void CDNodeWidget::update() { +	QString	node_name = QString::fromLocal8Bit(_node->name, _node->name_len); +	label_node_name->setText(node_name); + +	QString node_address = QString::fromStdString(cd_node_mac_string(_node->address)); +	node_address.prepend("("); +	node_address.append(")"); +	label_node_address->setText(node_address); + +	switch_on_off->setText("on"); +	switch_on_off->setVisible(_node->provisioned); +	switch_on_off->setCheckable(_node->provisioned); +	switch_on_off->setChecked(_node->light_on); + +	button_add_remove->setText(_node->provisioned ? "Remove from network" : "Join network"); +}  |