From 8d4441bb5ef95bba7ed2cc7d12a7411e490107a5 Mon Sep 17 00:00:00 2001 From: Rob Cutmore Date: Sun, 26 Mar 2017 09:05:05 -0400 Subject: [PATCH] Editor: document subclasses without ID checks - Removes ID validation for PathgridCreator. - Adds comments explaining why ID validation isn't used in some cases. --- apps/opencs/view/world/infocreator.cpp | 2 ++ apps/opencs/view/world/pathgridcreator.cpp | 10 +++------- apps/opencs/view/world/pathgridcreator.hpp | 3 +-- apps/opencs/view/world/referencecreator.cpp | 2 ++ apps/opencs/view/world/startscriptcreator.cpp | 3 ++- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/opencs/view/world/infocreator.cpp b/apps/opencs/view/world/infocreator.cpp index 243b7d879..d3bc29ab7 100644 --- a/apps/opencs/view/world/infocreator.cpp +++ b/apps/opencs/view/world/infocreator.cpp @@ -48,6 +48,8 @@ CSVWorld::InfoCreator::InfoCreator (CSMWorld::Data& data, QUndoStack& undoStack, QLabel *label = new QLabel ("Topic", this); insertBeforeButtons (label, false); + // Add topic/journal ID input with auto-completion. + // Only existing topic/journal IDs are accepted so no ID validation is performed. CSMWorld::ColumnBase::Display displayType = CSMWorld::ColumnBase::Display_Topic; if (getCollectionId().getType() == CSMWorld::UniversalId::Type_JournalInfos) { diff --git a/apps/opencs/view/world/pathgridcreator.cpp b/apps/opencs/view/world/pathgridcreator.cpp index 7d2f46b91..26523f0c3 100644 --- a/apps/opencs/view/world/pathgridcreator.cpp +++ b/apps/opencs/view/world/pathgridcreator.cpp @@ -10,7 +10,6 @@ #include "../../model/world/idtable.hpp" #include "../widget/droplineedit.hpp" -#include "idvalidator.hpp" std::string CSVWorld::PathgridCreator::getId() const { @@ -28,9 +27,8 @@ CSVWorld::PathgridCreator::PathgridCreator( CSMWorld::Data& data, QUndoStack& undoStack, const CSMWorld::UniversalId& id, - CSMWorld::IdCompletionManager& completionManager, - bool relaxedIdRules -) : GenericCreator(data, undoStack, id, relaxedIdRules) + CSMWorld::IdCompletionManager& completionManager +) : GenericCreator(data, undoStack, id) { setManualEditing(false); @@ -38,10 +36,10 @@ CSVWorld::PathgridCreator::PathgridCreator( insertBeforeButtons(label, false); // Add cell ID input with auto-completion. + // Only existing cell IDs are accepted so no ID validation is performed. CSMWorld::ColumnBase::Display displayType = CSMWorld::ColumnBase::Display_Cell; mCell = new CSVWidget::DropLineEdit(displayType, this); mCell->setCompleter(completionManager.getCompleter(displayType).get()); - mCell->setValidator(new IdValidator(relaxedIdRules, this)); insertBeforeButtons(mCell, true); connect(mCell, SIGNAL (textChanged(const QString&)), this, SLOT (cellChanged())); @@ -65,8 +63,6 @@ std::string CSVWorld::PathgridCreator::getErrors() const std::string cellId = getId(); // Check user input for any errors. - // The last two checks, cell with existing pathgrid and non-existent cell, - // shouldn't be needed but we absolutely want to make sure they never happen. std::string errors; if (cellId.empty()) { diff --git a/apps/opencs/view/world/pathgridcreator.hpp b/apps/opencs/view/world/pathgridcreator.hpp index c2ae20fc0..7e82155f6 100644 --- a/apps/opencs/view/world/pathgridcreator.hpp +++ b/apps/opencs/view/world/pathgridcreator.hpp @@ -44,8 +44,7 @@ namespace CSVWorld CSMWorld::Data& data, QUndoStack& undoStack, const CSMWorld::UniversalId& id, - CSMWorld::IdCompletionManager& completionManager, - bool relaxedIdRules = false); + CSMWorld::IdCompletionManager& completionManager); /// \brief Set cell ID input widget to ID of record to be cloned. /// \param originId Cell ID to be cloned. diff --git a/apps/opencs/view/world/referencecreator.cpp b/apps/opencs/view/world/referencecreator.cpp index cc7ae545a..1363f489a 100644 --- a/apps/opencs/view/world/referencecreator.cpp +++ b/apps/opencs/view/world/referencecreator.cpp @@ -35,6 +35,8 @@ CSVWorld::ReferenceCreator::ReferenceCreator (CSMWorld::Data& data, QUndoStack& QLabel *label = new QLabel ("Cell", this); insertBeforeButtons (label, false); + // Add cell ID input with auto-completion. + // Only existing cell IDs are accepted so no ID validation is performed. mCell = new CSVWidget::DropLineEdit(CSMWorld::ColumnBase::Display_Cell, this); mCell->setCompleter(completionManager.getCompleter(CSMWorld::ColumnBase::Display_Cell).get()); insertBeforeButtons (mCell, true); diff --git a/apps/opencs/view/world/startscriptcreator.cpp b/apps/opencs/view/world/startscriptcreator.cpp index 891199027..00c485224 100644 --- a/apps/opencs/view/world/startscriptcreator.cpp +++ b/apps/opencs/view/world/startscriptcreator.cpp @@ -29,7 +29,7 @@ CSVWorld::StartScriptCreator::StartScriptCreator( QUndoStack &undoStack, const CSMWorld::UniversalId &id, CSMWorld::IdCompletionManager& completionManager -) : GenericCreator(data, undoStack, id, true) +) : GenericCreator(data, undoStack, id) { setManualEditing(false); @@ -38,6 +38,7 @@ CSVWorld::StartScriptCreator::StartScriptCreator( insertBeforeButtons(label, false); // Add script ID input with auto-completion. + // Only existing script IDs are accepted so no ID validation is performed. CSMWorld::ColumnBase::Display displayType = CSMWorld::ColumnBase::Display_Script; mScript = new CSVWidget::DropLineEdit(displayType, this); mScript->setCompleter(completionManager.getCompleter(displayType).get());