void DeviceData::showDevice(int idx, QString &deviceName, QString &xmlDesc) { if ( device!=NULL ) closeDataEdit(); devName->setText(QString("<b>%1</b>").arg(deviceName)); QDomDocument doc; doc.setContent(xmlDesc); QString deviceType = doc.firstChildElement("device"). firstChild().nodeName(); if ( deviceType == "disk" ) { device = new Disk_Edit( this, ptr_ConnPtr); connect(device, SIGNAL(errorMsg(QString&)), this, SIGNAL(errorMsg(QString&))); } else if ( deviceType == "interface" ) {
DeviceData::DeviceData( QWidget *parent, virConnectPtr *conn ) : QWidget(parent), ptr_ConnPtr(conn) { devName = new QLabel(this); save = new QPushButton(QIcon::fromTheme("document-save"), "", this); save->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum)); save->setToolTip("Save current device state"); revert = new QPushButton(QIcon::fromTheme("document-revert"), "", this); revert->setToolTip("Revert to previous device state"); revert->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum)); restoreMenu = new DeviceRestoreMenu(this); restoreMenu->revertData->setEnabled(false); revert->setMenu(restoreMenu); _close = new QPushButton(QIcon::fromTheme("dialog-close"), "", this); _close->setToolTip("Close device editor"); _close->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum)); panelLayout = new QHBoxLayout(this); panelLayout->addWidget(devName, 10, Qt::AlignLeft); panelLayout->addWidget(save, 1, Qt::AlignRight); panelLayout->addWidget(revert, 1, Qt::AlignRight); panelLayout->addWidget(_close, 1, Qt::AlignRight); panel = new QWidget(this); panel->setLayout(panelLayout); infoWidget = new QScrollArea(this); infoWidget->setWidgetResizable(true); scrolled = new QWidget(this); infoLayout = new QVBoxLayout(this); scrolled->setLayout(infoLayout); infoWidget->setWidget(scrolled); commonLayout = new QVBoxLayout(this); commonLayout->addWidget(panel); commonLayout->addWidget(infoWidget); setLayout(commonLayout); connect(save, SIGNAL(clicked()), this, SLOT(saveDeviceData())); connect(restoreMenu->revertData, SIGNAL(triggered()), this, SLOT(revertDeviceData())); connect(restoreMenu->resetData, SIGNAL(triggered()), this, SLOT(revertDeviceData())); connect(_close, SIGNAL(clicked()), this, SLOT(closeDataEdit())); }
void DeviceData::showDevice(int idx, QString &deviceName, QString &xmlDesc) { if ( device!=nullptr ) closeDataEdit(); emit dataProcessed(false); devName->setText(QString("<b>%1</b>").arg(deviceName)); QDomDocument doc; doc.setContent(xmlDesc); QString deviceType; QDomElement _el = doc.firstChildElement("device"); if ( _el.isNull() ) return; QDomNode _node = _el.firstChild(); if ( _node.isNull() ) return; deviceType = _node.nodeName(); devIcon = new QLabel(this); devIcon->setPixmap(QIcon::fromTheme( QString("device-%1").arg(deviceType)) .pixmap(64)); if ( deviceType == "disk" ) { device = new Disk_Edit( this, ptr_ConnPtr); connect(device, SIGNAL(errorMsg(QString&)), this, SIGNAL(errorMsg(QString&))); } else if ( deviceType == "interface" ) {