diff --git a/scwx-qt/source/scwx/qt/manager/placefile_manager.cpp b/scwx-qt/source/scwx/qt/manager/placefile_manager.cpp index cc4e195e..f3b5ecbc 100644 --- a/scwx-qt/source/scwx/qt/manager/placefile_manager.cpp +++ b/scwx-qt/source/scwx/qt/manager/placefile_manager.cpp @@ -356,10 +356,13 @@ void PlacefileManager::Impl::ReadPlacefileSettings() PlacefileRecord record = boost::json::value_to(placefileEntry); - self_->AddUrl(record.name_, - record.title_, - record.enabled_, - record.thresholded_); + if (!record.name_.empty()) + { + self_->AddUrl(record.name_, + record.title_, + record.enabled_, + record.thresholded_); + } } catch (const std::exception& ex) { diff --git a/scwx-qt/source/scwx/qt/model/placefile_model.cpp b/scwx-qt/source/scwx/qt/model/placefile_model.cpp index d1d25a4c..9f08e0ec 100644 --- a/scwx-qt/source/scwx/qt/model/placefile_model.cpp +++ b/scwx-qt/source/scwx/qt/model/placefile_model.cpp @@ -257,6 +257,7 @@ bool PlacefileModel::setData(const QModelIndex& index, } const auto& placefileName = p->placefileNames_.at(index.row()); + bool result = false; switch (index.column()) { @@ -265,7 +266,7 @@ bool PlacefileModel::setData(const QModelIndex& index, { p->placefileManager_->set_placefile_enabled(placefileName, value.toBool()); - return true; + result = true; } break; @@ -274,16 +275,20 @@ bool PlacefileModel::setData(const QModelIndex& index, { p->placefileManager_->set_placefile_thresholded(placefileName, value.toBool()); - return true; + result = true; } break; case static_cast(Column::Placefile): if (role == Qt::ItemDataRole::EditRole) { - p->placefileManager_->set_placefile_url( - placefileName, value.toString().toStdString()); - return true; + QString str = value.toString(); + if (!str.isEmpty()) + { + p->placefileManager_->set_placefile_url(placefileName, + str.toStdString()); + result = true; + } } break; @@ -291,7 +296,12 @@ bool PlacefileModel::setData(const QModelIndex& index, break; } - return true; + if (result) + { + Q_EMIT dataChanged(index, index); + } + + return result; } void PlacefileModel::HandlePlacefileRemoved(const std::string& name)