Additional user feedback and error handling tweaks. Progress indicators and notificat...
[vlc-remote] / browsemainwindow.cpp
index 27b84b2..51437de 100644 (file)
@@ -160,14 +160,14 @@ void BrowseMainWindow::onBrowse() {
 
 void BrowseMainWindow::onAddToPlaylist() {
     QUrl url = QUrl("http://"+mIp+"/requests/status.xml?command=in_enqueue");
-    url.addEncodedQueryItem(QByteArray("input"), QUrl::toPercentEncoding(mCurrentElement.path.replace("\\", "\\\\")));
+    url.addEncodedQueryItem(QByteArray("input"), QUrl::toPercentEncoding(mCurrentElement.path.replace("\\", "\\\\").replace("'", "\\'")));
     mNetManager->get(QNetworkRequest(url));
     //mNetManager->get(QNetworkRequest(QUrl("http://"+mIp+"/requests/status.xml?command=in_enqueue&input=" + mCurrentElement.path.replace("\\", "\\\\"))));
 }
 
 void BrowseMainWindow::onPlay() {
     QUrl url = QUrl("http://"+mIp+"/requests/status.xml?command=in_play");
-    url.addEncodedQueryItem(QByteArray("input"), QUrl::toPercentEncoding(mCurrentElement.path.replace("\\", "\\\\")));
+    url.addEncodedQueryItem(QByteArray("input"), QUrl::toPercentEncoding(mCurrentElement.path.replace("\\", "\\\\").replace("'", "\\'")));
     mNetManager->get(QNetworkRequest(url));
     //mNetManager->get(QNetworkRequest(QUrl("http://"+mIp+"/requests/status.xml?command=in_play&input=" + mCurrentElement.path.replace("\\", "\\\\"))));
 }
@@ -178,11 +178,17 @@ void BrowseMainWindow::browseDirectory(QString dir) {
     url.addEncodedQueryItem(QByteArray("dir"), QUrl::toPercentEncoding(dir));
     QNetworkReply * reply = mNetManager->get(QNetworkRequest(url));
     //QNetworkReply * reply =  mNetManager->get(QNetworkRequest(QUrl("http://"+mIp+"/requests/browse.xml?dir=" + dir.replace("&", "%26").replace("\\", "\\\\"))));
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+    this->setAttribute(Qt::WA_Maemo5ShowProgressIndicator, true);
+#endif
     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 BrowseMainWindow::error(QNetworkReply::NetworkError code) {
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+    this->setAttribute(Qt::WA_Maemo5ShowProgressIndicator, false);
+#endif
     qDebug() << code;
 }
 void BrowseMainWindow::readReady() {
@@ -195,6 +201,9 @@ void BrowseMainWindow::finished(QNetworkReply * reply) {
     this->parseXmlDirectory();
     // only interested in finished signals
     disconnect(mNetManager,SIGNAL(finished(QNetworkReply *)),this,SLOT(finished(QNetworkReply *)));
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+    this->setAttribute(Qt::WA_Maemo5ShowProgressIndicator, false);
+#endif
 }
 void BrowseMainWindow::parseXmlDirectory() {
     QDomDocument doc;