diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/packageadderview.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/packageadderview.cpp index ddca4889b91874e703c1cdcdd30e88038755bcd2..c9b6a7d4101f61040564405c891fbeec8b47489a 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/packageadderview.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/packageadderview.cpp @@ -64,17 +64,26 @@ void PackageAdderView::on_cancelButton_clicked() void PackageAdderView::on_packageName_textChanged(const QString& text) { - armarx::CMakePackageFinder pFinder(text.toStdString()); - if (pFinder.packageFound()) + std::optional<std::string> configDir; + if (not text.isEmpty()) { - ui->packagePath->setText(QString::fromStdString(pFinder.getConfigDir())); + armarx::CMakePackageFinder pFinder(text.toStdString()); + if (pFinder.packageFound()) + { + configDir = pFinder.getConfigDir(); + } + } + + if (configDir.has_value()) + { + ui->packagePath->setText(QString::fromStdString(configDir.value())); ui->foundPackageLabel->setPixmap(QPixmap(":/icons/user-online.svg")); found = true; } else { found = false; - ui->packagePath->setText("Cannot find Package"); + ui->packagePath->setText("Cannot find package"); ui->foundPackageLabel->setPixmap(QPixmap(":/icons/dialog-cancel-5.svg")); } }