From df8bafe161e2a74437a7d69ae856c94370d5be93 Mon Sep 17 00:00:00 2001 From: David Sansome Date: Sat, 12 Nov 2011 18:18:40 +0000 Subject: [PATCH] Only update di.fm, sky.fm and somafm tree items if they've already been expanded by the user. Fixes duplicate radio streams appearing on first run if the user uses global search before looking in the Internet tab. --- src/internet/digitallyimportedservicebase.cpp | 5 ++++- src/internet/somafmservice.cpp | 6 +++++- src/translations/translations.pot | 8 ++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/internet/digitallyimportedservicebase.cpp b/src/internet/digitallyimportedservicebase.cpp index 3b1b1f03b..7a4e8e884 100644 --- a/src/internet/digitallyimportedservicebase.cpp +++ b/src/internet/digitallyimportedservicebase.cpp @@ -121,7 +121,10 @@ void DigitallyImportedServiceBase::RefreshStreamsFinished(QNetworkReply* reply, saved_channels_.Update(channels); - PopulateStreams(); + // Only update the item's children if it's already been expanded + if (root_->hasChildren()) + PopulateStreams(); + emit StreamsChanged(); } diff --git a/src/internet/somafmservice.cpp b/src/internet/somafmservice.cpp index 3fb992041..f161154d0 100644 --- a/src/internet/somafmservice.cpp +++ b/src/internet/somafmservice.cpp @@ -121,7 +121,11 @@ void SomaFMService::RefreshStreamsFinished(QNetworkReply* reply, int task_id) { } streams_.Update(list); - PopulateStreams(); + + // Only update the item's children if it's already been expanded + if (root_->hasChildren()) + PopulateStreams(); + emit StreamsChanged(); } diff --git a/src/translations/translations.pot b/src/translations/translations.pot index 94919fa92..a432b5404 100644 --- a/src/translations/translations.pot +++ b/src/translations/translations.pot @@ -1015,7 +1015,7 @@ msgstr "" msgid "Configure library..." msgstr "" -#: internet/digitallyimportedservicebase.cpp:182 +#: internet/digitallyimportedservicebase.cpp:185 #: ../bin/src/ui_globalsearchsettingspage.h:174 msgid "Configure..." msgstr "" @@ -1618,7 +1618,7 @@ msgstr "" msgid "Error loading %1" msgstr "" -#: internet/digitallyimportedservicebase.cpp:204 +#: internet/digitallyimportedservicebase.cpp:207 #: internet/digitallyimportedurlhandler.cpp:73 msgid "Error loading di.fm playlist" msgstr "" @@ -2766,7 +2766,7 @@ msgstr "" msgid "Only show the first" msgstr "" -#: internet/digitallyimportedservicebase.cpp:175 +#: internet/digitallyimportedservicebase.cpp:178 #, qt-format msgid "Open %1 in browser" msgstr "" @@ -3164,7 +3164,7 @@ msgstr "" msgid "Refresh station list" msgstr "" -#: internet/digitallyimportedservicebase.cpp:178 +#: internet/digitallyimportedservicebase.cpp:181 msgid "Refresh streams" msgstr ""