albumart DBus method
authorNikolay Tischenko <niktischenko@gmail.com>
Sun, 13 Mar 2011 06:40:00 +0000 (12:40 +0600)
committerNikolay Tischenko <niktischenko@gmail.com>
Sun, 13 Mar 2011 06:40:00 +0000 (12:40 +0600)
src/coverfinder.cpp
src/dbusadaptor.h
src/player/player.h
src/playerform.cpp

index a10dab0..8449be7 100644 (file)
@@ -134,6 +134,7 @@ bool CoverFinder::_extract(QString file) {
                QImage img;
                img.loadFromData((const uchar *) pic->picture().data(), pic->picture().size());
                emit found(img);
+               emit foundPath("");
                return true;
        }
        if (f != NULL) delete f;
@@ -149,6 +150,7 @@ bool CoverFinder::_async_find(QFileInfo filePath, Track track) {
        if (!_find(filePath.absolutePath()) && !_tfind(track.metadata().artist(), track.metadata().album()) &&
            !_malfind(track) && !_extract(filePath.absoluteFilePath())) {
                emit found(_defaultCover);
+               emit foundPath("");
                return false;
        }
        return true;
index d5ecc91..9d84d89 100644 (file)
@@ -69,6 +69,9 @@ class DBusAdaptop: public QDBusAbstractAdaptor
                    "    <method name=\"state\">\n"
                    "      <arg direction=\"out\" type=\"s\"/>\n"
                    "    </method>\n"
+                   "    <method name=\"albumart\">\n"
+                   "      <arg direction=\"out\" type=\"s\"/>\n"
+                   "    </method>\n"
                    "  </interface>\n"
                    "")
 public:
index 9a00ebf..ab26c9d 100644 (file)
@@ -90,6 +90,8 @@ namespace SomePlayer {
                        QString title();
                        PlayerState state() {return _state;}
                        QString stateText();
+                       QString albumart() {return _albumart;}
+                       void setAlbumart(QString albumart) {_albumart = albumart;}
                private slots:
                        void _stateChanged(Phonon::State, Phonon::State);
                        void _tick(qint64);
@@ -112,6 +114,7 @@ namespace SomePlayer {
                        void _truncate_history();
                        int _awaiting_seek_pos;
                        bool _awaiting_seek;
+                       QString _albumart;
                };
        };
 };
index b2f1eba..d754235 100644 (file)
@@ -176,6 +176,7 @@ PlayerForm::PlayerForm(Library* lib, QWidget *parent) :
        _dbusadaptor = new DBusAdaptop(_player);
        connect(_player, SIGNAL(stateChanged(PlayerState)), _dbusadaptor, SIGNAL(stateChanged()));
        connect(_coverfinder, SIGNAL(foundPath(QString)), _dbusadaptor, SIGNAL(albumArt(QString)));
+       connect(_coverfinder, SIGNAL(foundPath(QString)), _player, SLOT(setAlbumart(QString)));
        QDBusConnection connection = QDBusConnection::sessionBus();
        bool ret = connection.registerService(_SERVICE_NAME_);
        ret = connection.registerObject("/", _player);