From 6efeeb828a65c4479b6fa59bd87fb05bc8ec44e1 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 14 Mar 2018 19:35:52 +0100 Subject: [PATCH] Improve 'Keep previous values' button --- gui/tageditorwidget.cpp | 25 +++++++++++++++++++++---- gui/tageditorwidget.h | 1 + gui/tageditorwidget.ui | 6 +++--- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/gui/tageditorwidget.cpp b/gui/tageditorwidget.cpp index c9948ca..e82a858 100644 --- a/gui/tageditorwidget.cpp +++ b/gui/tageditorwidget.cpp @@ -572,6 +572,21 @@ void TagEditorWidget::updateTagManagementMenu() m_changeTargetMenu->setEnabled(!m_changeTargetMenu->actions().empty()); } +void TagEditorWidget::updateKeepPreviousValuesButton() +{ + switch (Settings::values().editor.adoptFields) { + case Settings::AdoptFields::Never: + m_ui->keepPreviousValuesPushButton->setText(tr("Clear previous values")); + break; + case Settings::AdoptFields::WithinDirectory: + m_ui->keepPreviousValuesPushButton->setText(tr("Keep previous values in same dir")); + break; + case Settings::AdoptFields::Always: + m_ui->keepPreviousValuesPushButton->setText(tr("Keep previous values")); + break; + } +} + /*! * \brief Inserts the title from the filename if no title is available from the tags. * \remarks Does nothing if there are no tags assigned or if this feature is not enabled. @@ -1351,14 +1366,15 @@ void TagEditorWidget::handleReturnPressed() void TagEditorWidget::handleKeepPreviousValuesActionTriggered(QAction *action) { - auto &settings = Settings::values().editor; + auto &adoptFields = Settings::values().editor.adoptFields; if (action == m_ui->actionKeep_previous_values_never) { - settings.adoptFields = Settings::AdoptFields::Never; + adoptFields = Settings::AdoptFields::Never; } else if (action == m_ui->actionKeep_previous_values_within_same_dir) { - settings.adoptFields = Settings::AdoptFields::WithinDirectory; + adoptFields = Settings::AdoptFields::WithinDirectory; } else if (action == m_ui->actionKeep_previous_values_always) { - settings.adoptFields = Settings::AdoptFields::Always; + adoptFields = Settings::AdoptFields::Always; } + updateKeepPreviousValuesButton(); } /*! @@ -1379,6 +1395,7 @@ void TagEditorWidget::applySettingsFromDialog() m_ui->actionKeep_previous_values_always->setChecked(true); break; } + updateKeepPreviousValuesButton(); m_ui->actionManage_tags_automatically_when_loading_file->setChecked(settings.tagPocessing.autoTagManagement); foreachTagEdit(bind(&TagEdit::setCoverButtonsHidden, _1, settings.editor.hideCoverButtons)); // ensure info view is displayed/not displayed according to settings diff --git a/gui/tageditorwidget.h b/gui/tageditorwidget.h index 182d96b..3ab5312 100644 --- a/gui/tageditorwidget.h +++ b/gui/tageditorwidget.h @@ -122,6 +122,7 @@ private: void updateTagSelectionComboBox(); void updateFileStatusStatus(); void updateTagManagementMenu(); + void updateKeepPreviousValuesButton(); void insertTitleFromFilename(); bool confirmCreationOfId3TagForUnsupportedFile(); diff --git a/gui/tageditorwidget.ui b/gui/tageditorwidget.ui index e148385..5ce5d47 100644 --- a/gui/tageditorwidget.ui +++ b/gui/tageditorwidget.ui @@ -308,7 +308,7 @@ currently shown tag. true - No, disable this feature + Clear previous values @@ -316,7 +316,7 @@ currently shown tag. true - Yes, but only if both files are in the same directory + Keep previous values, but only if both files are in the same directory @@ -324,7 +324,7 @@ currently shown tag. true - Yes, regardless where the files are stored + Keep previous values, regardless where the files are stored