#include "categoryimportdialog.h" #include "ui_categoryimportdialog.h" #include "organizercore.h" using namespace MOBase; CategoryImportDialog::CategoryImportDialog(QWidget* parent) : QDialog(parent), ui(new Ui::CategoryImportDialog) { ui->setupUi(this); connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &CategoryImportDialog::accepted); connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &CategoryImportDialog::rejected); connect(ui->strategyGroup, &QButtonGroup::buttonClicked, this, &CategoryImportDialog::on_strategyClicked); connect(ui->assignOption, &QCheckBox::clicked, this, &CategoryImportDialog::on_assignOptionClicked); } void CategoryImportDialog::accepted() { accept(); } void CategoryImportDialog::rejected() { reject(); } CategoryImportDialog::~CategoryImportDialog() { delete ui; } CategoryImportDialog::ImportStrategy CategoryImportDialog::strategy() { if (ui->mergeOption->isChecked()) { return ImportStrategy::Merge; } else if (ui->replaceOption->isChecked()) { return ImportStrategy::Overwrite; } return ImportStrategy::None; } bool CategoryImportDialog::assign() { return ui->assignOption->isChecked(); } bool CategoryImportDialog::remap() { return ui->remapOption->isChecked(); } void CategoryImportDialog::on_strategyClicked(QAbstractButton* button) { if (button == ui->replaceOption) { ui->remapOption->setChecked(false); ui->remapOption->setDisabled(true); } else { ui->remapOption->setEnabled(true); } } void CategoryImportDialog::on_assignOptionClicked(bool checked) { if (checked && strategy() == ImportStrategy::Merge) { ui->remapOption->setEnabled(true); } else { ui->remapOption->setChecked(false); ui->remapOption->setDisabled(true); } }