Volume level storing, fixed bug with removing playlists
authorNikolay Tischenko <niktischenko@gmail.com>
Wed, 13 Oct 2010 11:26:33 +0000 (18:26 +0700)
committerNikolay Tischenko <niktischenko@gmail.com>
Wed, 13 Oct 2010 11:26:33 +0000 (18:26 +0700)
src/config.cpp
src/libraryform.cpp
src/player/player.cpp
src/playerform.cpp

index 49ccfa4..d813d71 100644 (file)
@@ -32,6 +32,9 @@ Config::Config()
                _settings->setValue("ui/albumsorting", "date");
        if (_settings->value("ui/gradient").toString() == "")
                _settings->setValue("ui/gradient", "yes");
+       if (_settings->value("playback/volume").isNull()) {
+               _settings->setValue("playback/volume", 100);
+       }
 }
 
 Config::~Config() {
index f8d9a74..b2c1f41 100644 (file)
@@ -413,7 +413,8 @@ void LibraryForm::_delete_button() {
                ui->listView->selectionModel()->clearSelection();
                QQueue<int> to_delete;
                foreach (QModelIndex id, selected) {
-                       to_delete.append(id.row());
+                       if (!to_delete.contains(id.row()))
+                               to_delete.append(id.row());
                }
                qSort(to_delete);
                int count = to_delete.count();
@@ -429,12 +430,13 @@ void LibraryForm::_delete_button() {
                QModelIndexList selected = ui->listView->selectionModel()->selectedIndexes();
                QQueue<int> to_delete;
                foreach (QModelIndex id, selected) {
-                       to_delete.append(id.row());
+                       if (!to_delete.contains(id.row()))
+                               to_delete.append(id.row());
                }
                qSort(to_delete);
                int count = to_delete.count();
                for (int i = count-1; i >= 0; i--) {
-                       QString name = _model->item(to_delete.at(i))->text();
+                       QString name = _model->item(to_delete.at(i), 1)->text();
                        if (name != _CURRENT_PLAYLIST_SUBST_) {
                                _lib->removePlaylist(name);
                                _model->removeRow(to_delete.at(i));
index 9b105ad..d7594a6 100644 (file)
@@ -267,6 +267,7 @@ void Player::toggleRepeat() {
 
 void Player::setVolume(int v) {
        _output->setVolume(v*0.01);
+       _config.setValue("playback/volume", v);
 }
 
 void Player::equalizerValue(int band, double *val) {
index 9558416..24e3b8e 100644 (file)
@@ -72,6 +72,8 @@ PlayerForm::PlayerForm(Library* lib, QWidget *parent) :
        }
        ui->volumeSlider->setMinimum(0);
        ui->volumeSlider->setMaximum(100);
+       ui->volumeSlider->setValue(config.getValue("playback/volume").toInt());
+       _player->setVolume(ui->volumeSlider->value());
        ui->volumeSlider->hide();
        ui->seekSlider->setEnabled(false);
        ui->progressLayout->removeItem(ui->seekSpacer);