diff --git a/core/tests/DataSource/TestDataSourceController.cpp b/core/tests/DataSource/TestDataSourceController.cpp index 24429e2..3e58487 100644 --- a/core/tests/DataSource/TestDataSourceController.cpp +++ b/core/tests/DataSource/TestDataSourceController.cpp @@ -30,9 +30,7 @@ void TestDataSourceController::testSetDataSourceItem() // Create a data source item auto source1Name = QStringLiteral("Source1"); - auto source1Values = QVector{source1Name}; - auto source1Item - = std::make_unique(DataSourceItemType::PRODUCT, std::move(source1Values)); + auto source1Item = std::make_unique(DataSourceItemType::PRODUCT, source1Name); // Add data source item to the controller and check that a signal has been emitted after setting // data source item in the controller diff --git a/gui/src/DataSource/DataSourceTreeWidgetItem.cpp b/gui/src/DataSource/DataSourceTreeWidgetItem.cpp index 07b8735..b4c516d 100644 --- a/gui/src/DataSource/DataSourceTreeWidgetItem.cpp +++ b/gui/src/DataSource/DataSourceTreeWidgetItem.cpp @@ -10,6 +10,9 @@ Q_LOGGING_CATEGORY(LOG_DataSourceTreeWidgetItem, "DataSourceTreeWidgetItem") namespace { +// Column indexes +const auto NAME_COLUMN = 0; + QIcon itemIcon(const DataSourceItem *dataSource) { if (dataSource) { @@ -80,7 +83,23 @@ DataSourceTreeWidgetItem::DataSourceTreeWidgetItem(QTreeWidget *parent, const Da QVariant DataSourceTreeWidgetItem::data(int column, int role) const { if (role == Qt::DisplayRole) { - return (impl->m_Data) ? impl->m_Data->data(column) : QVariant{}; + if (impl->m_Data) { + switch (column) { + case NAME_COLUMN: + return impl->m_Data->name(); + default: + // No action + break; + } + + qCWarning(LOG_DataSourceTreeWidgetItem()) + << QObject::tr("Can't get data (unknown column %1)").arg(column); + } + else { + qCCritical(LOG_DataSourceTreeWidgetItem()) << QObject::tr("Can't get data (null item)"); + } + + return QVariant{}; } else { return QTreeWidgetItem::data(column, role); diff --git a/plugins/mockplugin/src/MockPlugin.cpp b/plugins/mockplugin/src/MockPlugin.cpp index adc3bf6..f11ebbd 100644 --- a/plugins/mockplugin/src/MockPlugin.cpp +++ b/plugins/mockplugin/src/MockPlugin.cpp @@ -23,8 +23,7 @@ std::unique_ptr createDataProvider() noexcept std::unique_ptr createProductItem(const QString &productName, const QUuid &dataSourceUid) { - auto result = std::make_unique(DataSourceItemType::PRODUCT, - QVector{productName}); + auto result = std::make_unique(DataSourceItemType::PRODUCT, productName); // Add action to load product from DataSourceController result->addAction(std::make_unique( @@ -42,18 +41,17 @@ std::unique_ptr createProductItem(const QString &productName, std::unique_ptr createDataSourceItem(const QUuid &dataSourceUid) noexcept { // Magnetic field products - auto magneticFieldFolder = std::make_unique( - DataSourceItemType::NODE, QVector{QStringLiteral("Magnetic field")}); + auto magneticFieldFolder = std::make_unique(DataSourceItemType::NODE, + QStringLiteral("Magnetic field")); magneticFieldFolder->appendChild(createProductItem(QStringLiteral("FGM"), dataSourceUid)); magneticFieldFolder->appendChild(createProductItem(QStringLiteral("SC"), dataSourceUid)); // Electric field products - auto electricFieldFolder = std::make_unique( - DataSourceItemType::NODE, QVector{QStringLiteral("Electric field")}); + auto electricFieldFolder = std::make_unique(DataSourceItemType::NODE, + QStringLiteral("Electric field")); // Root - auto root = std::make_unique(DataSourceItemType::NODE, - QVector{DATA_SOURCE_NAME}); + auto root = std::make_unique(DataSourceItemType::NODE, DATA_SOURCE_NAME); root->appendChild(std::move(magneticFieldFolder)); root->appendChild(std::move(electricFieldFolder));