diff --git a/advancedsettingswidget.cpp b/advancedsettingswidget.cpp
index 654c6f4..e5e226a 100644
--- a/advancedsettingswidget.cpp
+++ b/advancedsettingswidget.cpp
@@ -155,7 +155,7 @@
     QString fileUrl;
     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("Audio Files (*.wav, *.ogg, *.opus, *.mp3)"));
+    fileUrl = QFileDialog::getOpenFileName(this, QString("Select a new ringtone"), openPath, tr("Audio Files (*.wav *.ogg *.opus *.mp3 *aiff *wma)"));
     if (!fileUrl.isEmpty()) {
         auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId());
         confProps.Ringtone.ringtonePath = fileUrl.toStdString();
diff --git a/photoboothwidget.cpp b/photoboothwidget.cpp
index 2644d97..cab2241 100644
--- a/photoboothwidget.cpp
+++ b/photoboothwidget.cpp
@@ -90,7 +90,7 @@
     auto picturesDir = QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).first();
     fileName_ = QFileDialog::getOpenFileName(this, tr("Choose File"),
                                              picturesDir,
-                                             tr("Image Files (*.jpg, *.jpeg, *.png)"));
+                                             tr("Image Files (*.jpg *.jpeg *.png)"));
     if (fileName_.isEmpty()) {
         Video::PreviewManager::instance().startPreview();
         return;
diff --git a/setavatardialog.cpp b/setavatardialog.cpp
index 68ad8a6..745b7ae 100644
--- a/setavatardialog.cpp
+++ b/setavatardialog.cpp
@@ -23,6 +23,7 @@
 #include <QWindow>
 #include <QtMultimedia\QCameraImageCapture>
 #include <QBuffer>
+#include <QStandardPaths>
 
 #include "setavatardialog.h"
 #include "ui_setavatardialog.h"
@@ -137,8 +138,9 @@
 void
 SetAvatarDialog::openFileManager()
 {
+    auto picturesDir = QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).first();
     rawPixmap_.load(QFileDialog::getOpenFileName(this,
-        tr("Open Image"), "", tr("Image Files (*.png *.jpg *.bmp)")));
+        tr("Open Image"), picturesDir, tr("Image Files (*.jpg *.jpeg *.png *.bmp)")));
     editMode();
 }
 
