diff --git a/advancedsettingswidget.cpp b/advancedsettingswidget.cpp index 1b52c9b321e953e8a7438e1f6ae736adc6702678..612c29acb495ce2ff025e3d0d17728b2e49716dd 100644 --- a/advancedsettingswidget.cpp +++ b/advancedsettingswidget.cpp @@ -153,13 +153,15 @@ void AdvancedSettingsWidget::openFileCustomRingtone() { QString fileUrl; - fileUrl = QFileDialog::getOpenFileName(this, QString("Select a new ringtone"), QDir::currentPath() + QString("/ringtones/")); + auto oldPath = QString::fromStdString(LRCInstance::getCurrAccConfig().Ringtone.ringtonePath); + auto openPath = oldPath.isEmpty() ? QDir::currentPath() + QString("/ringtones/") : QFileInfo(oldPath).absolutePath(); + fileUrl = QFileDialog::getOpenFileName(this, QString("Select a new ringtone"), openPath, tr("Opus Files (*.opus)")); if (!fileUrl.isEmpty()) { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); confProps.Ringtone.ringtonePath = fileUrl.toStdString(); LRCInstance::editableAccountModel()->setAccountConfig(LRCInstance::getCurrAccId(), confProps); ui->btnRingtone->setText(QFileInfo(fileUrl).fileName()); - } else { + } else if (oldPath.isEmpty()) { ui->btnRingtone->setText(tr("Add a custom ringtone")); } }