From e83f78821c1b4d793a68af7d37551a73d22cbd04 Mon Sep 17 00:00:00 2001
From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
Date: Mon, 7 Jan 2019 18:17:07 -0500
Subject: [PATCH] settings: limit ringtone to opus files and start in last path

Change-Id: Id17b2428d9558fb5b0aa2a01bb181d33b280925c
---
 advancedsettingswidget.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/advancedsettingswidget.cpp b/advancedsettingswidget.cpp
index 1b52c9b..612c29a 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"));
     }
 }
-- 
GitLab