X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fsettingsdlg.cpp;h=e596a66663f66375f79bfb654d27c91ad7d8dc09;hb=97e46a541f23ab50dc1fcb242f9b5eff658926c5;hp=f7b4cfac01890a1fd8d8801a4605fcce35bae5ca;hpb=b63979eac8794f80a63034a8b2f3814a1046cde9;p=irwi diff --git a/src/settingsdlg.cpp b/src/settingsdlg.cpp index f7b4cfa..e596a66 100644 --- a/src/settingsdlg.cpp +++ b/src/settingsdlg.cpp @@ -15,7 +15,7 @@ SettingsDlg::SettingsDlg(QWidget *parent) : QDialog(parent) - , m_busy(false) + , m_busy(true) , m_netConfMan(NULL) { QSettings settings(this); @@ -68,21 +68,19 @@ SettingsDlg::SettingsDlg(QWidget *parent) QString selectedRemote = settings.value("remoteName", "").toString(); if (selectedRemote == "") { m_remoteNameLabel->setText(tr("No remote selected")); - enableRateBtns(false); } else { // Create remote by name and update it's info if online - m_busy = true; m_remote = Remote(selectedRemote); connect(&m_remote, SIGNAL(infoUpdated()), this, SLOT(updateRemoteInfo())); m_remoteNameLabel->setText(selectedRemote); - m_netConfMan = new QTM_PREPEND_NAMESPACE( - QNetworkConfigurationManager)(this); - connect(m_netConfMan, SIGNAL(updateCompleted()), - this, SLOT(onNetworkStatusUpdate())); - m_netConfMan->updateConfigurations(); - enableRateBtns(false); } + m_netConfMan = new QTM_PREPEND_NAMESPACE( + QNetworkConfigurationManager)(this); + connect(m_netConfMan, SIGNAL(updateCompleted()), + this, SLOT(onNetworkStatusUpdate())); + m_netConfMan->updateConfigurations(); + enableRateBtns(false); } SettingsDlg::~SettingsDlg() @@ -118,7 +116,6 @@ void SettingsDlg::showSelectRemoteDlg() connect(&dlg, SIGNAL(remoteChanged(Remote)), this, SLOT(setRemote(Remote))); dlg.exec(); - onNetworkStatusUpdate(); } void SettingsDlg::showAboutDlg() @@ -138,13 +135,16 @@ void SettingsDlg::setRemote(Remote r) void SettingsDlg::onNetworkStatusUpdate() { - if (m_netConfMan->isOnline()) { + if (m_netConfMan->isOnline() && + QSettings(this).value("remoteName", "").toString() != "") { setBusy(); m_remote.updateInfo(); enableRateBtns(); - } else { + } else if (!m_netConfMan->isOnline()) { m_ratingLabel->setText(tr("Offline")); setBusy(false); + } else { + setBusy(false); } }