Additional user feedback and error handling tweaks. Progress indicators and notificat...
[vlc-remote] / playermainwindow.cpp
index 1157c66..acaed45 100644 (file)
@@ -23,6 +23,7 @@
   #include "configdialog.h"
   #include "aboutdialog.h"
   #include "accountdialog.h"
+  #include "appsettings.h"
   //#include "vlcstatus.h"
 
   PlayerMainWindow::PlayerMainWindow(QWidget *parent) :
@@ -84,6 +85,9 @@
       connect(mTimer,SIGNAL(timeout()),this,SLOT(askStatus()));
       connect(ui->actionConfiguration,SIGNAL(triggered()),this,SLOT(showConfig()));
       connect(ui->actionAbout,SIGNAL(triggered()),this,SLOT(showAbout()));
+      connect(ui->actionPortrait,SIGNAL(triggered()),this,SLOT(setPortrait()));
+      connect(ui->actionLandscape,SIGNAL(triggered()),this,SLOT(setLandscape()));
+      connect(ui->actionAutoRotate,SIGNAL(triggered()),this,SLOT(setAutoRotate()));
       connect(ui->playlistButton,SIGNAL(clicked()),mPlayListMainWindow,SLOT(show()));
       connect(ui->playlistButton,SIGNAL(clicked()),mPlayListMainWindow,SLOT(showPlayList()));
       connect(ui->browseButton,SIGNAL(clicked()),mBrowserMainWindow,SLOT(show()));
       }
   }
 
+  void PlayerMainWindow::setPortrait()
+  {
+    #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+      AppSettings::setOrientation(PORTRAIT);
+    this->setAttribute(Qt::WA_Maemo5PortraitOrientation, true);
+    #endif
+  }
+
+  void PlayerMainWindow::setLandscape()
+  {
+    #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+      AppSettings::setOrientation(LANDSCAPE);
+    this->setAttribute(Qt::WA_Maemo5LandscapeOrientation, true);
+    #endif
+  }
+
+  void PlayerMainWindow::setAutoRotate()
+  {
+    #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+      AppSettings::setOrientation(AUTO_ROTATE);
+    this->setAttribute(Qt::WA_Maemo5AutoOrientation, true);
+    #endif
+  }
+
   void PlayerMainWindow::orientationChanged() {
       QRect screenGeometry = QApplication::desktop()->screenGeometry();
       mIsLandscape = (screenGeometry.width() > screenGeometry.height());
           //   rebuild display layout
           //   retrieve album art
           mHasImage = false;
-          mPlayListMainWindow->requestPlayList();
+          QTimer::singleShot(500, mPlayListMainWindow, SLOT(requestPlayList()));
       }
       // Update the buttons on the playlist window
       if (NULL != this->mPlayListMainWindow) {
           // setCoverArtFromPixmap();
       }
   }
+  void PlayerMainWindow::error(QNetworkReply::NetworkError code) {
+      qDebug() << "Error Code: " << code;
+  }
   void PlayerMainWindow::readReady() {
     QNetworkReply * reply = qobject_cast<QNetworkReply*>(sender());
     // append to buffer
     disconnect(mNetManager,SIGNAL(finished(QNetworkReply *)),this,SLOT(finished(QNetworkReply *)));
   }
   void PlayerMainWindow::getCoverArt(int id) {
+      qDebug() << "getCoverArt id=!" << id;
     mResponse.clear();
     QNetworkReply * reply =  mNetManager->get(QNetworkRequest(QUrl("http://"+mIp+"/art?id=" + QString::number(id))));
     connect(reply,SIGNAL(readyRead()),this,SLOT(readReady()));
+    connect(reply,SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(error(QNetworkReply::NetworkError)));
     connect(mNetManager,SIGNAL(finished(QNetworkReply *)),this,SLOT(finished(QNetworkReply *)));
 
   }
   void PlayerMainWindow::setCoverArt(const QByteArray data) {
+      qDebug() << "set cover art called! data.length" << data.length();
     QPixmap* image = new QPixmap();
     if (image->loadFromData(data)) {
+        qDebug() << "image loaded!";
         mHasImage = true;
         ui->labelArtLandscape->setPixmap(image->scaledToHeight(120, Qt::SmoothTransformation));
         ui->labelArtPortrait->setPixmap(image->scaledToHeight(310, Qt::SmoothTransformation));
         }
     }
     else {
+        qDebug() << "image load failed!";
         ui->labelArtPortrait->setVisible(false);
         ui->labelArtLandscape->setVisible(false);
     }
   void PlayerMainWindow::setCoverArtFromPixmap(QPixmap image) {
     mHasImage = true;
     ui->labelArtLandscape->setPixmap(image.scaledToHeight(120, Qt::SmoothTransformation));
-    ui->labelArtPortrait->setPixmap(image.scaledToHeight(310, Qt::SmoothTransformation));
+    ui->labelArtPortrait->setPixmap(image.scaledToHeight(320, Qt::SmoothTransformation));
     if (mIsLandscape) {
         ui->labelArtPortrait->setVisible(false);
         ui->labelArtLandscape->setVisible(true);