project: remove ProjectSettings
This commit is contained in:
@@ -47,6 +47,7 @@ void ProjectCopier::SetProject(Project *project)
|
||||
disconnect(original_, &Project::InputDisconnected, this, &ProjectCopier::QueueEdgeRemove);
|
||||
disconnect(original_, &Project::ValueChanged, this, &ProjectCopier::QueueValueChange);
|
||||
disconnect(original_, &Project::InputValueHintChanged, this, &ProjectCopier::QueueValueHintChange);
|
||||
disconnect(original_, &Project::SettingChanged, this, &ProjectCopier::QueueProjectSettingChange);
|
||||
}
|
||||
|
||||
original_ = project;
|
||||
@@ -68,6 +69,9 @@ void ProjectCopier::SetProject(Project *project)
|
||||
}
|
||||
}
|
||||
|
||||
// Copy project settings
|
||||
Project::CopySettings(original_, copy_);
|
||||
|
||||
// Ensure graph change value is just before the sync value
|
||||
UpdateGraphChangeValue();
|
||||
UpdateLastSyncedValue();
|
||||
@@ -79,6 +83,7 @@ void ProjectCopier::SetProject(Project *project)
|
||||
connect(original_, &Project::InputDisconnected, this, &ProjectCopier::QueueEdgeRemove, Qt::DirectConnection);
|
||||
connect(original_, &Project::ValueChanged, this, &ProjectCopier::QueueValueChange, Qt::DirectConnection);
|
||||
connect(original_, &Project::InputValueHintChanged, this, &ProjectCopier::QueueValueHintChange, Qt::DirectConnection);
|
||||
connect(original_, &Project::SettingChanged, this, &ProjectCopier::QueueProjectSettingChange, Qt::DirectConnection);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,6 +113,9 @@ void ProjectCopier::ProcessUpdateQueue()
|
||||
case QueuedJob::kValueHintChanged:
|
||||
DoValueHintChange(job.input);
|
||||
break;
|
||||
case QueuedJob::kProjectSettingChanged:
|
||||
DoProjectSettingChange(job.key, job.value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,6 +208,11 @@ void ProjectCopier::DoValueHintChange(const NodeInput &input)
|
||||
our_input->SetValueHintForInput(input.input(), hint, input.element());
|
||||
}
|
||||
|
||||
void ProjectCopier::DoProjectSettingChange(const QString &key, const QString &value)
|
||||
{
|
||||
copy_->SetSetting(key, value);
|
||||
}
|
||||
|
||||
void ProjectCopier::InsertIntoCopyMap(Node *node, Node *copy)
|
||||
{
|
||||
// Insert into map
|
||||
@@ -214,25 +227,25 @@ void ProjectCopier::InsertIntoCopyMap(Node *node, Node *copy)
|
||||
|
||||
void ProjectCopier::QueueNodeAdd(Node *node)
|
||||
{
|
||||
graph_update_queue_.push_back({QueuedJob::kNodeAdded, node, NodeInput(), nullptr});
|
||||
graph_update_queue_.push_back({QueuedJob::kNodeAdded, node, NodeInput(), nullptr, QString(), QString()});
|
||||
UpdateGraphChangeValue();
|
||||
}
|
||||
|
||||
void ProjectCopier::QueueNodeRemove(Node *node)
|
||||
{
|
||||
graph_update_queue_.push_back({QueuedJob::kNodeRemoved, node, NodeInput(), nullptr});
|
||||
graph_update_queue_.push_back({QueuedJob::kNodeRemoved, node, NodeInput(), nullptr, QString(), QString()});
|
||||
UpdateGraphChangeValue();
|
||||
}
|
||||
|
||||
void ProjectCopier::QueueEdgeAdd(Node *output, const NodeInput &input)
|
||||
{
|
||||
graph_update_queue_.push_back({QueuedJob::kEdgeAdded, nullptr, input, output});
|
||||
graph_update_queue_.push_back({QueuedJob::kEdgeAdded, nullptr, input, output, QString(), QString()});
|
||||
UpdateGraphChangeValue();
|
||||
}
|
||||
|
||||
void ProjectCopier::QueueEdgeRemove(Node *output, const NodeInput &input)
|
||||
{
|
||||
graph_update_queue_.push_back({QueuedJob::kEdgeRemoved, nullptr, input, output});
|
||||
graph_update_queue_.push_back({QueuedJob::kEdgeRemoved, nullptr, input, output, QString(), QString()});
|
||||
UpdateGraphChangeValue();
|
||||
}
|
||||
|
||||
@@ -246,13 +259,19 @@ void ProjectCopier::QueueValueChange(const NodeInput &input)
|
||||
}
|
||||
}
|
||||
|
||||
graph_update_queue_.push_back({QueuedJob::kValueChanged, nullptr, input, nullptr});
|
||||
graph_update_queue_.push_back({QueuedJob::kValueChanged, nullptr, input, nullptr, QString(), QString()});
|
||||
UpdateGraphChangeValue();
|
||||
}
|
||||
|
||||
void ProjectCopier::QueueValueHintChange(const NodeInput &input)
|
||||
{
|
||||
graph_update_queue_.push_back({QueuedJob::kValueHintChanged, nullptr, input, nullptr});
|
||||
graph_update_queue_.push_back({QueuedJob::kValueHintChanged, nullptr, input, nullptr, QString(), QString()});
|
||||
UpdateGraphChangeValue();
|
||||
}
|
||||
|
||||
void ProjectCopier::QueueProjectSettingChange(const QString &key, const QString &value)
|
||||
{
|
||||
graph_update_queue_.push_back({QueuedJob::kProjectSettingChanged, nullptr, NodeInput(), nullptr, key, value});
|
||||
UpdateGraphChangeValue();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user