Switch to side-by-side view

--- a/GUI/player/GUI_PlayerCover.cpp
+++ b/GUI/player/GUI_PlayerCover.cpp
@@ -22,10 +22,12 @@
 #include <QIcon>
 #include <QImageReader>
 #include <QImage>
+#include <QTemporaryFile>
+#include <QDir>
 
 void GUI_Player::sl_cover_fetch_done(QNetworkReply* reply)
 {
-    qDebug() << "GUI_Player::sl_cover_fetch_done";
+    // qDebug() << "GUI_Player::sl_cover_fetch_done";
     if (reply->error() != QNetworkReply::NoError) {
         sl_no_cover_available();
         return;
@@ -37,26 +39,43 @@
     if ((scolon = smime.indexOf(";")) > 0) {
         smime = smime.left(scolon);
     }
-    QByteArray imtype;
+    const char *imtype;
+    const char *suffix;
     if (!smime.compare("image/png", Qt::CaseInsensitive)) {
         imtype = "PNG";
-    } else     if (!smime.compare("image/jpeg", Qt::CaseInsensitive)) {
+        suffix = ".png";
+    } else if (!smime.compare("image/jpeg", Qt::CaseInsensitive)) {
         imtype = "JPG";
-    } else     if (!smime.compare("image/gif", Qt::CaseInsensitive)) {
+        suffix = ".jpg";
+    } else if (!smime.compare("image/gif", Qt::CaseInsensitive)) {
         imtype = "GIF";
+        suffix = ".gif";
     } else {
         qDebug() << "GUI_Player::sl_cover_fetch_done: unsupported mime type: "<<
             smime;
         sl_no_cover_available();
         return;
     }
-    QImageReader reader((QIODevice*)reply, imtype);
-    reader.setAutoDetectImageFormat(false);
+    QByteArray imdata = reply->readAll();
+
+    QString tpath = 
+        QDir(QDir::tempPath()).absoluteFilePath(QString::fromUtf8("XXXXXX")
+                                                + suffix);
+
+    if (m_covertempfile) {
+        delete(m_covertempfile);
+        m_covertempfile = 0;
+    }
+    m_covertempfile = new QTemporaryFile(tpath, this);
+    if (m_covertempfile) {
+        m_covertempfile->open();
+        m_covertempfile->write(imdata);
+        m_covertempfile->close();
+    }
 
     QImage image;
-    if (!reader.read(&image)) {
-        qDebug() << "GUI_Player::sl_vover_fetch_done: image read failed " << 
-            reader.errorString();
+    if (!image.loadFromData(imdata, imtype)) {
+        qDebug() << "GUI_Player::sl_cover_fetch_done: image read failed ";
         sl_no_cover_available();
         return;
     }
@@ -64,6 +83,12 @@
     QPixmap pixmap;
     pixmap.convertFromImage(image);
     ui->albumCover->setIcon(QIcon(pixmap));
+
+    QString htmlfrag("<img src=\"");
+    htmlfrag += m_covertempfile->fileName();
+    htmlfrag += "\">";
+    ui->albumCover->setToolTip(htmlfrag);
+
     ui->albumCover->repaint();
     reply->deleteLater();
 }