mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 14:25:27 +00:00
filter: when a filter preset is selected, suggest its name on save
The goal here is to let the user edit already existing sets and save them using their old name. This is a stop-gap measure until we get a proper filter-set editing interface. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
8f898477cb
commit
d064f78608
3 changed files with 12 additions and 3 deletions
|
@ -198,7 +198,15 @@ void FilterWidget2::updateFilter()
|
||||||
|
|
||||||
void FilterWidget2::on_addSetButton_clicked()
|
void FilterWidget2::on_addSetButton_clicked()
|
||||||
{
|
{
|
||||||
AddFilterPresetDialog dialog(this);
|
// If there is a selected item, suggest that to the user.
|
||||||
|
// Thus, if the user selects an item and modify the filter,
|
||||||
|
// they can simply overwrite the preset.
|
||||||
|
QString selectedPreset;
|
||||||
|
QModelIndexList selection = ui.presetTable->selectionModel()->selectedRows();
|
||||||
|
if (selection.size() == 1)
|
||||||
|
selectedPreset = filter_preset_name_qstring(selection[0].row());
|
||||||
|
|
||||||
|
AddFilterPresetDialog dialog(selectedPreset, this);
|
||||||
QString name = dialog.doit();
|
QString name = dialog.doit();
|
||||||
if (name.isEmpty())
|
if (name.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -480,9 +480,10 @@ void DiveComponentSelection::buttonClicked(QAbstractButton *button)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AddFilterPresetDialog::AddFilterPresetDialog(QWidget *parent)
|
AddFilterPresetDialog::AddFilterPresetDialog(const QString &defaultName, QWidget *parent)
|
||||||
{
|
{
|
||||||
ui.setupUi(this);
|
ui.setupUi(this);
|
||||||
|
ui.name->setText(defaultName);
|
||||||
connect(ui.name, &QLineEdit::textChanged, this, &AddFilterPresetDialog::nameChanged);
|
connect(ui.name, &QLineEdit::textChanged, this, &AddFilterPresetDialog::nameChanged);
|
||||||
connect(ui.buttonBox, &QDialogButtonBox::accepted, this, &AddFilterPresetDialog::accept);
|
connect(ui.buttonBox, &QDialogButtonBox::accepted, this, &AddFilterPresetDialog::accept);
|
||||||
connect(ui.buttonBox, &QDialogButtonBox::rejected, this, &AddFilterPresetDialog::reject);
|
connect(ui.buttonBox, &QDialogButtonBox::rejected, this, &AddFilterPresetDialog::reject);
|
||||||
|
|
|
@ -142,7 +142,7 @@ private:
|
||||||
class AddFilterPresetDialog : public QDialog {
|
class AddFilterPresetDialog : public QDialog {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit AddFilterPresetDialog(QWidget *parent);
|
explicit AddFilterPresetDialog(const QString &defaultName, QWidget *parent);
|
||||||
QString doit(); // returns name of filter preset or empty string if user cancelled the dialog
|
QString doit(); // returns name of filter preset or empty string if user cancelled the dialog
|
||||||
private
|
private
|
||||||
slots:
|
slots:
|
||||||
|
|
Loading…
Add table
Reference in a new issue