diff options
Diffstat (limited to 'playerwidget.cpp')
-rw-r--r-- | playerwidget.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/playerwidget.cpp b/playerwidget.cpp index 0a14d22..2ad2246 100644 --- a/playerwidget.cpp +++ b/playerwidget.cpp @@ -17,6 +17,7 @@ #include <QHash> #include <QDir> #include <QMimeDatabase> +#include <QSettings> #include <QApplication> #include <algorithm> @@ -35,6 +36,10 @@ PlayerWidget::PlayerWidget(QWidget *parent) : QWidget(parent), mDurSecs(0), mPla createActions(); } +PlayerWidget::~PlayerWidget(){ + writeSettings(); +} + void PlayerWidget::setupGui(){ //the Player mPlayer = new QMediaPlayer(this); @@ -480,8 +485,9 @@ void PlayerWidget::doPopulateByFolder(QString dir){ mFolderModel->clear(); mFolderModel->setHorizontalHeaderLabels(QStringList() << tr("Name")); if(dir.isEmpty()){ - dir = QDir::homePath(); + dir = mCurDir; } + mCurDir = dir; QDir d(dir); QMimeDatabase db; QStandardItem *root = mFolderModel->invisibleRootItem(); @@ -529,6 +535,7 @@ void PlayerWidget::viewDoubleClicked(const QModelIndex &idx){ QFileInfo fi(fp); if(fi.isDir()){ doPopulateByFolder(fp); + mCurDir = fp; }else{ addToPlayList(); } @@ -912,3 +919,17 @@ void PlayerWidget::expandRecursive(const QModelIndex &idx){ } } } + +void PlayerWidget::readSettings(){ + QSettings s; + int vol = s.value("volume").toInt(); + mVolumeSlider->setValue(vol); + QString dir = s.value("folderdir", QDir::homePath()).toString(); + mCurDir = dir; +} + +void PlayerWidget::writeSettings(){ + QSettings s; + s.setValue("volume", mVolumeSlider->value()); + s.setValue("folderdir", mCurDir); +} |