diff options
Diffstat (limited to 'src/plugins')
| -rw-r--r-- | src/plugins/General/library/library.cpp | 11 | ||||
| -rw-r--r-- | src/plugins/General/library/library.h | 2 | ||||
| -rw-r--r-- | src/plugins/General/library/settingsdialog.cpp | 23 | ||||
| -rw-r--r-- | src/plugins/General/library/settingsdialog.h | 3 |
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(); |
