core: remove filterconstraint C boilerplate code

Since all code can now directly access C++ structures these
accessor functions were not necessary.

Split out the table from the filterconstraint source file
and include it directly into the divelog.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2024-06-08 18:54:23 +02:00 committed by bstoeger
parent 2bdcdab391
commit 91968ac579
20 changed files with 212 additions and 250 deletions

View file

@ -374,10 +374,9 @@ AddFilterPresetDialog::AddFilterPresetDialog(const QString &defaultName, QWidget
// Create a completer so that the user can easily overwrite existing presets.
QStringList presets;
int count = filter_presets_count();
presets.reserve(count);
for (int i = 0; i < count; ++i)
presets.push_back(QString(filter_preset_name(i).c_str()));
presets.reserve(divelog.filter_presets.size());
for (auto &filter_preset: divelog.filter_presets)
presets.push_back(QString::fromStdString(filter_preset.name));
QCompleter *completer = new QCompleter(presets, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);
ui.name->setCompleter(completer);
@ -387,7 +386,7 @@ void AddFilterPresetDialog::nameChanged(const QString &text)
{
QString trimmed = text.trimmed();
bool isEmpty = trimmed.isEmpty();
bool exists = !isEmpty && filter_preset_id(trimmed.toStdString()) >= 0;
bool exists = !isEmpty && divelog.filter_presets.preset_id(trimmed.toStdString()) >= 0;
ui.duplicateWarning->setVisible(exists);
ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!isEmpty);
}