projects
/
someplayer
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b5a3d3d
)
Restoring eq after start, checkable fav button
author
Nikolay Tischenko
<niktischenko@gmail.com>
Sun, 21 Nov 2010 14:17:43 +0000
(20:17 +0600)
committer
Nikolay Tischenko
<niktischenko@gmail.com>
Sun, 21 Nov 2010 14:17:43 +0000
(20:17 +0600)
src/dbstorage.cpp
patch
|
blob
|
history
src/dbstorage.h
patch
|
blob
|
history
src/dbusadaptor.cpp
patch
|
blob
|
history
src/equalizerdialog.cpp
patch
|
blob
|
history
src/library.cpp
patch
|
blob
|
history
src/library.h
patch
|
blob
|
history
src/mainwindow.cpp
patch
|
blob
|
history
src/player/player.cpp
patch
|
blob
|
history
src/player/player.h
patch
|
blob
|
history
src/playerform.cpp
patch
|
blob
|
history
src/ui/playerform.ui
patch
|
blob
|
history
diff --git
a/src/dbstorage.cpp
b/src/dbstorage.cpp
index
2b9d03f
..
71f1a36
100644
(file)
--- a/
src/dbstorage.cpp
+++ b/
src/dbstorage.cpp
@@
-118,6
+118,9
@@
void DbStorage::_prepare_queries() {
_check_directory_query = new QSqlQuery(db);
_check_directory_query->prepare("SELECT id from directories WHERE path = :path");
_check_directory_query = new QSqlQuery(db);
_check_directory_query->prepare("SELECT id from directories WHERE path = :path");
+ _check_favorite_query = new QSqlQuery(db);
+ _check_favorite_query->prepare("SELECT 'yes' from favorites WHERE track_id in (SELECT id from tracks WHERE source = :source)");
+
_insert_artist_query = new QSqlQuery(db);
_insert_artist_query->prepare("INSERT INTO artist (name, uname) values (:name, :uname)");
_insert_artist_query = new QSqlQuery(db);
_insert_artist_query->prepare("INSERT INTO artist (name, uname) values (:name, :uname)");
@@
-663,3
+666,14
@@
void DbStorage::removeFromFavorites(Track track) {
query->bindValue(":source", track.source());
query->exec();
}
query->bindValue(":source", track.source());
query->exec();
}
+
+bool DbStorage::isFavorite(Track track) {
+ QSqlQuery *query = _check_favorite_query;
+ query->bindValue(":source", track.source());
+ query->exec();
+ if (query->next()) {
+ QString ans = query->value(0).toString();
+ return ans == "yes";
+ }
+ return false;
+}
diff --git
a/src/dbstorage.h
b/src/dbstorage.h
index
7e7e8e8
..
60b63ee
100644
(file)
--- a/
src/dbstorage.h
+++ b/
src/dbstorage.h
@@
-69,6
+69,8
@@
namespace SomePlayer {
void deleteTracksFrom(QString path);
void checkTracksFrom(QString path);
void deleteTracksFrom(QString path);
void checkTracksFrom(QString path);
+ bool isFavorite(Track);
+
private:
QSqlDatabase db;
void _create_database_structure();
private:
QSqlDatabase db;
void _create_database_structure();
@@
-101,6
+103,7
@@
namespace SomePlayer {
QSqlQuery *_check_artist_query;
QSqlQuery *_check_album_query;
QSqlQuery *_check_directory_query;
QSqlQuery *_check_artist_query;
QSqlQuery *_check_album_query;
QSqlQuery *_check_directory_query;
+ QSqlQuery *_check_favorite_query;
QSqlQuery *_insert_artist_query;
QSqlQuery *_insert_album_query;
QSqlQuery *_insert_artist_query;
QSqlQuery *_insert_album_query;
diff --git
a/src/dbusadaptor.cpp
b/src/dbusadaptor.cpp
index
64a9d91
..
945ced5
100644
(file)
--- a/
src/dbusadaptor.cpp
+++ b/
src/dbusadaptor.cpp
@@
-103,14
+103,13
@@
void DBusAdaptop::processBTSignal(QString event, QString state) {
if (msec > _DBUS_ACTION_TIMEOUT_) {
if (event == "ButtonPressed") {
if (state == "next-song") {
if (msec > _DBUS_ACTION_TIMEOUT_) {
if (event == "ButtonPressed") {
if (state == "next-song") {
- QMetaObject::invokeMethod(parent(), "next");
+ next();
} else if (state == "previous-song") {
} else if (state == "previous-song") {
- QMetaObject::invokeMethod(parent(), "prev");
+ prev();
} else if (state == "play-cd" || state == "pause-cd") {
} else if (state == "play-cd" || state == "pause-cd") {
- QMetaObject::invokeMethod(parent(), "toggle");
+ toggle();
}
}
}
_time = t;
}
}
}
}
_time = t;
}
-
diff --git
a/src/equalizerdialog.cpp
b/src/equalizerdialog.cpp
index
dd0a8e5
..
c828550
100644
(file)
--- a/
src/equalizerdialog.cpp
+++ b/
src/equalizerdialog.cpp
@@
-78,6
+78,12
@@
EqualizerDialog::EqualizerDialog(QWidget *parent) :
connect(ui->enableToggleButton, SIGNAL(clicked()), this, SLOT(_state_changed()));
connect(ui->saveButton, SIGNAL(clicked()), this, SLOT(_save_preset()));
connect(ui->presetComboBox, SIGNAL(activated(QString)), this, SLOT(_load_preset(QString)));
connect(ui->enableToggleButton, SIGNAL(clicked()), this, SLOT(_state_changed()));
connect(ui->saveButton, SIGNAL(clicked()), this, SLOT(_save_preset()));
connect(ui->presetComboBox, SIGNAL(activated(QString)), this, SLOT(_load_preset(QString)));
+
+ Config config;
+ if (config.equalizerEnabled()) {
+ setEqualizerEnabled(true);
+ _load_preset("");
+ }
}
EqualizerDialog::~EqualizerDialog()
}
EqualizerDialog::~EqualizerDialog()
diff --git
a/src/library.cpp
b/src/library.cpp
index
0aeddad
..
ee94569
100644
(file)
--- a/
src/library.cpp
+++ b/
src/library.cpp
@@
-232,3
+232,7
@@
void Library::updatePlaylists() {
void Library::removeFromFavorites(Track track) {
_library_storage->removeFromFavorites(track);
}
void Library::removeFromFavorites(Track track) {
_library_storage->removeFromFavorites(track);
}
+
+bool Library::isFavorite(Track track) {
+ return _library_storage->isFavorite(track);
+}
diff --git
a/src/library.h
b/src/library.h
index
ed9b2be
..
9fc9a1a
100644
(file)
--- a/
src/library.h
+++ b/
src/library.h
@@
-81,6
+81,8
@@
namespace SomePlayer {
void updateAll();
void deleteDirectories(QList<QString> directories);
void updateAll();
void deleteDirectories(QList<QString> directories);
+ bool isFavorite(Track);
+
signals:
void started();
void done();
signals:
void started();
void done();
diff --git
a/src/mainwindow.cpp
b/src/mainwindow.cpp
index
5f85bdd
..
ab982f4
100644
(file)
--- a/
src/mainwindow.cpp
+++ b/
src/mainwindow.cpp
@@
-250,7
+250,7
@@
void MainWindow::_timeout() {
QString hp = h < 10 ? QString("0%1").arg(h) : QString("%1").arg(h);
QString mp = m < 10 ? QString("0%1").arg(m) : QString("%1").arg(m);
QString sp = s < 10 ? QString("0%1").arg(s) : QString("%1").arg(s);
QString hp = h < 10 ? QString("0%1").arg(h) : QString("%1").arg(h);
QString mp = m < 10 ? QString("0%1").arg(m) : QString("%1").arg(m);
QString sp = s < 10 ? QString("0%1").arg(s) : QString("%1").arg(s);
- _player_form->showCountdown(hp+":"+mp+":"+sp);
+ _player_form->showCountdown(tr("Music off: ")+hp+":"+mp+":"+sp);
}
}
}
}
@@
-275,17
+275,6
@@
void MainWindow::_equalizer_value_changed(int band, int val) {
void MainWindow::settings() {
_settings_form->show();
void MainWindow::settings() {
_settings_form->show();
-
-// Config config;
-// _library_form->refresh();
-// _player_form->updateIcons();
-// _library_form->updateIcons();
-// _manage_library_form->updateIcons();
-// _player_form->checkGradient();
-// _library_form->checkGradient();
-// _directory_form->updateIcons();
-// _directory_form->updateGradient();
-// updateTranslations();
}
void MainWindow::_change_orientation() {
}
void MainWindow::_change_orientation() {
diff --git
a/src/player/player.cpp
b/src/player/player.cpp
index
1a83844
..
758b09e
100644
(file)
--- a/
src/player/player.cpp
+++ b/
src/player/player.cpp
@@
-326,3
+326,11
@@
QString Player::title() {
return "";
return _playlist.tracks().at(_current).metadata().title();
}
return "";
return _playlist.tracks().at(_current).metadata().title();
}
+
+Track Player::current() {
+ if (_current >= 0) {
+ return _playlist.tracks().at(_current);
+ } else {
+ return Track();
+ }
+}
diff --git
a/src/player/player.h
b/src/player/player.h
index
f756ac1
..
2ecc032
100644
(file)
--- a/
src/player/player.h
+++ b/
src/player/player.h
@@
-69,6
+69,7
@@
namespace SomePlayer {
bool equalizerEnabled() {return _equalizer_enabled;}
bool equalizerAvailable() {return _equalizer != NULL;}
PlayerState state() {return _state;}
bool equalizerEnabled() {return _equalizer_enabled;}
bool equalizerAvailable() {return _equalizer != NULL;}
PlayerState state() {return _state;}
+ Track current();
signals:
void stateChanged (PlayerState);
signals:
void stateChanged (PlayerState);
diff --git
a/src/playerform.cpp
b/src/playerform.cpp
index
4be237f
..
5f9c089
100644
(file)
--- a/
src/playerform.cpp
+++ b/
src/playerform.cpp
@@
-241,6
+241,7
@@
void PlayerForm::_display_track(Track track) {
ui->seekSlider->setMaximum(track.metadata().length());
_tick(0, track.metadata().length());
_coverfinder->find(track);
ui->seekSlider->setMaximum(track.metadata().length());
_tick(0, track.metadata().length());
_coverfinder->find(track);
+ ui->cfavButton->setChecked(_lib->isFavorite(track));
}
void PlayerForm::_tick(int done, int all) {
}
void PlayerForm::_tick(int done, int all) {
@@
-288,7
+289,12
@@
void PlayerForm::_add_to_favorites() {
if (idx.isEmpty())
return;
int id = idx.first().row();
if (idx.isEmpty())
return;
int id = idx.first().row();
- _lib->addToFavorites(_current_playlist.tracks().at(id));
+ if (ui->cfavButton->isChecked()) {
+ _lib->addToFavorites(_current_playlist.tracks().at(id));
+ } else {
+ _lib->removeFromFavorites(_current_playlist.tracks().at(id));
+ }
+ ui->cfavButton->setChecked(_lib->isFavorite(_current_playlist.tracks().at(id)));
}
void PlayerForm::_state_changed(PlayerState state) {
}
void PlayerForm::_state_changed(PlayerState state) {
@@
-705,6
+711,7
@@
void PlayerForm::_toggle_extra_buttons() {
ui->caddButton->setEnabled(true);
ui->cdeleteButton->setEnabled(true);
ui->cfavButton->setEnabled(true);
ui->caddButton->setEnabled(true);
ui->cdeleteButton->setEnabled(true);
ui->cfavButton->setEnabled(true);
+ ui->cfavButton->setChecked(_lib->isFavorite(_player->current()));
ui->ctagButton->setEnabled(true);
ui->caddButton->setIcon(QIcon(":/icons/"+_icons_theme+"/add.png"));
ui->cdeleteButton->setIcon(QIcon(":/icons/"+_icons_theme+"/delete.png"));
ui->ctagButton->setEnabled(true);
ui->caddButton->setIcon(QIcon(":/icons/"+_icons_theme+"/add.png"));
ui->cdeleteButton->setIcon(QIcon(":/icons/"+_icons_theme+"/delete.png"));
diff --git
a/src/ui/playerform.ui
b/src/ui/playerform.ui
index
9a1b111
..
cef87fe
100644
(file)
--- a/
src/ui/playerform.ui
+++ b/
src/ui/playerform.ui
@@
-119,19
+119,12
@@
<number>0</number>
</property>
<item>
<number>0</number>
</property>
<item>
- <widget class="QLabel" name="label">
+ <widget class="QLabel" name="timeLabel">
<property name="text">
<property name="text">
- <string>Music off:</string>
+ <string>Music off: 00:00:00</string>
</property>
<property name="alignment">
</property>
<property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="timeLabel">
- <property name="text">
- <string>00:00:00</string>
+ <set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</property>
</widget>
</item>
@@
-310,6
+303,9
@@
<iconset resource="../../resources/resources.qrc">
<normaloff>:/icons/white/fav.png</normaloff>:/icons/white/fav.png</iconset>
</property>
<iconset resource="../../resources/resources.qrc">
<normaloff>:/icons/white/fav.png</normaloff>:/icons/white/fav.png</iconset>
</property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
<property name="flat">
<bool>true</bool>
</property>
<property name="flat">
<bool>true</bool>
</property>