aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/General/library/library.cpp11
-rw-r--r--src/plugins/General/library/library.h2
-rw-r--r--src/plugins/General/library/settingsdialog.cpp23
-rw-r--r--src/plugins/General/library/settingsdialog.h3
4 files changed, 32 insertions, 7 deletions
diff --git a/src/plugins/General/library/library.cpp b/src/plugins/General/library/library.cpp
index cd0641cd9..815f06527 100644
--- a/src/plugins/General/library/library.cpp
+++ b/src/plugins/General/library/library.cpp
@@ -18,6 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
+#include <QSettings>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
@@ -30,9 +31,9 @@
#include <QJsonObject>
#include <QHash>
#include <QtConcurrent>
-#include <qmmpui/uihelper.h>
+#include <qmmp/qmmp.h>
#include <qmmp/metadatamanager.h>
-#include <qmmp/soundcore.h>
+#include <qmmpui/uihelper.h>
//#include "historywindow.h"
#include "library.h"
@@ -59,6 +60,9 @@ Library::Library(QObject *parent) : QObject(parent)
}
}
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ m_dirs = settings.value("Library/dirs").toStringList();
+
// QAction *action = new QAction(tr("History"), this);
// action->setIcon(QIcon::fromTheme("text-x-generic"));
// UiHelper::instance()->addAction(action, UiHelper::TOOLS_MENU);
@@ -91,8 +95,7 @@ void Library::showLibraryWindow()
void Library::startDirectoryScanning()
{
m_filters = MetaDataManager::instance()->nameFilters();
- QStringList dirs = { "/home/user" };
- m_future = QtConcurrent::run(this, &Library::scanDirectories, dirs);
+ m_future = QtConcurrent::run(this, &Library::scanDirectories, m_dirs);
}
bool Library::createTables()
diff --git a/src/plugins/General/library/library.h b/src/plugins/General/library/library.h
index 18f9dfb9f..b1adace09 100644
--- a/src/plugins/General/library/library.h
+++ b/src/plugins/General/library/library.h
@@ -57,7 +57,7 @@ private:
void removeIgnoredTracks(QList<TrackInfo *> *tracks, const QStringList &ignoredPaths);
QFuture<bool> m_future;
- QStringList m_filters;
+ QStringList m_filters, m_dirs;
bool m_stopped = false;
};
diff --git a/src/plugins/General/library/settingsdialog.cpp b/src/plugins/General/library/settingsdialog.cpp
index dd039eaf6..275478bc7 100644
--- a/src/plugins/General/library/settingsdialog.cpp
+++ b/src/plugins/General/library/settingsdialog.cpp
@@ -1,5 +1,8 @@
-#include <QDir>
+#include <qmmp/qmmp.h>
#include <qmmpui/filedialog.h>
+#include <QDir>
+
+#include <QSettings>
#include "settingsdialog.h"
#include "ui_settingsdialog.h"
@@ -8,7 +11,10 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
m_ui(new Ui::SettingsDialog)
{
m_ui->setupUi(this);
- m_lastPath = QDir::homePath();
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ m_lastPath = settings.value("Library/last_path", QDir::homePath()).toString();
+ QStringList dirs = settings.value("Library/dirs").toStringList();
+ m_ui->dirsListWidget->addItems(dirs);
}
SettingsDialog::~SettingsDialog()
@@ -16,6 +22,19 @@ SettingsDialog::~SettingsDialog()
delete m_ui;
}
+void SettingsDialog::accept()
+{
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ settings.setValue("Library/last_path", m_lastPath);
+
+ QStringList dirs;
+ for(int i = 0; i < m_ui->dirsListWidget->count(); ++i)
+ dirs << m_ui->dirsListWidget->item(i)->text();
+
+ settings.setValue("Library/dirs", dirs);
+ QDialog::accept();
+}
+
void SettingsDialog::on_addDirButton_clicked()
{
QString path = FileDialog::getExistingDirectory(this, tr("Select Directories for Scanning"), m_lastPath);
diff --git a/src/plugins/General/library/settingsdialog.h b/src/plugins/General/library/settingsdialog.h
index e35e7dbb7..06d1c7cd6 100644
--- a/src/plugins/General/library/settingsdialog.h
+++ b/src/plugins/General/library/settingsdialog.h
@@ -15,6 +15,9 @@ public:
explicit SettingsDialog(QWidget *parent = 0);
~SettingsDialog();
+public slots:
+ void accept() override;
+
private slots:
void on_addDirButton_clicked();
void on_removeDirButton_clicked();