#include "cameralistwidget.h" #include #include #include "../cameras.h" CameraListWidget::CameraListWidget(QWidget* parent): QTableWidget(parent) { setColumnCount(1); setSelectionBehavior(QAbstractItemView::SelectRows); setSelectionMode(QAbstractItemView::MultiSelection); setHorizontalHeaderItem(0, new QTableWidgetItem("Camera")); setRowCount(desc_.size()); horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch); setEditTriggers(QAbstractItemView::NoEditTriggers); } void CameraListWidget::setConfigured(std::vector configured) { setColumnCount(2); setHorizontalHeaderItem(1, new QTableWidgetItem("Configured")); for(size_t i = 0; i < desc_.size() && i < configured.size(); ++i) { setItem(static_cast(i), 1, new QTableWidgetItem(configured[i] ? "Yes" : "No")); qDebug()<<"Set item "<& desc) { desc_ = desc; qDebug()<<"cameras: "<(desc_.size())); for(size_t i = 0; i < desc_.size(); ++i) setItem(static_cast(i), 0, new QTableWidgetItem((desc_[i].getVendor() + " " + desc_[i].getModel()).c_str())); } std::vector CameraListWidget::getSelectedDescriptions() { QList selected = selectedIndexes(); std::vector cameras; for(auto& selection : selected) { if(selection.column() == 0) cameras.push_back(desc_[selection.row()]); } return cameras; }