core: port filterpreset.cpp to std::string

Less memory management hassle.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2024-02-29 13:39:17 +01:00 committed by Michael Keller
parent 2e1d852e36
commit 119fe908c7
11 changed files with 44 additions and 57 deletions

View file

@ -514,7 +514,7 @@ ImportDives::ImportDives(struct divelog *log, int flags, const QString &source)
// When encountering filter presets with equal names, check whether they are
// the same. If they are, ignore them.
for (const filter_preset &preset: *log->filter_presets) {
QString name = preset.name;
std::string name = preset.name;
auto it = std::find_if(divelog.filter_presets->begin(), divelog.filter_presets->end(),
[&name](const filter_preset &preset) { return preset.name == name; });
if (it != divelog.filter_presets->end() && it->data == preset.data)
@ -580,7 +580,7 @@ void ImportDives::undoit()
// Remove filter presets. Do this in reverse order.
for (auto it = filterPresetsToRemove.rbegin(); it != filterPresetsToRemove.rend(); ++it) {
int index = *it;
QString oldName = filter_preset_name_qstring(index);
std::string oldName = filter_preset_name(index);
FilterData oldData = filter_preset_get(index);
filter_preset_delete(index);
emit diveListNotifier.filterPresetRemoved(index);

View file

@ -112,7 +112,7 @@ private:
// For redo
std::vector<OwningDiveSitePtr> sitesToAdd;
std::vector<std::pair<QString,FilterData>>
std::vector<std::pair<std::string,FilterData>>
filterPresetsToAdd;
// For undo

View file

@ -6,16 +6,16 @@
namespace Command {
static int createFilterPreset(const QString &name, const FilterData &data)
static int createFilterPreset(const std::string &name, const FilterData &data)
{
int index = filter_preset_add(name, data);
emit diveListNotifier.filterPresetAdded(index);
return index;
}
static std::pair<QString, FilterData> removeFilterPreset(int index)
static std::pair<std::string, FilterData> removeFilterPreset(int index)
{
QString oldName = filter_preset_name_qstring(index);
std::string oldName = filter_preset_name(index);
FilterData oldData = filter_preset_get(index);
filter_preset_delete(index);
emit diveListNotifier.filterPresetRemoved(index);
@ -23,7 +23,7 @@ static std::pair<QString, FilterData> removeFilterPreset(int index)
}
CreateFilterPreset::CreateFilterPreset(const QString &nameIn, const FilterData &dataIn) :
name(nameIn), data(dataIn), index(0)
name(nameIn.toStdString()), data(dataIn), index(0)
{
setText(Command::Base::tr("Create filter preset %1").arg(nameIn));
}
@ -46,7 +46,7 @@ void CreateFilterPreset::undo()
RemoveFilterPreset::RemoveFilterPreset(int indexIn) : index(indexIn)
{
setText(Command::Base::tr("Delete filter preset %1").arg(filter_preset_name_qstring(index)));
setText(Command::Base::tr("Delete filter preset %1").arg(QString(filter_preset_name(index).c_str())));
}
bool RemoveFilterPreset::workToBeDone()
@ -68,7 +68,7 @@ void RemoveFilterPreset::undo()
EditFilterPreset::EditFilterPreset(int indexIn, const FilterData &dataIn) :
index(indexIn), data(dataIn)
{
setText(Command::Base::tr("Edit filter preset %1").arg(filter_preset_name_qstring(index)));
setText(Command::Base::tr("Edit filter preset %1").arg(QString(filter_preset_name(index).c_str())));
}
bool EditFilterPreset::workToBeDone()

View file

@ -17,7 +17,7 @@ public:
CreateFilterPreset(const QString &name, const FilterData &data);
private:
// for redo
QString name;
std::string name;
FilterData data;
// for undo
@ -33,7 +33,7 @@ public:
RemoveFilterPreset(int index);
private:
// for undo
QString name;
std::string name;
FilterData data;
// for redo