patch_manager: change wording

This commit is contained in:
Megamouse 2023-02-19 12:59:46 +01:00
parent c6f392bf6c
commit a29dc3893f
5 changed files with 205 additions and 205 deletions

View file

@ -45,7 +45,7 @@ enum patch_role : int
patch_group_role,
persistance_role,
node_level_role,
dynamic_values_role
config_values_role
};
enum node_level : int
@ -55,7 +55,7 @@ enum node_level : int
patch_level
};
Q_DECLARE_METATYPE(patch_engine::patch_dynamic_value);
Q_DECLARE_METATYPE(patch_engine::patch_config_value);
patch_manager_dialog::patch_manager_dialog(std::shared_ptr<gui_settings> gui_settings, std::unordered_map<std::string, std::set<std::string>> games, const std::string& title_id, const std::string& version, QWidget* parent)
: QDialog(parent)
@ -79,13 +79,13 @@ patch_manager_dialog::patch_manager_dialog(std::shared_ptr<gui_settings> gui_set
m_downloader = new downloader(this);
ui->dynamic_selector->setEnabled(false);
ui->dynamic_combo_box->setEnabled(false);
ui->dynamic_combo_box->setVisible(false);
ui->dynamic_spin_box->setEnabled(false);
ui->dynamic_spin_box->setVisible(false);
ui->dynamic_double_spin_box->setEnabled(false);
ui->dynamic_double_spin_box->setVisible(false);
ui->configurable_selector->setEnabled(false);
ui->configurable_combo_box->setEnabled(false);
ui->configurable_combo_box->setVisible(false);
ui->configurable_spin_box->setEnabled(false);
ui->configurable_spin_box->setVisible(false);
ui->configurable_double_spin_box->setEnabled(false);
ui->configurable_double_spin_box->setVisible(false);
// Create connects
connect(ui->patch_filter, &QLineEdit::textChanged, this, &patch_manager_dialog::filter_patches);
@ -93,7 +93,7 @@ patch_manager_dialog::patch_manager_dialog(std::shared_ptr<gui_settings> gui_set
connect(ui->patch_tree, &QTreeWidget::itemChanged, this, &patch_manager_dialog::handle_item_changed);
connect(ui->patch_tree, &QTreeWidget::customContextMenuRequested, this, &patch_manager_dialog::handle_custom_context_menu_requested);
connect(ui->cb_owned_games_only, &QCheckBox::stateChanged, this, &patch_manager_dialog::handle_show_owned_games_only);
connect(ui->dynamic_selector, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [this](int index)
connect(ui->configurable_selector, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [this](int index)
{
if (index >= 0)
{
@ -102,15 +102,15 @@ patch_manager_dialog::patch_manager_dialog(std::shared_ptr<gui_settings> gui_set
handle_item_selected(item, item);
}
});
connect(ui->dynamic_combo_box, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [this](int index)
connect(ui->configurable_combo_box, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [this](int index)
{
if (index >= 0)
{
handle_dynamic_value_changed(ui->dynamic_combo_box->itemData(index).toDouble());
handle_config_value_changed(ui->configurable_combo_box->itemData(index).toDouble());
}
});
connect(ui->dynamic_spin_box, QOverload<int>::of(&QSpinBox::valueChanged), this, &patch_manager_dialog::handle_dynamic_value_changed);
connect(ui->dynamic_double_spin_box, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &patch_manager_dialog::handle_dynamic_value_changed);
connect(ui->configurable_spin_box, QOverload<int>::of(&QSpinBox::valueChanged), this, &patch_manager_dialog::handle_config_value_changed);
connect(ui->configurable_double_spin_box, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &patch_manager_dialog::handle_config_value_changed);
connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &QWidget::close);
connect(ui->buttonBox, &QDialogButtonBox::clicked, [this](QAbstractButton* button)
{
@ -332,18 +332,18 @@ void patch_manager_dialog::populate_tree()
visible_description += QString::number(counter) + ')';
}
QMap<QString, QVariant> q_dynamic_values;
QMap<QString, QVariant> q_config_values;
for (const auto& [key, default_dynamic_value] : patch.default_dynamic_values)
for (const auto& [key, default_config_value] : patch.default_config_values)
{
patch_engine::patch_dynamic_value dynamic_value = default_dynamic_value;
patch_engine::patch_config_value config_value = default_config_value;
if (config_values.dynamic_values.contains(key))
if (config_values.config_values.contains(key))
{
dynamic_value.value = config_values.dynamic_values.at(key).value;
config_value.value = config_values.config_values.at(key).value;
}
q_dynamic_values[QString::fromStdString(key)] = QVariant::fromValue(dynamic_value);
q_config_values[QString::fromStdString(key)] = QVariant::fromValue(config_value);
}
QTreeWidgetItem* patch_level_item = new QTreeWidgetItem();
@ -357,7 +357,7 @@ void patch_manager_dialog::populate_tree()
patch_level_item->setData(0, patch_group_role, q_patch_group);
patch_level_item->setData(0, node_level_role, node_level::patch_level);
patch_level_item->setData(0, persistance_role, true);
patch_level_item->setData(0, dynamic_values_role, q_dynamic_values);
patch_level_item->setData(0, config_values_role, q_config_values);
serial_level_item->addChild(patch_level_item);
}
@ -537,67 +537,67 @@ void patch_manager_dialog::update_patch_info(const patch_manager_dialog::gui_pat
ui->label_title->setText(info.title);
ui->label_app_version->setText(info.app_version);
ui->dynamic_combo_box->setEnabled(false);
ui->dynamic_combo_box->setVisible(false);
ui->dynamic_spin_box->setEnabled(false);
ui->dynamic_spin_box->setVisible(false);
ui->dynamic_double_spin_box->setEnabled(false);
ui->dynamic_double_spin_box->setVisible(false);
ui->configurable_combo_box->setEnabled(false);
ui->configurable_combo_box->setVisible(false);
ui->configurable_spin_box->setEnabled(false);
ui->configurable_spin_box->setVisible(false);
ui->configurable_double_spin_box->setEnabled(false);
ui->configurable_double_spin_box->setVisible(false);
if (info.dynamic_values.empty())
if (info.config_values.empty())
{
ui->dynamic_selector->blockSignals(true);
ui->dynamic_selector->clear();
ui->dynamic_selector->blockSignals(false);
ui->dynamic_selector->setEnabled(false);
ui->configurable_selector->blockSignals(true);
ui->configurable_selector->clear();
ui->configurable_selector->blockSignals(false);
ui->configurable_selector->setEnabled(false);
return;
}
const QString key = ui->dynamic_selector->currentIndex() < 0 ? "" : ui->dynamic_selector->currentData().toString();
const QString key = ui->configurable_selector->currentIndex() < 0 ? "" : ui->configurable_selector->currentData().toString();
if (key.isEmpty())
{
return;
}
const QVariant& variant = info.dynamic_values.value(key);
ensure(variant.canConvert<patch_engine::patch_dynamic_value>());
const QVariant& variant = info.config_values.value(key);
ensure(variant.canConvert<patch_engine::patch_config_value>());
const patch_engine::patch_dynamic_value dynamic_value = variant.value<patch_engine::patch_dynamic_value>();
const patch_engine::patch_config_value config_value = variant.value<patch_engine::patch_config_value>();
switch (dynamic_value.type)
switch (config_value.type)
{
case patch_dynamic_type::double_range:
ui->dynamic_double_spin_box->blockSignals(true);
ui->dynamic_double_spin_box->setRange(dynamic_value.min, dynamic_value.max);
ui->dynamic_double_spin_box->setValue(dynamic_value.value);
ui->dynamic_double_spin_box->setEnabled(true);
ui->dynamic_double_spin_box->setVisible(true);
ui->dynamic_double_spin_box->blockSignals(false);
case patch_configurable_type::double_range:
ui->configurable_double_spin_box->blockSignals(true);
ui->configurable_double_spin_box->setRange(config_value.min, config_value.max);
ui->configurable_double_spin_box->setValue(config_value.value);
ui->configurable_double_spin_box->setEnabled(true);
ui->configurable_double_spin_box->setVisible(true);
ui->configurable_double_spin_box->blockSignals(false);
break;
case patch_dynamic_type::long_range:
ui->dynamic_spin_box->blockSignals(true);
ui->dynamic_spin_box->setRange(dynamic_value.min, dynamic_value.max);
ui->dynamic_spin_box->setValue(dynamic_value.value);
ui->dynamic_spin_box->setEnabled(true);
ui->dynamic_spin_box->setVisible(true);
ui->dynamic_spin_box->blockSignals(false);
case patch_configurable_type::long_range:
ui->configurable_spin_box->blockSignals(true);
ui->configurable_spin_box->setRange(config_value.min, config_value.max);
ui->configurable_spin_box->setValue(config_value.value);
ui->configurable_spin_box->setEnabled(true);
ui->configurable_spin_box->setVisible(true);
ui->configurable_spin_box->blockSignals(false);
break;
case patch_dynamic_type::double_enum:
case patch_dynamic_type::long_enum:
ui->dynamic_combo_box->blockSignals(true);
ui->dynamic_combo_box->clear();
for (const patch_engine::patch_allowed_value& allowed_value : dynamic_value.allowed_values)
case patch_configurable_type::double_enum:
case patch_configurable_type::long_enum:
ui->configurable_combo_box->blockSignals(true);
ui->configurable_combo_box->clear();
for (const patch_engine::patch_allowed_value& allowed_value : config_value.allowed_values)
{
ui->dynamic_combo_box->addItem(QString::fromStdString(allowed_value.label), allowed_value.value);
ui->configurable_combo_box->addItem(QString::fromStdString(allowed_value.label), allowed_value.value);
if (allowed_value.value == dynamic_value.value)
if (allowed_value.value == config_value.value)
{
ui->dynamic_combo_box->setCurrentIndex(ui->dynamic_combo_box->findData(allowed_value.value));
ui->configurable_combo_box->setCurrentIndex(ui->configurable_combo_box->findData(allowed_value.value));
}
}
ui->dynamic_combo_box->setEnabled(true);
ui->dynamic_combo_box->setVisible(true);
ui->dynamic_combo_box->blockSignals(false);
ui->configurable_combo_box->setEnabled(true);
ui->configurable_combo_box->setVisible(true);
ui->configurable_combo_box->blockSignals(false);
break;
}
}
@ -636,25 +636,25 @@ void patch_manager_dialog::handle_item_selected(QTreeWidgetItem *current, QTreeW
info.notes = QString::fromStdString(found_info.notes);
info.description = QString::fromStdString(found_info.description);
info.patch_version = QString::fromStdString(found_info.patch_version);
info.dynamic_values = current->data(0, dynamic_values_role).toMap();
info.config_values = current->data(0, config_values_role).toMap();
if (current != previous)
{
ui->dynamic_selector->blockSignals(true);
ui->dynamic_selector->clear();
for (const auto& key : info.dynamic_values.keys())
ui->configurable_selector->blockSignals(true);
ui->configurable_selector->clear();
for (const auto& key : info.config_values.keys())
{
const QVariant& variant = info.dynamic_values.value(key);
ensure(variant.canConvert<patch_engine::patch_dynamic_value>());
const patch_engine::patch_dynamic_value dynamic_value = variant.value<patch_engine::patch_dynamic_value>();
ui->dynamic_selector->addItem(key, key);
const QVariant& variant = info.config_values.value(key);
ensure(variant.canConvert<patch_engine::patch_config_value>());
const patch_engine::patch_config_value config_value = variant.value<patch_engine::patch_config_value>();
ui->configurable_selector->addItem(key, key);
}
if (ui->dynamic_selector->count() > 0)
if (ui->configurable_selector->count() > 0)
{
ui->dynamic_selector->setCurrentIndex(0);
ui->configurable_selector->setCurrentIndex(0);
}
ui->dynamic_selector->blockSignals(false);
ui->dynamic_selector->setEnabled(ui->dynamic_selector->count() > 0);
ui->configurable_selector->blockSignals(false);
ui->configurable_selector->setEnabled(ui->configurable_selector->count() > 0);
}
}
}
@ -731,7 +731,7 @@ void patch_manager_dialog::handle_item_changed(QTreeWidgetItem *item, int /*colu
}
}
void patch_manager_dialog::handle_dynamic_value_changed(double value)
void patch_manager_dialog::handle_config_value_changed(double value)
{
QList<QTreeWidgetItem*> list = ui->patch_tree->selectedItems();
QTreeWidgetItem* item = list.size() == 1 ? list.first() : nullptr;
@ -748,25 +748,25 @@ void patch_manager_dialog::handle_dynamic_value_changed(double value)
return;
}
const QString key = ui->dynamic_selector->currentText();
const QVariant data = item->data(0, dynamic_values_role);
QVariantMap q_dynamic_values = data.canConvert<QVariantMap>() ? data.toMap() : QVariantMap{};
const QString key = ui->configurable_selector->currentText();
const QVariant data = item->data(0, config_values_role);
QVariantMap q_config_values = data.canConvert<QVariantMap>() ? data.toMap() : QVariantMap{};
if (q_dynamic_values.isEmpty() || !q_dynamic_values.contains(key))
if (q_config_values.isEmpty() || !q_config_values.contains(key))
{
return;
}
QVariant& variant = q_dynamic_values[key];
ensure(variant.canConvert<patch_engine::patch_dynamic_value>());
QVariant& variant = q_config_values[key];
ensure(variant.canConvert<patch_engine::patch_config_value>());
patch_engine::patch_dynamic_value dynamic_value = variant.value<patch_engine::patch_dynamic_value>();
dynamic_value.value = value;
variant = QVariant::fromValue(dynamic_value);
patch_engine::patch_config_value config_value = variant.value<patch_engine::patch_config_value>();
config_value.value = value;
variant = QVariant::fromValue(config_value);
item->setData(0, dynamic_values_role, q_dynamic_values);
item->setData(0, config_values_role, q_config_values);
// Update the dynamic value of the patch for this item
// Update the configurable value of the patch for this item
const std::string hash = item->data(0, hash_role).toString().toStdString();
const std::string title = item->data(0, title_role).toString().toStdString();
const std::string serial = item->data(0, serial_role).toString().toStdString();
@ -780,13 +780,13 @@ void patch_manager_dialog::handle_dynamic_value_changed(double value)
if (info.contains(description))
{
auto& patch = info[description];
auto& dynamic_values = patch.titles[title][serial][app_version].dynamic_values;
auto& config_values = patch.titles[title][serial][app_version].config_values;
for (const QString& q_key : q_dynamic_values.keys())
for (const QString& q_key : q_config_values.keys())
{
if (const std::string s_key = q_key.toStdString(); key == q_key && patch.default_dynamic_values.contains(s_key))
if (const std::string s_key = q_key.toStdString(); key == q_key && patch.default_config_values.contains(s_key))
{
dynamic_values[s_key].value = value;
config_values[s_key].value = value;
}
}
}