Album art fix for [#6370] Album art fails to load on first track
[vlc-remote] / src / accountdialog.cpp
index ecdb02f..cc97fec 100644 (file)
 #include <QTcpSocket>
 #include <QFuture>
 #include <QtConcurrentMap>
+#include "appsettings.h"
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+#include <QMaemo5InformationBox>
+#endif
 
 
 
@@ -71,19 +75,6 @@ void AccountDialog::add()
     dialog->exec();
     load();
 }
-QString AccountDialog::currentIp()
-{
-
-    QSettings settings;
-    QString useKey = settings.value("config/currentKey").toString();
-    QString useIp ;
-    if ( !useKey.isEmpty())
-        useIp = settings.value("account/"+useKey).toString();
-
-    else return QString();
-
-    return useIp;
-}
 
 void AccountDialog::load()
 {
@@ -94,12 +85,12 @@ void AccountDialog::load()
 
     QSettings settings;
 
-    QString useKey = settings.value("config/currentKey").toString();
+    QString useKey = AppSettings::getCurrentKey(); // settings.value("config/currentKey").toString();
 
     QList <QListWidgetItem> asycItems;
 
-    settings.beginGroup("account");
-    foreach ( QString key, settings.allKeys())
+    //settings.beginGroup("account");
+    foreach ( QString key, AppSettings::getAllAccounts()) //settings.allKeys())
     {
         QListWidgetItem * item = new QListWidgetItem;
 
@@ -111,9 +102,11 @@ void AccountDialog::load()
             item->setFont(font);
         }
         ui->listWidget->addItem(item);
-        asycItems.append(*item);
+        if (AppSettings::isConnected()) {
+            asycItems.append(*item);
+        }
     }
-    settings.endGroup();    
+    //settings.endGroup();
 
 
     // ... create and add in the list widget
@@ -121,7 +114,14 @@ void AccountDialog::load()
     //  QFuture<QListWidgetItem> itemFutur = QtConcurrent::mapped(asycItems, asyncTestItem);
 
 
-    mFuturWatcher->setFuture(QtConcurrent::mapped(asycItems, asyncTestItem));
+    if (AppSettings::isConnected()) {
+        mFuturWatcher->setFuture(QtConcurrent::mapped(asycItems, asyncTestItem));
+    }
+    else {
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+        QMaemo5InformationBox::information(this, tr("No network connection available!"), QMaemo5InformationBox::DefaultTimeout);
+#endif
+    }
 }
 
 QListWidgetItem AccountDialog::asyncTestItem(const QListWidgetItem& item)
@@ -144,7 +144,7 @@ QListWidgetItem AccountDialog::asyncTestItem(const QListWidgetItem& item)
     else
         socket->connectToHost(host,8080);
 
-    if (socket->waitForConnected(1000))
+    if (socket->waitForConnected(AppSettings::getPingTimeout()))
         newItem.setIcon(QIcon::fromTheme("widgets_tickmark_list"));
     else
         newItem.setIcon(QIcon::fromTheme("statusarea_presence_busy_error"));
@@ -196,8 +196,9 @@ void AccountDialog::rem()
 void AccountDialog::use()
 {
     QString currentKey = ui->listWidget->currentItem()->text();
-    QSettings settings;
-    settings.setValue("config/currentKey", currentKey);
+    AppSettings::setCurrentKey(currentKey);
+    //QSettings settings;
+    //settings.setValue("config/currentKey", currentKey);
     load();
     emit accept();
 }