Revision: 201037
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 04 Oct 2010 00:17:30 +0300
changeset 53 bb6ed1806599
parent 50 c44f9bb56771
Revision: 201037 Kit: 201039
common/radio_global.h
common/radiogenrelocalizer.h
common/radioservicedef.h
layers.sysdef.xml
package_definition.xml
radioapp/bin/fmradio_en_US.qm
radioapp/buildflags.pri
radioapp/bwins/fmradioenginewrapper_stubu.def
radioapp/bwins/fmradiouiengineu.def
radioapp/bwins/fmradiowidgetsu.def
radioapp/eabi/fmradioenginewrapper_stubu.def
radioapp/eabi/fmradiouiengineu.def
radioapp/eabi/fmradiowidgetsu.def
radioapp/radioapplication/inc/radioapplication.h
radioapp/radioapplication/resources/fmradio.ts
radioapp/radioapplication/src/radioapplication.cpp
radioapp/radioapplication/win32_stubs/afactivitystorage.h
radioapp/radioapplication/win32_stubs/win32_stubs.cpp
radioapp/radioapplication/win32_stubs/xqserviceutil.h
radioapp/radioenginewrapper/stub/radioenginewrapper_stub.pro
radioapp/radioenginewrapper/tsrc/inc/mschedulerstartandstoptimerobserver.h
radioapp/radioenginewrapper/tsrc/inc/t_radioenginewrapper.h
radioapp/radioenginewrapper/tsrc/inc/t_schedulerstartandstoptimer.h
radioapp/radioenginewrapper/tsrc/src/t_radioenginewrapper.cpp
radioapp/radioenginewrapper/tsrc/src/t_schedulerstartandstoptimer.cpp
radioapp/radioenginewrapper/tsrc/t_radioenginewrapper.pro
radioapp/radiopresetstorage/tsrc/inc/trace.h
radioapp/radiouiengine/inc/radiogenrelocalizer.h
radioapp/radiouiengine/inc/radiostationmodel.h
radioapp/radiouiengine/inc/radiostationmodel_p.h
radioapp/radiouiengine/src/radiohistorydatabase.cpp
radioapp/radiouiengine/src/radiohistoryitem.cpp
radioapp/radiouiengine/src/radiohistorymodel_p.cpp
radioapp/radiouiengine/src/radiomonitorservice.cpp
radioapp/radiouiengine/src/radiostationmodel.cpp
radioapp/radiouiengine/src/radiouiengine.cpp
radioapp/radiouiengine/tsrc/inc/mschedulerstartandstoptimerobserver.h
radioapp/radiouiengine/tsrc/inc/t_radiostation.h
radioapp/radiouiengine/tsrc/inc/t_schedulerstartandstoptimer.h
radioapp/radiouiengine/tsrc/inc/trace.h
radioapp/radiouiengine/tsrc/src/t_radiostation.cpp
radioapp/radiouiengine/tsrc/src/t_schedulerstartandstoptimer.cpp
radioapp/radiouiengine/tsrc/t_radiouiengine.pro
radioapp/radiowidgets/inc/radiohistoryview.h
radioapp/radiowidgets/inc/radiomainview.h
radioapp/radiowidgets/inc/radiostationcarousel.h
radioapp/radiowidgets/inc/radiostationsview.h
radioapp/radiowidgets/inc/radiouiloader.h
radioapp/radiowidgets/inc/radiowindow.h
radioapp/radiowidgets/radiowidgets.pro
radioapp/radiowidgets/res/layout/historyview.docml
radioapp/radiowidgets/res/layout/mainview.docml
radioapp/radiowidgets/res/layout/radiocarouselitem.css
radioapp/radiowidgets/res/layout/stationsview.docml
radioapp/radiowidgets/src/radiocarouselitem.cpp
radioapp/radiowidgets/src/radiohistoryview.cpp
radioapp/radiowidgets/src/radiomainview.cpp
radioapp/radiowidgets/src/radiostationcarousel.cpp
radioapp/radiowidgets/src/radiostationsview.cpp
radioapp/radiowidgets/src/radiowindow.cpp
radioengine/settings/tsrc/inc/SettingsTestModule.h
radioengine/settings/tsrc/src/SettingsTestModule.cpp
radioengine/settings/tsrc/src/SettingsTestModuleBlocks.cpp
radiohswidget/radiohswidget.pro
rom/fmradio.iby
--- a/common/radio_global.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/common/radio_global.h	Mon Oct 04 00:17:30 2010 +0300
@@ -39,6 +39,8 @@
  */
 const int DEFAULT_VOLUME_LEVEL = 4;
 
+const int VOLUME_STEP_DIVIDER = 500;
+
 /**
  * UIDs for checking the offline mode
  * Values copied from CoreApplicationUIsSDKCRKeys.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/radiogenrelocalizer.h	Mon Oct 04 00:17:30 2010 +0300
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Small helper utility to localize radio genres
+*
+*/
+
+#ifndef RADIOGENRELOCALIZER_H
+#define RADIOGENRELOCALIZER_H
+
+#include "radio_global.h"
+
+// Constants
+
+namespace RadioGenreLocalizer
+{
+
+    struct GenreMap
+    {
+        int mGenreCode;
+        const char* mInCarousel;
+        const char* mInStationsList;
+        const char* mInHomeScreen;
+    };
+
+    static QString genreToString( RadioRegion::Region region, int genre, GenreTarget::Target target );
+}
+
+// Convenience macros to help in the construction of the localization tables
+#define BEGIN_GENRE_MAP(name) const RadioGenreLocalizer::GenreMap name[] = {
+#define EUROPEAN_GENRE(code, inCarousel, inStationsList, inHomescreen ) { GenreEurope::code, inCarousel, inStationsList, inHomescreen }
+#define AMERICAN_GENRE(code, inCarousel, inStationsList, inHomescreen ) { GenreAmerica::code, inCarousel, inStationsList, inHomescreen }
+#define END_GENRE_MAP(name) }; const int name ## Count = sizeof ( name ) / sizeof ( name[0] );
+
+BEGIN_GENRE_MAP( EuropeanGenres )
+                    // Genre code           // Text in Carousel                     // Text in Stations list                            // Text in Homescreen widget
+    EUROPEAN_GENRE( RdsNone,                "",                                     "",                                                 "" ),
+    EUROPEAN_GENRE( RdsNews,                "txt_rad_info_news",                    "txt_rad_dblist_l1_mhz_val_news",                   "txt_fmradiohswidget_rad_info_news_hs" ),
+    EUROPEAN_GENRE( RdsCurrentAffairs,      "txt_rad_info_current_affairs",         "txt_rad_dblist_l1_mhz_val_current_affairs",        "txt_fmradiohswidget_rad_info_current_affairs_hs" ),
+    EUROPEAN_GENRE( RdsInformation,         "txt_rad_info_information",             "txt_rad_dblist_l1_mhz_val_information",            "txt_fmradiohswidget_rad_info_information_hs" ),
+    EUROPEAN_GENRE( RdsSport,               "txt_rad_info_sport",                   "txt_rad_dblist_l1_mhz_val_sport",                  "txt_fmradiohswidget_rad_info_sport_hs" ),
+    EUROPEAN_GENRE( RdsEducation,           "txt_rad_info_education",               "txt_rad_dblist_l1_mhz_val_education",              "txt_fmradiohswidget_rad_info_education_hs" ),
+    EUROPEAN_GENRE( RdsDrama,               "txt_rad_info_drama",                   "txt_rad_dblist_l1_mhz_val_drama",                  "txt_fmradiohswidget_rad_info_drama_hs" ),
+    EUROPEAN_GENRE( RdsCulture,             "txt_rad_info_culture",                 "txt_rad_dblist_l1_mhz_val_culture",                "txt_fmradiohswidget_rad_info_culture_hs" ),
+    EUROPEAN_GENRE( RdsScience,             "txt_rad_info_science",                 "txt_rad_dblist_l1_mhz_val_science",                "txt_fmradiohswidget_rad_info_science_hs" ),
+    EUROPEAN_GENRE( RdsVariedSpeech,        "txt_rad_info_varied",                  "txt_rad_dblist_l1_mhz_val_varied",                 "txt_fmradiohswidget_rad_info_varied_hs" ),
+    EUROPEAN_GENRE( RdsPopMusic,            "txt_rad_info_pop_music",               "txt_rad_dblist_l1_mhz_val_pop_music",              "txt_fmradiohswidget_rad_info_pop_music_hs" ),
+    EUROPEAN_GENRE( RdsRockMusic,           "txt_rad_info_rock_music",              "txt_rad_dblist_l1_mhz_val_rock_music",             "txt_fmradiohswidget_rad_info_rock_music_hs" ),
+    EUROPEAN_GENRE( RdsEasyListening,       "txt_rad_info_easy_listening",          "txt_rad_dblist_l1_mhz_val_easy_listening",         "txt_fmradiohswidget_rad_info_easy_listening_hs" ),
+    EUROPEAN_GENRE( RdsLightClassical,      "txt_rad_info_light_classical",         "txt_rad_dblist_l1_mhz_val_light_classical",        "txt_fmradiohswidget_rad_info_light_classical_hs" ),
+    EUROPEAN_GENRE( RdsSeriousClassical,    "txt_rad_info_serious_classical",       "txt_rad_dblist_l1_mhz_val_serious_classical",      "txt_fmradiohswidget_rad_info_serious_classical_hs" ),
+    EUROPEAN_GENRE( RdsOtherMusic,          "txt_rad_info_other_music",             "txt_rad_dblist_l1_mhz_val_other_music",            "txt_fmradiohswidget_rad_info_other_music_hs" ),
+    EUROPEAN_GENRE( RdsWeather,             "txt_rad_info_weather",                 "txt_rad_dblist_l1_mhz_val_weather",                "txt_fmradiohswidget_rad_info_weather_hs" ),
+    EUROPEAN_GENRE( RdsFinance,             "txt_rad_info_finance",                 "txt_rad_dblist_l1_mhz_val_finance",                "txt_fmradiohswidget_rad_info_finance_hs" ),
+    EUROPEAN_GENRE( RdsChildrensProgrammes, "txt_rad_info_childrens_programmes",    "txt_rad_dblist_l1_mhz_val_childrens_programmes",   "txt_fmradiohswidget_rad_info_childrens_programmes_hs" ),
+    EUROPEAN_GENRE( RdsSocialAffairs,       "txt_rad_info_social_affairs",          "txt_rad_dblist_l1_mhz_val_social_affairs",         "txt_fmradiohswidget_rad_info_social_affairs_hs" ),
+    EUROPEAN_GENRE( RdsReligion,            "txt_rad_info_religion",                "txt_rad_dblist_l1_mhz_val_religion",               "txt_fmradiohswidget_rad_info_religion_hs" ),
+    EUROPEAN_GENRE( RdsPhoneIn,             "txt_rad_info_phone_in",                "txt_rad_dblist_l1_mhz_val_phone_in",               "txt_fmradiohswidget_rad_info_phone_in_hs" ),
+    EUROPEAN_GENRE( RdsTravel,              "txt_rad_info_travel",                  "txt_rad_dblist_l1_mhz_val_travel",                 "txt_fmradiohswidget_rad_info_travel_hs" ),
+    EUROPEAN_GENRE( RdsLeisure,             "txt_rad_info_leisure",                 "txt_rad_dblist_l1_mhz_val_leisure",                "txt_fmradiohswidget_rad_info_leisure_hs" ),
+    EUROPEAN_GENRE( RdsJazzMusic,           "txt_rad_info_jazz_music",              "txt_rad_dblist_l1_mhz_val_jazz_music",             "txt_fmradiohswidget_rad_info_jazz_music_hs" ),
+    EUROPEAN_GENRE( RdsCountryMusic,        "txt_rad_info_country_music",           "txt_rad_dblist_l1_mhz_val_country_music",          "txt_fmradiohswidget_rad_info_country_music_hs" ),
+    EUROPEAN_GENRE( RdsNationalMusic,       "txt_rad_info_national_music",          "txt_rad_dblist_l1_mhz_val_national_music",         "txt_fmradiohswidget_rad_info_national_music_hs" ),
+    EUROPEAN_GENRE( RdsOldiesMusic,         "txt_rad_info_oldies_music",            "txt_rad_dblist_l1_mhz_val_oldies_music",           "txt_fmradiohswidget_rad_info_oldies_music_hs" ),
+    EUROPEAN_GENRE( RdsFolkMusic,           "txt_rad_info_folk_music",              "txt_rad_dblist_l1_mhz_val_folk_music",             "txt_fmradiohswidget_rad_info_folk_music_hs" ),
+    EUROPEAN_GENRE( RdsDocumentary,         "txt_rad_info_documentary",             "txt_rad_dblist_l1_mhz_val_documentary",            "txt_fmradiohswidget_rad_info_documentary_hs" ),
+    EUROPEAN_GENRE( RdsAlarmTest,           "txt_rad_info_alarm_test",              "txt_rad_dblist_l1_mhz_val_alarm_test",             "txt_fmradiohswidget_rad_info_alarm_test_hs" ),
+    EUROPEAN_GENRE( RdsAlarm,               "txt_rad_info_alarm",                   "txt_rad_dblist_l1_mhz_val_alarm",                  "txt_fmradiohswidget_rad_info_alarm_hs" )
+END_GENRE_MAP( EuropeanGenres )
+
+BEGIN_GENRE_MAP( AmericanGenres )
+                    // Genre code           // Text in Carousel                     // Text in Stations list                            // Text in Homescreen widget
+    AMERICAN_GENRE( RbdsNone,               "",                                     "",                                                 "" ),
+    AMERICAN_GENRE( RbdsNews,               "txt_rad_info_news",                    "txt_rad_dblist_l1_mhz_val_news",                   "txt_fmradiohswidget_rad_info_news_hs" ),
+    AMERICAN_GENRE( RbdsInformation,        "txt_rad_info_information",             "txt_rad_dblist_l1_mhz_val_information",            "txt_fmradiohswidget_rad_info_information_hs" ),
+    AMERICAN_GENRE( RbdsSports,             "txt_rad_info_sport",                   "txt_rad_dblist_l1_mhz_val_sport",                  "txt_fmradiohswidget_rad_info_sport_hs" ),
+    AMERICAN_GENRE( RbdsTalk,               "txt_rad_info_talk",                    "txt_rad_dblist_l1_mhz_val_talk",                   "txt_fmradiohswidget_rad_info_talk_hs" ),
+    AMERICAN_GENRE( RbdsRock,               "txt_rad_info_rock_music",              "txt_rad_dblist_l1_mhz_val_rock_music",             "txt_fmradiohswidget_rad_info_rock_music_hs" ),
+    AMERICAN_GENRE( RbdsClassicRock,        "txt_rad_info_classic_rock",            "txt_rad_dblist_l1_mhz_val_classic_rock",           "txt_fmradiohswidget_rad_info_classic_rock_hs" ),
+    AMERICAN_GENRE( RbdsAdultHits,          "txt_rad_info_adult_hits",              "txt_rad_dblist_l1_mhz_val_adult_hits",             "txt_fmradiohswidget_rad_info_adult_hits_hs" ),
+    AMERICAN_GENRE( RbdsSoftRock,           "txt_rad_info_soft_rock",               "txt_rad_dblist_l1_mhz_val_soft_rock",              "txt_fmradiohswidget_rad_info_soft_rock_hs" ),
+    AMERICAN_GENRE( RbdsTop40,              "txt_rad_info_top_40",                  "txt_rad_dblist_l1_mhz_val_top_40",                 "txt_fmradiohswidget_rad_info_top_40_hs" ),
+    AMERICAN_GENRE( RbdsCountry,            "txt_rad_info_country_music",           "txt_rad_dblist_l1_mhz_val_country_music",          "txt_fmradiohswidget_rad_info_country_music_hs" ),
+    AMERICAN_GENRE( RbdsOldies,             "txt_rad_info_oldies_music",            "txt_rad_dblist_l1_mhz_val_oldies_music",           "txt_fmradiohswidget_rad_info_oldies_music_hs" ),
+    AMERICAN_GENRE( RbdsSoft,               "txt_rad_info_soft",                    "txt_rad_dblist_l1_mhz_val_soft",                   "txt_fmradiohswidget_rad_info_soft_hs" ),
+    AMERICAN_GENRE( RbdsNostalgia,          "txt_rad_info_nostalgia",               "txt_rad_dblist_l1_mhz_val_nostalgia",              "txt_fmradiohswidget_rad_info_nostalgia_hs" ),
+    AMERICAN_GENRE( RbdsJazz,               "txt_rad_info_jazz_music",              "txt_rad_dblist_l1_mhz_val_jazz_music",             "txt_fmradiohswidget_rad_info_jazz_music_hs" ),
+    AMERICAN_GENRE( RbdsClassical,          "txt_rad_info_classical",               "txt_rad_dblist_l1_mhz_val_classical",              "txt_fmradiohswidget_rad_info_classical_hs" ),
+    AMERICAN_GENRE( RbdsRhythmAndBlues,     "txt_rad_info_rhythm_and_blues",        "txt_rad_dblist_l1_mhz_val_rhythm_and_blues",       "txt_fmradiohswidget_rad_info_rhythm_and_blues_hs" ),
+    AMERICAN_GENRE( RbdsSoftRhythmAndBlues, "txt_rad_info_soft_rhythm_and_blues",   "txt_rad_dblist_l1_mhz_val_soft_rhythm_and_blues",  "txt_fmradiohswidget_rad_info_soft_rhythm_and_blues_hs" ),
+    AMERICAN_GENRE( RbdsLanguage,           "txt_rad_info_language",                "txt_rad_dblist_l1_mhz_val_language",               "txt_fmradiohswidget_rad_info_language_hs" ),
+    AMERICAN_GENRE( RbdsReligiousMusic,     "txt_rad_info_religious_music",         "txt_rad_dblist_l1_mhz_val_religious_music",        "txt_fmradiohswidget_rad_info_religious_music_hs" ),
+    AMERICAN_GENRE( RbdsReligiousTalk,      "txt_rad_info_religious_talk",          "txt_rad_dblist_l1_mhz_val_religious_talk",         "txt_fmradiohswidget_rad_info_religious_talk_hs" ),
+    AMERICAN_GENRE( RbdsPersonality,        "txt_rad_info_personality",             "txt_rad_dblist_l1_mhz_val_personality",            "txt_fmradiohswidget_rad_info_personality_hs" ),
+    AMERICAN_GENRE( RbdsPublic,             "txt_rad_info_public",                  "txt_rad_dblist_l1_mhz_val_public",                 "txt_fmradiohswidget_rad_info_public_hs" ),
+    AMERICAN_GENRE( RbdsCollege,            "txt_rad_info_college",                 "txt_rad_dblist_l1_mhz_val_college",                "txt_fmradiohswidget_rad_info_college_hs" ),
+    AMERICAN_GENRE( RbdsUnassigned1,        "",                                     "",                                                 "" ),
+    AMERICAN_GENRE( RbdsUnassigned2,        "",                                     "",                                                 "" ),
+    AMERICAN_GENRE( RbdsUnassigned3,        "",                                     "",                                                 "" ),
+    AMERICAN_GENRE( RbdsUnassigned4,        "",                                     "",                                                 "" ),
+    AMERICAN_GENRE( RbdsUnassigned5,        "",                                     "",                                                 "" ),
+    AMERICAN_GENRE( RbdsWeather,            "txt_rad_info_weather",                 "txt_rad_dblist_l1_mhz_val_weather",                "txt_fmradiohswidget_rad_info_weather_hs" ),
+    AMERICAN_GENRE( RbdsEmergencyTest,      "txt_rad_info_alarm_test",              "txt_rad_dblist_l1_mhz_val_alarm_test",             "txt_fmradiohswidget_rad_info_alarm_test_hs" ),
+    AMERICAN_GENRE( RbdsEmergency,          "txt_rad_info_alarm",                   "txt_rad_dblist_l1_mhz_val_alarm",                  "txt_fmradiohswidget_rad_info_alarm_hs" ),
+END_GENRE_MAP( AmericanGenres )
+
+/*!
+ * Function to find the localized text of the given frequency in the given region and target
+ */
+static QString RadioGenreLocalizer::genreToString( RadioRegion::Region region, int genre, GenreTarget::Target target )
+{
+    const RadioGenreLocalizer::GenreMap* genreArray = region == RadioRegion::America ? AmericanGenres : EuropeanGenres;
+    const int genreCount = region == RadioRegion::America ? AmericanGenresCount : EuropeanGenresCount;
+
+    for( int i = 0; i < genreCount; ++i ) {
+        if ( genreArray[i].mGenreCode == genre ) {
+            if ( target == GenreTarget::Carousel ) {
+                return qtTrId( genreArray[i].mInCarousel );
+            } else if ( target == GenreTarget::StationsList ) {
+                return qtTrId( genreArray[i].mInStationsList );
+            } else if ( target == GenreTarget::HomeScreen ) {
+                return qtTrId( genreArray[i].mInHomeScreen );
+            }
+        }
+    }
+
+    return "";
+}
+
+#endif // RADIOGENRELOCALIZER_H
--- a/common/radioservicedef.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/common/radioservicedef.h	Mon Oct 04 00:17:30 2010 +0300
@@ -57,6 +57,7 @@
     enum Type {
         FavoriteCount = 1,
         LocalCount,
+        Region,
         CurrentIsFavorite,
         RadioStatus,
         Frequency,
--- a/layers.sysdef.xml	Fri Sep 17 08:29:29 2010 +0300
+++ b/layers.sysdef.xml	Mon Oct 04 00:17:30 2010 +0300
@@ -10,5 +10,13 @@
         <unit unitID="vado.radio" mrp="" bldFile="&layer_real_source_path;" name="radio" proFile="radio.pro" qmakeArgs="-r" />        
       </module>
     </layer>
+    <layer name="qt_unit_test_layer">
+      <module name="vado.radiopresetstorage_qt.tsrc">
+        <unit unitID="vado.radiopresetstorage" mrp="" bldFile="&layer_real_source_path;/radioapp/radiopresetstorage/tsrc" proFile="t_radiopresetstorage.pro" name="unittest.radiopresetstorage"/>
+      </module>
+      <module name="vado.radiouiengine_qt.tsrc">
+        <unit unitID="vado.radiouiengine" mrp="" bldFile="&layer_real_source_path;/radioapp/radiouiengine/tsrc" proFile="t_radiouiengine.pro" name="unittest.radiouiengine"/>
+      </module>
+    </layer>
   </systemModel>
 </SystemDefinition>
--- a/package_definition.xml	Fri Sep 17 08:29:29 2010 +0300
+++ b/package_definition.xml	Mon Oct 04 00:17:30 2010 +0300
@@ -38,5 +38,23 @@
         <unit bldFile="radiohswidget" qt:proFile="radiohswidget.pro"/>
       </component>
     </collection>
+    <collection id="radiopresetstorage_tsrc" name="vado.radiopresetstorage_qt.tsrc" level="engine">
+      <component id="radiopresetstorage_tsrc" filter="s60,test,qt_unit_test" name="radiopresetstorage_qt.tsrc" introduced="^4">
+        <meta rel="testbuild">
+         <group name="vado.101_radiopresetstorage_tsrc"/>
+       </meta>
+        <unit bldFile="radioapp/radiopresetstorage/tsrc" qt:proFile="t_radiopresetstorage.pro"/>
+      </component>
+    </collection>
+    <collection id="radiouiengine_tsrc" name="vado.radiouiengine_qt.tsrc" level="engine">
+      <component id="radiouiengine_tsrc" filter="s60,test,qt_unit_test" name="radiouiengine_qt.tsrc" introduced="^4">
+        <meta rel="testbuild">
+         <group name="vado.101_radiouiengine_tsrc"/>
+       </meta>      
+        <unit bldFile="radioapp/radiouiengine/tsrc" qt:proFile="t_radiouiengine.pro"/>
+      </component>
+    </collection>
+    
+    
   </package>
 </SystemDefinition>
Binary file radioapp/bin/fmradio_en_US.qm has changed
--- a/radioapp/buildflags.pri	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/buildflags.pri	Mon Oct 04 00:17:30 2010 +0300
@@ -118,8 +118,13 @@
     LIBS        += -L../bin
     INCLUDEPATH += ../radioenginewrapper/inc
     INCLUDEPATH += ../radioapplication/win32_stubs
-    HEADERS     += ../radioapplication/win32_stubs/*.h
-    SOURCES     += ../radioapplication/win32_stubs/*.cpp
+    HEADERS     += ../radioapplication/win32_stubs/qsysteminfo.h
+    HEADERS     += ../radioapplication/win32_stubs/xqserviceprovider.h
+    HEADERS     += ../radioapplication/win32_stubs/xqserviceutil.h
+    HEADERS     += ../radioapplication/win32_stubs/xqsettingskey.h
+    HEADERS     += ../radioapplication/win32_stubs/xqsettingsmanager.h
+    HEADERS     += ../radioapplication/win32_stubs/afactivitystorage.h
+    SOURCES     += ../radioapplication/win32_stubs/win32_stubs.cpp
 }
 
 USE_UNFROZEN_EXPORTS {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/bwins/fmradioenginewrapper_stubu.def	Mon Oct 04 00:17:30 2010 +0300
@@ -0,0 +1,47 @@
+EXPORTS
+	?skipPrevious@RadioEngineWrapperObserver@@UAEXXZ @ 1 NONAME ; void RadioEngineWrapperObserver::skipPrevious(void)
+	?volumeChanged@RadioEngineWrapperObserver@@UAEXH@Z @ 2 NONAME ; void RadioEngineWrapperObserver::volumeChanged(int)
+	?init@RadioEngineWrapper@@QAE_NXZ @ 3 NONAME ; bool RadioEngineWrapper::init(void)
+	?settings@RadioEngineWrapper@@QAEAAVRadioSettingsIf@@XZ @ 4 NONAME ; class RadioSettingsIf & RadioEngineWrapper::settings(void)
+	?region@RadioEngineWrapper@@QBE?AW4Region@RadioRegion@@XZ @ 5 NONAME ; enum RadioRegion::Region RadioEngineWrapper::region(void) const
+	?initCombinedLogger@RadioLogger@@SAXXZ @ 6 NONAME ; void RadioLogger::initCombinedLogger(void)
+	?removeObserver@RadioEngineWrapper@@QAEXPAVRadioEngineWrapperObserver@@@Z @ 7 NONAME ; void RadioEngineWrapper::removeObserver(class RadioEngineWrapperObserver *)
+	?decreaseVolume@RadioEngineWrapper@@QAEXXZ @ 8 NONAME ; void RadioEngineWrapper::decreaseVolume(void)
+	?isRadioOn@RadioEngineWrapper@@QBE_NXZ @ 9 NONAME ; bool RadioEngineWrapper::isRadioOn(void) const
+	?addObserver@RadioEngineWrapper@@QAEXPAVRadioEngineWrapperObserver@@@Z @ 10 NONAME ; void RadioEngineWrapper::addObserver(class RadioEngineWrapperObserver *)
+	?isAntennaAttached@RadioEngineWrapper@@QBE_NXZ @ 11 NONAME ; bool RadioEngineWrapper::isAntennaAttached(void) const
+	?toggleAudioRoute@RadioEngineWrapper@@QAEXXZ @ 12 NONAME ; void RadioEngineWrapper::toggleAudioRoute(void)
+	?setVolume@RadioEngineWrapper@@QAEXH@Z @ 13 NONAME ; void RadioEngineWrapper::setVolume(int)
+	?setMute@RadioEngineWrapper@@QAEX_N0@Z @ 14 NONAME ; void RadioEngineWrapper::setMute(bool, bool)
+	??0RadioEngineWrapper@@QAE@AAVRadioStationHandlerIf@@@Z @ 15 NONAME ; RadioEngineWrapper::RadioEngineWrapper(class RadioStationHandlerIf &)
+	?cancelSeeking@RadioEngineWrapper@@QAEXXZ @ 16 NONAME ; void RadioEngineWrapper::cancelSeeking(void)
+	?d_func@RadioEngineWrapper@@AAEPAVRadioEngineWrapperPrivate@@XZ @ 17 NONAME ; class RadioEngineWrapperPrivate * RadioEngineWrapper::d_func(void)
+	?d_func@RadioEngineWrapper@@ABEPBVRadioEngineWrapperPrivate@@XZ @ 18 NONAME ; class RadioEngineWrapperPrivate const * RadioEngineWrapper::d_func(void) const
+	?releaseCombinedLogger@RadioLogger@@SAXXZ @ 19 NONAME ; void RadioLogger::releaseCombinedLogger(void)
+	??1RadioEngineWrapper@@QAE@XZ @ 20 NONAME ; RadioEngineWrapper::~RadioEngineWrapper(void)
+	?radioStatusChanged@RadioEngineWrapperObserver@@UAEX_N@Z @ 21 NONAME ; void RadioEngineWrapperObserver::radioStatusChanged(bool)
+	?increaseVolume@RadioEngineWrapperObserver@@UAEXXZ @ 22 NONAME ; void RadioEngineWrapperObserver::increaseVolume(void)
+	?frequencyStepSize@RadioEngineWrapper@@QBEIXZ @ 23 NONAME ; unsigned int RadioEngineWrapper::frequencyStepSize(void) const
+	??0MethodLogger@@QAE@PBD0@Z @ 24 NONAME ; MethodLogger::MethodLogger(char const *, char const *)
+	?isFrequencyValid@RadioEngineWrapper@@QBE_NI@Z @ 25 NONAME ; bool RadioEngineWrapper::isFrequencyValid(unsigned int) const
+	?setFrequency@RadioEngineWrapper@@QAEXIH@Z @ 26 NONAME ; void RadioEngineWrapper::setFrequency(unsigned int, int)
+	?setRdsEnabled@RadioEngineWrapper@@QAEX_N@Z @ 27 NONAME ; void RadioEngineWrapper::setRdsEnabled(bool)
+	?logMsg@RadioLogger@@SAXPBDW4Mode@1@@Z @ 28 NONAME ; void RadioLogger::logMsg(char const *, enum RadioLogger::Mode)
+	?audioRouteChanged@RadioEngineWrapperObserver@@UAEX_N@Z @ 29 NONAME ; void RadioEngineWrapperObserver::audioRouteChanged(bool)
+	?isMuted@RadioEngineWrapper@@QBE_NXZ @ 30 NONAME ; bool RadioEngineWrapper::isMuted(void) const
+	?isUsingLoudspeaker@RadioEngineWrapper@@QBE_NXZ @ 31 NONAME ; bool RadioEngineWrapper::isUsingLoudspeaker(void) const
+	?currentFrequency@RadioEngineWrapper@@QBEIXZ @ 32 NONAME ; unsigned int RadioEngineWrapper::currentFrequency(void) const
+	?skipNext@RadioEngineWrapperObserver@@UAEXXZ @ 33 NONAME ; void RadioEngineWrapperObserver::skipNext(void)
+	?isInManualSeekMode@RadioEngineWrapper@@QBE_NXZ @ 34 NONAME ; bool RadioEngineWrapper::isInManualSeekMode(void) const
+	?muteChanged@RadioEngineWrapperObserver@@UAEX_N@Z @ 35 NONAME ; void RadioEngineWrapperObserver::muteChanged(bool)
+	?startSeeking@RadioEngineWrapper@@QAEXW4Direction@Seek@@H@Z @ 36 NONAME ; void RadioEngineWrapper::startSeeking(enum Seek::Direction, int)
+	?decreaseVolume@RadioEngineWrapperObserver@@UAEXXZ @ 37 NONAME ; void RadioEngineWrapperObserver::decreaseVolume(void)
+	?minFrequency@RadioEngineWrapper@@QBEIXZ @ 38 NONAME ; unsigned int RadioEngineWrapper::minFrequency(void) const
+	?rdsAvailabilityChanged@RadioEngineWrapperObserver@@UAEX_N@Z @ 39 NONAME ; void RadioEngineWrapperObserver::rdsAvailabilityChanged(bool)
+	?tunedToFrequency@RadioEngineWrapperObserver@@UAEXIH@Z @ 40 NONAME ; void RadioEngineWrapperObserver::tunedToFrequency(unsigned int, int)
+	??1MethodLogger@@QAE@XZ @ 41 NONAME ; MethodLogger::~MethodLogger(void)
+	?antennaStatusChanged@RadioEngineWrapperObserver@@UAEX_N@Z @ 42 NONAME ; void RadioEngineWrapperObserver::antennaStatusChanged(bool)
+	?setManualSeekMode@RadioEngineWrapper@@QAEX_N@Z @ 43 NONAME ; void RadioEngineWrapper::setManualSeekMode(bool)
+	?increaseVolume@RadioEngineWrapper@@QAEXXZ @ 44 NONAME ; void RadioEngineWrapper::increaseVolume(void)
+	?maxFrequency@RadioEngineWrapper@@QBEIXZ @ 45 NONAME ; unsigned int RadioEngineWrapper::maxFrequency(void) const
+
--- a/radioapp/bwins/fmradiouiengineu.def	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/bwins/fmradiouiengineu.def	Mon Oct 04 00:17:30 2010 +0300
@@ -38,173 +38,173 @@
 	?toggleTagging@RadioHistoryModel@@QAEXABVRadioHistoryItem@@H@Z @ 37 NONAME ; void RadioHistoryModel::toggleTagging(class RadioHistoryItem const &, int)
 	?muteChanged@RadioUiEngine@@IAEX_N@Z @ 38 NONAME ; void RadioUiEngine::muteChanged(bool)
 	?maxFrequency@RadioUiEngine@@QBEIXZ @ 39 NONAME ; unsigned int RadioUiEngine::maxFrequency(void) const
-	?setIcons@RadioStationModel@@QAEXABVQIcon@@0@Z @ 40 NONAME ; void RadioStationModel::setIcons(class QIcon const &, class QIcon const &)
-	?saveStation@RadioStationModel@@QAEXAAVRadioStation@@@Z @ 41 NONAME ; void RadioStationModel::saveStation(class RadioStation &)
-	?getStaticMetaObject@RadioHistoryModel@@SAABUQMetaObject@@XZ @ 42 NONAME ; struct QMetaObject const & RadioHistoryModel::getStaticMetaObject(void)
-	?findUnusedPresetIndex@RadioStationModel@@AAEHXZ @ 43 NONAME ; int RadioStationModel::findUnusedPresetIndex(void)
-	?hasChanged@RadioStation@@QBE_NXZ @ 44 NONAME ; bool RadioStation::hasChanged(void) const
-	?trUtf8@RadioScannerEngine@@SA?AVQString@@PBD0H@Z @ 45 NONAME ; class QString RadioScannerEngine::trUtf8(char const *, char const *, int)
-	?isScanning@RadioUiEngine@@QBE_NXZ @ 46 NONAME ; bool RadioUiEngine::isScanning(void) const
-	?dynamicPsCheckEnded@RadioStationModel@@AAEXXZ @ 47 NONAME ; void RadioStationModel::dynamicPsCheckEnded(void)
-	?d_func@RadioHistoryModel@@AAEPAVRadioHistoryModelPrivate@@XZ @ 48 NONAME ; class RadioHistoryModelPrivate * RadioHistoryModel::d_func(void)
-	?skipStation@RadioUiEngine@@QAEIW4Mode@StationSkip@@IH@Z @ 49 NONAME ; unsigned int RadioUiEngine::skipStation(enum StationSkip::Mode, unsigned int, int)
-	?setFrequency@RadioStation@@AAEXI@Z @ 50 NONAME ; void RadioStation::setFrequency(unsigned int)
-	?piCodeToCallSign@RadioStation@@AAE?AVQString@@I@Z @ 51 NONAME ; class QString RadioStation::piCodeToCallSign(unsigned int)
-	?seekStation@RadioUiEngine@@QAEXH@Z @ 52 NONAME ; void RadioUiEngine::seekStation(int)
-	?favoriteChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 53 NONAME ; void RadioStationModel::favoriteChanged(class RadioStation const &)
-	?radioStatusChanged@RadioUiEngine@@IAEX_N@Z @ 54 NONAME ; void RadioUiEngine::radioStatusChanged(bool)
-	?setIcons@RadioHistoryModel@@QAEXABVQIcon@@0@Z @ 55 NONAME ; void RadioHistoryModel::setIcons(class QIcon const &, class QIcon const &)
-	?isCurrentSongRecognized@RadioHistoryModel@@QBE_NXZ @ 56 NONAME ; bool RadioHistoryModel::isCurrentSongRecognized(void) const
-	?addStation@RadioStationModel@@QAEXABVRadioStation@@@Z @ 57 NONAME ; void RadioStationModel::addStation(class RadioStation const &)
-	?clearRadioTextPlus@RadioHistoryModel@@AAEXXZ @ 58 NONAME ; void RadioHistoryModel::clearRadioTextPlus(void)
-	?favoriteCount@RadioStationModel@@QAEHXZ @ 59 NONAME ; int RadioStationModel::favoriteCount(void)
-	??1RadioScannerEngine@@UAE@XZ @ 60 NONAME ; RadioScannerEngine::~RadioScannerEngine(void)
-	?tunedToFrequency@RadioUiEngine@@IAEXIH@Z @ 61 NONAME ; void RadioUiEngine::tunedToFrequency(unsigned int, int)
-	?tr@RadioUiEngine@@SA?AVQString@@PBD0H@Z @ 62 NONAME ; class QString RadioUiEngine::tr(char const *, char const *, int)
-	?launchBrowser@RadioUiEngine@@QAEXABVQString@@@Z @ 63 NONAME ; void RadioUiEngine::launchBrowser(class QString const &)
-	?isScanning@RadioScannerEngine@@QBE_NXZ @ 64 NONAME ; bool RadioScannerEngine::isScanning(void) const
-	??1RadioHistoryItem@@QAE@XZ @ 65 NONAME ; RadioHistoryItem::~RadioHistoryItem(void)
-	?trUtf8@RadioScannerEngine@@SA?AVQString@@PBD0@Z @ 66 NONAME ; class QString RadioScannerEngine::trUtf8(char const *, char const *)
-	?hasName@RadioStation@@QBE_NXZ @ 67 NONAME ; bool RadioStation::hasName(void) const
-	?emitDataChanged@RadioStationModel@@AAEXABVRadioStation@@@Z @ 68 NONAME ; void RadioStationModel::emitDataChanged(class RadioStation const &)
-	?setPowerOff@RadioUiEngine@@QAEXH@Z @ 69 NONAME ; void RadioUiEngine::setPowerOff(int)
-	?isRadioOn@RadioUiEngine@@QBE_NXZ @ 70 NONAME ; bool RadioUiEngine::isRadioOn(void) const
-	?continueScanning@RadioScannerEngine@@QAEXXZ @ 71 NONAME ; void RadioScannerEngine::continueScanning(void)
-	?trUtf8@RadioHistoryModel@@SA?AVQString@@PBD0H@Z @ 72 NONAME ; class QString RadioHistoryModel::trUtf8(char const *, char const *, int)
-	?localCount@RadioStationModel@@QAEHXZ @ 73 NONAME ; int RadioStationModel::localCount(void)
-	?list@RadioStationModel@@QBEABV?$QMap@IVRadioStation@@@@XZ @ 74 NONAME ; class QMap<unsigned int, class RadioStation> const & RadioStationModel::list(void) const
-	?tr@RadioStationModel@@SA?AVQString@@PBD0@Z @ 75 NONAME ; class QString RadioStationModel::tr(char const *, char const *)
-	?findClosest@RadioStationModel@@QAE?AVRadioStation@@IW4Mode@StationSkip@@@Z @ 76 NONAME ; class RadioStation RadioStationModel::findClosest(unsigned int, enum StationSkip::Mode)
-	?flags@RadioStationModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 77 NONAME ; class QFlags<enum Qt::ItemFlag> RadioStationModel::flags(class QModelIndex const &) const
-	?launchRadioServer@RadioUiEngine@@SAXXZ @ 78 NONAME ; void RadioUiEngine::launchRadioServer(void)
-	?staticMetaObject@RadioScannerEngine@@2UQMetaObject@@B @ 79 NONAME ; struct QMetaObject const RadioScannerEngine::staticMetaObject
-	?id@RadioHistoryItem@@QBEHXZ @ 80 NONAME ; int RadioHistoryItem::id(void) const
-	?stationsInRange@RadioUiEngine@@QAE?AV?$QList@VRadioStation@@@@II@Z @ 81 NONAME ; class QList<class RadioStation> RadioUiEngine::stationsInRange(unsigned int, unsigned int)
-	?trUtf8@RadioUiEngine@@SA?AVQString@@PBD0@Z @ 82 NONAME ; class QString RadioUiEngine::trUtf8(char const *, char const *)
-	?tr@RadioScannerEngine@@SA?AVQString@@PBD0H@Z @ 83 NONAME ; class QString RadioScannerEngine::tr(char const *, char const *, int)
-	?setPiCode@RadioStation@@AAE_NHW4Region@RadioRegion@@@Z @ 84 NONAME ; bool RadioStation::setPiCode(int, enum RadioRegion::Region)
-	?data_ptr@RadioHistoryItem@@QAEAAV?$QSharedDataPointer@VRadioHistoryItemPrivate@@@@XZ @ 85 NONAME ; class QSharedDataPointer<class RadioHistoryItemPrivate> & RadioHistoryItem::data_ptr(void)
-	?radioText@RadioStation@@QBE?AVQString@@XZ @ 86 NONAME ; class QString RadioStation::radioText(void) const
-	?setData@RadioStationModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 87 NONAME ; bool RadioStationModel::setData(class QModelIndex const &, class QVariant const &, int)
-	?lastVolume@RadioUiEngine@@SAHXZ @ 88 NONAME ; int RadioUiEngine::lastVolume(void)
-	?isInManualSeekMode@RadioUiEngine@@QBE_NXZ @ 89 NONAME ; bool RadioUiEngine::isInManualSeekMode(void) const
-	?itemAtIndex@RadioHistoryModel@@QBE?AVRadioHistoryItem@@ABVQModelIndex@@@Z @ 90 NONAME ; class RadioHistoryItem RadioHistoryModel::itemAtIndex(class QModelIndex const &) const
-	?setVolume@RadioUiEngine@@QAEXH@Z @ 91 NONAME ; void RadioUiEngine::setVolume(int)
-	?setFavorite@RadioStation@@QAEX_N@Z @ 92 NONAME ; void RadioStation::setFavorite(bool)
-	?d_func@RadioStationModel@@ABEPBVRadioStationModelPrivate@@XZ @ 93 NONAME ; class RadioStationModelPrivate const * RadioStationModel::d_func(void) const
-	?emitChangeSignals@RadioStationModel@@AAEXABVRadioStation@@V?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 94 NONAME ; void RadioStationModel::emitChangeSignals(class RadioStation const &, class QFlags<enum RadioStation::ChangeFlag>)
-	?tr@RadioStationModel@@SA?AVQString@@PBD0H@Z @ 95 NONAME ; class QString RadioStationModel::tr(char const *, char const *, int)
-	?hasUrl@RadioStation@@QBE_NXZ @ 96 NONAME ; bool RadioStation::hasUrl(void) const
-	??1RadioStationModel@@UAE@XZ @ 97 NONAME ; RadioStationModel::~RadioStationModel(void)
-	?isMuted@RadioUiEngine@@QBE_NXZ @ 98 NONAME ; bool RadioUiEngine::isMuted(void) const
-	?renameStation@RadioStationModel@@QAEXHABVQString@@@Z @ 99 NONAME ; void RadioStationModel::renameStation(int, class QString const &)
-	?currentFrequency@RadioUiEngine@@QBEIXZ @ 100 NONAME ; unsigned int RadioUiEngine::currentFrequency(void) const
-	?emitItemAdded@RadioHistoryModel@@AAEXXZ @ 101 NONAME ; void RadioHistoryModel::emitItemAdded(void)
-	?setUserDefinedName@RadioStation@@QAEXABVQString@@@Z @ 102 NONAME ; void RadioStation::setUserDefinedName(class QString const &)
-	?setUrl@RadioStation@@AAEXABVQString@@@Z @ 103 NONAME ; void RadioStation::setUrl(class QString const &)
-	?hasDynamicPs@RadioStation@@QBE_NXZ @ 104 NONAME ; bool RadioStation::hasDynamicPs(void) const
-	??1RadioStation@@UAE@XZ @ 105 NONAME ; RadioStation::~RadioStation(void)
-	?getStaticMetaObject@RadioScannerEngine@@SAABUQMetaObject@@XZ @ 106 NONAME ; struct QMetaObject const & RadioScannerEngine::getStaticMetaObject(void)
-	?callSignString@RadioStation@@AAE?AVQString@@I@Z @ 107 NONAME ; class QString RadioStation::callSignString(unsigned int)
-	?isValid@RadioStation@@QBE_NXZ @ 108 NONAME ; bool RadioStation::isValid(void) const
-	?data_ptr@RadioStation@@QAEAAV?$QSharedDataPointer@VRadioStationPrivate@@@@XZ @ 109 NONAME ; class QSharedDataPointer<class RadioStationPrivate> & RadioStation::data_ptr(void)
-	?trUtf8@RadioUiEngine@@SA?AVQString@@PBD0H@Z @ 110 NONAME ; class QString RadioUiEngine::trUtf8(char const *, char const *, int)
-	?reset@RadioHistoryItem@@QAEXXZ @ 111 NONAME ; void RadioHistoryItem::reset(void)
-	?trUtf8@RadioStationModel@@SA?AVQString@@PBD0@Z @ 112 NONAME ; class QString RadioStationModel::trUtf8(char const *, char const *)
-	?setRadioTextPlus@RadioStation@@AAEXHABVQString@@@Z @ 113 NONAME ; void RadioStation::setRadioTextPlus(int, class QString const &)
-	?setChangeFlags@RadioStation@@AAEXV?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 114 NONAME ; void RadioStation::setChangeFlags(class QFlags<enum RadioStation::ChangeFlag>)
-	??0RadioStationModel@@QAE@AAVRadioUiEnginePrivate@@@Z @ 115 NONAME ; RadioStationModel::RadioStationModel(class RadioUiEnginePrivate &)
-	?stationDataChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 116 NONAME ; void RadioStationModel::stationDataChanged(class RadioStation const &)
-	?frequency@RadioHistoryItem@@QBEIXZ @ 117 NONAME ; unsigned int RadioHistoryItem::frequency(void) const
-	?currentStation@RadioStationModel@@QAEAAVRadioStation@@XZ @ 118 NONAME ; class RadioStation & RadioStationModel::currentStation(void)
-	?isDetached@RadioHistoryItem@@QBE_NXZ @ 119 NONAME ; bool RadioHistoryItem::isDetached(void) const
-	?genre@RadioStation@@QBEHXZ @ 120 NONAME ; int RadioStation::genre(void) const
-	?qt_metacall@RadioScannerEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 121 NONAME ; int RadioScannerEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?emitTunedToFrequency@RadioUiEngine@@AAEXIH@Z @ 122 NONAME ; void RadioUiEngine::emitTunedToFrequency(unsigned int, int)
-	??0RadioStation@@QAE@XZ @ 123 NONAME ; RadioStation::RadioStation(void)
-	?psType@RadioStation@@QBE?AV?$QFlags@W4PsTypeFlag@RadioStation@@@@XZ @ 124 NONAME ; class QFlags<enum RadioStation::PsTypeFlag> RadioStation::psType(void) const
-	??1RadioHistoryModel@@UAE@XZ @ 125 NONAME ; RadioHistoryModel::~RadioHistoryModel(void)
-	?d_func@RadioUiEngine@@ABEPBVRadioUiEnginePrivate@@XZ @ 126 NONAME ; class RadioUiEnginePrivate const * RadioUiEngine::d_func(void) const
-	?findStation@RadioStationModel@@QBE?AVRadioStation@@IW4Criteria@FindCriteria@@@Z @ 127 NONAME ; class RadioStation RadioStationModel::findStation(unsigned int, enum FindCriteria::Criteria) const
-	?scannerEngine@RadioUiEngine@@QAEPAVRadioScannerEngine@@XZ @ 128 NONAME ; class RadioScannerEngine * RadioUiEngine::scannerEngine(void)
-	?setManualSeekMode@RadioUiEngine@@QAEX_N@Z @ 129 NONAME ; void RadioUiEngine::setManualSeekMode(bool)
-	?isSongRecognitionAppAvailable@RadioUiEngine@@QAE_NXZ @ 130 NONAME ; bool RadioUiEngine::isSongRecognitionAppAvailable(void)
-	?startScanning@RadioScannerEngine@@QAEXXZ @ 131 NONAME ; void RadioScannerEngine::startScanning(void)
-	?emitStationFound@RadioScannerEngine@@AAEXABVRadioStation@@@Z @ 132 NONAME ; void RadioScannerEngine::emitStationFound(class RadioStation const &)
-	?isValid@RadioHistoryItem@@QBE_NXZ @ 133 NONAME ; bool RadioHistoryItem::isValid(void) const
-	?setPsType@RadioStation@@AAEXV?$QFlags@W4PsTypeFlag@RadioStation@@@@@Z @ 134 NONAME ; void RadioStation::setPsType(class QFlags<enum RadioStation::PsTypeFlag>)
-	?setFrequency@RadioUiEngine@@QAEXIH@Z @ 135 NONAME ; void RadioUiEngine::setFrequency(unsigned int, int)
-	?data@RadioHistoryModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 136 NONAME ; class QVariant RadioHistoryModel::data(class QModelIndex const &, int) const
-	??4RadioHistoryItem@@QAEAAV0@ABV0@@Z @ 137 NONAME ; class RadioHistoryItem & RadioHistoryItem::operator=(class RadioHistoryItem const &)
-	?url@RadioStation@@QBE?AVQString@@XZ @ 138 NONAME ; class QString RadioStation::url(void) const
-	?historyModel@RadioUiEngine@@QAEAAVRadioHistoryModel@@XZ @ 139 NONAME ; class RadioHistoryModel & RadioUiEngine::historyModel(void)
-	?emitRdsAvailabilityChanged@RadioUiEngine@@AAEX_N@Z @ 140 NONAME ; void RadioUiEngine::emitRdsAvailabilityChanged(bool)
-	?isAntennaAttached@RadioUiEngine@@QBE_NXZ @ 141 NONAME ; bool RadioUiEngine::isAntennaAttached(void) const
-	?setStation@RadioHistoryItem@@QAEXABVQString@@@Z @ 142 NONAME ; void RadioHistoryItem::setStation(class QString const &)
-	?qt_metacast@RadioStationModel@@UAEPAXPBD@Z @ 143 NONAME ; void * RadioStationModel::qt_metacast(char const *)
-	?hasSentRds@RadioStation@@QBE_NXZ @ 144 NONAME ; bool RadioStation::hasSentRds(void) const
-	?presetIndex@RadioStation@@QBEHXZ @ 145 NONAME ; int RadioStation::presetIndex(void) const
-	?cancel@RadioScannerEngine@@QAEXXZ @ 146 NONAME ; void RadioScannerEngine::cancel(void)
-	?staticMetaObject@RadioStationModel@@2UQMetaObject@@B @ 147 NONAME ; struct QMetaObject const RadioStationModel::staticMetaObject
-	?addRecognizedSong@RadioUiEngine@@QAEXABVQString@@0ABVRadioStation@@@Z @ 148 NONAME ; void RadioUiEngine::addRecognizedSong(class QString const &, class QString const &, class RadioStation const &)
-	?emitMuteChanged@RadioUiEngine@@AAEX_N@Z @ 149 NONAME ; void RadioUiEngine::emitMuteChanged(bool)
-	?setDynamicPsText@RadioStation@@AAEXABVQString@@@Z @ 150 NONAME ; void RadioStation::setDynamicPsText(class QString const &)
-	?currentSongReset@RadioHistoryModel@@IAEXXZ @ 151 NONAME ; void RadioHistoryModel::currentSongReset(void)
-	?removeByPresetIndex@RadioStationModel@@QAEXH@Z @ 152 NONAME ; void RadioStationModel::removeByPresetIndex(int)
-	?d_func@RadioScannerEngine@@AAEPAVRadioScannerEnginePrivate@@XZ @ 153 NONAME ; class RadioScannerEnginePrivate * RadioScannerEngine::d_func(void)
-	?isRenamed@RadioStation@@QBE_NXZ @ 154 NONAME ; bool RadioStation::isRenamed(void) const
-	?stationAt@RadioStationModel@@QBE?AVRadioStation@@H@Z @ 155 NONAME ; class RadioStation RadioStationModel::stationAt(int) const
-	?removeStation@RadioStationModel@@QAEXABVRadioStation@@@Z @ 156 NONAME ; void RadioStationModel::removeStation(class RadioStation const &)
-	?openMusicStore@RadioUiEngine@@QAEXABVRadioHistoryItem@@W4MusicStore@1@@Z @ 157 NONAME ; void RadioUiEngine::openMusicStore(class RadioHistoryItem const &, enum RadioUiEngine::MusicStore)
-	?metaObject@RadioUiEngine@@UBEPBUQMetaObject@@XZ @ 158 NONAME ; struct QMetaObject const * RadioUiEngine::metaObject(void) const
-	?dynamicPsChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 159 NONAME ; void RadioStationModel::dynamicPsChanged(class RadioStation const &)
-	?setType@RadioStation@@QAEXV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 160 NONAME ; void RadioStation::setType(class QFlags<enum RadioStation::TypeFlag>)
-	??0RadioHistoryItem@@QAE@XZ @ 161 NONAME ; RadioHistoryItem::RadioHistoryItem(void)
-	?removeByFrequency@RadioStationModel@@QAEXI@Z @ 162 NONAME ; void RadioStationModel::removeByFrequency(unsigned int)
-	?isUsingLoudspeaker@RadioUiEngine@@QBE_NXZ @ 163 NONAME ; bool RadioUiEngine::isUsingLoudspeaker(void) const
-	?findPresetIndex@RadioStationModel@@QAEHH@Z @ 164 NONAME ; int RadioStationModel::findPresetIndex(int)
-	??0RadioHistoryItem@@QAE@ABV0@@Z @ 165 NONAME ; RadioHistoryItem::RadioHistoryItem(class RadioHistoryItem const &)
-	?metaObject@RadioStationModel@@UBEPBUQMetaObject@@XZ @ 166 NONAME ; struct QMetaObject const * RadioStationModel::metaObject(void) const
-	?getStaticMetaObject@RadioStationModel@@SAABUQMetaObject@@XZ @ 167 NONAME ; struct QMetaObject const & RadioStationModel::getStaticMetaObject(void)
-	?isPoweringOff@RadioUiEngine@@QBE_NXZ @ 168 NONAME ; bool RadioUiEngine::isPoweringOff(void) const
-	?lastTunedFrequency@RadioUiEngine@@SAII@Z @ 169 NONAME ; unsigned int RadioUiEngine::lastTunedFrequency(unsigned int)
-	?tr@RadioScannerEngine@@SA?AVQString@@PBD0@Z @ 170 NONAME ; class QString RadioScannerEngine::tr(char const *, char const *)
-	?removeAll@RadioHistoryModel@@QAEX_N@Z @ 171 NONAME ; void RadioHistoryModel::removeAll(bool)
-	?hasGenre@RadioStation@@QBE_NXZ @ 172 NONAME ; bool RadioStation::hasGenre(void) const
-	?audioRouteChanged@RadioUiEngine@@IAEX_N@Z @ 173 NONAME ; void RadioUiEngine::audioRouteChanged(bool)
-	?setPowerOn@RadioUiEngine@@QAEXXZ @ 174 NONAME ; void RadioUiEngine::setPowerOn(void)
-	?tr@RadioHistoryModel@@SA?AVQString@@PBD0H@Z @ 175 NONAME ; class QString RadioHistoryModel::tr(char const *, char const *, int)
-	?dynamicPsText@RadioStation@@QBE?AVQString@@XZ @ 176 NONAME ; class QString RadioStation::dynamicPsText(void) const
-	?isFirstTimeStart@RadioUiEngine@@QAE_NXZ @ 177 NONAME ; bool RadioUiEngine::isFirstTimeStart(void)
-	?setMute@RadioUiEngine@@QAEX_N@Z @ 178 NONAME ; void RadioUiEngine::setMute(bool)
-	?setGenre@RadioStation@@AAEXH@Z @ 179 NONAME ; void RadioStation::setGenre(int)
-	??0RadioScannerEngine@@QAE@AAVRadioUiEnginePrivate@@@Z @ 180 NONAME ; RadioScannerEngine::RadioScannerEngine(class RadioUiEnginePrivate &)
-	?emitRadioStatusChanged@RadioUiEngine@@AAEX_N@Z @ 181 NONAME ; void RadioUiEngine::emitRadioStatusChanged(bool)
-	??_ERadioUiEngine@@UAE@I@Z @ 182 NONAME ; RadioUiEngine::~RadioUiEngine(unsigned int)
-	?init@RadioUiEngine@@QAE_NXZ @ 183 NONAME ; bool RadioUiEngine::init(void)
-	?setRadioText@RadioStation@@AAEXABVQString@@@Z @ 184 NONAME ; void RadioStation::setRadioText(class QString const &)
-	?changeFlags@RadioStation@@QBE?AV?$QFlags@W4ChangeFlag@RadioStation@@@@XZ @ 185 NONAME ; class QFlags<enum RadioStation::ChangeFlag> RadioStation::changeFlags(void) const
-	?findFrequency@RadioStationModel@@QBE_NIAAVRadioStation@@W4Criteria@FindCriteria@@@Z @ 186 NONAME ; bool RadioStationModel::findFrequency(unsigned int, class RadioStation &, enum FindCriteria::Criteria) const
-	?d_func@RadioStationModel@@AAEPAVRadioStationModelPrivate@@XZ @ 187 NONAME ; class RadioStationModelPrivate * RadioStationModel::d_func(void)
-	?addRadioTextPlus@RadioHistoryModel@@AAEXHABVQString@@ABVRadioStation@@@Z @ 188 NONAME ; void RadioHistoryModel::addRadioTextPlus(int, class QString const &, class RadioStation const &)
-	?qt_metacast@RadioHistoryModel@@UAEPAXPBD@Z @ 189 NONAME ; void * RadioHistoryModel::qt_metacast(char const *)
-	?setDetail@RadioStationModel@@QAEXV?$QFlags@W4DetailFlag@RadioStationModel@@@@@Z @ 190 NONAME ; void RadioStationModel::setDetail(class QFlags<enum RadioStationModel::DetailFlag>)
-	??1RadioUiEngine@@UAE@XZ @ 191 NONAME ; RadioUiEngine::~RadioUiEngine(void)
-	?tr@RadioHistoryModel@@SA?AVQString@@PBD0@Z @ 192 NONAME ; class QString RadioHistoryModel::tr(char const *, char const *)
-	?time@RadioHistoryItem@@QBE?AVQString@@XZ @ 193 NONAME ; class QString RadioHistoryItem::time(void) const
-	?reportChangedData@RadioHistoryModel@@AAEXHH@Z @ 194 NONAME ; void RadioHistoryModel::reportChangedData(int, int)
-	?artist@RadioHistoryItem@@QBE?AVQString@@XZ @ 195 NONAME ; class QString RadioHistoryItem::artist(void) const
-	?initialize@RadioStationModel@@QAEXPAVRadioPresetStorage@@PAVRadioEngineWrapper@@@Z @ 196 NONAME ; void RadioStationModel::initialize(class RadioPresetStorage *, class RadioEngineWrapper *)
-	?isType@RadioStation@@QBE_NV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 197 NONAME ; bool RadioStation::isType(class QFlags<enum RadioStation::TypeFlag>) const
-	?resetCurrentSong@RadioHistoryModel@@QAEXXZ @ 198 NONAME ; void RadioHistoryModel::resetCurrentSong(void)
-	?d_func@RadioHistoryModel@@ABEPBVRadioHistoryModelPrivate@@XZ @ 199 NONAME ; class RadioHistoryModelPrivate const * RadioHistoryModel::d_func(void) const
-	?volumeChanged@RadioUiEngine@@IAEXH@Z @ 200 NONAME ; void RadioUiEngine::volumeChanged(int)
-	?title@RadioHistoryItem@@QBE?AVQString@@XZ @ 201 NONAME ; class QString RadioHistoryItem::title(void) const
-	?stationFound@RadioScannerEngine@@IAEXABVRadioStation@@@Z @ 202 NONAME ; void RadioScannerEngine::stationFound(class RadioStation const &)
-	?resetChangeFlags@RadioStation@@QAEXXZ @ 203 NONAME ; void RadioStation::resetChangeFlags(void)
-	?powerOffRequested@RadioUiEngine@@IAEXXZ @ 204 NONAME ; void RadioUiEngine::powerOffRequested(void)
-	?metaObject@RadioScannerEngine@@UBEPBUQMetaObject@@XZ @ 205 NONAME ; struct QMetaObject const * RadioScannerEngine::metaObject(void) const
-	?qt_metacast@RadioScannerEngine@@UAEPAXPBD@Z @ 206 NONAME ; void * RadioScannerEngine::qt_metacast(char const *)
+	?saveStation@RadioStationModel@@QAEXAAVRadioStation@@@Z @ 40 NONAME ; void RadioStationModel::saveStation(class RadioStation &)
+	?getStaticMetaObject@RadioHistoryModel@@SAABUQMetaObject@@XZ @ 41 NONAME ; struct QMetaObject const & RadioHistoryModel::getStaticMetaObject(void)
+	?findUnusedPresetIndex@RadioStationModel@@AAEHXZ @ 42 NONAME ; int RadioStationModel::findUnusedPresetIndex(void)
+	?hasChanged@RadioStation@@QBE_NXZ @ 43 NONAME ; bool RadioStation::hasChanged(void) const
+	?trUtf8@RadioScannerEngine@@SA?AVQString@@PBD0H@Z @ 44 NONAME ; class QString RadioScannerEngine::trUtf8(char const *, char const *, int)
+	?isScanning@RadioUiEngine@@QBE_NXZ @ 45 NONAME ; bool RadioUiEngine::isScanning(void) const
+	?dynamicPsCheckEnded@RadioStationModel@@AAEXXZ @ 46 NONAME ; void RadioStationModel::dynamicPsCheckEnded(void)
+	?d_func@RadioHistoryModel@@AAEPAVRadioHistoryModelPrivate@@XZ @ 47 NONAME ; class RadioHistoryModelPrivate * RadioHistoryModel::d_func(void)
+	?skipStation@RadioUiEngine@@QAEIW4Mode@StationSkip@@IH@Z @ 48 NONAME ; unsigned int RadioUiEngine::skipStation(enum StationSkip::Mode, unsigned int, int)
+	?setFrequency@RadioStation@@AAEXI@Z @ 49 NONAME ; void RadioStation::setFrequency(unsigned int)
+	?piCodeToCallSign@RadioStation@@AAE?AVQString@@I@Z @ 50 NONAME ; class QString RadioStation::piCodeToCallSign(unsigned int)
+	?seekStation@RadioUiEngine@@QAEXH@Z @ 51 NONAME ; void RadioUiEngine::seekStation(int)
+	?favoriteChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 52 NONAME ; void RadioStationModel::favoriteChanged(class RadioStation const &)
+	?radioStatusChanged@RadioUiEngine@@IAEX_N@Z @ 53 NONAME ; void RadioUiEngine::radioStatusChanged(bool)
+	?setIcons@RadioHistoryModel@@QAEXABVQIcon@@0@Z @ 54 NONAME ; void RadioHistoryModel::setIcons(class QIcon const &, class QIcon const &)
+	?isCurrentSongRecognized@RadioHistoryModel@@QBE_NXZ @ 55 NONAME ; bool RadioHistoryModel::isCurrentSongRecognized(void) const
+	?addStation@RadioStationModel@@QAEXABVRadioStation@@@Z @ 56 NONAME ; void RadioStationModel::addStation(class RadioStation const &)
+	?clearRadioTextPlus@RadioHistoryModel@@AAEXXZ @ 57 NONAME ; void RadioHistoryModel::clearRadioTextPlus(void)
+	?favoriteCount@RadioStationModel@@QAEHXZ @ 58 NONAME ; int RadioStationModel::favoriteCount(void)
+	??1RadioScannerEngine@@UAE@XZ @ 59 NONAME ; RadioScannerEngine::~RadioScannerEngine(void)
+	?tunedToFrequency@RadioUiEngine@@IAEXIH@Z @ 60 NONAME ; void RadioUiEngine::tunedToFrequency(unsigned int, int)
+	?tr@RadioUiEngine@@SA?AVQString@@PBD0H@Z @ 61 NONAME ; class QString RadioUiEngine::tr(char const *, char const *, int)
+	?launchBrowser@RadioUiEngine@@QAEXABVQString@@@Z @ 62 NONAME ; void RadioUiEngine::launchBrowser(class QString const &)
+	?isScanning@RadioScannerEngine@@QBE_NXZ @ 63 NONAME ; bool RadioScannerEngine::isScanning(void) const
+	??1RadioHistoryItem@@QAE@XZ @ 64 NONAME ; RadioHistoryItem::~RadioHistoryItem(void)
+	?trUtf8@RadioScannerEngine@@SA?AVQString@@PBD0@Z @ 65 NONAME ; class QString RadioScannerEngine::trUtf8(char const *, char const *)
+	?hasName@RadioStation@@QBE_NXZ @ 66 NONAME ; bool RadioStation::hasName(void) const
+	?emitDataChanged@RadioStationModel@@AAEXABVRadioStation@@@Z @ 67 NONAME ; void RadioStationModel::emitDataChanged(class RadioStation const &)
+	?setPowerOff@RadioUiEngine@@QAEXH@Z @ 68 NONAME ; void RadioUiEngine::setPowerOff(int)
+	?isRadioOn@RadioUiEngine@@QBE_NXZ @ 69 NONAME ; bool RadioUiEngine::isRadioOn(void) const
+	?continueScanning@RadioScannerEngine@@QAEXXZ @ 70 NONAME ; void RadioScannerEngine::continueScanning(void)
+	?trUtf8@RadioHistoryModel@@SA?AVQString@@PBD0H@Z @ 71 NONAME ; class QString RadioHistoryModel::trUtf8(char const *, char const *, int)
+	?localCount@RadioStationModel@@QAEHXZ @ 72 NONAME ; int RadioStationModel::localCount(void)
+	?list@RadioStationModel@@QBEABV?$QMap@IVRadioStation@@@@XZ @ 73 NONAME ; class QMap<unsigned int, class RadioStation> const & RadioStationModel::list(void) const
+	?tr@RadioStationModel@@SA?AVQString@@PBD0@Z @ 74 NONAME ; class QString RadioStationModel::tr(char const *, char const *)
+	?findClosest@RadioStationModel@@QAE?AVRadioStation@@IW4Mode@StationSkip@@@Z @ 75 NONAME ; class RadioStation RadioStationModel::findClosest(unsigned int, enum StationSkip::Mode)
+	?flags@RadioStationModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 76 NONAME ; class QFlags<enum Qt::ItemFlag> RadioStationModel::flags(class QModelIndex const &) const
+	?launchRadioServer@RadioUiEngine@@SAXXZ @ 77 NONAME ; void RadioUiEngine::launchRadioServer(void)
+	?staticMetaObject@RadioScannerEngine@@2UQMetaObject@@B @ 78 NONAME ; struct QMetaObject const RadioScannerEngine::staticMetaObject
+	?id@RadioHistoryItem@@QBEHXZ @ 79 NONAME ; int RadioHistoryItem::id(void) const
+	?stationsInRange@RadioUiEngine@@QAE?AV?$QList@VRadioStation@@@@II@Z @ 80 NONAME ; class QList<class RadioStation> RadioUiEngine::stationsInRange(unsigned int, unsigned int)
+	?trUtf8@RadioUiEngine@@SA?AVQString@@PBD0@Z @ 81 NONAME ; class QString RadioUiEngine::trUtf8(char const *, char const *)
+	?tr@RadioScannerEngine@@SA?AVQString@@PBD0H@Z @ 82 NONAME ; class QString RadioScannerEngine::tr(char const *, char const *, int)
+	?setPiCode@RadioStation@@AAE_NHW4Region@RadioRegion@@@Z @ 83 NONAME ; bool RadioStation::setPiCode(int, enum RadioRegion::Region)
+	?data_ptr@RadioHistoryItem@@QAEAAV?$QSharedDataPointer@VRadioHistoryItemPrivate@@@@XZ @ 84 NONAME ; class QSharedDataPointer<class RadioHistoryItemPrivate> & RadioHistoryItem::data_ptr(void)
+	?radioText@RadioStation@@QBE?AVQString@@XZ @ 85 NONAME ; class QString RadioStation::radioText(void) const
+	?setData@RadioStationModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 86 NONAME ; bool RadioStationModel::setData(class QModelIndex const &, class QVariant const &, int)
+	?lastVolume@RadioUiEngine@@SAHXZ @ 87 NONAME ; int RadioUiEngine::lastVolume(void)
+	?isInManualSeekMode@RadioUiEngine@@QBE_NXZ @ 88 NONAME ; bool RadioUiEngine::isInManualSeekMode(void) const
+	?itemAtIndex@RadioHistoryModel@@QBE?AVRadioHistoryItem@@ABVQModelIndex@@@Z @ 89 NONAME ; class RadioHistoryItem RadioHistoryModel::itemAtIndex(class QModelIndex const &) const
+	?setVolume@RadioUiEngine@@QAEXH@Z @ 90 NONAME ; void RadioUiEngine::setVolume(int)
+	?setFavorite@RadioStation@@QAEX_N@Z @ 91 NONAME ; void RadioStation::setFavorite(bool)
+	?d_func@RadioStationModel@@ABEPBVRadioStationModelPrivate@@XZ @ 92 NONAME ; class RadioStationModelPrivate const * RadioStationModel::d_func(void) const
+	?emitChangeSignals@RadioStationModel@@AAEXABVRadioStation@@V?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 93 NONAME ; void RadioStationModel::emitChangeSignals(class RadioStation const &, class QFlags<enum RadioStation::ChangeFlag>)
+	?tr@RadioStationModel@@SA?AVQString@@PBD0H@Z @ 94 NONAME ; class QString RadioStationModel::tr(char const *, char const *, int)
+	?hasUrl@RadioStation@@QBE_NXZ @ 95 NONAME ; bool RadioStation::hasUrl(void) const
+	??1RadioStationModel@@UAE@XZ @ 96 NONAME ; RadioStationModel::~RadioStationModel(void)
+	?isMuted@RadioUiEngine@@QBE_NXZ @ 97 NONAME ; bool RadioUiEngine::isMuted(void) const
+	?renameStation@RadioStationModel@@QAEXHABVQString@@@Z @ 98 NONAME ; void RadioStationModel::renameStation(int, class QString const &)
+	?currentFrequency@RadioUiEngine@@QBEIXZ @ 99 NONAME ; unsigned int RadioUiEngine::currentFrequency(void) const
+	?emitItemAdded@RadioHistoryModel@@AAEXXZ @ 100 NONAME ; void RadioHistoryModel::emitItemAdded(void)
+	?setUserDefinedName@RadioStation@@QAEXABVQString@@@Z @ 101 NONAME ; void RadioStation::setUserDefinedName(class QString const &)
+	?setUrl@RadioStation@@AAEXABVQString@@@Z @ 102 NONAME ; void RadioStation::setUrl(class QString const &)
+	?hasDynamicPs@RadioStation@@QBE_NXZ @ 103 NONAME ; bool RadioStation::hasDynamicPs(void) const
+	??1RadioStation@@UAE@XZ @ 104 NONAME ; RadioStation::~RadioStation(void)
+	?getStaticMetaObject@RadioScannerEngine@@SAABUQMetaObject@@XZ @ 105 NONAME ; struct QMetaObject const & RadioScannerEngine::getStaticMetaObject(void)
+	?callSignString@RadioStation@@AAE?AVQString@@I@Z @ 106 NONAME ; class QString RadioStation::callSignString(unsigned int)
+	?isValid@RadioStation@@QBE_NXZ @ 107 NONAME ; bool RadioStation::isValid(void) const
+	?data_ptr@RadioStation@@QAEAAV?$QSharedDataPointer@VRadioStationPrivate@@@@XZ @ 108 NONAME ; class QSharedDataPointer<class RadioStationPrivate> & RadioStation::data_ptr(void)
+	?trUtf8@RadioUiEngine@@SA?AVQString@@PBD0H@Z @ 109 NONAME ; class QString RadioUiEngine::trUtf8(char const *, char const *, int)
+	?reset@RadioHistoryItem@@QAEXXZ @ 110 NONAME ; void RadioHistoryItem::reset(void)
+	?trUtf8@RadioStationModel@@SA?AVQString@@PBD0@Z @ 111 NONAME ; class QString RadioStationModel::trUtf8(char const *, char const *)
+	?setRadioTextPlus@RadioStation@@AAEXHABVQString@@@Z @ 112 NONAME ; void RadioStation::setRadioTextPlus(int, class QString const &)
+	?setChangeFlags@RadioStation@@AAEXV?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 113 NONAME ; void RadioStation::setChangeFlags(class QFlags<enum RadioStation::ChangeFlag>)
+	??0RadioStationModel@@QAE@AAVRadioUiEnginePrivate@@@Z @ 114 NONAME ; RadioStationModel::RadioStationModel(class RadioUiEnginePrivate &)
+	?stationDataChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 115 NONAME ; void RadioStationModel::stationDataChanged(class RadioStation const &)
+	?frequency@RadioHistoryItem@@QBEIXZ @ 116 NONAME ; unsigned int RadioHistoryItem::frequency(void) const
+	?currentStation@RadioStationModel@@QAEAAVRadioStation@@XZ @ 117 NONAME ; class RadioStation & RadioStationModel::currentStation(void)
+	?isDetached@RadioHistoryItem@@QBE_NXZ @ 118 NONAME ; bool RadioHistoryItem::isDetached(void) const
+	?genre@RadioStation@@QBEHXZ @ 119 NONAME ; int RadioStation::genre(void) const
+	?qt_metacall@RadioScannerEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 120 NONAME ; int RadioScannerEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?emitTunedToFrequency@RadioUiEngine@@AAEXIH@Z @ 121 NONAME ; void RadioUiEngine::emitTunedToFrequency(unsigned int, int)
+	??0RadioStation@@QAE@XZ @ 122 NONAME ; RadioStation::RadioStation(void)
+	?psType@RadioStation@@QBE?AV?$QFlags@W4PsTypeFlag@RadioStation@@@@XZ @ 123 NONAME ; class QFlags<enum RadioStation::PsTypeFlag> RadioStation::psType(void) const
+	??1RadioHistoryModel@@UAE@XZ @ 124 NONAME ; RadioHistoryModel::~RadioHistoryModel(void)
+	?d_func@RadioUiEngine@@ABEPBVRadioUiEnginePrivate@@XZ @ 125 NONAME ; class RadioUiEnginePrivate const * RadioUiEngine::d_func(void) const
+	?findStation@RadioStationModel@@QBE?AVRadioStation@@IW4Criteria@FindCriteria@@@Z @ 126 NONAME ; class RadioStation RadioStationModel::findStation(unsigned int, enum FindCriteria::Criteria) const
+	?scannerEngine@RadioUiEngine@@QAEPAVRadioScannerEngine@@XZ @ 127 NONAME ; class RadioScannerEngine * RadioUiEngine::scannerEngine(void)
+	?setManualSeekMode@RadioUiEngine@@QAEX_N@Z @ 128 NONAME ; void RadioUiEngine::setManualSeekMode(bool)
+	?isSongRecognitionAppAvailable@RadioUiEngine@@QAE_NXZ @ 129 NONAME ; bool RadioUiEngine::isSongRecognitionAppAvailable(void)
+	?startScanning@RadioScannerEngine@@QAEXXZ @ 130 NONAME ; void RadioScannerEngine::startScanning(void)
+	?emitStationFound@RadioScannerEngine@@AAEXABVRadioStation@@@Z @ 131 NONAME ; void RadioScannerEngine::emitStationFound(class RadioStation const &)
+	?isValid@RadioHistoryItem@@QBE_NXZ @ 132 NONAME ; bool RadioHistoryItem::isValid(void) const
+	?setPsType@RadioStation@@AAEXV?$QFlags@W4PsTypeFlag@RadioStation@@@@@Z @ 133 NONAME ; void RadioStation::setPsType(class QFlags<enum RadioStation::PsTypeFlag>)
+	?setFrequency@RadioUiEngine@@QAEXIH@Z @ 134 NONAME ; void RadioUiEngine::setFrequency(unsigned int, int)
+	?data@RadioHistoryModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 135 NONAME ; class QVariant RadioHistoryModel::data(class QModelIndex const &, int) const
+	??4RadioHistoryItem@@QAEAAV0@ABV0@@Z @ 136 NONAME ; class RadioHistoryItem & RadioHistoryItem::operator=(class RadioHistoryItem const &)
+	?url@RadioStation@@QBE?AVQString@@XZ @ 137 NONAME ; class QString RadioStation::url(void) const
+	?historyModel@RadioUiEngine@@QAEAAVRadioHistoryModel@@XZ @ 138 NONAME ; class RadioHistoryModel & RadioUiEngine::historyModel(void)
+	?emitRdsAvailabilityChanged@RadioUiEngine@@AAEX_N@Z @ 139 NONAME ; void RadioUiEngine::emitRdsAvailabilityChanged(bool)
+	?isAntennaAttached@RadioUiEngine@@QBE_NXZ @ 140 NONAME ; bool RadioUiEngine::isAntennaAttached(void) const
+	?setStation@RadioHistoryItem@@QAEXABVQString@@@Z @ 141 NONAME ; void RadioHistoryItem::setStation(class QString const &)
+	?qt_metacast@RadioStationModel@@UAEPAXPBD@Z @ 142 NONAME ; void * RadioStationModel::qt_metacast(char const *)
+	?hasSentRds@RadioStation@@QBE_NXZ @ 143 NONAME ; bool RadioStation::hasSentRds(void) const
+	?presetIndex@RadioStation@@QBEHXZ @ 144 NONAME ; int RadioStation::presetIndex(void) const
+	?cancel@RadioScannerEngine@@QAEXXZ @ 145 NONAME ; void RadioScannerEngine::cancel(void)
+	?staticMetaObject@RadioStationModel@@2UQMetaObject@@B @ 146 NONAME ; struct QMetaObject const RadioStationModel::staticMetaObject
+	?addRecognizedSong@RadioUiEngine@@QAEXABVQString@@0ABVRadioStation@@@Z @ 147 NONAME ; void RadioUiEngine::addRecognizedSong(class QString const &, class QString const &, class RadioStation const &)
+	?emitMuteChanged@RadioUiEngine@@AAEX_N@Z @ 148 NONAME ; void RadioUiEngine::emitMuteChanged(bool)
+	?setDynamicPsText@RadioStation@@AAEXABVQString@@@Z @ 149 NONAME ; void RadioStation::setDynamicPsText(class QString const &)
+	?currentSongReset@RadioHistoryModel@@IAEXXZ @ 150 NONAME ; void RadioHistoryModel::currentSongReset(void)
+	?removeByPresetIndex@RadioStationModel@@QAEXH@Z @ 151 NONAME ; void RadioStationModel::removeByPresetIndex(int)
+	?d_func@RadioScannerEngine@@AAEPAVRadioScannerEnginePrivate@@XZ @ 152 NONAME ; class RadioScannerEnginePrivate * RadioScannerEngine::d_func(void)
+	?isRenamed@RadioStation@@QBE_NXZ @ 153 NONAME ; bool RadioStation::isRenamed(void) const
+	?stationAt@RadioStationModel@@QBE?AVRadioStation@@H@Z @ 154 NONAME ; class RadioStation RadioStationModel::stationAt(int) const
+	?removeStation@RadioStationModel@@QAEXABVRadioStation@@@Z @ 155 NONAME ; void RadioStationModel::removeStation(class RadioStation const &)
+	?openMusicStore@RadioUiEngine@@QAEXABVRadioHistoryItem@@W4MusicStore@1@@Z @ 156 NONAME ; void RadioUiEngine::openMusicStore(class RadioHistoryItem const &, enum RadioUiEngine::MusicStore)
+	?metaObject@RadioUiEngine@@UBEPBUQMetaObject@@XZ @ 157 NONAME ; struct QMetaObject const * RadioUiEngine::metaObject(void) const
+	?dynamicPsChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 158 NONAME ; void RadioStationModel::dynamicPsChanged(class RadioStation const &)
+	?setType@RadioStation@@QAEXV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 159 NONAME ; void RadioStation::setType(class QFlags<enum RadioStation::TypeFlag>)
+	??0RadioHistoryItem@@QAE@XZ @ 160 NONAME ; RadioHistoryItem::RadioHistoryItem(void)
+	?removeByFrequency@RadioStationModel@@QAEXI@Z @ 161 NONAME ; void RadioStationModel::removeByFrequency(unsigned int)
+	?isUsingLoudspeaker@RadioUiEngine@@QBE_NXZ @ 162 NONAME ; bool RadioUiEngine::isUsingLoudspeaker(void) const
+	?findPresetIndex@RadioStationModel@@QAEHH@Z @ 163 NONAME ; int RadioStationModel::findPresetIndex(int)
+	??0RadioHistoryItem@@QAE@ABV0@@Z @ 164 NONAME ; RadioHistoryItem::RadioHistoryItem(class RadioHistoryItem const &)
+	?metaObject@RadioStationModel@@UBEPBUQMetaObject@@XZ @ 165 NONAME ; struct QMetaObject const * RadioStationModel::metaObject(void) const
+	?getStaticMetaObject@RadioStationModel@@SAABUQMetaObject@@XZ @ 166 NONAME ; struct QMetaObject const & RadioStationModel::getStaticMetaObject(void)
+	?isPoweringOff@RadioUiEngine@@QBE_NXZ @ 167 NONAME ; bool RadioUiEngine::isPoweringOff(void) const
+	?lastTunedFrequency@RadioUiEngine@@SAII@Z @ 168 NONAME ; unsigned int RadioUiEngine::lastTunedFrequency(unsigned int)
+	?tr@RadioScannerEngine@@SA?AVQString@@PBD0@Z @ 169 NONAME ; class QString RadioScannerEngine::tr(char const *, char const *)
+	?removeAll@RadioHistoryModel@@QAEX_N@Z @ 170 NONAME ; void RadioHistoryModel::removeAll(bool)
+	?hasGenre@RadioStation@@QBE_NXZ @ 171 NONAME ; bool RadioStation::hasGenre(void) const
+	?audioRouteChanged@RadioUiEngine@@IAEX_N@Z @ 172 NONAME ; void RadioUiEngine::audioRouteChanged(bool)
+	?setPowerOn@RadioUiEngine@@QAEXXZ @ 173 NONAME ; void RadioUiEngine::setPowerOn(void)
+	?tr@RadioHistoryModel@@SA?AVQString@@PBD0H@Z @ 174 NONAME ; class QString RadioHistoryModel::tr(char const *, char const *, int)
+	?dynamicPsText@RadioStation@@QBE?AVQString@@XZ @ 175 NONAME ; class QString RadioStation::dynamicPsText(void) const
+	?isFirstTimeStart@RadioUiEngine@@QAE_NXZ @ 176 NONAME ; bool RadioUiEngine::isFirstTimeStart(void)
+	?setMute@RadioUiEngine@@QAEX_N@Z @ 177 NONAME ; void RadioUiEngine::setMute(bool)
+	?setGenre@RadioStation@@AAEXH@Z @ 178 NONAME ; void RadioStation::setGenre(int)
+	??0RadioScannerEngine@@QAE@AAVRadioUiEnginePrivate@@@Z @ 179 NONAME ; RadioScannerEngine::RadioScannerEngine(class RadioUiEnginePrivate &)
+	?emitRadioStatusChanged@RadioUiEngine@@AAEX_N@Z @ 180 NONAME ; void RadioUiEngine::emitRadioStatusChanged(bool)
+	??_ERadioUiEngine@@UAE@I@Z @ 181 NONAME ; RadioUiEngine::~RadioUiEngine(unsigned int)
+	?init@RadioUiEngine@@QAE_NXZ @ 182 NONAME ; bool RadioUiEngine::init(void)
+	?setRadioText@RadioStation@@AAEXABVQString@@@Z @ 183 NONAME ; void RadioStation::setRadioText(class QString const &)
+	?changeFlags@RadioStation@@QBE?AV?$QFlags@W4ChangeFlag@RadioStation@@@@XZ @ 184 NONAME ; class QFlags<enum RadioStation::ChangeFlag> RadioStation::changeFlags(void) const
+	?findFrequency@RadioStationModel@@QBE_NIAAVRadioStation@@W4Criteria@FindCriteria@@@Z @ 185 NONAME ; bool RadioStationModel::findFrequency(unsigned int, class RadioStation &, enum FindCriteria::Criteria) const
+	?d_func@RadioStationModel@@AAEPAVRadioStationModelPrivate@@XZ @ 186 NONAME ; class RadioStationModelPrivate * RadioStationModel::d_func(void)
+	?addRadioTextPlus@RadioHistoryModel@@AAEXHABVQString@@ABVRadioStation@@@Z @ 187 NONAME ; void RadioHistoryModel::addRadioTextPlus(int, class QString const &, class RadioStation const &)
+	?qt_metacast@RadioHistoryModel@@UAEPAXPBD@Z @ 188 NONAME ; void * RadioHistoryModel::qt_metacast(char const *)
+	?setDetail@RadioStationModel@@QAEXV?$QFlags@W4DetailFlag@RadioStationModel@@@@@Z @ 189 NONAME ; void RadioStationModel::setDetail(class QFlags<enum RadioStationModel::DetailFlag>)
+	??1RadioUiEngine@@UAE@XZ @ 190 NONAME ; RadioUiEngine::~RadioUiEngine(void)
+	?tr@RadioHistoryModel@@SA?AVQString@@PBD0@Z @ 191 NONAME ; class QString RadioHistoryModel::tr(char const *, char const *)
+	?time@RadioHistoryItem@@QBE?AVQString@@XZ @ 192 NONAME ; class QString RadioHistoryItem::time(void) const
+	?reportChangedData@RadioHistoryModel@@AAEXHH@Z @ 193 NONAME ; void RadioHistoryModel::reportChangedData(int, int)
+	?artist@RadioHistoryItem@@QBE?AVQString@@XZ @ 194 NONAME ; class QString RadioHistoryItem::artist(void) const
+	?initialize@RadioStationModel@@QAEXPAVRadioPresetStorage@@PAVRadioEngineWrapper@@@Z @ 195 NONAME ; void RadioStationModel::initialize(class RadioPresetStorage *, class RadioEngineWrapper *)
+	?isType@RadioStation@@QBE_NV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 196 NONAME ; bool RadioStation::isType(class QFlags<enum RadioStation::TypeFlag>) const
+	?resetCurrentSong@RadioHistoryModel@@QAEXXZ @ 197 NONAME ; void RadioHistoryModel::resetCurrentSong(void)
+	?d_func@RadioHistoryModel@@ABEPBVRadioHistoryModelPrivate@@XZ @ 198 NONAME ; class RadioHistoryModelPrivate const * RadioHistoryModel::d_func(void) const
+	?volumeChanged@RadioUiEngine@@IAEXH@Z @ 199 NONAME ; void RadioUiEngine::volumeChanged(int)
+	?title@RadioHistoryItem@@QBE?AVQString@@XZ @ 200 NONAME ; class QString RadioHistoryItem::title(void) const
+	?stationFound@RadioScannerEngine@@IAEXABVRadioStation@@@Z @ 201 NONAME ; void RadioScannerEngine::stationFound(class RadioStation const &)
+	?resetChangeFlags@RadioStation@@QAEXXZ @ 202 NONAME ; void RadioStation::resetChangeFlags(void)
+	?powerOffRequested@RadioUiEngine@@IAEXXZ @ 203 NONAME ; void RadioUiEngine::powerOffRequested(void)
+	?metaObject@RadioScannerEngine@@UBEPBUQMetaObject@@XZ @ 204 NONAME ; struct QMetaObject const * RadioScannerEngine::metaObject(void) const
+	?qt_metacast@RadioScannerEngine@@UAEPAXPBD@Z @ 205 NONAME ; void * RadioScannerEngine::qt_metacast(char const *)
+	?setIcons@RadioStationModel@@QAEXABVQIcon@@00@Z @ 206 NONAME ; void RadioStationModel::setIcons(class QIcon const &, class QIcon const &, class QIcon const &)
 	?callSignChar@RadioStation@@AAEDI@Z @ 207 NONAME ; char RadioStation::callSignChar(unsigned int)
 	??_ERadioStation@@UAE@I@Z @ 208 NONAME ; RadioStation::~RadioStation(unsigned int)
 	?antennaStatusChanged@RadioUiEngine@@IAEX_N@Z @ 209 NONAME ; void RadioUiEngine::antennaStatusChanged(bool)
--- a/radioapp/bwins/fmradiowidgetsu.def	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/bwins/fmradiowidgetsu.def	Mon Oct 04 00:17:30 2010 +0300
@@ -35,99 +35,98 @@
 	?skipRequested@RadioFrequencyStrip@@IAEXH@Z @ 34 NONAME ; void RadioFrequencyStrip::skipRequested(int)
 	?setText@RadioFadingLabel@@QAEXABVQString@@@Z @ 35 NONAME ; void RadioFadingLabel::setText(class QString const &)
 	?showEvent@RadioStationCarousel@@EAEXPAVQShowEvent@@@Z @ 36 NONAME ; void RadioStationCarousel::showEvent(class QShowEvent *)
-	?mousePressEvent@RadioStationCarousel@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 37 NONAME ; void RadioStationCarousel::mousePressEvent(class QGraphicsSceneMouseEvent *)
-	?trUtf8@RadioFrequencyStrip@@SA?AVQString@@PBD0@Z @ 38 NONAME ; class QString RadioFrequencyStrip::trUtf8(char const *, char const *)
-	?activateView@RadioWindow@@AAEXPAVRadioViewBase@@ABVQString@@V?$QFlags@W4ViewSwitchFlag@Hb@@@@@Z @ 39 NONAME ; void RadioWindow::activateView(class RadioViewBase *, class QString const &, class QFlags<enum Hb::ViewSwitchFlag>)
-	?calculateDifference@RadioStationCarousel@@AAEHHAAW4Direction@Scroll@@@Z @ 40 NONAME ; int RadioStationCarousel::calculateDifference(int, enum Scroll::Direction &)
-	?orientationSection@RadioWindow@@QAE?AVQString@@XZ @ 41 NONAME ; class QString RadioWindow::orientationSection(void)
-	??1RadioFrequencyStrip@@UAE@XZ @ 42 NONAME ; RadioFrequencyStrip::~RadioFrequencyStrip(void)
-	?cancelAnimation@RadioStationCarousel@@QAEXXZ @ 43 NONAME ; void RadioStationCarousel::cancelAnimation(void)
-	?staticMetaObject@RadioStationCarousel@@2UQMetaObject@@B @ 44 NONAME ; struct QMetaObject const RadioStationCarousel::staticMetaObject
-	?skipToPrevious@RadioFrequencyStrip@@EAEXXZ @ 45 NONAME ; void RadioFrequencyStrip::skipToPrevious(void)
-	?qt_metacall@RadioFadingLabel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 46 NONAME ; int RadioFadingLabel::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??0RadioFrequencyStrip@@QAE@XZ @ 47 NONAME ; RadioFrequencyStrip::RadioFrequencyStrip(void)
-	?setCenterIndex@RadioStationCarousel@@AAEXHV?$QFlags@W4ScrollFlag@RadioStationCarousel@@@@@Z @ 48 NONAME ; void RadioStationCarousel::setCenterIndex(int, class QFlags<enum RadioStationCarousel::ScrollFlag>)
-	?resizeEvent@RadioStationCarousel@@EAEXPAVQGraphicsSceneResizeEvent@@@Z @ 49 NONAME ; void RadioStationCarousel::resizeEvent(class QGraphicsSceneResizeEvent *)
-	?updateStations@RadioStationCarousel@@AAEXXZ @ 50 NONAME ; void RadioStationCarousel::updateStations(void)
-	??_ERadioWindow@@UAE@I@Z @ 51 NONAME ; RadioWindow::~RadioWindow(unsigned int)
-	?tr@RadioFrequencyStrip@@SA?AVQString@@PBD0@Z @ 52 NONAME ; class QString RadioFrequencyStrip::tr(char const *, char const *)
-	?metaObject@RadioFrequencyStrip@@UBEPBUQMetaObject@@XZ @ 53 NONAME ; struct QMetaObject const * RadioFrequencyStrip::metaObject(void) const
-	?qt_metacall@RadioFrequencyStrip@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 54 NONAME ; int RadioFrequencyStrip::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?qt_metacall@RadioWindow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 55 NONAME ; int RadioWindow::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?startEffect@RadioFadingLabel@@AAEXABVQString@@PBD@Z @ 56 NONAME ; void RadioFadingLabel::startEffect(class QString const &, char const *)
-	?seekDown@RadioFrequencyStrip@@EAEXXZ @ 57 NONAME ; void RadioFrequencyStrip::seekDown(void)
-	?activateHistoryView@RadioWindow@@QAEXXZ @ 58 NONAME ; void RadioWindow::activateHistoryView(void)
-	??_ERadioStationCarousel@@UAE@I@Z @ 59 NONAME ; RadioStationCarousel::~RadioStationCarousel(unsigned int)
-	?tr@RadioFadingLabel@@SA?AVQString@@PBD0@Z @ 60 NONAME ; class QString RadioFadingLabel::tr(char const *, char const *)
-	?getStaticMetaObject@RadioFadingLabel@@SAABUQMetaObject@@XZ @ 61 NONAME ; struct QMetaObject const & RadioFadingLabel::getStaticMetaObject(void)
-	?setManualSeekMode@RadioStationCarousel@@QAEX_N@Z @ 62 NONAME ; void RadioStationCarousel::setManualSeekMode(bool)
-	?qt_metacast@RadioWindow@@UAEPAXPBD@Z @ 63 NONAME ; void * RadioWindow::qt_metacast(char const *)
-	?trimHtml@RadioFadingLabel@@AAE?AVQString@@ABV2@@Z @ 64 NONAME ; class QString RadioFadingLabel::trimHtml(class QString const &)
-	?tr@RadioWindow@@SA?AVQString@@PBD0@Z @ 65 NONAME ; class QString RadioWindow::tr(char const *, char const *)
-	?favoriteIcon@RadioStationCarousel@@UBE?AVHbIcon@@XZ @ 66 NONAME ; class HbIcon RadioStationCarousel::favoriteIcon(void) const
-	?getStaticMetaObject@RadioFrequencyStrip@@SAABUQMetaObject@@XZ @ 67 NONAME ; struct QMetaObject const & RadioFrequencyStrip::getStaticMetaObject(void)
-	?showErrorMessage@RadioWindow@@QAEXABVQString@@@Z @ 68 NONAME ; void RadioWindow::showErrorMessage(class QString const &)
-	??0RadioFadingLabel@@QAE@PAVQGraphicsItem@@@Z @ 69 NONAME ; RadioFadingLabel::RadioFadingLabel(class QGraphicsItem *)
-	?isInManualSeek@RadioStationCarousel@@EBE_NXZ @ 70 NONAME ; bool RadioStationCarousel::isInManualSeek(void) const
-	??1RadioStationCarousel@@UAE@XZ @ 71 NONAME ; RadioStationCarousel::~RadioStationCarousel(void)
-	?isInitialized@RadioFrequencyStrip@@EBE_NXZ @ 72 NONAME ; bool RadioFrequencyStrip::isInitialized(void) const
-	??_ERadioFrequencyStrip@@UAE@I@Z @ 73 NONAME ; RadioFrequencyStrip::~RadioFrequencyStrip(unsigned int)
-	?setFadingEnabled@RadioFadingLabel@@QAEX_N@Z @ 74 NONAME ; void RadioFadingLabel::setFadingEnabled(bool)
-	?localizeGenre@RadioStationCarousel@@EAE?AVQString@@H@Z @ 75 NONAME ; class QString RadioStationCarousel::localizeGenre(int)
-	?showVolumeLevel@RadioWindow@@AAEXH@Z @ 76 NONAME ; void RadioWindow::showVolumeLevel(int)
-	?getStaticMetaObject@RadioWindow@@SAABUQMetaObject@@XZ @ 77 NONAME ; struct QMetaObject const & RadioWindow::getStaticMetaObject(void)
-	?handleRadiotextClicked@RadioStationCarousel@@EAEXABVRadioStation@@@Z @ 78 NONAME ; void RadioStationCarousel::handleRadiotextClicked(class RadioStation const &)
-	?timerFired@RadioStationCarousel@@AAEXXZ @ 79 NONAME ; void RadioStationCarousel::timerFired(void)
-	?trUtf8@RadioWindow@@SA?AVQString@@PBD0@Z @ 80 NONAME ; class QString RadioWindow::trUtf8(char const *, char const *)
-	?seekUp@RadioFrequencyStrip@@EAEXXZ @ 81 NONAME ; void RadioFrequencyStrip::seekUp(void)
-	??0RadioWindow@@QAE@PAVQWidget@@@Z @ 82 NONAME ; RadioWindow::RadioWindow(class QWidget *)
-	?tr@RadioFadingLabel@@SA?AVQString@@PBD0H@Z @ 83 NONAME ; class QString RadioFadingLabel::tr(char const *, char const *, int)
-	?updateRadioText@RadioStationCarousel@@AAEXABVRadioStation@@@Z @ 84 NONAME ; void RadioStationCarousel::updateRadioText(class RadioStation const &)
-	?updateAntennaStatus@RadioStationCarousel@@QAEX_N@Z @ 85 NONAME ; void RadioStationCarousel::updateAntennaStatus(bool)
-	?setFrequency@RadioStationCarousel@@QAEXIHW4Direction@Scroll@@@Z @ 86 NONAME ; void RadioStationCarousel::setFrequency(unsigned int, int, enum Scroll::Direction)
-	?setInfoText@RadioStationCarousel@@QAEXW4Type@CarouselInfoText@@@Z @ 87 NONAME ; void RadioStationCarousel::setInfoText(enum CarouselInfoText::Type)
-	?staticMetaObject@RadioFadingLabel@@2UQMetaObject@@B @ 88 NONAME ; struct QMetaObject const RadioFadingLabel::staticMetaObject
-	?tr@RadioFrequencyStrip@@SA?AVQString@@PBD0H@Z @ 89 NONAME ; class QString RadioFrequencyStrip::tr(char const *, char const *, int)
-	?trUtf8@RadioFrequencyStrip@@SA?AVQString@@PBD0H@Z @ 90 NONAME ; class QString RadioFrequencyStrip::trUtf8(char const *, char const *, int)
-	?getStaticMetaObject@RadioStationCarousel@@SAABUQMetaObject@@XZ @ 91 NONAME ; struct QMetaObject const & RadioStationCarousel::getStaticMetaObject(void)
-	?metaObject@RadioFadingLabel@@UBEPBUQMetaObject@@XZ @ 92 NONAME ; struct QMetaObject const * RadioFadingLabel::metaObject(void) const
-	?metaObject@RadioWindow@@UBEPBUQMetaObject@@XZ @ 93 NONAME ; struct QMetaObject const * RadioWindow::metaObject(void) const
-	?staticMetaObject@RadioFrequencyStrip@@2UQMetaObject@@B @ 94 NONAME ; struct QMetaObject const RadioFrequencyStrip::staticMetaObject
-	?autoScrollTime@RadioStationCarousel@@QBEHXZ @ 95 NONAME ; int RadioStationCarousel::autoScrollTime(void) const
-	?qt_metacast@RadioStationCarousel@@UAEPAXPBD@Z @ 96 NONAME ; void * RadioStationCarousel::qt_metacast(char const *)
-	?skipToNextFavorite@RadioFrequencyStrip@@EAEXXZ @ 97 NONAME ; void RadioFrequencyStrip::skipToNextFavorite(void)
-	?tr@RadioWindow@@SA?AVQString@@PBD0H@Z @ 98 NONAME ; class QString RadioWindow::tr(char const *, char const *, int)
-	?seekRequested@RadioFrequencyStrip@@IAEXH@Z @ 99 NONAME ; void RadioFrequencyStrip::seekRequested(int)
-	??0RadioStationCarousel@@QAE@PAVQGraphicsItem@@@Z @ 100 NONAME ; RadioStationCarousel::RadioStationCarousel(class QGraphicsItem *)
-	?adjustAfterScroll@RadioStationCarousel@@AAEXXZ @ 101 NONAME ; void RadioStationCarousel::adjustAfterScroll(void)
-	?metaObject@RadioStationCarousel@@UBEPBUQMetaObject@@XZ @ 102 NONAME ; struct QMetaObject const * RadioStationCarousel::metaObject(void) const
-	?effectFinished@RadioFadingLabel@@AAEXUEffectStatus@HbEffect@@@Z @ 103 NONAME ; void RadioFadingLabel::effectFinished(struct HbEffect::EffectStatus)
-	?skipToNext@RadioFrequencyStrip@@EAEXXZ @ 104 NONAME ; void RadioFrequencyStrip::skipToNext(void)
-	?updateOrientation@RadioWindow@@AAEXW4Orientation@Qt@@@Z @ 105 NONAME ; void RadioWindow::updateOrientation(enum Qt::Orientation)
-	?activateMainView@RadioWindow@@QAEXXZ @ 106 NONAME ; void RadioWindow::activateMainView(void)
-	?trUtf8@RadioFadingLabel@@SA?AVQString@@PBD0H@Z @ 107 NONAME ; class QString RadioFadingLabel::trUtf8(char const *, char const *, int)
-	?uiEngine@RadioStationCarousel@@QAEPAVRadioUiEngine@@XZ @ 108 NONAME ; class RadioUiEngine * RadioStationCarousel::uiEngine(void)
-	?setLandscape@RadioStationCarousel@@QAEX_N@Z @ 109 NONAME ; void RadioStationCarousel::setLandscape(bool)
-	?setScanningMode@RadioStationCarousel@@QAEX_N@Z @ 110 NONAME ; void RadioStationCarousel::setScanningMode(bool)
-	??1RadioFadingLabel@@UAE@XZ @ 111 NONAME ; RadioFadingLabel::~RadioFadingLabel(void)
-	?setNonFavoriteIcon@RadioStationCarousel@@QAEXABVHbIcon@@@Z @ 112 NONAME ; void RadioStationCarousel::setNonFavoriteIcon(class HbIcon const &)
-	?isInScanningMode@RadioStationCarousel@@QBE_NXZ @ 113 NONAME ; bool RadioStationCarousel::isInScanningMode(void) const
-	?isAntennaAttached@RadioStationCarousel@@QBE_NXZ @ 114 NONAME ; bool RadioStationCarousel::isAntennaAttached(void) const
-	?activateStationsView@RadioWindow@@QAEXXZ @ 115 NONAME ; void RadioWindow::activateStationsView(void)
-	?tr@RadioStationCarousel@@SA?AVQString@@PBD0H@Z @ 116 NONAME ; class QString RadioStationCarousel::tr(char const *, char const *, int)
-	?setFrequency@RadioFrequencyStrip@@UAEXIHW4Direction@Scroll@@@Z @ 117 NONAME ; void RadioFrequencyStrip::setFrequency(unsigned int, int, enum Scroll::Direction)
-	?frequencyChanged@RadioStationCarousel@@IAEXIHH@Z @ 118 NONAME ; void RadioStationCarousel::frequencyChanged(unsigned int, int, int)
-	?trimIndex@RadioStationCarousel@@AAEHH@Z @ 119 NONAME ; int RadioStationCarousel::trimIndex(int)
-	?initView@RadioWindow@@AAEXXZ @ 120 NONAME ; void RadioWindow::initView(void)
-	?trUtf8@RadioStationCarousel@@SA?AVQString@@PBD0H@Z @ 121 NONAME ; class QString RadioStationCarousel::trUtf8(char const *, char const *, int)
-	??_ERadioFadingLabel@@UAE@I@Z @ 122 NONAME ; RadioFadingLabel::~RadioFadingLabel(unsigned int)
-	?init@RadioWindow@@QAEXXZ @ 123 NONAME ; void RadioWindow::init(void)
-	?isScrollingAllowed@RadioStationCarousel@@ABE_NXZ @ 124 NONAME ; bool RadioStationCarousel::isScrollingAllowed(void) const
-	?qt_metacast@RadioFrequencyStrip@@UAEPAXPBD@Z @ 125 NONAME ; void * RadioFrequencyStrip::qt_metacast(char const *)
-	?staticMetaObject@RadioWindow@@2UQMetaObject@@B @ 126 NONAME ; struct QMetaObject const RadioWindow::staticMetaObject
-	?cleanRdsData@RadioStationCarousel@@QAEXXZ @ 127 NONAME ; void RadioStationCarousel::cleanRdsData(void)
-	?clearInfoText@RadioStationCarousel@@QAEXXZ @ 128 NONAME ; void RadioStationCarousel::clearInfoText(void)
-	?adjustPos@RadioStationCarousel@@AAEXH@Z @ 129 NONAME ; void RadioStationCarousel::adjustPos(int)
-	?frequencyAtIndex@RadioFrequencyStrip@@EBEIH@Z @ 130 NONAME ; unsigned int RadioFrequencyStrip::frequencyAtIndex(int) const
-	?scanAnimationFinished@RadioStationCarousel@@IAEXXZ @ 131 NONAME ; void RadioStationCarousel::scanAnimationFinished(void)
+	?trUtf8@RadioFrequencyStrip@@SA?AVQString@@PBD0@Z @ 37 NONAME ; class QString RadioFrequencyStrip::trUtf8(char const *, char const *)
+	?activateView@RadioWindow@@AAEXPAVRadioViewBase@@ABVQString@@V?$QFlags@W4ViewSwitchFlag@Hb@@@@@Z @ 38 NONAME ; void RadioWindow::activateView(class RadioViewBase *, class QString const &, class QFlags<enum Hb::ViewSwitchFlag>)
+	?calculateDifference@RadioStationCarousel@@AAEHHAAW4Direction@Scroll@@@Z @ 39 NONAME ; int RadioStationCarousel::calculateDifference(int, enum Scroll::Direction &)
+	?orientationSection@RadioWindow@@QAE?AVQString@@XZ @ 40 NONAME ; class QString RadioWindow::orientationSection(void)
+	??1RadioFrequencyStrip@@UAE@XZ @ 41 NONAME ; RadioFrequencyStrip::~RadioFrequencyStrip(void)
+	?cancelAnimation@RadioStationCarousel@@QAEXXZ @ 42 NONAME ; void RadioStationCarousel::cancelAnimation(void)
+	?staticMetaObject@RadioStationCarousel@@2UQMetaObject@@B @ 43 NONAME ; struct QMetaObject const RadioStationCarousel::staticMetaObject
+	?skipToPrevious@RadioFrequencyStrip@@EAEXXZ @ 44 NONAME ; void RadioFrequencyStrip::skipToPrevious(void)
+	?qt_metacall@RadioFadingLabel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 45 NONAME ; int RadioFadingLabel::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0RadioFrequencyStrip@@QAE@XZ @ 46 NONAME ; RadioFrequencyStrip::RadioFrequencyStrip(void)
+	?setCenterIndex@RadioStationCarousel@@AAEXHV?$QFlags@W4ScrollFlag@RadioStationCarousel@@@@@Z @ 47 NONAME ; void RadioStationCarousel::setCenterIndex(int, class QFlags<enum RadioStationCarousel::ScrollFlag>)
+	?resizeEvent@RadioStationCarousel@@EAEXPAVQGraphicsSceneResizeEvent@@@Z @ 48 NONAME ; void RadioStationCarousel::resizeEvent(class QGraphicsSceneResizeEvent *)
+	?updateStations@RadioStationCarousel@@AAEXXZ @ 49 NONAME ; void RadioStationCarousel::updateStations(void)
+	??_ERadioWindow@@UAE@I@Z @ 50 NONAME ; RadioWindow::~RadioWindow(unsigned int)
+	?tr@RadioFrequencyStrip@@SA?AVQString@@PBD0@Z @ 51 NONAME ; class QString RadioFrequencyStrip::tr(char const *, char const *)
+	?metaObject@RadioFrequencyStrip@@UBEPBUQMetaObject@@XZ @ 52 NONAME ; struct QMetaObject const * RadioFrequencyStrip::metaObject(void) const
+	?qt_metacall@RadioFrequencyStrip@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 53 NONAME ; int RadioFrequencyStrip::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?qt_metacall@RadioWindow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 54 NONAME ; int RadioWindow::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?startEffect@RadioFadingLabel@@AAEXABVQString@@PBD@Z @ 55 NONAME ; void RadioFadingLabel::startEffect(class QString const &, char const *)
+	?seekDown@RadioFrequencyStrip@@EAEXXZ @ 56 NONAME ; void RadioFrequencyStrip::seekDown(void)
+	?activateHistoryView@RadioWindow@@QAEXXZ @ 57 NONAME ; void RadioWindow::activateHistoryView(void)
+	??_ERadioStationCarousel@@UAE@I@Z @ 58 NONAME ; RadioStationCarousel::~RadioStationCarousel(unsigned int)
+	?tr@RadioFadingLabel@@SA?AVQString@@PBD0@Z @ 59 NONAME ; class QString RadioFadingLabel::tr(char const *, char const *)
+	?getStaticMetaObject@RadioFadingLabel@@SAABUQMetaObject@@XZ @ 60 NONAME ; struct QMetaObject const & RadioFadingLabel::getStaticMetaObject(void)
+	?setManualSeekMode@RadioStationCarousel@@QAEX_N@Z @ 61 NONAME ; void RadioStationCarousel::setManualSeekMode(bool)
+	?qt_metacast@RadioWindow@@UAEPAXPBD@Z @ 62 NONAME ; void * RadioWindow::qt_metacast(char const *)
+	?trimHtml@RadioFadingLabel@@AAE?AVQString@@ABV2@@Z @ 63 NONAME ; class QString RadioFadingLabel::trimHtml(class QString const &)
+	?tr@RadioWindow@@SA?AVQString@@PBD0@Z @ 64 NONAME ; class QString RadioWindow::tr(char const *, char const *)
+	?favoriteIcon@RadioStationCarousel@@UBE?AVHbIcon@@XZ @ 65 NONAME ; class HbIcon RadioStationCarousel::favoriteIcon(void) const
+	?getStaticMetaObject@RadioFrequencyStrip@@SAABUQMetaObject@@XZ @ 66 NONAME ; struct QMetaObject const & RadioFrequencyStrip::getStaticMetaObject(void)
+	?showErrorMessage@RadioWindow@@QAEXABVQString@@@Z @ 67 NONAME ; void RadioWindow::showErrorMessage(class QString const &)
+	??0RadioFadingLabel@@QAE@PAVQGraphicsItem@@@Z @ 68 NONAME ; RadioFadingLabel::RadioFadingLabel(class QGraphicsItem *)
+	?isInManualSeek@RadioStationCarousel@@EBE_NXZ @ 69 NONAME ; bool RadioStationCarousel::isInManualSeek(void) const
+	??1RadioStationCarousel@@UAE@XZ @ 70 NONAME ; RadioStationCarousel::~RadioStationCarousel(void)
+	?isInitialized@RadioFrequencyStrip@@EBE_NXZ @ 71 NONAME ; bool RadioFrequencyStrip::isInitialized(void) const
+	??_ERadioFrequencyStrip@@UAE@I@Z @ 72 NONAME ; RadioFrequencyStrip::~RadioFrequencyStrip(unsigned int)
+	?setFadingEnabled@RadioFadingLabel@@QAEX_N@Z @ 73 NONAME ; void RadioFadingLabel::setFadingEnabled(bool)
+	?localizeGenre@RadioStationCarousel@@EAE?AVQString@@H@Z @ 74 NONAME ; class QString RadioStationCarousel::localizeGenre(int)
+	?showVolumeLevel@RadioWindow@@AAEXH@Z @ 75 NONAME ; void RadioWindow::showVolumeLevel(int)
+	?getStaticMetaObject@RadioWindow@@SAABUQMetaObject@@XZ @ 76 NONAME ; struct QMetaObject const & RadioWindow::getStaticMetaObject(void)
+	?handleRadiotextClicked@RadioStationCarousel@@EAEXABVRadioStation@@@Z @ 77 NONAME ; void RadioStationCarousel::handleRadiotextClicked(class RadioStation const &)
+	?timerFired@RadioStationCarousel@@AAEXXZ @ 78 NONAME ; void RadioStationCarousel::timerFired(void)
+	?trUtf8@RadioWindow@@SA?AVQString@@PBD0@Z @ 79 NONAME ; class QString RadioWindow::trUtf8(char const *, char const *)
+	?seekUp@RadioFrequencyStrip@@EAEXXZ @ 80 NONAME ; void RadioFrequencyStrip::seekUp(void)
+	??0RadioWindow@@QAE@PAVQWidget@@@Z @ 81 NONAME ; RadioWindow::RadioWindow(class QWidget *)
+	?tr@RadioFadingLabel@@SA?AVQString@@PBD0H@Z @ 82 NONAME ; class QString RadioFadingLabel::tr(char const *, char const *, int)
+	?updateRadioText@RadioStationCarousel@@AAEXABVRadioStation@@@Z @ 83 NONAME ; void RadioStationCarousel::updateRadioText(class RadioStation const &)
+	?updateAntennaStatus@RadioStationCarousel@@QAEX_N@Z @ 84 NONAME ; void RadioStationCarousel::updateAntennaStatus(bool)
+	?setFrequency@RadioStationCarousel@@QAEXIHW4Direction@Scroll@@@Z @ 85 NONAME ; void RadioStationCarousel::setFrequency(unsigned int, int, enum Scroll::Direction)
+	?setInfoText@RadioStationCarousel@@QAEXW4Type@CarouselInfoText@@@Z @ 86 NONAME ; void RadioStationCarousel::setInfoText(enum CarouselInfoText::Type)
+	?staticMetaObject@RadioFadingLabel@@2UQMetaObject@@B @ 87 NONAME ; struct QMetaObject const RadioFadingLabel::staticMetaObject
+	?tr@RadioFrequencyStrip@@SA?AVQString@@PBD0H@Z @ 88 NONAME ; class QString RadioFrequencyStrip::tr(char const *, char const *, int)
+	?trUtf8@RadioFrequencyStrip@@SA?AVQString@@PBD0H@Z @ 89 NONAME ; class QString RadioFrequencyStrip::trUtf8(char const *, char const *, int)
+	?getStaticMetaObject@RadioStationCarousel@@SAABUQMetaObject@@XZ @ 90 NONAME ; struct QMetaObject const & RadioStationCarousel::getStaticMetaObject(void)
+	?metaObject@RadioFadingLabel@@UBEPBUQMetaObject@@XZ @ 91 NONAME ; struct QMetaObject const * RadioFadingLabel::metaObject(void) const
+	?metaObject@RadioWindow@@UBEPBUQMetaObject@@XZ @ 92 NONAME ; struct QMetaObject const * RadioWindow::metaObject(void) const
+	?staticMetaObject@RadioFrequencyStrip@@2UQMetaObject@@B @ 93 NONAME ; struct QMetaObject const RadioFrequencyStrip::staticMetaObject
+	?autoScrollTime@RadioStationCarousel@@QBEHXZ @ 94 NONAME ; int RadioStationCarousel::autoScrollTime(void) const
+	?qt_metacast@RadioStationCarousel@@UAEPAXPBD@Z @ 95 NONAME ; void * RadioStationCarousel::qt_metacast(char const *)
+	?skipToNextFavorite@RadioFrequencyStrip@@EAEXXZ @ 96 NONAME ; void RadioFrequencyStrip::skipToNextFavorite(void)
+	?tr@RadioWindow@@SA?AVQString@@PBD0H@Z @ 97 NONAME ; class QString RadioWindow::tr(char const *, char const *, int)
+	?seekRequested@RadioFrequencyStrip@@IAEXH@Z @ 98 NONAME ; void RadioFrequencyStrip::seekRequested(int)
+	??0RadioStationCarousel@@QAE@PAVQGraphicsItem@@@Z @ 99 NONAME ; RadioStationCarousel::RadioStationCarousel(class QGraphicsItem *)
+	?adjustAfterScroll@RadioStationCarousel@@AAEXXZ @ 100 NONAME ; void RadioStationCarousel::adjustAfterScroll(void)
+	?metaObject@RadioStationCarousel@@UBEPBUQMetaObject@@XZ @ 101 NONAME ; struct QMetaObject const * RadioStationCarousel::metaObject(void) const
+	?effectFinished@RadioFadingLabel@@AAEXUEffectStatus@HbEffect@@@Z @ 102 NONAME ; void RadioFadingLabel::effectFinished(struct HbEffect::EffectStatus)
+	?skipToNext@RadioFrequencyStrip@@EAEXXZ @ 103 NONAME ; void RadioFrequencyStrip::skipToNext(void)
+	?updateOrientation@RadioWindow@@AAEXW4Orientation@Qt@@@Z @ 104 NONAME ; void RadioWindow::updateOrientation(enum Qt::Orientation)
+	?activateMainView@RadioWindow@@QAEXXZ @ 105 NONAME ; void RadioWindow::activateMainView(void)
+	?trUtf8@RadioFadingLabel@@SA?AVQString@@PBD0H@Z @ 106 NONAME ; class QString RadioFadingLabel::trUtf8(char const *, char const *, int)
+	?uiEngine@RadioStationCarousel@@QAEPAVRadioUiEngine@@XZ @ 107 NONAME ; class RadioUiEngine * RadioStationCarousel::uiEngine(void)
+	?setLandscape@RadioStationCarousel@@QAEX_N@Z @ 108 NONAME ; void RadioStationCarousel::setLandscape(bool)
+	?setScanningMode@RadioStationCarousel@@QAEX_N@Z @ 109 NONAME ; void RadioStationCarousel::setScanningMode(bool)
+	??1RadioFadingLabel@@UAE@XZ @ 110 NONAME ; RadioFadingLabel::~RadioFadingLabel(void)
+	?setNonFavoriteIcon@RadioStationCarousel@@QAEXABVHbIcon@@@Z @ 111 NONAME ; void RadioStationCarousel::setNonFavoriteIcon(class HbIcon const &)
+	?isInScanningMode@RadioStationCarousel@@QBE_NXZ @ 112 NONAME ; bool RadioStationCarousel::isInScanningMode(void) const
+	?isAntennaAttached@RadioStationCarousel@@QBE_NXZ @ 113 NONAME ; bool RadioStationCarousel::isAntennaAttached(void) const
+	?activateStationsView@RadioWindow@@QAEXXZ @ 114 NONAME ; void RadioWindow::activateStationsView(void)
+	?tr@RadioStationCarousel@@SA?AVQString@@PBD0H@Z @ 115 NONAME ; class QString RadioStationCarousel::tr(char const *, char const *, int)
+	?setFrequency@RadioFrequencyStrip@@UAEXIHW4Direction@Scroll@@@Z @ 116 NONAME ; void RadioFrequencyStrip::setFrequency(unsigned int, int, enum Scroll::Direction)
+	?frequencyChanged@RadioStationCarousel@@IAEXIHH@Z @ 117 NONAME ; void RadioStationCarousel::frequencyChanged(unsigned int, int, int)
+	?trimIndex@RadioStationCarousel@@AAEHH@Z @ 118 NONAME ; int RadioStationCarousel::trimIndex(int)
+	?initView@RadioWindow@@AAEXXZ @ 119 NONAME ; void RadioWindow::initView(void)
+	?trUtf8@RadioStationCarousel@@SA?AVQString@@PBD0H@Z @ 120 NONAME ; class QString RadioStationCarousel::trUtf8(char const *, char const *, int)
+	??_ERadioFadingLabel@@UAE@I@Z @ 121 NONAME ; RadioFadingLabel::~RadioFadingLabel(unsigned int)
+	?init@RadioWindow@@QAEXXZ @ 122 NONAME ; void RadioWindow::init(void)
+	?isScrollingAllowed@RadioStationCarousel@@ABE_NXZ @ 123 NONAME ; bool RadioStationCarousel::isScrollingAllowed(void) const
+	?qt_metacast@RadioFrequencyStrip@@UAEPAXPBD@Z @ 124 NONAME ; void * RadioFrequencyStrip::qt_metacast(char const *)
+	?staticMetaObject@RadioWindow@@2UQMetaObject@@B @ 125 NONAME ; struct QMetaObject const RadioWindow::staticMetaObject
+	?cleanRdsData@RadioStationCarousel@@QAEXXZ @ 126 NONAME ; void RadioStationCarousel::cleanRdsData(void)
+	?clearInfoText@RadioStationCarousel@@QAEXXZ @ 127 NONAME ; void RadioStationCarousel::clearInfoText(void)
+	?adjustPos@RadioStationCarousel@@AAEXH@Z @ 128 NONAME ; void RadioStationCarousel::adjustPos(int)
+	?frequencyAtIndex@RadioFrequencyStrip@@EBEIH@Z @ 129 NONAME ; unsigned int RadioFrequencyStrip::frequencyAtIndex(int) const
+	?scanAnimationFinished@RadioStationCarousel@@IAEXXZ @ 130 NONAME ; void RadioStationCarousel::scanAnimationFinished(void)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/eabi/fmradioenginewrapper_stubu.def	Mon Oct 04 00:17:30 2010 +0300
@@ -0,0 +1,51 @@
+EXPORTS
+	_ZN11RadioLogger18initCombinedLoggerEv @ 1 NONAME
+	_ZN11RadioLogger21releaseCombinedLoggerEv @ 2 NONAME
+	_ZN11RadioLogger6logMsgEPKcNS_4ModeE @ 3 NONAME
+	_ZN12MethodLoggerC1EPKcS1_ @ 4 NONAME
+	_ZN12MethodLoggerC2EPKcS1_ @ 5 NONAME
+	_ZN12MethodLoggerD1Ev @ 6 NONAME
+	_ZN12MethodLoggerD2Ev @ 7 NONAME
+	_ZN18RadioEngineWrapper11addObserverEP26RadioEngineWrapperObserver @ 8 NONAME
+	_ZN18RadioEngineWrapper12setFrequencyEji @ 9 NONAME
+	_ZN18RadioEngineWrapper12startSeekingEN4Seek9DirectionEi @ 10 NONAME
+	_ZN18RadioEngineWrapper13cancelSeekingEv @ 11 NONAME
+	_ZN18RadioEngineWrapper13setRdsEnabledEb @ 12 NONAME
+	_ZN18RadioEngineWrapper14decreaseVolumeEv @ 13 NONAME
+	_ZN18RadioEngineWrapper14increaseVolumeEv @ 14 NONAME
+	_ZN18RadioEngineWrapper14removeObserverEP26RadioEngineWrapperObserver @ 15 NONAME
+	_ZN18RadioEngineWrapper16toggleAudioRouteEv @ 16 NONAME
+	_ZN18RadioEngineWrapper17setManualSeekModeEb @ 17 NONAME
+	_ZN18RadioEngineWrapper4initEv @ 18 NONAME
+	_ZN18RadioEngineWrapper7setMuteEbb @ 19 NONAME
+	_ZN18RadioEngineWrapper8settingsEv @ 20 NONAME
+	_ZN18RadioEngineWrapper9setVolumeEi @ 21 NONAME
+	_ZN18RadioEngineWrapperC1ER21RadioStationHandlerIf @ 22 NONAME
+	_ZN18RadioEngineWrapperC2ER21RadioStationHandlerIf @ 23 NONAME
+	_ZN18RadioEngineWrapperD1Ev @ 24 NONAME
+	_ZN18RadioEngineWrapperD2Ev @ 25 NONAME
+	_ZN26RadioEngineWrapperObserver11muteChangedEb @ 26 NONAME
+	_ZN26RadioEngineWrapperObserver12skipPreviousEv @ 27 NONAME
+	_ZN26RadioEngineWrapperObserver13volumeChangedEi @ 28 NONAME
+	_ZN26RadioEngineWrapperObserver14decreaseVolumeEv @ 29 NONAME
+	_ZN26RadioEngineWrapperObserver14increaseVolumeEv @ 30 NONAME
+	_ZN26RadioEngineWrapperObserver16tunedToFrequencyEji @ 31 NONAME
+	_ZN26RadioEngineWrapperObserver17audioRouteChangedEb @ 32 NONAME
+	_ZN26RadioEngineWrapperObserver18radioStatusChangedEb @ 33 NONAME
+	_ZN26RadioEngineWrapperObserver20antennaStatusChangedEb @ 34 NONAME
+	_ZN26RadioEngineWrapperObserver22rdsAvailabilityChangedEb @ 35 NONAME
+	_ZN26RadioEngineWrapperObserver8skipNextEv @ 36 NONAME
+	_ZNK18RadioEngineWrapper12maxFrequencyEv @ 37 NONAME
+	_ZNK18RadioEngineWrapper12minFrequencyEv @ 38 NONAME
+	_ZNK18RadioEngineWrapper16currentFrequencyEv @ 39 NONAME
+	_ZNK18RadioEngineWrapper16isFrequencyValidEj @ 40 NONAME
+	_ZNK18RadioEngineWrapper17frequencyStepSizeEv @ 41 NONAME
+	_ZNK18RadioEngineWrapper17isAntennaAttachedEv @ 42 NONAME
+	_ZNK18RadioEngineWrapper18isInManualSeekModeEv @ 43 NONAME
+	_ZNK18RadioEngineWrapper18isUsingLoudspeakerEv @ 44 NONAME
+	_ZNK18RadioEngineWrapper6regionEv @ 45 NONAME
+	_ZNK18RadioEngineWrapper7isMutedEv @ 46 NONAME
+	_ZNK18RadioEngineWrapper9isRadioOnEv @ 47 NONAME
+	_ZTI26RadioEngineWrapperObserver @ 48 NONAME
+	_ZTV26RadioEngineWrapperObserver @ 49 NONAME
+
--- a/radioapp/eabi/fmradiouiengineu.def	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/eabi/fmradiouiengineu.def	Mon Oct 04 00:17:30 2010 +0300
@@ -154,7 +154,7 @@
 	_ZN17RadioStationModel21findUnusedPresetIndexEv @ 153 NONAME
 	_ZN17RadioStationModel22setFavoriteByFrequencyEjb @ 154 NONAME
 	_ZN17RadioStationModel7setDataERK11QModelIndexRK8QVarianti @ 155 NONAME
-	_ZN17RadioStationModel8setIconsERK5QIconS2_ @ 156 NONAME
+	_ZN17RadioStationModel8setIconsERK5QIconS2_S2_ @ 156 NONAME
 	_ZN17RadioStationModel9removeAllENS_10RemoveModeE @ 157 NONAME
 	_ZN17RadioStationModel9setDetailE6QFlagsINS_10DetailFlagEE @ 158 NONAME
 	_ZN17RadioStationModelC1ER20RadioUiEnginePrivate @ 159 NONAME
--- a/radioapp/eabi/fmradiowidgetsu.def	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/eabi/fmradiowidgetsu.def	Mon Oct 04 00:17:30 2010 +0300
@@ -67,69 +67,67 @@
 	_ZN20RadioStationCarousel14setCenterIndexEi6QFlagsINS_10ScrollFlagEE @ 66 NONAME
 	_ZN20RadioStationCarousel14updateStationsEv @ 67 NONAME
 	_ZN20RadioStationCarousel15cancelAnimationEv @ 68 NONAME
-	_ZN20RadioStationCarousel15mousePressEventEP24QGraphicsSceneMouseEvent @ 69 NONAME
-	_ZN20RadioStationCarousel15setFavoriteIconERK6HbIcon @ 70 NONAME
-	_ZN20RadioStationCarousel15setScanningModeEb @ 71 NONAME
-	_ZN20RadioStationCarousel15updateRadioTextERK12RadioStation @ 72 NONAME
-	_ZN20RadioStationCarousel16frequencyChangedEjii @ 73 NONAME
-	_ZN20RadioStationCarousel16handleUrlClickedERK12RadioStation @ 74 NONAME
-	_ZN20RadioStationCarousel16scrollPosChangedERK7QPointF @ 75 NONAME
-	_ZN20RadioStationCarousel16staticMetaObjectE @ 76 NONAME DATA 16
-	_ZN20RadioStationCarousel17adjustAfterScrollEv @ 77 NONAME
-	_ZN20RadioStationCarousel17animateNewStationERK12RadioStation @ 78 NONAME
-	_ZN20RadioStationCarousel17handleIconClickedERK12RadioStation @ 79 NONAME
-	_ZN20RadioStationCarousel17setAutoScrollTimeEi @ 80 NONAME
-	_ZN20RadioStationCarousel17setManualSeekModeEb @ 81 NONAME
-	_ZN20RadioStationCarousel18setNonFavoriteIconERK6HbIcon @ 82 NONAME
-	_ZN20RadioStationCarousel19calculateDifferenceEiRN6Scroll9DirectionE @ 83 NONAME
-	_ZN20RadioStationCarousel19getStaticMetaObjectEv @ 84 NONAME
-	_ZN20RadioStationCarousel19updateAntennaStatusEb @ 85 NONAME
-	_ZN20RadioStationCarousel21scanAnimationFinishedEv @ 86 NONAME
-	_ZN20RadioStationCarousel22handleRadiotextClickedERK12RadioStation @ 87 NONAME
-	_ZN20RadioStationCarousel4initER13RadioUiLoaderP13RadioUiEngine @ 88 NONAME
-	_ZN20RadioStationCarousel4skipEN11StationSkip4ModeE @ 89 NONAME
-	_ZN20RadioStationCarousel6updateERK12RadioStation @ 90 NONAME
-	_ZN20RadioStationCarousel8uiEngineEv @ 91 NONAME
-	_ZN20RadioStationCarousel9adjustPosEi @ 92 NONAME
-	_ZN20RadioStationCarousel9nextIndexEi @ 93 NONAME
-	_ZN20RadioStationCarousel9prevIndexEi @ 94 NONAME
-	_ZN20RadioStationCarousel9showEventEP10QShowEvent @ 95 NONAME
-	_ZN20RadioStationCarousel9trimIndexEi @ 96 NONAME
-	_ZN20RadioStationCarouselC1EP13QGraphicsItem @ 97 NONAME
-	_ZN20RadioStationCarouselC2EP13QGraphicsItem @ 98 NONAME
-	_ZNK11RadioWindow10metaObjectEv @ 99 NONAME
-	_ZNK16RadioFadingLabel10metaObjectEv @ 100 NONAME
-	_ZNK19RadioFrequencyStrip10isScanningEv @ 101 NONAME
-	_ZNK19RadioFrequencyStrip10metaObjectEv @ 102 NONAME
-	_ZNK19RadioFrequencyStrip13isInitializedEv @ 103 NONAME
-	_ZNK19RadioFrequencyStrip15stationsInRangeEjj @ 104 NONAME
-	_ZNK19RadioFrequencyStrip16frequencyAtIndexEi @ 105 NONAME
-	_ZNK20RadioStationCarousel10metaObjectEv @ 106 NONAME
-	_ZNK20RadioStationCarousel12favoriteIconEv @ 107 NONAME
-	_ZNK20RadioStationCarousel13isInitializedEv @ 108 NONAME
-	_ZNK20RadioStationCarousel14autoScrollTimeEv @ 109 NONAME
-	_ZNK20RadioStationCarousel14isInManualSeekEv @ 110 NONAME
-	_ZNK20RadioStationCarousel15nonFavoriteIconEv @ 111 NONAME
-	_ZNK20RadioStationCarousel16isInScanningModeEv @ 112 NONAME
-	_ZNK20RadioStationCarousel17isAntennaAttachedEv @ 113 NONAME
-	_ZNK20RadioStationCarousel18isScrollingAllowedEv @ 114 NONAME
-	_ZTI11RadioWindow @ 115 NONAME
-	_ZTI16RadioFadingLabel @ 116 NONAME
-	_ZTI19RadioFrequencyStrip @ 117 NONAME
-	_ZTI20RadioStationCarousel @ 118 NONAME
-	_ZTV11RadioWindow @ 119 NONAME
-	_ZTV16RadioFadingLabel @ 120 NONAME
-	_ZTV19RadioFrequencyStrip @ 121 NONAME
-	_ZTV20RadioStationCarousel @ 122 NONAME
-	_ZThn28_N20RadioStationCarousel11findStationEj @ 123 NONAME
-	_ZThn28_N20RadioStationCarousel13localizeGenreEi @ 124 NONAME
-	_ZThn28_N20RadioStationCarousel16handleUrlClickedERK12RadioStation @ 125 NONAME
-	_ZThn28_N20RadioStationCarousel17handleIconClickedERK12RadioStation @ 126 NONAME
-	_ZThn28_N20RadioStationCarousel22handleRadiotextClickedERK12RadioStation @ 127 NONAME
-	_ZThn28_NK20RadioStationCarousel12favoriteIconEv @ 128 NONAME
-	_ZThn28_NK20RadioStationCarousel14isInManualSeekEv @ 129 NONAME
-	_ZThn28_NK20RadioStationCarousel15nonFavoriteIconEv @ 130 NONAME
-	_ZThn8_N11RadioWindowD0Ev @ 131 NONAME
-	_ZThn8_N11RadioWindowD1Ev @ 132 NONAME
-	_ZThn8_N20RadioStationCarousel15mousePressEventEP24QGraphicsSceneMouseEvent @ 133 NONAME
+	_ZN20RadioStationCarousel15setFavoriteIconERK6HbIcon @ 69 NONAME
+	_ZN20RadioStationCarousel15setScanningModeEb @ 70 NONAME
+	_ZN20RadioStationCarousel15updateRadioTextERK12RadioStation @ 71 NONAME
+	_ZN20RadioStationCarousel16frequencyChangedEjii @ 72 NONAME
+	_ZN20RadioStationCarousel16handleUrlClickedERK12RadioStation @ 73 NONAME
+	_ZN20RadioStationCarousel16scrollPosChangedERK7QPointF @ 74 NONAME
+	_ZN20RadioStationCarousel16staticMetaObjectE @ 75 NONAME DATA 16
+	_ZN20RadioStationCarousel17adjustAfterScrollEv @ 76 NONAME
+	_ZN20RadioStationCarousel17animateNewStationERK12RadioStation @ 77 NONAME
+	_ZN20RadioStationCarousel17handleIconClickedERK12RadioStation @ 78 NONAME
+	_ZN20RadioStationCarousel17setAutoScrollTimeEi @ 79 NONAME
+	_ZN20RadioStationCarousel17setManualSeekModeEb @ 80 NONAME
+	_ZN20RadioStationCarousel18setNonFavoriteIconERK6HbIcon @ 81 NONAME
+	_ZN20RadioStationCarousel19calculateDifferenceEiRN6Scroll9DirectionE @ 82 NONAME
+	_ZN20RadioStationCarousel19getStaticMetaObjectEv @ 83 NONAME
+	_ZN20RadioStationCarousel19updateAntennaStatusEb @ 84 NONAME
+	_ZN20RadioStationCarousel21scanAnimationFinishedEv @ 85 NONAME
+	_ZN20RadioStationCarousel22handleRadiotextClickedERK12RadioStation @ 86 NONAME
+	_ZN20RadioStationCarousel4initER13RadioUiLoaderP13RadioUiEngine @ 87 NONAME
+	_ZN20RadioStationCarousel4skipEN11StationSkip4ModeE @ 88 NONAME
+	_ZN20RadioStationCarousel6updateERK12RadioStation @ 89 NONAME
+	_ZN20RadioStationCarousel8uiEngineEv @ 90 NONAME
+	_ZN20RadioStationCarousel9adjustPosEi @ 91 NONAME
+	_ZN20RadioStationCarousel9nextIndexEi @ 92 NONAME
+	_ZN20RadioStationCarousel9prevIndexEi @ 93 NONAME
+	_ZN20RadioStationCarousel9showEventEP10QShowEvent @ 94 NONAME
+	_ZN20RadioStationCarousel9trimIndexEi @ 95 NONAME
+	_ZN20RadioStationCarouselC1EP13QGraphicsItem @ 96 NONAME
+	_ZN20RadioStationCarouselC2EP13QGraphicsItem @ 97 NONAME
+	_ZNK11RadioWindow10metaObjectEv @ 98 NONAME
+	_ZNK16RadioFadingLabel10metaObjectEv @ 99 NONAME
+	_ZNK19RadioFrequencyStrip10isScanningEv @ 100 NONAME
+	_ZNK19RadioFrequencyStrip10metaObjectEv @ 101 NONAME
+	_ZNK19RadioFrequencyStrip13isInitializedEv @ 102 NONAME
+	_ZNK19RadioFrequencyStrip15stationsInRangeEjj @ 103 NONAME
+	_ZNK19RadioFrequencyStrip16frequencyAtIndexEi @ 104 NONAME
+	_ZNK20RadioStationCarousel10metaObjectEv @ 105 NONAME
+	_ZNK20RadioStationCarousel12favoriteIconEv @ 106 NONAME
+	_ZNK20RadioStationCarousel13isInitializedEv @ 107 NONAME
+	_ZNK20RadioStationCarousel14autoScrollTimeEv @ 108 NONAME
+	_ZNK20RadioStationCarousel14isInManualSeekEv @ 109 NONAME
+	_ZNK20RadioStationCarousel15nonFavoriteIconEv @ 110 NONAME
+	_ZNK20RadioStationCarousel16isInScanningModeEv @ 111 NONAME
+	_ZNK20RadioStationCarousel17isAntennaAttachedEv @ 112 NONAME
+	_ZNK20RadioStationCarousel18isScrollingAllowedEv @ 113 NONAME
+	_ZTI11RadioWindow @ 114 NONAME
+	_ZTI16RadioFadingLabel @ 115 NONAME
+	_ZTI19RadioFrequencyStrip @ 116 NONAME
+	_ZTI20RadioStationCarousel @ 117 NONAME
+	_ZTV11RadioWindow @ 118 NONAME
+	_ZTV16RadioFadingLabel @ 119 NONAME
+	_ZTV19RadioFrequencyStrip @ 120 NONAME
+	_ZTV20RadioStationCarousel @ 121 NONAME
+	_ZThn28_N20RadioStationCarousel11findStationEj @ 122 NONAME
+	_ZThn28_N20RadioStationCarousel13localizeGenreEi @ 123 NONAME
+	_ZThn28_N20RadioStationCarousel16handleUrlClickedERK12RadioStation @ 124 NONAME
+	_ZThn28_N20RadioStationCarousel17handleIconClickedERK12RadioStation @ 125 NONAME
+	_ZThn28_N20RadioStationCarousel22handleRadiotextClickedERK12RadioStation @ 126 NONAME
+	_ZThn28_NK20RadioStationCarousel12favoriteIconEv @ 127 NONAME
+	_ZThn28_NK20RadioStationCarousel14isInManualSeekEv @ 128 NONAME
+	_ZThn28_NK20RadioStationCarousel15nonFavoriteIconEv @ 129 NONAME
+	_ZThn8_N11RadioWindowD0Ev @ 130 NONAME
+	_ZThn8_N11RadioWindowD1Ev @ 131 NONAME
 
--- a/radioapp/radioapplication/inc/radioapplication.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioapplication/inc/radioapplication.h	Mon Oct 04 00:17:30 2010 +0300
@@ -47,6 +47,7 @@
 
 private slots:
 
+    void construct();
     void checkOfflineMode();
     void handleOfflineQueryAnswer();
 
@@ -74,6 +75,8 @@
      */
     XQSettingsManager*                  mSettingsManager;
 
+    bool                                mInitialisationDone;
+
 };
 
 #endif // _RADIOAPPLICATION_H_
--- a/radioapp/radioapplication/resources/fmradio.ts	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioapplication/resources/fmradio.ts	Mon Oct 04 00:17:30 2010 +0300
@@ -7,9 +7,9 @@
     <source>New name:</source>
     <translation variants="no">New name:</translation>
     <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>dialog</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_rock_music">
@@ -37,9 +37,9 @@
     <source>Clear Recently played songs list?</source>
     <translation variants="no">Clear Recently played songs list?</translation>
     <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_opt_play_history">
@@ -52,6 +52,16 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_common_button_cancel">
+    <comment>Button. Ignores the dialog and returns previous view</comment>        
+    <source>Cancel</source>
+    <translation variants="no">Cancel</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_info_news">
     <comment>Main view Information area item. Displayed if PTY is available. RDS Programme Type identifier for PTY code 1. Custom layout ID parent.</comment>        
     <source>News</source>
@@ -67,9 +77,9 @@
     <source>Search all stations</source>
     <translation variants="no">Search all stations</translation>
     <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>rad_01, rad_02</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio_001, FmRadio_002</extra-loc-viewid>
     <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_culture">
@@ -107,9 +117,9 @@
     <source>Local frequency band automatically set for radio.</source>
     <translation variants="no">Local frequency band automatically set for radio.</translation>
     <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>fmradio</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>fm</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_dblist_val_l1_mhz">
@@ -132,16 +142,6 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
-<message numerus="no" id="txt_rad_button_tagged_songs">
-    <comment>Button text. Expresses that the list contains songs which have been marked as favorite songs.</comment>        
-    <source>Tagged songs</source>
-    <translation variants="no">Tagged songs</translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_2</extra-loc-layout_id>    
-    <extra-loc-viewid>FmRadio_003</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Fm</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
 <message numerus="no" id="txt_rad_info_soft_rock">
     <comment>Main view Information area item. Displayed if PTY is available. Used only in US region.</comment>        
     <source>Soft rock</source>
@@ -152,6 +152,16 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_rad_subhead_recently_played_songs">
+    <comment>Heading text for the Recently played songs view.</comment>        
+    <source>Recently played songs</source>
+    <translation variants="no">Recently played songs</translation>
+    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>FmRadio_003</extra-loc-viewid>
+    <extra-loc-positionid>subhead</extra-loc-positionid>
+    <extra-loc-feature>Fm</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_culture">
     <comment>Second row on the Stations list item (PTY=Program type information). </comment>        
     <source>Culture</source>
@@ -252,6 +262,16 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_common_menu_delete">
+    <comment>Item specific menu item. Allows the user to delete a station.</comment>        
+    <source>Delete</source>
+    <translation variants="no">Delete</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_info_language">
     <comment>Main view Information area item. Displayed if PTY is available. Used only in US region.</comment>        
     <source>Language</source>
@@ -272,6 +292,16 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_common_menu_rename_item">
+    <comment>Item specific menu item. Allows the user to define a new name for a station.</comment>        
+    <source>Rename</source>
+    <translation variants="no">Rename</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_info_soft_rhythm_and_blues">
     <comment>Main view Information area item. Displayed if PTY is available. Used only in US region.</comment>        
     <source>Soft rhythm and blues</source>
@@ -362,21 +392,41 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_common_button_no">
+    <comment>Button. Pressing this button rejects the selected operation.</comment>        
+    <source>No</source>
+    <translation variants="no">No</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_button_ok">
+    <comment>Button. Allows the user to accept the dialog and return to previous view</comment>        
+    <source>OK</source>
+    <translation variants="no">OK</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_info_station_list_is_full_please_remove_s">
     <comment>Dialog text which is displayed if all found stations do not fit to the Stations list after doing a Search all stations function. Displayed also if user tries to mark station as favorite in main view or in stations view and there is not enough room for stations in the Stations list.</comment>        
     <source>Station list is full. Please remove some stations and try again.</source>
     <translation variants="no">Station list is full. Please remove some stations and try again.</translation>
     <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_no_favourites_add_favourites_to_see">
     <comment>Info text in main pane if &quot;Favourites&quot; list has no items. &quot;Favourite stations&quot; text must be same localization as txt_rad_subhead_favorite_stations. Favourite icon refers to a star -icon in the main view.</comment>        
     <source>Tap the star icon or Add to favourite button in main view to mark currently playing station as a favorite.</source>
     <translation variants="no">Tap the star icon or Add to favourite button in main view to mark currently playing station as a favorite.</translation>
-    <extra-loc-layout_id>qtl_view_empty_description_sec</extra-loc-layout_id>    
+    <extra-loc-layout_id>txt_rad_info_no_favourites_add_favourites_to_see</extra-loc-layout_id>    
     <extra-loc-viewid>FmRadio_002</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
     <extra-loc-feature>Fm</extra-loc-feature>
@@ -387,9 +437,9 @@
     <source>Clear Favourite stations list?</source>
     <translation variants="no">Clear Favourite stations list?</translation>
     <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_adult_hits">
@@ -406,7 +456,7 @@
     <comment>Title of the info text in main pane if &quot;Favourite stations&quot; list has no items. </comment>        
     <source>(No favourite stations)</source>
     <translation variants="no">(No favourite stations)</translation>
-    <extra-loc-layout_id>qtl_view_empty_title_pri</extra-loc-layout_id>    
+    <extra-loc-layout_id>txt_rad_info_no_favourite_stations</extra-loc-layout_id>    
     <extra-loc-viewid>FmRadio_002</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
     <extra-loc-feature>Fm</extra-loc-feature>
@@ -477,9 +527,9 @@
     <source>FM Radio</source>
     <translation variants="no">FM Radio</translation>
     <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>fmradio</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>fm</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_childrens_programmes">
@@ -522,6 +572,16 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_short_caption_fmradio">
+    <comment>Home screen shortcut caption (for 10.1)</comment>        
+    <source>FM Radio</source>
+    <translation variants="no">FM Radio</translation>
+    <extra-loc-layout_id>qtl_homescreen_shortcut</extra-loc-layout_id>    
+    <extra-loc-viewid>Home_screen_001</extra-loc-viewid>
+    <extra-loc-positionid>caption</extra-loc-positionid>
+    <extra-loc-feature>Ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_information">
     <comment>Second row on the Stations list item (PTY=Program type information). </comment>        
     <source>Information</source>
@@ -547,9 +607,9 @@
     <source>FM Radio</source>
     <translation variants="no">FM Radio</translation>
     <extra-loc-layout_id>qtl_titlebar</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_button_cancel">
@@ -567,9 +627,9 @@
     <source>Delete station?</source>
     <translation variants="no">Delete station?</translation>
     <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_religion">
@@ -606,7 +666,7 @@
     <comment>Info text in main pane area if Tagged songs list has no item (e.g. after the user has deleted all content from the list). Note that &quot;tagged songs&quot; must use the same localisation as txt_rad_button_tagged_songs. Recently played songs must be same as &quot;Recently played songs&quot; text must be the same as txt_rad_button_recently_played_songs..</comment>        
     <source>You can add song to the tagged songs list from Recently played songs or from main view if song information is available. </source>
     <translation variants="no">You can add song to the tagged songs list from Recently played songs or from main view if song information is available. </translation>
-    <extra-loc-layout_id>qtl_view_empty_description_sec</extra-loc-layout_id>    
+    <extra-loc-layout_id>txt_rad_info_you_can_add_song_to_the_tagged_songs</extra-loc-layout_id>    
     <extra-loc-viewid>FmRadio_003</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
     <extra-loc-feature>Fm</extra-loc-feature>
@@ -657,9 +717,9 @@
     <source>Continue using the Radio in off-line mode?</source>
     <translation variants="no">Continue using the Radio in off-line mode?</translation>
     <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_list_unknown">
@@ -686,7 +746,7 @@
     <comment>Info text in main pane area if Recently played songs has no item (e.g. after the user has emptied the list). Note that &quot;Identify song&quot; must be the same string as txt_rad_list_identify_song. &quot;Recently played songs&quot; text must be the same as &quot;Recently played songs&quot; text must be the same as txt_rad_button_recently_played_songs. Displayed if Shazam (song identification) application is NOT installed to the device.</comment>        
     <source>Song information is collected automatically from radio stations which send the song information using the RDS+ technology.</source>
     <translation variants="no">Song information is collected automatically from radio stations which send the song information using the RDS+ technology.</translation>
-    <extra-loc-layout_id>qtl_view_empty_description_sec</extra-loc-layout_id>    
+    <extra-loc-layout_id>txt_rad_info_song_information_is_collected_automat</extra-loc-layout_id>    
     <extra-loc-viewid>FmRadio_003</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
     <extra-loc-feature>Fm</extra-loc-feature>
@@ -697,9 +757,9 @@
     <source>Clear All stations list?</source>
     <translation variants="no">Clear All stations list?</translation>
     <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_classical">
@@ -717,9 +777,9 @@
     <source>Song was added to Tagged songs.</source>
     <translation variants="no">Song was added to Tagged songs.</translation>
     <extra-loc-layout_id>qtl_notifdialog_pri2_medium_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>dpophead</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_talk">
@@ -732,6 +792,16 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_common_button_yes">
+    <comment>Button. Pressing this button confirms the selected operation.</comment>        
+    <source>Yes</source>
+    <translation variants="no">Yes</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_finance">
     <comment>Second row on the Stations list item (PTY=Program type information). </comment>        
     <source>Finance</source>
@@ -747,9 +817,9 @@
     <source>Activate Fm Radio in off-line mode?</source>
     <translation variants="no">Activate Fm Radio in off-line mode?</translation>
     <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_searching_local_stations_please_wait">
@@ -782,14 +852,24 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_common_opt_deactivate_loudspeaker">
+    <comment>Options list item. Deactivates the loudspeaker. Only available if audio can be routed to the headset</comment>        
+    <source>Deactivate loudspeaker</source>
+    <translation variants="no">Deactivate loudspeaker</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_info_clear_tagged_songs_list">
     <comment>Dialog text displayed when user is about to clear all tagged songs in Tagged songs view.</comment>        
     <source>Clear Tagged songs list?</source>
     <translation variants="no">Clear Tagged songs list?</translation>
     <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_top_40">
@@ -827,31 +907,41 @@
     <source>Stations in station list will be replaced. Favourite stations won&apos;t be touched. Continue?</source>
     <translation variants="no">Stations in station list will be replaced. Favourite stations won&apos;t be touched. Continue?</translation>
     <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_menu_tag_song">
-    <comment>Item specific menu item. Allows the user to add a song in play history list to tagged songs list. Available only if the item is not already in the tagged songs.</comment>        
+    <comment>Item specific menu item. Allows the user to add a song to tagged songs list. Available only if the item is not already in the tagged songs. Displayed in Main view and in Play history view.</comment>        
     <source>Tag song</source>
     <translation variants="no">Tag song</translation>
     <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>rad_01, rad_03</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio_001, FmRadio_003</extra-loc-viewid>
     <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_no_stations_search_stations_automat">
     <comment>Info text in main pane if &quot;All stations&quot; list has no items. Activates the search all station function if user taps the text.</comment>        
     <source>Search stations automatically by tapping here.</source>
     <translation variants="no">Search stations automatically by tapping here.</translation>
-    <extra-loc-layout_id>qtl_view_empty_description_sec</extra-loc-layout_id>    
+    <extra-loc-layout_id>txt_rad_info_no_stations_search_stations_automat</extra-loc-layout_id>    
     <extra-loc-viewid>FmRadio_002</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_rad_subhead_local_stations">
+    <comment>Heading text for the All stations view under Stations.</comment>        
+    <source>All stations</source>
+    <translation variants="no">All stations</translation>
+    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>FmRadio_002</extra-loc-viewid>
+    <extra-loc-positionid>subhead</extra-loc-positionid>
+    <extra-loc-feature>Fm</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_info_college">
     <comment>Main view Information area item. Displayed if PTY is available. Used only in US region.</comment>        
     <source>College</source>
@@ -887,29 +977,29 @@
     <source>FM Radio could not be started. </source>
     <translation variants="no">FM Radio could not be started. </translation>
     <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>fmradio</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>fm</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_no_stations">
     <comment>Title of the info text in main pane if &quot;All stations&quot; list has no items. </comment>        
     <source>(No stations)</source>
     <translation variants="no">(No stations)</translation>
-    <extra-loc-layout_id>qtl_view_empty_title_pri</extra-loc-layout_id>    
+    <extra-loc-layout_id>txt_rad_info_no_stations</extra-loc-layout_id>    
     <extra-loc-viewid>FmRadio_002</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
-<message numerus="no" id="txt_short_caption_fm_radio">
-    <comment>Application menu item name in grid. Short caption.</comment>        
-    <source>FM Radio</source>
-    <translation variants="no">FM Radio</translation>
-    <extra-loc-layout_id>qtl_grid_applications_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>fmradio</extra-loc-viewid>
-    <extra-loc-positionid>grid</extra-loc-positionid>
-    <extra-loc-feature>fm</extra-loc-feature>
+<message numerus="no" id="txt_common_opt_exit">
+    <comment>Options list item. With the exit option, the user can close the currently active application and return to the Home screen.</comment>        
+    <source>Exit</source>
+    <translation variants="no">Exit</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_serious_classical">
@@ -957,9 +1047,9 @@
     <source>No stations found. Try searching stations by scrolling the frequency strip.</source>
     <translation variants="no">No stations found. Try searching stations by scrolling the frequency strip.</translation>
     <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>dpophead</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_sport">
@@ -973,7 +1063,7 @@
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_tsw_caption_fm_radio">
-    <comment>Application name in Task switcher.</comment>        
+    <comment>Application name in Task switcher (for 10.2)</comment>        
     <source>FM Radio</source>
     <translation variants="no">FM Radio</translation>
     <extra-loc-layout_id>qtl_grid_taskswitcher_tiny</extra-loc-layout_id>    
@@ -982,16 +1072,6 @@
     <extra-loc-feature>ts</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
-<message numerus="no" id="txt_rad_subhead_play_history">
-    <comment>Heading text for the Play history view.</comment>        
-    <source>Play history</source>
-    <translation variants="no">Play history</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>FmRadio_003</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>Fm</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
 <message numerus="no" id="txt_rad_menu_remove_tag">
     <comment>Item specific menu item. Allows the user to remove a song from the tagged songs list.</comment>        
     <source>Remove tag</source>
@@ -1022,6 +1102,16 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_rad_subhead_tagged_songs">
+    <comment>Heading text for the Tagged songs view.</comment>        
+    <source>Tagged songs</source>
+    <translation variants="no">Tagged songs</translation>
+    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>FmRadio_003</extra-loc-viewid>
+    <extra-loc-positionid>subhead</extra-loc-positionid>
+    <extra-loc-feature>Fm</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_current_affairs">
     <comment>Second row on the Stations list item (PTY=Program type information). </comment>        
     <source>Current affairs</source>
@@ -1042,16 +1132,6 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
-<message numerus="no" id="txt_rad_button_local_stations">
-    <comment>Toolbar button. Displays list of all radio stations.</comment>        
-    <source>All stations</source>
-    <translation variants="no">All stations</translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_2</extra-loc-layout_id>    
-    <extra-loc-viewid>FmRadio_002</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Fm</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_serious_classical">
     <comment>Second row on the Stations list item (PTY=Program type information). </comment>        
     <source>Serious classical</source>
@@ -1142,16 +1222,6 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
-<message numerus="no" id="txt_rad_button_favourites">
-    <comment>Toolbar button. Displays list of all favourite radio stations.</comment>        
-    <source>Favourite stations</source>
-    <translation variants="no">Favourite stations</translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_2</extra-loc-layout_id>    
-    <extra-loc-viewid>FmRadio_002</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Fm</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
 <message numerus="no" id="txt_rad_dblist_1_2">
     <comment>Two row list item first row. Displays artist and song name. Only in landscape. %1 is the artist&apos;s name and %2 is the song name.</comment>        
     <source>%1 - %2</source>
@@ -1182,16 +1252,6 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
-<message numerus="no" id="txt_rad_button_recently_played_songs">
-    <comment>Button text. Opens the Recently played songs list view.</comment>        
-    <source>Recently played songs</source>
-    <translation variants="no">Recently played songs</translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_2</extra-loc-layout_id>    
-    <extra-loc-viewid>FmRadio_003</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Fm</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
 <message numerus="no" id="txt_rad_info_jazz_music">
     <comment>Main view Information area item. Displayed if PTY is available. RDS Programme Type identifier for PTY code 24.</comment>        
     <source>Jazz Music</source>
@@ -1242,16 +1302,6 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
-<message numerus="no" id="txt_rad_subhead_favorite_stations">
-    <comment>Heading text for the Stations view&apos;s &quot;Favorite stations&quot; view</comment>        
-    <source>Favorite stations</source>
-    <translation variants="no">Favorite stations</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>FmRadio_002</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>Fm</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
 <message numerus="no" id="txt_rad_dblist_unknown">
     <comment>First row of the two row list item. Displayed only in portrait and only when the artist name is not available for the identified song.</comment>        
     <source>(Unknown)</source>
@@ -1262,6 +1312,16 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_common_menu_play_music">
+    <comment>Item specific menu item. Starts to play the station when selected. Not displayed if station is already playing.</comment>        
+    <source>Play</source>
+    <translation variants="no">Play</translation>
+    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>menu</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_adult_hits">
     <comment>Second row on the Stations list item (PTY=Program type information). </comment>        
     <source>Adult hits</source>
@@ -1276,7 +1336,7 @@
     <comment>Title of the info text in main pane if &quot;Recently played songs&quot; or &quot;Tagged songs&quot; list has no items. </comment>        
     <source>(No songs)</source>
     <translation variants="no">(No songs)</translation>
-    <extra-loc-layout_id>qtl_view_empty_title_pri</extra-loc-layout_id>    
+    <extra-loc-layout_id>txt_rad_info_play_history_is_empty</extra-loc-layout_id>    
     <extra-loc-viewid>FmRadio_003</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
     <extra-loc-feature>Fm</extra-loc-feature>
@@ -1287,9 +1347,9 @@
     <source>Search from Ovi Music</source>
     <translation variants="no">Search from Ovi Music</translation>
     <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>rad_01, rad_03</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio_001, FmRadio_003</extra-loc-viewid>
     <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_documentary">
@@ -1437,9 +1497,9 @@
     <source>Connect wired headset.</source>
     <translation variants="no">Connect wired headset.</translation>
     <extra-loc-layout_id>qtl_notifdialog_pri2_medium_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>dpophead</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_dblist_l1_mhz_val_phone_in">
@@ -1452,6 +1512,16 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
+<message numerus="no" id="txt_rad_subhead_favourites">
+    <comment>Heading text for the Favourite stations view under Stations.</comment>        
+    <source>Favourite stations</source>
+    <translation variants="no">Favourite stations</translation>
+    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>FmRadio_002</extra-loc-viewid>
+    <extra-loc-positionid>subhead</extra-loc-positionid>
+    <extra-loc-feature>Fm</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
 <message numerus="no" id="txt_rad_info_oldies_music">
     <comment>Main view Information area item. Displayed if PTY is available. RDS Programme Type identifier for PTY code 27.</comment>        
     <source>Oldies Music</source>
@@ -1467,9 +1537,9 @@
     <source>Search from %1</source>
     <translation variants="no">Search from %1</translation>
     <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>rad_01, rad_03</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio_001, FmRadio_003</extra-loc-viewid>
     <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_public">
@@ -1513,13 +1583,13 @@
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_remove_song_from_tagged_songs">
-    <comment>Dialog text displayed when user is about to remove a song from Favorite list in Favorite songs view.</comment>        
+    <comment>Dialog text displayed when user is about to remove a song from Favorite list in Tagged songs view.</comment>        
     <source>Remove song from tagged songs?</source>
     <translation variants="no">Remove song from tagged songs?</translation>
     <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>rad</extra-loc-viewid>
+    <extra-loc-viewid>FmRadio</extra-loc-viewid>
     <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>ra</extra-loc-feature>
+    <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_classic_rock">
@@ -1532,14 +1602,14 @@
     <extra-loc-feature>Fm</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
-<message numerus="no" id="txt_rad_subhead_all_stations">
-    <comment>Heading text for the Stations view&apos;s &quot;All stations&quot; view</comment>        
-    <source>All stations</source>
-    <translation variants="no">All stations</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>FmRadio_002</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>Fm</extra-loc-feature>
+<message numerus="no" id="txt_common_opt_activate_loudspeaker">
+    <comment>Options list item. Switches the audio from handset or handsfree to loudspeaker. Only available if audio can be routed to the loudspeaker.</comment>        
+    <source>Activate loudspeaker</source>
+    <translation variants="no">Activate loudspeaker</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-feature>co</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
 <message numerus="no" id="txt_rad_info_folk_music">
--- a/radioapp/radioapplication/src/radioapplication.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioapplication/src/radioapplication.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -51,17 +51,38 @@
  * Constructor
  */
 RadioApplication::RadioApplication( int &argc, char *argv[] ) :
-    HbApplication( argc, argv, Hb::NoSplash ),
-    mSettingsManager( new XQSettingsManager( this ) )
+    HbApplication( argc, argv, XQServiceUtil::isService(argc, argv) ? Hb::NoSplash : Hb::DefaultApplicationFlags ),
+    mMainWindow( new RadioWindow() ),
+    mSettingsManager( new XQSettingsManager( this ) ),
+    mInitialisationDone( false )
 {
     // Initializes the radio engine utils if UI logs are entered into the engine log
     INIT_COMBINED_LOGGER
 
     LOG_TIMESTAMP( "Start radio" );
+
+    QTimer::singleShot( 0, this, SLOT( construct() ) );
+}
+
+/*!
+ *
+ */
+RadioApplication::~RadioApplication()
+{
+    // Destructor needs to be defined. See explanation from RadioEngineWrapperPrivate destructor.
+    // Releases the radio engine utils if it was initialized in the beginning
+    RELEASE_COMBINED_LOGGER
+}
+
+/*!
+ * Private slot
+ *
+ */
+void RadioApplication::construct()
+{
     setApplicationName( hbTrId( "txt_rad_title_fm_radio" ) );
 
     if ( XQServiceUtil::isService() ) {
-
         // Radio was started as a highway service from homescreen widget.
         // Widget has already done the offline mode check so we can start without checking
         init();
@@ -75,16 +96,7 @@
         }
 
     }
-}
 
-/*!
- *
- */
-RadioApplication::~RadioApplication()
-{
-    // Destructor needs to be defined. See explanation from RadioEngineWrapperPrivate destructor.
-    // Releases the radio engine utils if it was initialized in the beginning
-    RELEASE_COMBINED_LOGGER
 }
 
 /*!
@@ -112,7 +124,7 @@
         // so we must continue with the startup sequence. If the main window was already created it means
         // the question was asked when the radio was already running and the offline mode was activated.
         // In that case there is no need to do anything since the user wants to continue listening to radio.
-        if ( !mMainWindow ) {
+        if ( !mInitialisationDone ) {
             init();
         }
 
@@ -131,10 +143,6 @@
 //        RadioUiEngine::launchRadioServer();
 
     // Splash screen needs to be shown when not started by homescreen widget
-    if ( !XQServiceUtil::isService() ) {
-        HbSplashScreen::setAppId( "0x2002FF4E" );
-        HbSplashScreen::start();
-    }
 
     Radio::connect( mSettingsManager,   SIGNAL(valueChanged(XQSettingsKey,QVariant)),
                     this,               SLOT(checkOfflineMode()) );
@@ -143,14 +151,13 @@
     LOG_ASSERT( monitoringStarted, LOG( "Failed to start monitoring Offline mode!" ) );
     Q_UNUSED( monitoringStarted );
 
-    mMainWindow.reset( new RadioWindow() );
-
     CREATE_WIN32_TEST_WINDOW
 
     INIT_WIN32_TEST_WINDOW
 
     // Construct the real views
     mMainWindow->init();
+    mInitialisationDone = true;
 
     mMainWindow->show();
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radioapplication/win32_stubs/afactivitystorage.h	Mon Oct 04 00:17:30 2010 +0300
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef AFACTIVITYSTORAGE_STUB_H
+#define AFACTIVITYSTORAGE_STUB_H
+
+#include <QString>
+#include <QVariant>
+
+class AfActivityStorage
+{
+
+public:
+    AfActivityStorage(QObject *parent = 0);
+    ~AfActivityStorage();
+
+    bool saveActivity(const QString &activityId, const QVariant &activityData, const QVariantHash &metadata);
+    bool removeActivity(const QString &activityId);
+
+};
+
+#endif // AFACTIVITYSTORAGE_STUB_H
--- a/radioapp/radioapplication/win32_stubs/win32_stubs.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioapplication/win32_stubs/win32_stubs.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -19,6 +19,7 @@
 #include "xqserviceprovider.h"
 #include "xqsettingskey.h"
 #include "xqsettingsmanager.h"
+#include "afactivitystorage.h"
 #include "radio_global.h"
 
 /*!
@@ -149,3 +150,33 @@
 {
     return NoError;
 }
+
+/*!
+ *
+ */
+AfActivityStorage::AfActivityStorage( QObject* )
+{
+}
+
+/*!
+ *
+ */
+AfActivityStorage::~AfActivityStorage()
+{
+}
+
+/*!
+ *
+ */
+bool AfActivityStorage::saveActivity( const QString&, const QVariant&, const QVariantHash& )
+{
+    return true;
+}
+
+/*!
+ *
+ */
+bool AfActivityStorage::removeActivity( const QString& )
+{
+    return true;
+}
--- a/radioapp/radioapplication/win32_stubs/xqserviceutil.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioapplication/win32_stubs/xqserviceutil.h	Mon Oct 04 00:17:30 2010 +0300
@@ -28,6 +28,7 @@
     void toBackground(bool) {}
     bool isEmbedded() { return false; }
     bool isService() { return false; }
+    bool isService( int &argc, char *argv[] ) { return false; }
     QString interfaceName() { return ""; }
     QString operationName() { return ""; }
 }
--- a/radioapp/radioenginewrapper/stub/radioenginewrapper_stub.pro	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioenginewrapper/stub/radioenginewrapper_stub.pro	Mon Oct 04 00:17:30 2010 +0300
@@ -16,6 +16,7 @@
 
 TMP_DIR_NAME = enginewrapper_stub
 include(../../buildflags.pri)
+defFilePath = ../..
 
 TEMPLATE    = lib
 TARGET      = fmradioenginewrapper_stub
--- a/radioapp/radioenginewrapper/tsrc/inc/mschedulerstartandstoptimerobserver.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioenginewrapper/tsrc/inc/mschedulerstartandstoptimerobserver.h	Mon Oct 04 00:17:30 2010 +0300
@@ -1,30 +1,26 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Callback interface for observer of CAccSrvResetInactivityTimeTimer object.
-*
-*/
-
-
-
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  Callback interface for observer object.
+ *
+ */
 
 #ifndef M_SCHEDULERSTARTANDSTOPTIMEROBSERVER_H
 #define M_SCHEDULERSTARTANDSTOPTIMEROBSERVER_H
 
-
+// System includes
 #include <e32def.h>
 
-
 /**
  *  Callback interface for observer of CSchedulerStopAndStartTimer object. 
  *
@@ -33,27 +29,43 @@
  *   ?good_class_usage_example(s)
  *  @endcode
  *
- *  @lib AccServer.exe
+ *  @lib t_radioenginewrapper.exe
  *  @since S60 10.1
  */
 NONSHARABLE_CLASS( MSchedulerStartAndStopTimerObserver )
     {
 
 public:
- 
+
     /**
-     * Function is called by timer watcher every time when timer elapses.
+     * Function is called by timer watcher every time when ETimerIdRunMUT- timer elapses.
      *
      * @since S60 10.1
      * @param none. 
      * @return none
      */
-    virtual void Timeout( TUint aTimerId ) = 0;
+    virtual void Timeout(TUint aTimerId) = 0;
 
+    /**
+     * Function is called by timer watcher after ETimerIdCreateMUT-timer has elapsed.
+     * After this timeout Module Under Test (MUT) is created.
+     *
+     * @since S60 10.1
+     * @param none. 
+     * @return none
+     */
     virtual void CreateMUT() = 0;
+
+    /**
+     * Function is called by timer watcher after ETimerIdDeleteMUT-timer has elapsed.
+     * After this timeout MUT is desctructed.
+     *
+     * @since S60 10.1
+     * @param none. 
+     * @return none
+     */
     virtual void DeleteMUT() = 0;
 
     };
 
-
 #endif // M_SCHEDULERSTARTANDSTOPTIMEROBSERVER_H
--- a/radioapp/radioenginewrapper/tsrc/inc/t_radioenginewrapper.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioenginewrapper/tsrc/inc/t_radioenginewrapper.h	Mon Oct 04 00:17:30 2010 +0300
@@ -1,161 +1,157 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
 
 #ifndef T_RADIOENGINEWRAPPER_H_
 #define T_RADIOENGINEWRAPPER_H_
 
-
-// INCLUDES
+// System includes
 #include <QtTest/QtTest>
 #include <e32property.h>
 #include <centralrepository.h>
 #include <RadioStubManager.h>
 
+// User includes
 #include "radioenginewrapperobserver.h"
 #include "radiostationhandlerif.h"
-//#include "radiostation.h"
 #include "t_schedulerstartandstoptimer.h"
 
+// Forward declarations
 class RadioUiEngine;
 class RadioStationModel;
 class RadioPlayLogModel;
 class RadioPresetStorage;
 class RadioEngineWrapper;
-//class RadioStationHandlerIf;
 
-class TestRadioEngineWrapper : public QObject, RadioStationHandlerIf, RadioEngineWrapperObserver, MSchedulerStartAndStopTimerObserver
-{
-    Q_OBJECT
+class TestRadioEngineWrapper : public QObject,
+        RadioStationHandlerIf,
+        RadioEngineWrapperObserver,
+        MSchedulerStartAndStopTimerObserver
+    {
+Q_OBJECT
 
     /**
      * Flags to indicate which slots have been entered since calling API method. 
      * Declared to use QFlags<> to ease flag usage and to enforce type safety.
      */
     enum SlotEnteredFlag
-    {
-    	NoSlotsEntered         = 0
-        ,TunedToFrequency       = 1 << 0
-        ,MuteChanged            = 1 << 1
-        ,VolumeChanged          = 1 << 2
-        ,AntennaChanged         = 1 << 3
-        ,ItemAdded              = 1 << 4
-    };
-    Q_DECLARE_FLAGS( Slots, SlotEnteredFlag )    
-    
+        {
+        NoSlotsEntered = 0
+        ,TunedToFrequency = 1 << 0
+        ,MuteChanged = 1 << 1
+        ,VolumeChanged = 1 << 2
+        ,AntennaChanged = 1 << 3
+        ,ItemAdded = 1 << 4
+        };
+    Q_DECLARE_FLAGS( Slots, SlotEnteredFlag )
+
 public:
 
     TestRadioEngineWrapper();
-    ~TestRadioEngineWrapper();    
+    ~TestRadioEngineWrapper();
 
-public slots:
-//    void dataChanged(const QModelIndex topLeft, const QModelIndex bottomRight);
-//    void stationAdded( RadioStation addedStation );    
-//    void stationDataChanged( RadioStation station );        
-//    void favoriteChanged( RadioStation station );
-//    void itemAdded();
-    
 private slots:
     // test framework called slots 
     void initTestCase();
     void init();
     void cleanup();
-    
+
     void testRadioSettingsReference();
-    
+
     void testRegion();
-    
+
     void testRadioOnOff();
 
     void testTuning();
-    
+
     void testCancelSeeking();
-    
+
     // Mute's callback function CRadioEngine::MrpoMuteChange() is commented in radio engine, so no point to test here.
     // void testMute();
-    
+
     void testVolumeSetting();
-    
+
     void testLoudSpeakerUsage();
-    
+
     void cleanupTestCase();
-    
+
 private:
 
     // from base class RadioStationHandlerIf =>
     uint currentFrequency() const;
     int currentPresetIndex() const;
 
-    void setCurrentStation( uint frequency );
+    void setCurrentStation(uint frequency);
 
-    bool containsFrequency( uint frequency );
+    bool containsFrequency(uint frequency);
 
-    bool containsPresetIndex( int presetIndex );
+    bool containsPresetIndex(int presetIndex);
 
     void startDynamicPsCheck();
 
-    void addScannedFrequency( uint frequency );
+    void addScannedFrequency(uint frequency);
 
     void removeLocalStations();
 
-    void setCurrentPsName( uint frequency, const QString& name );
-    void setCurrentRadioText( uint frequency, const QString& radioText );
-    void setCurrentRadioTextPlus( uint frequency, int rtClass, const QString& rtItem );
-    void setCurrentPiCode( uint frequency, int piCode );
-    void setCurrentGenre( uint frequency, int genre );
+    void setCurrentPsName(uint frequency, const QString& name);
+    void setCurrentRadioText(uint frequency, const QString& radioText);
+    void setCurrentRadioTextPlus(uint frequency, int rtClass,
+            const QString& rtItem);
+    void setCurrentPiCode(uint frequency, int piCode);
+    void setCurrentGenre(uint frequency, int genre);
     // <= from base class RadioStationHandlerIf 
-    
-    // c =>
-    void tunedToFrequency( uint frequency, int commandSender );
 
-    void rdsAvailabilityChanged( bool available );
+    // from base class RadioStationHandlerIf =>
+    void tunedToFrequency(uint frequency, int commandSender);
+
+    void rdsAvailabilityChanged(bool available);
 
     void increaseVolume();
     void decreaseVolume();
-    void volumeChanged( int volume );
-    void muteChanged( bool muted );
+    void volumeChanged(int volume);
+    void muteChanged(bool muted);
 
-    void antennaStatusChanged( bool connected ); // uusi
-    
-    void audioRouteChanged( bool loudspeaker );
+    void antennaStatusChanged(bool connected);
+
+    void audioRouteChanged(bool loudspeaker);
 
     void skipPrevious();
     void skipNext();
     // <= from base class RadioStationHandlerIf 
-      
+
     // from base class MSchedulerStartAndStopTimerObserver =>
-    void Timeout( TUint aTimerId );    
+    void Timeout(TUint aTimerId);
     void CreateMUT();
     void DeleteMUT();
-    // <=
-    
+    // <= from base class MSchedulerStartAndStopTimerObserver
+
     void tstSetTunerCababilities(uint category = 0);
-    void tstSetFrequency( TUint aFrequency );
+    void tstSetFrequency(TUint aFrequency);
     TInt tstGetFrequency();
-    void tstSetScanningData( TUint aCount, TInt aMinFreq, TInt aFrequencyStepSize );
+    void tstSetScanningData(TUint aCount, TInt aMinFreq,
+            TInt aFrequencyStepSize);
     void tstDefineAndAttachRadioServerProperties();
     TInt tstCreateCRObjects();
-    
+
 private:
     RadioEngineWrapper* mEngineWrapper;
 
     // RadioStubManager pointer points inside RadioStubManagerChunk
     SRadioStubManager* mRadioStubManager;
-    
+
     // RadioStubManagerChunk handle
     RChunk mRadioStubManagerChunk;
 
@@ -164,15 +160,11 @@
     // Main Panic E32USER-CBase 44
     // Create and install the active scheduler
     CActiveScheduler* mScheduler;
-    
-    //QScopedPointer<RadioEngineWrapper>  mEngineWrapper;
+
 
-    //int mExpectedStationCount;
-    
-	Slots mEnteredSlots;
-	//QString mStationToBeAdded;
-	
-	CSchedulerStopAndStartTimer* mSchedulerTimer;
+    Slots mEnteredSlots;
+
+    CSchedulerStopAndStartTimer* mSchedulerTimer;
 
     RProperty mPropertyPlayerState;
     RProperty mPropertyAntennaStatus;
@@ -187,8 +179,8 @@
     RProperty mPropertyBalance;
 
     CRepository* mRadioCR;
-    
-    TInt mLastRecordedVolume; 
-};
+
+    TInt mLastRecordedVolume;
+    };
 
 #endif /* T_RADIOENGINEWRAPPER_H_ */
--- a/radioapp/radioenginewrapper/tsrc/inc/t_schedulerstartandstoptimer.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioenginewrapper/tsrc/inc/t_schedulerstartandstoptimer.h	Mon Oct 04 00:17:30 2010 +0300
@@ -22,9 +22,11 @@
 
 
 
+// System includes
 #include <e32base.h>
 
 
+// System includes
 #include "mschedulerstartandstoptimerobserver.h"
 
 
@@ -40,18 +42,19 @@
  *   ?good_class_usage_example(s)
  *  @endcode
  *
- *  @lib AccServer.exe
+ *  @lib t_radioenginewrapper.exe
  *  @since S60 10.1
  */
 NONSHARABLE_CLASS(  CSchedulerStopAndStartTimer ): public CTimer
     {
 
 public:
-    enum TTimerId{
-    ETimerIdRunMUT = 0,
-    ETimerIdCreateMUT = 1,
-    ETimerIdDeleteMUT = 2    
-    };
+    enum TTimerId
+        {
+        ETimerIdRunMUT = 0,
+        ETimerIdCreateMUT = 1,
+        ETimerIdDeleteMUT = 2
+        };
 
 
     /**
--- a/radioapp/radioenginewrapper/tsrc/src/t_radioenginewrapper.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioenginewrapper/tsrc/src/t_radioenginewrapper.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -1,49 +1,41 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: radiostation test implementation
-*
-*/
-
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Radio engine wrapper's test implementation
+ *
+ */
+// System includes
 #include <e32base.h>
 #include <eikenv.h>
 #include <e32property.h>
 #include <radiomonitor.h>
-
+// User includes
 #include "t_radioenginewrapper.h"
-//#include "radiopresetstorage.h"
-//#include "radiostation.h"
-//#include "radiostationmodel.h"
-//#include "radioplaylogmodel.h"
 #include "radioenginewrapper.h"
-#include "radiologger.h" //Radio::connect
+#include "radiologger.h"
 #include <cradiosettings.h>
 #include "mradioenginesettings.h"
 #include "trace.h"
 #include "RadioClientServer.h"
 #include "radiointernalcrkeys.h"
 #include "radioengineutils.h"
-
 #define STUB  mRadioStubManager
 #define TUNER  mRadioStubManager->iTuner
 #define PLAYER  mRadioStubManager->iPlayer
 #define RDS  mRadioStubManager->iRds
 #define ACCESSORYOBSERVER  mRadioStubManager->iAccessoryObserver
 #define REMCONTARGET  mRadioStubManager->iRemConTarget
-
 // Constants
-
-// CONSTANTS
 _LIT_SECURITY_POLICY_PASS(KRadioServerReadPolicy);
 _LIT_SECURITY_POLICY_C1(KRadioServerWritePolicy, ECapabilityWriteUserData);
 
@@ -51,8 +43,8 @@
  *
  */
 int main(int /* argc*/, char *argv[])
-{
-FUNC_LOG;
+    {
+    FUNC_LOG;
     TestRadioEngineWrapper tv;
 
     char *pass[3];
@@ -64,329 +56,342 @@
 
     INFO_1( "Main, result value %i", res );
     return res;
-}
+    }
 
 TestRadioEngineWrapper::TestRadioEngineWrapper()
-{
-FUNC_LOG;
-}
+    {
+    FUNC_LOG;
+    }
 
 // from base class RadioStationHandlerIf
 
 uint TestRadioEngineWrapper::currentFrequency() const
-{
-FUNC_LOG;
-return 0;
-}
+    {
+    FUNC_LOG;
+    return 0;
+    }
 
 int TestRadioEngineWrapper::currentPresetIndex() const
-{
-FUNC_LOG;
-return 0;
-}
+    {
+    FUNC_LOG;
+    return 0;
+    }
 
-void TestRadioEngineWrapper::setCurrentStation( uint /*frequency*/ )
-{
-FUNC_LOG;
-}
+void TestRadioEngineWrapper::setCurrentStation(uint /*frequency*/)
+    {
+    FUNC_LOG;
+    }
 
-bool TestRadioEngineWrapper::containsFrequency( uint /*frequency*/ )
-{
-FUNC_LOG;
-return 1;
-}
+bool TestRadioEngineWrapper::containsFrequency(uint /*frequency*/)
+    {
+    FUNC_LOG;
+    return 1;
+    }
 
-bool TestRadioEngineWrapper::containsPresetIndex( int /*presetIndex*/ )
-{
-FUNC_LOG;
-return 1;
-}
+bool TestRadioEngineWrapper::containsPresetIndex(int /*presetIndex*/)
+    {
+    FUNC_LOG;
+    return 1;
+    }
 
 void TestRadioEngineWrapper::startDynamicPsCheck()
-{
-FUNC_LOG;
-}
+    {
+    FUNC_LOG;
+    }
 
-void TestRadioEngineWrapper::addScannedFrequency( uint /*frequency*/ )
-{
-FUNC_LOG;
-}
+void TestRadioEngineWrapper::addScannedFrequency(uint /*frequency*/)
+    {
+    FUNC_LOG;
+    }
 
 void TestRadioEngineWrapper::removeLocalStations()
-{
-FUNC_LOG;
-}
+    {
+    FUNC_LOG;
+    }
 
-void TestRadioEngineWrapper::setCurrentPsName( uint /*frequency*/, const QString& /*name*/ )
-{
-FUNC_LOG;
-}
+void TestRadioEngineWrapper::setCurrentPsName(uint /*frequency*/,
+        const QString& /*name*/)
+    {
+    FUNC_LOG;
+    }
 
-void TestRadioEngineWrapper::setCurrentRadioText( uint /*frequency*/, const QString& /*radioText*/ )
-{
-FUNC_LOG;
-}
+void TestRadioEngineWrapper::setCurrentRadioText(uint /*frequency*/,
+        const QString& /*radioText*/)
+    {
+    FUNC_LOG;
+    }
 
-void TestRadioEngineWrapper::setCurrentRadioTextPlus( uint /*frequency*/, int /*rtClass*/, const QString& /*rtItem*/ )
-{
-FUNC_LOG;
-}
+void TestRadioEngineWrapper::setCurrentRadioTextPlus(uint /*frequency*/,
+        int /*rtClass*/, const QString& /*rtItem*/)
+    {
+    FUNC_LOG;
+    }
 
-void TestRadioEngineWrapper::setCurrentPiCode( uint /*frequency*/, int /*piCode*/ )
-{
-FUNC_LOG;
-}
+void TestRadioEngineWrapper::setCurrentPiCode(uint /*frequency*/, int /*piCode*/)
+    {
+    FUNC_LOG;
+    }
 
-void TestRadioEngineWrapper::setCurrentGenre( uint /*frequency*/, int /*genre*/ )
-{
-FUNC_LOG;
-}
+void TestRadioEngineWrapper::setCurrentGenre(uint /*frequency*/, int /*genre*/)
+    {
+    FUNC_LOG;
+    }
 
 //  from base class RadioEngineWrapperObserver
 
-void TestRadioEngineWrapper::tunedToFrequency( uint frequency, int /* commandSender */)
-{
+void TestRadioEngineWrapper::tunedToFrequency(uint frequency, int /* commandSender */)
+    {
     FUNC_LOG;
     mEnteredSlots |= TunedToFrequency;
-    TInt err = mRadioCR->Set( KRadioCRTunedFrequency , (TInt)frequency );
+    TInt err = mRadioCR->Set(KRadioCRTunedFrequency, (TInt) frequency);
     QVERIFY2( KErrNone == err, "Setting key KRadioCRTunedFrequency failed!" );
-}
+    }
 
-        
-void TestRadioEngineWrapper::rdsAvailabilityChanged( bool /* available */)
-{
-FUNC_LOG;
-}
-    
+void TestRadioEngineWrapper::rdsAvailabilityChanged(bool /* available */)
+    {
+    FUNC_LOG;
+    }
+
 void TestRadioEngineWrapper::increaseVolume()
-{
-FUNC_LOG;
-}
+    {
+    FUNC_LOG;
+    }
 
 void TestRadioEngineWrapper::decreaseVolume()
-{
-FUNC_LOG;
-}
+    {
+    FUNC_LOG;
+    }
 
-void TestRadioEngineWrapper::volumeChanged( int volume )
-{
-FUNC_LOG;
-mEnteredSlots |= VolumeChanged;
-mLastRecordedVolume = volume;
-}
-    
-void TestRadioEngineWrapper::muteChanged( bool /* muted */)
-{
-FUNC_LOG;
-mEnteredSlots |= MuteChanged;
-}
+void TestRadioEngineWrapper::volumeChanged(int volume)
+    {
+    FUNC_LOG;
+    mEnteredSlots |= VolumeChanged;
+    mLastRecordedVolume = volume;
+    }
+
+void TestRadioEngineWrapper::muteChanged(bool /* muted */)
+    {
+    FUNC_LOG;
+    mEnteredSlots |= MuteChanged;
+    }
 
-void TestRadioEngineWrapper::antennaStatusChanged( bool /* muted */)
-{
-FUNC_LOG;
-mEnteredSlots |= AntennaChanged;
-}
+void TestRadioEngineWrapper::antennaStatusChanged(bool /* muted */)
+    {
+    FUNC_LOG;
+    mEnteredSlots |= AntennaChanged;
+    }
 
-void TestRadioEngineWrapper::audioRouteChanged( bool /* loudspeaker */)
-{
-FUNC_LOG;
-}
-        
+void TestRadioEngineWrapper::audioRouteChanged(bool /* loudspeaker */)
+    {
+    FUNC_LOG;
+    }
+
 void TestRadioEngineWrapper::skipPrevious()
-{
-FUNC_LOG;
-}
-    
+    {
+    FUNC_LOG;
+    }
+
 void TestRadioEngineWrapper::skipNext()
-{
-FUNC_LOG;
-}
+    {
+    FUNC_LOG;
+    }
 
 /*!
  * Destructor
  */
 TestRadioEngineWrapper::~TestRadioEngineWrapper()
-{
-FUNC_LOG;
-mRadioStubManagerChunk.Close();
-delete mEngineWrapper;
-mEngineWrapper = NULL;
-delete mScheduler;
-mScheduler = NULL;
-}
+    {
+    FUNC_LOG;
+    mRadioStubManagerChunk.Close();
+    delete mEngineWrapper;
+    mEngineWrapper = NULL;
+    delete mScheduler;
+    mScheduler = NULL;
+    }
 
 /*!
  * called before each testfunction is executed
  */
 void TestRadioEngineWrapper::init()
-{
-FUNC_LOG;
-}
+    {
+    FUNC_LOG;
+    }
 
 /*!
  * called after every testfunction
  */
 void TestRadioEngineWrapper::cleanup()
-{
-FUNC_LOG;
-}
+    {
+    FUNC_LOG;
+    }
 
 /*!
  * called before the first testfunction is executed
  */
- void TestRadioEngineWrapper::initTestCase()
-{
+void TestRadioEngineWrapper::initTestCase()
+    {
     FUNC_LOG;
     // Workaround for the below panic, occured after porting to 10.1 
     // Main Panic E32USER-CBase 44
     // Create and install the active scheduler
-    mScheduler = new(ELeave) CActiveScheduler;
+    mScheduler = new (ELeave) CActiveScheduler;
     CActiveScheduler::Install(mScheduler);
 
     TInt err = mRadioStubManagerChunk.CreateGlobal(
-            KRadioStubManagerLocalChunkName,
-            sizeof(SRadioStubManager),
-            sizeof(SRadioStubManager),
-            EOwnerThread );
+            KRadioStubManagerLocalChunkName, sizeof(SRadioStubManager),
+            sizeof(SRadioStubManager), EOwnerThread);
     QVERIFY2( KErrNone == err, "Creation of memory chunk KRadioStubManagerLocalChunkName failed." );
     QVERIFY2( sizeof(SRadioStubManager) <= mRadioStubManagerChunk.MaxSize(), "Improper size for memory chunk KRadioStubManagerLocalChunkName." );
     TUint8* basePtr = mRadioStubManagerChunk.Base();
     QVERIFY2( 0 != basePtr, "Getting base pointer of memory chunk KRadioStubManagerLocalChunkName failed." );
-    mRadioStubManager = (SRadioStubManager*)basePtr;
-    // Zero configuration/control data 
-    
+    mRadioStubManager = (SRadioStubManager*) basePtr;
+    // Zero configuration/control data
+
     mRadioStubManager->FillZ();
     TRAP( err, mSchedulerTimer = CSchedulerStopAndStartTimer::NewL( *this ) );
-    QVERIFY2(  KErrNone == err, "CSchedulerStopAndStartTimer not constructed!" );     
-    mSchedulerTimer->StartTimer( 1000000, CSchedulerStopAndStartTimer::ETimerIdCreateMUT );
-}
- 
+    QVERIFY2( KErrNone == err, "CSchedulerStopAndStartTimer not constructed!" );
+    mSchedulerTimer->StartTimer(1000000,
+            CSchedulerStopAndStartTimer::ETimerIdCreateMUT);
+    }
+
 void TestRadioEngineWrapper::testRadioSettingsReference()
-{
+    {
     FUNC_LOG;
-    QVERIFY2(  0 != &mEngineWrapper->settings(), "Settings reference illegal!" );    
-}
+    QVERIFY2( 0 != &mEngineWrapper->settings(), "Settings reference illegal!" );
+    }
 
 void TestRadioEngineWrapper::testRegion()
-{   
+    {
     FUNC_LOG;
-    QVERIFY2( mEngineWrapper->region() >= RadioRegion::None, "Illegal Region Id!");
-    QVERIFY2( mEngineWrapper->region() <= RadioRegion::Poland, "Illegal Region Id!");
-    QVERIFY2(  mEngineWrapper->frequencyStepSize() != 0, "Region Step Size illegal!" );
-    QVERIFY2(  mEngineWrapper->minFrequency()  <  mEngineWrapper->maxFrequency(), "Region Minimum Frequency illegal!" );
-    QVERIFY2(  mEngineWrapper->maxFrequency()  > mEngineWrapper->minFrequency(), "Region Maximum Frequency illegal!" );
-    QVERIFY2(  mEngineWrapper->isFrequencyValid( mEngineWrapper->minFrequency() + mEngineWrapper->frequencyStepSize() ), "Legal frequency not accepted!" );
-    QVERIFY2(  mEngineWrapper->isFrequencyValid( mEngineWrapper->maxFrequency() - mEngineWrapper->frequencyStepSize() ), "Legal frequency not accepted!" );
-    QVERIFY2(  mEngineWrapper->isFrequencyValid( mEngineWrapper->minFrequency() ), "Legal minimum frequency not accepted!" );
-    QVERIFY2(  mEngineWrapper->isFrequencyValid( mEngineWrapper->maxFrequency() ), "Legal maximum frequency not accepted!" );
-    QVERIFY2(  !mEngineWrapper->isFrequencyValid( mEngineWrapper->maxFrequency() + mEngineWrapper->frequencyStepSize() ), "Illegal frequency accepted!" );
-    QVERIFY2(  !mEngineWrapper->isFrequencyValid( mEngineWrapper->minFrequency() - mEngineWrapper->frequencyStepSize() ), "Illegal frequency accepted!" );
-    QVERIFY2(  !mEngineWrapper->isFrequencyValid( 0 + mEngineWrapper->frequencyStepSize() ), "Illegal frequency accepted!" );
-    QVERIFY2(  !mEngineWrapper->isFrequencyValid( 0 - mEngineWrapper->frequencyStepSize() ), "Illegal frequency accepted!" );
-}
+    QVERIFY2( mEngineWrapper->region() >= RadioRegion::None, "Illegal Region Id 1!");
+    QVERIFY2( mEngineWrapper->region() <= RadioRegion::Poland, "Illegal Region Id 2!");
+    QVERIFY2( mEngineWrapper->frequencyStepSize() != 0, "Region Step Size illegal!" );
+    QVERIFY2( mEngineWrapper->minFrequency() < mEngineWrapper->maxFrequency(), "Region Minimum Frequency illegal 1!" );
+    QVERIFY2( mEngineWrapper->maxFrequency() > mEngineWrapper->minFrequency(), "Region Maximum Frequency illegal 2!" );
+    QVERIFY2( mEngineWrapper->isFrequencyValid( mEngineWrapper->minFrequency() + mEngineWrapper->frequencyStepSize() ), "Legal frequency not accepted 1!" );
+    QVERIFY2( mEngineWrapper->isFrequencyValid( mEngineWrapper->maxFrequency() - mEngineWrapper->frequencyStepSize() ), "Legal frequency not accepted 2!" );
+    QVERIFY2( mEngineWrapper->isFrequencyValid( mEngineWrapper->minFrequency() ), "Legal minimum frequency not accepted!" );
+    QVERIFY2( mEngineWrapper->isFrequencyValid( mEngineWrapper->maxFrequency() ), "Legal maximum frequency not accepted!" );
+    QVERIFY2( !mEngineWrapper->isFrequencyValid( mEngineWrapper->maxFrequency() + mEngineWrapper->frequencyStepSize() ), "Illegal frequency accepted 1!" );
+    QVERIFY2( !mEngineWrapper->isFrequencyValid( mEngineWrapper->minFrequency() - mEngineWrapper->frequencyStepSize() ), "Illegal frequency accepted 2!" );
+    QVERIFY2( !mEngineWrapper->isFrequencyValid( 0 + mEngineWrapper->frequencyStepSize() ), "Illegal frequency accepted 3!" );
+    QVERIFY2( !mEngineWrapper->isFrequencyValid( 0 - mEngineWrapper->frequencyStepSize() ), "Illegal frequency accepted 4!" );
+    }
 
 void TestRadioEngineWrapper::testRadioOnOff()
-{
+    {
     FUNC_LOG;
-    QVERIFY2(  !mEngineWrapper->isRadioOn(), "Radio is not off!" );
+    QVERIFY2( !mEngineWrapper->isRadioOn(), "Radio is not off!" );
 
     TInt err(KErrNone);
     TBool antennaAttached = ETrue;
-    err = RProperty::Set( KStub_KRadioServerPropertyCategory, ERadioServPsAntennaStatus,  antennaAttached );
+    err = RProperty::Set(KStub_KRadioServerPropertyCategory,
+            ERadioServPsAntennaStatus, antennaAttached);
     INFO_1("RProperty::Set( KStub_KRadioServerPropertyCategory, ERadioServPsAntennaStatus,  antennaAttached ) err: %d", err);
     QVERIFY2( KErrNone == err, "Setting property ERadioServPsAntennaStatus failed!" );
-    mSchedulerTimer->StartTimer( 1000000 );
-    QVERIFY2(  mEngineWrapper->isAntennaAttached(), "Headset/Antenna not connected!");
-    ACCESSORYOBSERVER.iObserver->HeadsetConnectedCallbackL();
-    
+    mSchedulerTimer->StartTimer(1000000);
+    QVERIFY2( mEngineWrapper->isAntennaAttached(), "Headset/Antenna not connected!");
+    TRAP( err, ACCESSORYOBSERVER.iObserver->HeadsetConnectedCallbackL() );
+    QVERIFY2( KErrNone == err, "ACCESSORYOBSERVER.iObserver->HeadsetConnectedCallbackL() failed!" );
+
     TPckgBuf<TRsSettingsData> playerState;
     playerState().iError = KErrNone;
     playerState().iData1 = ETrue;
-    err = RProperty::Set( KStub_KRadioServerPropertyCategory, ERadioServPsPlayerState,  playerState );
+    err = RProperty::Set(KStub_KRadioServerPropertyCategory,
+            ERadioServPsPlayerState, playerState);
     QVERIFY2( KErrNone == err, "Setting property ERadioServPsPlayerState failed!" );
-    
-    mSchedulerTimer->StartTimer( 1000000 );
-    QVERIFY2(  mEngineWrapper->isAntennaAttached(), "Headset/Antenna not connected!");
-    QVERIFY2(  mEngineWrapper->isRadioOn(), "Radio is not on!" );
-}
- 
+
+    mSchedulerTimer->StartTimer(1000000);
+    QVERIFY2( mEngineWrapper->isAntennaAttached(), "Headset/Antenna not connected!");
+    QVERIFY2( mEngineWrapper->isRadioOn(), "Radio is not on!" );
+    }
+
 void TestRadioEngineWrapper::testTuning()
     {
     FUNC_LOG;
     QVERIFY2( mEngineWrapper->isRadioOn(), "Radio is not on!" );
 
     // Tune to minimum frequency
-    mEngineWrapper->setFrequency( mEngineWrapper->minFrequency() );
-    TInt err = mPropertyFrequency.Set( KStub_KRadioServerPropertyCategory, ERadioServPsFrequency,  tstGetFrequency() );
+    mEngineWrapper->setFrequency(mEngineWrapper->minFrequency());
+    TInt err = mPropertyFrequency.Set(KStub_KRadioServerPropertyCategory,
+            ERadioServPsFrequency, tstGetFrequency());
     QVERIFY2( KErrNone == err, "Setting property ERadioServPsFrequency failed!" );
-    mSchedulerTimer->StartTimer( 1000000 );
+    mSchedulerTimer->StartTimer(1000000);
     INFO_1("mEngineWrapper->minFrequency() = %i", mEngineWrapper->minFrequency() );
     INFO_1("mEngineWrapper->currentFrequency() = %i", mEngineWrapper->currentFrequency() );
-    QVERIFY2(  mEngineWrapper->currentFrequency() ==  mEngineWrapper->minFrequency(), "Tuning to minimum frequency failed!");
+    QVERIFY2( mEngineWrapper->currentFrequency() == mEngineWrapper->minFrequency(), "Tuning to minimum frequency failed!");
 
     // Seek upwards
-    uint freq_A = mEngineWrapper->currentFrequency();    
-    //mSchedulerTimer->StartTimer( 1000 );
-    tstSetFrequency( freq_A + mEngineWrapper->frequencyStepSize() );   
-    mEngineWrapper->startSeeking( Seek::Up );    
-    err = mPropertyFrequency.Set( KStub_KRadioServerPropertyCategory, ERadioServPsFrequency,  tstGetFrequency() );
+    uint freq_A = mEngineWrapper->currentFrequency();
+    tstSetFrequency(freq_A + mEngineWrapper->frequencyStepSize());
+    mEngineWrapper->startSeeking(Seek::Up);
+    err = mPropertyFrequency.Set(KStub_KRadioServerPropertyCategory,
+            ERadioServPsFrequency, tstGetFrequency());
     QVERIFY2( KErrNone == err, "Setting property ERadioServPsFrequency failed!" );
-    mSchedulerTimer->StartTimer( 1000000 );
-    QVERIFY2(  TunedToFrequency == ( mEnteredSlots & TunedToFrequency ), "Not Tuned to next upward frequency!");
+    mSchedulerTimer->StartTimer(1000000);
+    QVERIFY2( TunedToFrequency == ( mEnteredSlots & TunedToFrequency ), "Not Tuned to next upward frequency!");
     mEnteredSlots &= !TunedToFrequency;
     uint freq_B = mEngineWrapper->currentFrequency();
-    QVERIFY2(  (freq_B - mEngineWrapper->frequencyStepSize()) == freq_A, "Seeking upwards failed!");
-
+    QVERIFY2( (freq_B - mEngineWrapper->frequencyStepSize()) == freq_A, "Seeking upwards failed!");
 
     // Tune to maximum frequency
-    tstSetFrequency( mEngineWrapper->maxFrequency() );   
-    mEngineWrapper->setFrequency( mEngineWrapper->maxFrequency() );
-    err = mPropertyFrequency.Set( KStub_KRadioServerPropertyCategory, ERadioServPsFrequency,  tstGetFrequency() );
+    tstSetFrequency(mEngineWrapper->maxFrequency());
+    mEngineWrapper->setFrequency(mEngineWrapper->maxFrequency());
+    err = mPropertyFrequency.Set(KStub_KRadioServerPropertyCategory,
+            ERadioServPsFrequency, tstGetFrequency());
     QVERIFY2( KErrNone == err, "Setting property ERadioServPsFrequency failed!" );
-    mSchedulerTimer->StartTimer( 1000000 );
-    QVERIFY2(  TunedToFrequency == ( mEnteredSlots & TunedToFrequency ), "Not Tuned to maximum frequency!");
+    mSchedulerTimer->StartTimer(1000000);
+    QVERIFY2( TunedToFrequency == ( mEnteredSlots & TunedToFrequency ), "Not Tuned to maximum frequency!");
     mEnteredSlots &= !TunedToFrequency;
     QVERIFY2( mEngineWrapper->currentFrequency() == mEngineWrapper->maxFrequency(), "Current frequency not the maximum one!" );
 
-    
     // Seek downwards
-    mEngineWrapper->startSeeking( Seek::Down );
-    tstSetFrequency(  mEngineWrapper->currentFrequency() - (2 * mEngineWrapper->frequencyStepSize()) );   
-    err = mPropertyFrequency.Set( KStub_KRadioServerPropertyCategory, ERadioServPsFrequency,  tstGetFrequency() );
+    mEngineWrapper->startSeeking(Seek::Down);
+    tstSetFrequency(mEngineWrapper->currentFrequency() - (2
+            * mEngineWrapper->frequencyStepSize()));
+    err = mPropertyFrequency.Set(KStub_KRadioServerPropertyCategory,
+            ERadioServPsFrequency, tstGetFrequency());
     QVERIFY2( KErrNone == err, "Setting property ERadioServPsFrequency failed!" );
-    mSchedulerTimer->StartTimer( 1000000 );
-    QVERIFY2(  TunedToFrequency == ( mEnteredSlots & TunedToFrequency ), "Not Tuned to next downward frequency!");
+    mSchedulerTimer->StartTimer(1000000);
+    QVERIFY2( TunedToFrequency == ( mEnteredSlots & TunedToFrequency ), "Not Tuned to next downward frequency!");
     mEnteredSlots &= !TunedToFrequency;
-    QVERIFY2(  mEngineWrapper->currentFrequency() ==  mEngineWrapper->maxFrequency()- (2 * mEngineWrapper->frequencyStepSize()), "Seeking downwards failed!");
+    QVERIFY2( mEngineWrapper->currentFrequency() == mEngineWrapper->maxFrequency()- (2 * mEngineWrapper->frequencyStepSize()), "Seeking downwards failed!");
 
     // Tune to avarage frequency
-    uint averageFrequency( mEngineWrapper->maxFrequency() + mEngineWrapper->minFrequency() );
+    uint averageFrequency(mEngineWrapper->maxFrequency()
+            + mEngineWrapper->minFrequency());
     averageFrequency /= 2;
-    averageFrequency -= ( averageFrequency % mEngineWrapper->frequencyStepSize() );
-    mEngineWrapper->setFrequency( averageFrequency );
-    err = mPropertyFrequency.Set( KStub_KRadioServerPropertyCategory, ERadioServPsFrequency,  tstGetFrequency() );
+    averageFrequency -= (averageFrequency
+            % mEngineWrapper->frequencyStepSize());
+    mEngineWrapper->setFrequency(averageFrequency);
+    err = mPropertyFrequency.Set(KStub_KRadioServerPropertyCategory,
+            ERadioServPsFrequency, tstGetFrequency());
     QVERIFY2( KErrNone == err, "Setting property ERadioServPsFrequency failed!" );
-    mSchedulerTimer->StartTimer( 1000000 );
-    QVERIFY2(  TunedToFrequency == ( mEnteredSlots & TunedToFrequency ), "Not Tuned to average frequency!");
+    mSchedulerTimer->StartTimer(1000000);
+    QVERIFY2( TunedToFrequency == ( mEnteredSlots & TunedToFrequency ), "Not Tuned to average frequency!");
     mEnteredSlots &= !TunedToFrequency;
-    QVERIFY2(  mEngineWrapper->currentFrequency() ==  averageFrequency, "Tuning to average frequency failed!");
+    QVERIFY2( mEngineWrapper->currentFrequency() == averageFrequency, "Tuning to average frequency failed!");
 
     // Try to use frequency above maximum
     uint freq_C = mEngineWrapper->currentFrequency();
-    TUNER.iSetFrequencyError.SetStubError( KRadioServErrFrequencyOutOfBandRange );
-    mEngineWrapper->setFrequency( mEngineWrapper->maxFrequency() + mEngineWrapper->frequencyStepSize() );
-    mSchedulerTimer->StartTimer( 1000000 );    
+    TUNER.iSetFrequencyError.SetStubError(
+            KRadioServErrFrequencyOutOfBandRange);
+    mEngineWrapper->setFrequency(mEngineWrapper->maxFrequency()
+            + mEngineWrapper->frequencyStepSize());
+    mSchedulerTimer->StartTimer(1000000);
     // Should be == not != as now. This is done in order to complete tests.
     QVERIFY2( mEngineWrapper->currentFrequency() != freq_C, "Tuning over maximum frequency succeeded?");
     QVERIFY2( !mEngineWrapper->isFrequencyValid( mEngineWrapper->currentFrequency() ), "A frequency over maximum accepted?");
 
     // Try to use frequency below minimum
     uint freq_D = mEngineWrapper->currentFrequency();
-    TUNER.iSetFrequencyError.SetStubError( KRadioServErrFrequencyOutOfBandRange );
-    mEngineWrapper->setFrequency( mEngineWrapper->minFrequency() - mEngineWrapper->frequencyStepSize() );
-    mSchedulerTimer->StartTimer( 1000000 );
+    TUNER.iSetFrequencyError.SetStubError(
+            KRadioServErrFrequencyOutOfBandRange);
+    mEngineWrapper->setFrequency(mEngineWrapper->minFrequency()
+            - mEngineWrapper->frequencyStepSize());
+    mSchedulerTimer->StartTimer(1000000);
     // Should be == not != as now. This is done in order to complete tests.
-    QVERIFY2(  mEngineWrapper->currentFrequency() != freq_D, "Tuning below minimum frequency succeeded?");
+    QVERIFY2( mEngineWrapper->currentFrequency() != freq_D, "Tuning below minimum frequency succeeded?");
     QVERIFY2( !mEngineWrapper->isFrequencyValid( mEngineWrapper->currentFrequency() ), "A frequency below minimum accepted?");
     }
 
@@ -395,50 +400,52 @@
     FUNC_LOG;
     QVERIFY2( mEngineWrapper->isRadioOn(), "Radio is not on!" );
 
-    mEngineWrapper->startSeeking( Seek::Up, TuneReason::StationScanInitialization );    
-    mSchedulerTimer->StartTimer( 1000000 );
-    TInt frequency1( mEngineWrapper->currentFrequency() );
+    mEngineWrapper->startSeeking(Seek::Up,
+            TuneReason::StationScanInitialization);
+    mSchedulerTimer->StartTimer(1000000);
+    TInt frequency1(mEngineWrapper->currentFrequency());
 
-    mEngineWrapper->startSeeking( Seek::Up, TuneReason::StationScan );    
-    tstSetFrequency(  mEngineWrapper->currentFrequency() + mEngineWrapper->frequencyStepSize() );   
-    TInt err = mPropertyFrequency.Set( KStub_KRadioServerPropertyCategory, ERadioServPsFrequency,  tstGetFrequency() );
+    mEngineWrapper->startSeeking(Seek::Up, TuneReason::StationScan);
+    tstSetFrequency(mEngineWrapper->currentFrequency()
+            + mEngineWrapper->frequencyStepSize());
+    TInt err = mPropertyFrequency.Set(KStub_KRadioServerPropertyCategory,
+            ERadioServPsFrequency, tstGetFrequency());
     QVERIFY2( KErrNone == err, "Setting property ERadioServPsFrequency failed!" );
-    mSchedulerTimer->StartTimer( 1000000 );
+    mSchedulerTimer->StartTimer(1000000);
     QVERIFY2( mEngineWrapper->currentFrequency() > frequency1, "Seeking Upwards failed!" );
     frequency1 = mEngineWrapper->currentFrequency();
 
-    mEngineWrapper->cancelSeeking();    
+    mEngineWrapper->cancelSeeking();
     }
 
 /* Mute's callback function CRadioEngine::MrpoMuteChange() is commented in radio engine, so no point to test here.
-void TestRadioEngineWrapper::testMute()
-    {
-    FUNC_LOG;
-    QVERIFY2( mEngineWrapper->isRadioOn(), "Radio is not on!" );
-    // Toggle mute.
-    TBool muted_1( mEngineWrapper->isMuted() );
-    INFO_1( "muted_1", muted_1 );
-    mEngineWrapper->setMute( !muted_1 );
-    TInt err = mPropertyFrequency.Set( KStub_KRadioServerPropertyCategory, ERadioServPsMuteStatus,  muted_1 ? 0x0 : 0xff );
-    QVERIFY2( KErrNone == err, "Setting property ERadioServPsMuteStatus failed!" );
-    mSchedulerTimer->StartTimer( 1000000 );
-    TBool muted_2( mEngineWrapper->isMuted() );
-    QVERIFY2(  mEnteredSlots &= MuteChanged, "Mute not changed!");
-    mEnteredSlots &= !MuteChanged;    
-    QVERIFY2( muted_1 != muted_2, "Mute() not working!" );
+ void TestRadioEngineWrapper::testMute()
+ {
+ FUNC_LOG;
+ QVERIFY2( mEngineWrapper->isRadioOn(), "Radio is not on!" );
+ // Toggle mute.
+ TBool muted_1( mEngineWrapper->isMuted() );
+ INFO_1( "muted_1", muted_1 );
+ mEngineWrapper->setMute( !muted_1 );
+ TInt err = mPropertyFrequency.Set( KStub_KRadioServerPropertyCategory, ERadioServPsMuteStatus,  muted_1 ? 0x0 : 0xff );
+ QVERIFY2( KErrNone == err, "Setting property ERadioServPsMuteStatus failed!" );
+ mSchedulerTimer->StartTimer( 1000000 );
+ TBool muted_2( mEngineWrapper->isMuted() );
+ QVERIFY2(  mEnteredSlots &= MuteChanged, "Mute not changed!");
+ mEnteredSlots &= !MuteChanged;    
+ QVERIFY2( muted_1 != muted_2, "Mute() not working!" );
 
-    // Toggle back to original value
-    mEngineWrapper->setMute( muted_1 );
-    err = mPropertyFrequency.Set( KStub_KRadioServerPropertyCategory, ERadioServPsMuteStatus,  muted_1 );
-    QVERIFY2( KErrNone == err, "Setting property ERadioServPsMuteStatus failed!" );
-    mSchedulerTimer->StartTimer( 1000000 );
-    TBool muted_3( mEngineWrapper->isMuted() );
-    QVERIFY2(  mEnteredSlots &= MuteChanged, "Mute not changed!");
-    mEnteredSlots &= !MuteChanged;    
-    QVERIFY2( muted_1 == muted_3, "Mute status not changed to original value!") ;
-    }
-*/
-
+ // Toggle back to original value
+ mEngineWrapper->setMute( muted_1 );
+ err = mPropertyFrequency.Set( KStub_KRadioServerPropertyCategory, ERadioServPsMuteStatus,  muted_1 );
+ QVERIFY2( KErrNone == err, "Setting property ERadioServPsMuteStatus failed!" );
+ mSchedulerTimer->StartTimer( 1000000 );
+ TBool muted_3( mEngineWrapper->isMuted() );
+ QVERIFY2(  mEnteredSlots &= MuteChanged, "Mute not changed!");
+ mEnteredSlots &= !MuteChanged;    
+ QVERIFY2( muted_1 == muted_3, "Mute status not changed to original value!") ;
+ }
+ */
 
 void TestRadioEngineWrapper::testVolumeSetting()
     {
@@ -447,47 +454,49 @@
     //  is missing from test constellation.
     QVERIFY2( mEngineWrapper->isRadioOn(), "Radio is not on!" );
     INFO_1( "mLastRecordedVolume: %i", mLastRecordedVolume );
-    TInt volume_1( 10 );
-    mEngineWrapper->setVolume( volume_1 );
-    
-    mSchedulerTimer->StartTimer( 1000000 );
-    
+    TInt volume_1(10);
+    mEngineWrapper->setVolume(volume_1);
+
+    mSchedulerTimer->StartTimer(1000000);
+
     INFO_1( "mLastRecordedVolume: %i", mLastRecordedVolume );
-    QVERIFY2(  mEnteredSlots &= VolumeChanged, "Volume not changed!");
-    mEnteredSlots &= !VolumeChanged;    
-    QVERIFY2( volume_1 == mLastRecordedVolume, "Volume has unexpected value!") ;
+    QVERIFY2( mEnteredSlots &= VolumeChanged, "Volume not changed!");
+    mEnteredSlots &= !VolumeChanged;
+    QVERIFY2( volume_1 == mLastRecordedVolume, "Volume has unexpected value!");
 
     volume_1 = mLastRecordedVolume;
-    TInt volume_2( (mLastRecordedVolume + 5)%20 );
-    mEngineWrapper->setVolume( volume_2 );
-    
-    mSchedulerTimer->StartTimer( 1000000 );
-    
+    TInt volume_2((mLastRecordedVolume + 5) % 20);
+    mEngineWrapper->setVolume(volume_2);
+
+    mSchedulerTimer->StartTimer(1000000);
+
     INFO_1( "mLastRecordedVolume: %i", mLastRecordedVolume );
-    QVERIFY2(  mEnteredSlots &= VolumeChanged, "Volume not changed!");
-    mEnteredSlots &= !VolumeChanged;    
-    QVERIFY2( volume_2 == mLastRecordedVolume, "Volume has unexpected value!") ;
+    QVERIFY2( mEnteredSlots &= VolumeChanged, "Volume not changed!");
+    mEnteredSlots &= !VolumeChanged;
+    QVERIFY2( volume_2 == mLastRecordedVolume, "Volume has unexpected value!");
 
     // Increase volume
-    mEngineWrapper->setVolume( volume_1 );
-    mSchedulerTimer->StartTimer( 1000000 );
-    mEngineWrapper->increaseVolume();    
-    mSchedulerTimer->StartTimer( 1000000 );    
-    QVERIFY2(  mEnteredSlots &= VolumeChanged, "Volume not increased!");
-    mEnteredSlots &= !VolumeChanged;    
-    QVERIFY2( volume_1 != mLastRecordedVolume, "Volume has unexpected value, not increased!") ;
-    INFO_1( "mLastRecordedVolume: %i", mLastRecordedVolume );
- 
-    // Decrease volume
-    mEngineWrapper->setVolume( volume_1 );
-    mSchedulerTimer->StartTimer( 1000000 );
-    mEngineWrapper->decreaseVolume();    
-    mSchedulerTimer->StartTimer( 1000000 );    
-    QVERIFY2(  mEnteredSlots &= VolumeChanged, "Volume not decreased!");
-    mEnteredSlots &= !VolumeChanged;    
-    QVERIFY2( volume_1 != mLastRecordedVolume, "Volume has unexpected value, not decreased!") ;
+    mEngineWrapper->setVolume(volume_1);
+    mSchedulerTimer->StartTimer(1000000);
+    mEngineWrapper->increaseVolume();
+    mSchedulerTimer->StartTimer(1000000);
+    QVERIFY2( mEnteredSlots &= VolumeChanged, "Volume not increased!");
+    mEnteredSlots &= !VolumeChanged;
+    QVERIFY2( volume_1 != mLastRecordedVolume, "Volume has unexpected value, not increased!");
     INFO_1( "mLastRecordedVolume: %i", mLastRecordedVolume );
 
+    // Decrease volume
+    mEngineWrapper->setVolume(volume_1);
+    mSchedulerTimer->StartTimer(1000000);
+    mEngineWrapper->decreaseVolume();
+    mSchedulerTimer->StartTimer(1000000);
+    QVERIFY2( mEnteredSlots &= VolumeChanged, "Volume not decreased!");
+    mEnteredSlots &= !VolumeChanged;
+    QVERIFY2( volume_1 != mLastRecordedVolume, "Volume has unexpected value, not decreased!");
+    INFO_1( "mLastRecordedVolume: %i", mLastRecordedVolume );
+
+    // Toggle twice just to get API function to be called.
+    // Suggest ideas for better tests.
     mEngineWrapper->toggleAudioRoute();
     mEngineWrapper->toggleAudioRoute();
 
@@ -497,20 +506,19 @@
     {
     FUNC_LOG;
     QVERIFY2( mEngineWrapper->isRadioOn(), "Radio is not on!" );
-    TBool isLoudSpeakerUsed( mEngineWrapper->isUsingLoudspeaker() );
-    INFO_1( "isLoudSpeakerUsed: %i", isLoudSpeakerUsed );   
+    TBool isLoudSpeakerUsed(mEngineWrapper->isUsingLoudspeaker());
+    INFO_1( "isLoudSpeakerUsed: %i", isLoudSpeakerUsed );
     }
 
-
 /*!
  * called after the last testfunction was executed
  */
 void TestRadioEngineWrapper::cleanupTestCase()
-{
+    {
     FUNC_LOG;
-    DeleteMUT();    
-	delete mScheduler;
-	mScheduler = NULL;
+    DeleteMUT();
+    delete mScheduler;
+    mScheduler = NULL;
     mRadioStubManagerChunk.Close();
     mPropertyPlayerState.Close();
     mPropertyAntennaStatus.Close();
@@ -523,36 +531,36 @@
     mPropertyVolume.Close();
     mPropertyMuteStatus.Close();
     mPropertyBalance.Close();
-}
+    }
 
 void TestRadioEngineWrapper::tstSetTunerCababilities(uint /*category*/)
     {
     FUNC_LOG;
-    TUNER.iCaps.iFrequencyRange = ERsRangeFmEuroAmerica; 
-    TUNER.iCaps.iCapabilities = 
-        TRsTunerCapabilities::ETunerFunctionAvailableInOfflineMode | 
-        TRsTunerCapabilities::ETunerFunctionRds | 
-        TRsTunerCapabilities::ETunerFunctionDualTuner; 
+    TUNER.iCaps.iFrequencyRange = ERsRangeFmEuroAmerica;
+    TUNER.iCaps.iCapabilities
+            = TRsTunerCapabilities::ETunerFunctionAvailableInOfflineMode
+                    | TRsTunerCapabilities::ETunerFunctionRds
+                    | TRsTunerCapabilities::ETunerFunctionDualTuner;
     }
 
-void TestRadioEngineWrapper::Timeout( TUint aTimerId )
+void TestRadioEngineWrapper::Timeout(TUint aTimerId)
     {
-    FUNC_LOG;    
-    if ( CSchedulerStopAndStartTimer::ETimerIdCreateMUT == aTimerId )
+    FUNC_LOG;
+    if (CSchedulerStopAndStartTimer::ETimerIdCreateMUT == aTimerId)
         {
         INFO("ETimerIdCreateMUT elapsed");
         }
-    else if ( CSchedulerStopAndStartTimer::ETimerIdDeleteMUT == aTimerId )
+    else if (CSchedulerStopAndStartTimer::ETimerIdDeleteMUT == aTimerId)
         {
         INFO("ETimerIdDeleteMUT elapsed");
         }
-    else if ( CSchedulerStopAndStartTimer::ETimerIdRunMUT == aTimerId )
+    else if (CSchedulerStopAndStartTimer::ETimerIdRunMUT == aTimerId)
         {
         INFO("ETimerIdRunMUT elapsed");
         }
     else
         {
-        INFO("Unknown timer elapsed");        
+        INFO("Unknown timer elapsed");
         }
     }
 
@@ -560,28 +568,28 @@
     {
     FUNC_LOG;
     tstDefineAndAttachRadioServerProperties();
-    TInt err( KErrNone );
+    TInt err(KErrNone);
     err = tstCreateCRObjects();
-    QVERIFY2(  KErrNone == err, "Radio CR not created!" ); 
+    QVERIFY2( KErrNone == err, "Radio CR not created!" );
     TRAP( err, mEngineWrapper = new (ELeave) RadioEngineWrapper( *this ) );
     RadioEngineUtils::InitializeL();
-    bool retVal( EFalse );
+    bool retVal(EFalse);
     retVal = mEngineWrapper->init();
     QVERIFY2( EFalse != retVal, "mEngineWrapper->init() failed!");
-    mEngineWrapper->addObserver( this );
-    QVERIFY2(  KErrNone == err, "Radio Engine not constructed!" ); 
-    tstSetTunerCababilities();        
+    mEngineWrapper->addObserver(this);
+    QVERIFY2( KErrNone == err, "Radio Engine not constructed!" );
+    tstSetTunerCababilities();
     }
 
 void TestRadioEngineWrapper::DeleteMUT()
     {
     FUNC_LOG;
-    mEngineWrapper->removeObserver( this );
+    mEngineWrapper->removeObserver(this);
     delete mEngineWrapper;
-    mEngineWrapper = NULL;    
+    mEngineWrapper = NULL;
     }
 
-void TestRadioEngineWrapper::tstSetFrequency( TUint aFrequency )
+void TestRadioEngineWrapper::tstSetFrequency(TUint aFrequency)
     {
     FUNC_LOG;
     TUNER.iFrequency = aFrequency;
@@ -593,7 +601,8 @@
     return TUNER.iFrequency;
     }
 
-void TestRadioEngineWrapper::tstSetScanningData( TUint aCount, TInt aMinFreq, TInt aFrequencyStepSize )
+void TestRadioEngineWrapper::tstSetScanningData(TUint aCount, TInt aMinFreq,
+        TInt aFrequencyStepSize)
     {
     FUNC_LOG;
     TUNER.iScanStations.iCount = aCount;
@@ -601,34 +610,32 @@
     TUNER.iScanStations.iFrequencyStepSize = aFrequencyStepSize;
     }
 
-
 void TestRadioEngineWrapper::tstDefineAndAttachRadioServerProperties()
     {
     FUNC_LOG;
     QVERIFY2(KErrNone == RProperty::Define(KStub_KRadioServerPropertyCategory, ERadioServPsPlayerState, RProperty::EByteArray,
-                                 KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
+                    KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
     QVERIFY2(KErrNone == RProperty::Define(KStub_KRadioServerPropertyCategory, ERadioServPsAntennaStatus, RProperty::EInt,
-                            KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
+                    KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
     QVERIFY2(KErrNone == RProperty::Define(KStub_KRadioServerPropertyCategory, ERadioServPsOfflineMode, RProperty::EInt,
-                            KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
+                    KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
     QVERIFY2(KErrNone == RProperty::Define(KStub_KRadioServerPropertyCategory, ERadioServPsTransmitterStatus, RProperty::EInt,
-                            KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
+                    KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
     QVERIFY2(KErrNone == RProperty::Define(KStub_KRadioServerPropertyCategory, ERadioServPsFrequency, RProperty::EInt,
-                            KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
+                    KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
     QVERIFY2(KErrNone == RProperty::Define(KStub_KRadioServerPropertyCategory, ERadioServPsFrequencyRange, RProperty::EInt,
-                            KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
+                    KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
     QVERIFY2(KErrNone == RProperty::Define(KStub_KRadioServerPropertyCategory, ERadioServPsForceMonoReception, RProperty::EInt,
-                            KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
+                    KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
     QVERIFY2(KErrNone == RProperty::Define(KStub_KRadioServerPropertyCategory, ERadioServPsSquelch, RProperty::EInt,
-                            KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
+                    KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
     QVERIFY2(KErrNone == RProperty::Define(KStub_KRadioServerPropertyCategory, ERadioServPsVolume, RProperty::EInt,
-                            KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
+                    KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
     QVERIFY2(KErrNone == RProperty::Define(KStub_KRadioServerPropertyCategory, ERadioServPsMuteStatus, RProperty::EInt,
-                            KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
+                    KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
     QVERIFY2(KErrNone == RProperty::Define(KStub_KRadioServerPropertyCategory, ERadioServPsBalance, RProperty::EByteArray,
-                            KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
-    
-    
+                    KRadioServerReadPolicy, KRadioServerWritePolicy), "Property Define() failed!");
+
     QVERIFY2(KErrNone == mPropertyPlayerState.Attach( KStub_KRadioServerPropertyCategory, ERadioServPsPlayerState ), "Property Attach() failed!");
     QVERIFY2(KErrNone == mPropertyAntennaStatus.Attach( KStub_KRadioServerPropertyCategory, ERadioServPsAntennaStatus ), "Property Attach() failed!");
     QVERIFY2(KErrNone == mPropertyOfflineMode.Attach( KStub_KRadioServerPropertyCategory, ERadioServPsOfflineMode ), "Property Attach() failed!");
@@ -645,10 +652,9 @@
 TInt TestRadioEngineWrapper::tstCreateCRObjects()
     {
     FUNC_LOG;
-    TInt err( KErrNone );
+    TInt err(KErrNone);
     TRAP( err, mRadioCR = CRepository::NewL(KStub_KRadioCRUid) );
     INFO_1( "Returning err = %i", err );
     return err;
     }
 
-
--- a/radioapp/radioenginewrapper/tsrc/src/t_schedulerstartandstoptimer.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioenginewrapper/tsrc/src/t_schedulerstartandstoptimer.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -87,6 +87,7 @@
 void CSchedulerStopAndStartTimer::RunL()
     {
     FUNC_LOG;
+    iSchedulerStartAndStopTimerObserver.Timeout( iTimerId );        
     if ( ETimerIdCreateMUT == iTimerId )
         {
         iSchedulerStartAndStopTimerObserver.CreateMUT();
@@ -101,7 +102,6 @@
     else
         {
         CActiveScheduler::Stop();
-        iSchedulerStartAndStopTimerObserver.Timeout( iTimerId );        
         }
     }
 
--- a/radioapp/radioenginewrapper/tsrc/t_radioenginewrapper.pro	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radioenginewrapper/tsrc/t_radioenginewrapper.pro	Mon Oct 04 00:17:30 2010 +0300
@@ -20,6 +20,11 @@
     TARGET.SID = 0x2002EAD8  # Tried  0x101FF976 but failed
     MMP_RULES += SMPSAFE    
 }
+
+CONFIG += qtestlib \
+          Hb \
+          symbian_test  
+
 DEPENDPATH += . \
     inc \
     src
--- a/radioapp/radiopresetstorage/tsrc/inc/trace.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiopresetstorage/tsrc/inc/trace.h	Mon Oct 04 00:17:30 2010 +0300
@@ -40,7 +40,7 @@
 * Prefix trace macro to complete tracing with component name.
 * Returns TDesC which can be used directly with RDebug or RFileLogger.
 */
-#define _PREFIX_TRACE( aMsg ) TPtrC( (const TText*)L"[t_radioenginewrapper]: " L##aMsg )
+#define _PREFIX_TRACE( aMsg ) TPtrC( (const TText*)L"[t_radiopresetstorage]: " L##aMsg )
 
 /**
 * Prefix error trace
@@ -55,7 +55,7 @@
 /**
 * Prefix macro for strings
 */
-#define _PREFIX_CHAR( aMsg ) (const char*)"[t_radioenginewrapper]: " ##aMsg
+#define _PREFIX_CHAR( aMsg ) (const char*)"[t_radiopresetstorage]: " ##aMsg
 
 /**
 * Define needed directories if TRACE_INTO_FILE macro in use
--- a/radioapp/radiouiengine/inc/radiogenrelocalizer.h	Fri Sep 17 08:29:29 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Small helper utility to localize radio genres
-*
-*/
-
-#ifndef RADIOGENRELOCALIZER_H
-#define RADIOGENRELOCALIZER_H
-
-#include "radio_global.h"
-
-// Constants
-
-namespace RadioGenreLocalizer
-{
-
-    struct GenreMap
-    {
-        int mGenreCode;
-        const char* mInCarousel;
-        const char* mInStationsList;
-        const char* mInHomeScreen;
-    };
-
-    static QString genreToString( RadioRegion::Region region, int genre, GenreTarget::Target target );
-}
-
-// Convenience macros to help in the construction of the localization tables
-#define BEGIN_GENRE_MAP(name) const RadioGenreLocalizer::GenreMap name[] = {
-#define EUROPEAN_GENRE(code, inCarousel, inStationsList, inHomescreen ) { GenreEurope::code, inCarousel, inStationsList, inHomescreen }
-#define AMERICAN_GENRE(code, inCarousel, inStationsList, inHomescreen ) { GenreAmerica::code, inCarousel, inStationsList, inHomescreen }
-#define END_GENRE_MAP(name) }; const int name ## Count = sizeof ( name ) / sizeof ( name[0] );
-
-BEGIN_GENRE_MAP( EuropeanGenres )
-                    // Genre code           // Text in Carousel                     // Text in Stations list                            // Text in Homescreen widget
-    EUROPEAN_GENRE( RdsNone,                "",                                     "",                                                 "" ),
-    EUROPEAN_GENRE( RdsNews,                "txt_rad_info_news",                    "txt_rad_dblist_l1_mhz_val_news",                   "txt_fmradiohswidget_rad_info_news_hs" ),
-    EUROPEAN_GENRE( RdsCurrentAffairs,      "txt_rad_info_current_affairs",         "txt_rad_dblist_l1_mhz_val_current_affairs",        "txt_fmradiohswidget_rad_info_current_affairs_hs" ),
-    EUROPEAN_GENRE( RdsInformation,         "txt_rad_info_information",             "txt_rad_dblist_l1_mhz_val_information",            "txt_fmradiohswidget_rad_info_information_hs" ),
-    EUROPEAN_GENRE( RdsSport,               "txt_rad_info_sport",                   "txt_rad_dblist_l1_mhz_val_sport",                  "txt_fmradiohswidget_rad_info_sport_hs" ),
-    EUROPEAN_GENRE( RdsEducation,           "txt_rad_info_education",               "txt_rad_dblist_l1_mhz_val_education",              "txt_fmradiohswidget_rad_info_education_hs" ),
-    EUROPEAN_GENRE( RdsDrama,               "txt_rad_info_drama",                   "txt_rad_dblist_l1_mhz_val_drama",                  "txt_fmradiohswidget_rad_info_drama_hs" ),
-    EUROPEAN_GENRE( RdsCulture,             "txt_rad_info_culture",                 "txt_rad_dblist_l1_mhz_val_culture",                "txt_fmradiohswidget_rad_info_culture_hs" ),
-    EUROPEAN_GENRE( RdsScience,             "txt_rad_info_science",                 "txt_rad_dblist_l1_mhz_val_science",                "txt_fmradiohswidget_rad_info_science_hs" ),
-    EUROPEAN_GENRE( RdsVariedSpeech,        "txt_rad_info_varied",                  "txt_rad_dblist_l1_mhz_val_varied",                 "txt_fmradiohswidget_rad_info_varied_hs" ),
-    EUROPEAN_GENRE( RdsPopMusic,            "txt_rad_info_pop_music",               "txt_rad_dblist_l1_mhz_val_pop_music",              "txt_fmradiohswidget_rad_info_pop_music_hs" ),
-    EUROPEAN_GENRE( RdsRockMusic,           "txt_rad_info_rock_music",              "txt_rad_dblist_l1_mhz_val_rock_music",             "txt_fmradiohswidget_rad_info_rock_music_hs" ),
-    EUROPEAN_GENRE( RdsEasyListening,       "txt_rad_info_easy_listening",          "txt_rad_dblist_l1_mhz_val_easy_listening",         "txt_fmradiohswidget_rad_info_easy_listening_hs" ),
-    EUROPEAN_GENRE( RdsLightClassical,      "txt_rad_info_light_classical",         "txt_rad_dblist_l1_mhz_val_light_classical",        "txt_fmradiohswidget_rad_info_light_classical_hs" ),
-    EUROPEAN_GENRE( RdsSeriousClassical,    "txt_rad_info_serious_classical",       "txt_rad_dblist_l1_mhz_val_serious_classical",      "txt_fmradiohswidget_rad_info_serious_classical_hs" ),
-    EUROPEAN_GENRE( RdsOtherMusic,          "txt_rad_info_other_music",             "txt_rad_dblist_l1_mhz_val_other_music",            "txt_fmradiohswidget_rad_info_other_music_hs" ),
-    EUROPEAN_GENRE( RdsWeather,             "txt_rad_info_weather",                 "txt_rad_dblist_l1_mhz_val_weather",                "txt_fmradiohswidget_rad_info_weather_hs" ),
-    EUROPEAN_GENRE( RdsFinance,             "txt_rad_info_finance",                 "txt_rad_dblist_l1_mhz_val_finance",                "txt_fmradiohswidget_rad_info_finance_hs" ),
-    EUROPEAN_GENRE( RdsChildrensProgrammes, "txt_rad_info_childrens_programmes",    "txt_rad_dblist_l1_mhz_val_childrens_programmes",   "txt_fmradiohswidget_rad_info_childrens_programmes_hs" ),
-    EUROPEAN_GENRE( RdsSocialAffairs,       "txt_rad_info_social_affairs",          "txt_rad_dblist_l1_mhz_val_social_affairs",         "txt_fmradiohswidget_rad_info_social_affairs_hs" ),
-    EUROPEAN_GENRE( RdsReligion,            "txt_rad_info_religion",                "txt_rad_dblist_l1_mhz_val_religion",               "txt_fmradiohswidget_rad_info_religion_hs" ),
-    EUROPEAN_GENRE( RdsPhoneIn,             "txt_rad_info_phone_in",                "txt_rad_dblist_l1_mhz_val_phone_in",               "txt_fmradiohswidget_rad_info_phone_in_hs" ),
-    EUROPEAN_GENRE( RdsTravel,              "txt_rad_info_travel",                  "txt_rad_dblist_l1_mhz_val_travel",                 "txt_fmradiohswidget_rad_info_travel_hs" ),
-    EUROPEAN_GENRE( RdsLeisure,             "txt_rad_info_leisure",                 "txt_rad_dblist_l1_mhz_val_leisure",                "txt_fmradiohswidget_rad_info_leisure_hs" ),
-    EUROPEAN_GENRE( RdsJazzMusic,           "txt_rad_info_jazz_music",              "txt_rad_dblist_l1_mhz_val_jazz_music",             "txt_fmradiohswidget_rad_info_jazz_music_hs" ),
-    EUROPEAN_GENRE( RdsCountryMusic,        "txt_rad_info_country_music",           "txt_rad_dblist_l1_mhz_val_country_music",          "txt_fmradiohswidget_rad_info_country_music_hs" ),
-    EUROPEAN_GENRE( RdsNationalMusic,       "txt_rad_info_national_music",          "txt_rad_dblist_l1_mhz_val_national_music",         "txt_fmradiohswidget_rad_info_national_music_hs" ),
-    EUROPEAN_GENRE( RdsOldiesMusic,         "txt_rad_info_oldies_music",            "txt_rad_dblist_l1_mhz_val_oldies_music",           "txt_fmradiohswidget_rad_info_oldies_music_hs" ),
-    EUROPEAN_GENRE( RdsFolkMusic,           "txt_rad_info_folk_music",              "txt_rad_dblist_l1_mhz_val_folk_music",             "txt_fmradiohswidget_rad_info_folk_music_hs" ),
-    EUROPEAN_GENRE( RdsDocumentary,         "txt_rad_info_documentary",             "txt_rad_dblist_l1_mhz_val_documentary",            "txt_fmradiohswidget_rad_info_documentary_hs" ),
-    EUROPEAN_GENRE( RdsAlarmTest,           "txt_rad_info_alarm_test",              "txt_rad_dblist_l1_mhz_val_alarm_test",             "txt_fmradiohswidget_rad_info_alarm_test_hs" ),
-    EUROPEAN_GENRE( RdsAlarm,               "txt_rad_info_alarm",                   "txt_rad_dblist_l1_mhz_val_alarm",                  "txt_fmradiohswidget_rad_info_alarm_hs" )
-END_GENRE_MAP( EuropeanGenres )
-
-BEGIN_GENRE_MAP( AmericanGenres )
-                    // Genre code           // Text in Carousel                     // Text in Stations list                            // Text in Homescreen widget
-    AMERICAN_GENRE( RbdsNone,               "",                                     "",                                                 "" ),
-    AMERICAN_GENRE( RbdsNews,               "txt_rad_info_news",                    "txt_rad_dblist_l1_mhz_val_news",                   "txt_fmradiohswidget_rad_info_news_hs" ),
-    AMERICAN_GENRE( RbdsInformation,        "txt_rad_info_information",             "txt_rad_dblist_l1_mhz_val_information",            "txt_fmradiohswidget_rad_info_information_hs" ),
-    AMERICAN_GENRE( RbdsSports,             "txt_rad_info_sport",                   "txt_rad_dblist_l1_mhz_val_sport",                  "txt_fmradiohswidget_rad_info_sport_hs" ),
-    AMERICAN_GENRE( RbdsTalk,               "txt_rad_info_talk",                    "txt_rad_dblist_l1_mhz_val_talk",                   "txt_fmradiohswidget_rad_info_talk_hs" ),
-    AMERICAN_GENRE( RbdsRock,               "txt_rad_info_rock_music",              "txt_rad_dblist_l1_mhz_val_rock_music",             "txt_fmradiohswidget_rad_info_rock_music_hs" ),
-    AMERICAN_GENRE( RbdsClassicRock,        "txt_rad_info_classic_rock",            "txt_rad_dblist_l1_mhz_val_classic_rock",           "txt_fmradiohswidget_rad_info_classic_rock_hs" ),
-    AMERICAN_GENRE( RbdsAdultHits,          "txt_rad_info_adult_hits",              "txt_rad_dblist_l1_mhz_val_adult_hits",             "txt_fmradiohswidget_rad_info_adult_hits_hs" ),
-    AMERICAN_GENRE( RbdsSoftRock,           "txt_rad_info_soft_rock",               "txt_rad_dblist_l1_mhz_val_soft_rock",              "txt_fmradiohswidget_rad_info_soft_rock_hs" ),
-    AMERICAN_GENRE( RbdsTop40,              "txt_rad_info_top_40",                  "txt_rad_dblist_l1_mhz_val_top_40",                 "txt_fmradiohswidget_rad_info_top_40_hs" ),
-    AMERICAN_GENRE( RbdsCountry,            "txt_rad_info_country_music",           "txt_rad_dblist_l1_mhz_val_country_music",          "txt_fmradiohswidget_rad_info_country_music_hs" ),
-    AMERICAN_GENRE( RbdsOldies,             "txt_rad_info_oldies_music",            "txt_rad_dblist_l1_mhz_val_oldies_music",           "txt_fmradiohswidget_rad_info_oldies_music_hs" ),
-    AMERICAN_GENRE( RbdsSoft,               "txt_rad_info_soft",                    "txt_rad_dblist_l1_mhz_val_soft",                   "txt_fmradiohswidget_rad_info_soft_hs" ),
-    AMERICAN_GENRE( RbdsNostalgia,          "txt_rad_info_nostalgia",               "txt_rad_dblist_l1_mhz_val_nostalgia",              "txt_fmradiohswidget_rad_info_nostalgia_hs" ),
-    AMERICAN_GENRE( RbdsJazz,               "txt_rad_info_jazz_music",              "txt_rad_dblist_l1_mhz_val_jazz_music",             "txt_fmradiohswidget_rad_info_jazz_music_hs" ),
-    AMERICAN_GENRE( RbdsClassical,          "txt_rad_info_classical",               "txt_rad_dblist_l1_mhz_val_classical",              "txt_fmradiohswidget_rad_info_classical_hs" ),
-    AMERICAN_GENRE( RbdsRhythmAndBlues,     "txt_rad_info_rhythm_and_blues",        "txt_rad_dblist_l1_mhz_val_rhythm_and_blues",       "txt_fmradiohswidget_rad_info_rhythm_and_blues_hs" ),
-    AMERICAN_GENRE( RbdsSoftRhythmAndBlues, "txt_rad_info_soft_rhythm_and_blues",   "txt_rad_dblist_l1_mhz_val_soft_rhythm_and_blues",  "txt_fmradiohswidget_rad_info_soft_rhythm_and_blues_hs" ),
-    AMERICAN_GENRE( RbdsLanguage,           "txt_rad_info_language",                "txt_rad_dblist_l1_mhz_val_language",               "txt_fmradiohswidget_rad_info_language_hs" ),
-    AMERICAN_GENRE( RbdsReligiousMusic,     "txt_rad_info_religious_music",         "txt_rad_dblist_l1_mhz_val_religious_music",        "txt_fmradiohswidget_rad_info_religious_music_hs" ),
-    AMERICAN_GENRE( RbdsReligiousTalk,      "txt_rad_info_religious_talk",          "txt_rad_dblist_l1_mhz_val_religious_talk",         "txt_fmradiohswidget_rad_info_religious_talk_hs" ),
-    AMERICAN_GENRE( RbdsPersonality,        "txt_rad_info_personality",             "txt_rad_dblist_l1_mhz_val_personality",            "txt_fmradiohswidget_rad_info_personality_hs" ),
-    AMERICAN_GENRE( RbdsPublic,             "txt_rad_info_public",                  "txt_rad_dblist_l1_mhz_val_public",                 "txt_fmradiohswidget_rad_info_public_hs" ),
-    AMERICAN_GENRE( RbdsCollege,            "txt_rad_info_college",                 "txt_rad_dblist_l1_mhz_val_college",                "txt_fmradiohswidget_rad_info_college_hs" ),
-    AMERICAN_GENRE( RbdsUnassigned1,        "",                                     "",                                                 "" ),
-    AMERICAN_GENRE( RbdsUnassigned2,        "",                                     "",                                                 "" ),
-    AMERICAN_GENRE( RbdsUnassigned3,        "",                                     "",                                                 "" ),
-    AMERICAN_GENRE( RbdsUnassigned4,        "",                                     "",                                                 "" ),
-    AMERICAN_GENRE( RbdsUnassigned5,        "",                                     "",                                                 "" ),
-    AMERICAN_GENRE( RbdsWeather,            "txt_rad_info_weather",                 "txt_rad_dblist_l1_mhz_val_weather",                "txt_fmradiohswidget_rad_info_weather_hs" ),
-    AMERICAN_GENRE( RbdsEmergencyTest,      "txt_rad_info_alarm_test",              "txt_rad_dblist_l1_mhz_val_alarm_test",             "txt_fmradiohswidget_rad_info_alarm_test_hs" ),
-    AMERICAN_GENRE( RbdsEmergency,          "txt_rad_info_alarm",                   "txt_rad_dblist_l1_mhz_val_alarm",                  "txt_fmradiohswidget_rad_info_alarm_hs" ),
-END_GENRE_MAP( AmericanGenres )
-
-/*!
- * Function to find the localized text of the given frequency in the given region and target
- */
-static QString RadioGenreLocalizer::genreToString( RadioRegion::Region region, int genre, GenreTarget::Target target )
-{
-    const RadioGenreLocalizer::GenreMap* genreArray = region == RadioRegion::America ? AmericanGenres : EuropeanGenres;
-    const int genreCount = region == RadioRegion::America ? AmericanGenresCount : EuropeanGenresCount;
-
-    for( int i = 0; i < genreCount; ++i ) {
-        if ( genreArray[i].mGenreCode == genre ) {
-            if ( target == GenreTarget::Carousel ) {
-                return qtTrId( genreArray[i].mInCarousel );
-            } else if ( target == GenreTarget::StationsList ) {
-                return qtTrId( genreArray[i].mInStationsList );
-            } else if ( target == GenreTarget::HomeScreen ) {
-                return qtTrId( genreArray[i].mInHomeScreen );
-            }
-        }
-    }
-
-    return "";
-}
-
-#endif // RADIOGENRELOCALIZER_H
--- a/radioapp/radiouiengine/inc/radiostationmodel.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/inc/radiostationmodel.h	Mon Oct 04 00:17:30 2010 +0300
@@ -87,7 +87,7 @@
     /*!
      * Sets the icons to be used in the lists
      */
-    void setIcons( const QIcon& favoriteIcon, const QIcon& nowPlayingIcon );
+    void setIcons( const QIcon& favoriteIcon, const QIcon& nonFavoriteIcon, const QIcon& nowPlayingIcon );
 
     /*!
      * Returns a reference to the station handler interface
--- a/radioapp/radiouiengine/inc/radiostationmodel_p.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/inc/radiostationmodel_p.h	Mon Oct 04 00:17:30 2010 +0300
@@ -132,6 +132,12 @@
     QIcon                       mFavoriteIcon;
 
     /**
+    * Pointer to nonFavorite icon.
+    * Not own.
+    */
+    QIcon                       mNonFavoriteIcon;
+
+    /**
      * Pointer to the now playing marker icon
      * Not own.
      */
--- a/radioapp/radiouiengine/src/radiohistorydatabase.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/src/radiohistorydatabase.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -29,7 +29,7 @@
 #include "radiohistorydatabase.h"
 #include "radiologger.h"
 
-static const QLatin1String DATABASE_NAME    ( "radioplayhistory.db" );
+static const QLatin1String DATABASE_NAME    ( "c:\\radioplayhistory.db" );
 static const QLatin1String DATABASE_DRIVER  ( "QSQLITE" );
 static const QLatin1String HISTORY_TABLE    ( "history" );
 static const QLatin1String SQL_CREATE_TABLE ( "CREATE TABLE history ("
--- a/radioapp/radiouiengine/src/radiohistoryitem.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/src/radiohistoryitem.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -19,17 +19,11 @@
 #include "radiohistoryitem.h"
 #include "radiohistoryitem_p.h"
 
-/**
- * Static shared data instance that is used by all default-constructed RadioStation instances
- */
-Q_GLOBAL_STATIC( RadioHistoryItemPrivate, shared_null )
-
-
 /*!
  *
  */
 RadioHistoryItem::RadioHistoryItem() :
-    mData( shared_null() )
+    mData( new RadioHistoryItemPrivate() )
 {
     mData->ref.ref();
 }
@@ -79,7 +73,10 @@
  */
 void RadioHistoryItem::reset()
 {
-    mData = shared_null();
+    mData->ref.deref();
+    mData = NULL;
+    mData = new RadioHistoryItemPrivate();
+    mData->ref.ref();
 }
 
 /*!
--- a/radioapp/radiouiengine/src/radiohistorymodel_p.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/src/radiohistorymodel_p.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -33,7 +33,7 @@
 #include "radiostation.h"
 #include "radiologger.h"
 
-static const QLatin1String DATABASE_NAME    ( "radioplayhistory.db" );
+static const QLatin1String DATABASE_NAME    ( "c:\\radioplayhistory.db" );
 static const QLatin1String DATABASE_DRIVER  ( "QSQLITE" );
 static const QLatin1String HISTORY_TABLE    ( "history" );
 static const QLatin1String SQL_CREATE_TABLE ( "CREATE TABLE history ("
@@ -187,7 +187,11 @@
         QSqlRecord record = mQueryModel->record( row );
         if ( role == Qt::DisplayRole ) {
 
-            const QString artist = record.value( RadioHistoryValue::Artist ).toString();
+            QString artist = record.value( RadioHistoryValue::Artist ).toString();
+            if ( artist.isEmpty() ) {
+                artist = qtTrId( "txt_rad_dblist_unknown" );
+            }
+
             const QString title = record.value( RadioHistoryValue::Title ).toString();
             const QString station = record.value( RadioHistoryValue::Station ).toString();
             const uint frequency = record.value( RadioHistoryValue::Frequency ).toUInt() * 1000;
@@ -196,7 +200,6 @@
             if ( mShowDetails ) {
                 QString formatter = qtTrId( "txt_rad_dblist_1_2" );
                 LOG_FORMAT( "---formatter--- %s", GETSTRING( formatter ) );
-                formatter = "%1 - %2";  // TODO!
 
                 const QString firstRow = QString( formatter ).arg( artist ).arg( title );
                 LOG_FORMAT( "---firstRow--- %s", GETSTRING( firstRow ) );
--- a/radioapp/radiouiengine/src/radiomonitorservice.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/src/radiomonitorservice.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -127,6 +127,9 @@
     QVariantList notificationList;
     QVariant notification;
 
+    notification.setValue( RadioNotificationData( RadioServiceNotification::Region, mUiEngine.api().region() ) );
+    notificationList.append( notification );
+
     RadioStatus::Status radioStatus = determineRadioStatus();
     notification.setValue( RadioNotificationData( RadioServiceNotification::RadioStatus, radioStatus ) );
     notificationList.append( notification );
@@ -146,8 +149,7 @@
     }
 
     if ( station.genre() > 0 ) {
-        notification.setValue( RadioNotificationData( RadioServiceNotification::Genre,
-                        mUiEngine.api().genreToString( station.genre(), GenreTarget::HomeScreen ) ) );
+        notification.setValue( RadioNotificationData( RadioServiceNotification::Genre, station.genre() ) );
         notificationList.append( notification );
     }
 
@@ -226,8 +228,7 @@
     QVariant notification;
 
     if ( station.hasDataChanged( RadioStation::GenreChanged ) ) {
-        const QString genre = uiEngine.genreToString( station.genre(), GenreTarget::HomeScreen );
-        notification.setValue( RadioNotificationData( RadioServiceNotification::Genre, genre ) );
+        notification.setValue( RadioNotificationData( RadioServiceNotification::Genre, station.genre() ) );
         list.append( notification );
     }
 
--- a/radioapp/radiouiengine/src/radiostationmodel.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/src/radiostationmodel.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -117,15 +117,14 @@
             } else {
                 QStringList list;
                 list.append( firstLine );
-                QString parsedFrequency = " "; // Empty space so that the listbox generates the second row
-                parsedFrequency = qtTrId( "txt_rad_dblist_l1_mhz" ).arg( RadioStation::parseFrequency( station.frequency() ) );
-                list.append( parsedFrequency );
+                list.append( qtTrId( "txt_rad_dblist_l1_mhz2" ).arg( RadioStation::parseFrequency( station.frequency() ) ) );
                 return list;
             }
         } else {
             if ( currentStation().frequency() != station.frequency() ) {
                 QStringList list;
                 list.append( firstLine );
+                list.append( " " );
                 return list;
             } else {
                 QStringList list;
@@ -150,7 +149,9 @@
         QVariantList list;
         if ( station.isFavorite() && !d->mFavoriteIcon.isNull() ) {
             list.append( d->mFavoriteIcon );
-        } else {
+        } else if ( !station.isFavorite() && !d->mNonFavoriteIcon.isNull() ) {
+            list.append( d->mNonFavoriteIcon );
+        }else {
             list.append( QIcon() );
         }
         if ( currentStation().frequency() == station.frequency() && !d->mNowPlayingIcon.isNull() ) {
@@ -245,10 +246,11 @@
 /*!
  * Sets the icons to be used in the lists
  */
-void RadioStationModel::setIcons( const QIcon& favoriteIcon, const QIcon& nowPlayingIcon )
+void RadioStationModel::setIcons( const QIcon& favoriteIcon, const QIcon& nonFavoriteIcon, const QIcon& nowPlayingIcon )
 {
     Q_D( RadioStationModel );
     d->mFavoriteIcon = favoriteIcon;
+    d->mNonFavoriteIcon = nonFavoriteIcon;
     d->mNowPlayingIcon = nowPlayingIcon;
 }
 
--- a/radioapp/radiouiengine/src/radiouiengine.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/src/radiouiengine.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -112,7 +112,7 @@
     QStringList args;
     args << RADIO_RANGE_USEURO; //TODO: Determine current region
     args << QString::number( lastTunedFrequency( 0 ) );
-    args << QString::number( lastVolume() );
+    args << QString::number( lastVolume() * VOLUME_STEP_DIVIDER );
 
     QProcess serverProcess;
     bool success = serverProcess.startDetached( RADIO_SERVER_NAME, args );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radiouiengine/tsrc/inc/mschedulerstartandstoptimerobserver.h	Mon Oct 04 00:17:30 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Callback interface for observer of CAccSrvResetInactivityTimeTimer object.
+*
+*/
+
+
+
+
+#ifndef M_SCHEDULERSTARTANDSTOPTIMEROBSERVER_H
+#define M_SCHEDULERSTARTANDSTOPTIMEROBSERVER_H
+
+
+#include <e32def.h>
+
+
+/**
+ *  Callback interface for observer of CSchedulerStopAndStartTimer object. 
+ *
+ *  This callback interface has to be implemented by observer class.
+ *  @code
+ *   ?good_class_usage_example(s)
+ *  @endcode
+ *
+ *  @lib AccServer.exe
+ *  @since S60 10.1
+ */
+NONSHARABLE_CLASS( MSchedulerStartAndStopTimerObserver )
+    {
+
+public:
+ 
+    /**
+     * Function is called by timer watcher every time when timer elapses.
+     *
+     * @since S60 10.1
+     * @param none. 
+     * @return none
+     */
+    virtual void Timeout( TUint aTimerId ) = 0;
+
+    virtual void CreateMUT() = 0;
+    virtual void DeleteMUT() = 0;
+
+    };
+
+
+#endif // M_SCHEDULERSTARTANDSTOPTIMEROBSERVER_H
--- a/radioapp/radiouiengine/tsrc/inc/t_radiostation.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/tsrc/inc/t_radiostation.h	Mon Oct 04 00:17:30 2010 +0300
@@ -25,6 +25,7 @@
 
 #include "radioenginewrapperobserver.h"
 #include "radiostation.h"
+#include "t_schedulerstartandstoptimer.h"
 
 class RadioUiEngine;
 class RadioStationModel;
@@ -33,7 +34,7 @@
 class RadioEngineWrapper;
 class RadioEngineWrapperObserver;
 
-class TestRadioUiEngine : public QObject, RadioEngineWrapperObserver
+class TestRadioUiEngine : public QObject, RadioEngineWrapperObserver, MSchedulerStartAndStopTimerObserver
 {
     Q_OBJECT
 
@@ -90,6 +91,13 @@
     void headsetStatusChanged( bool connected );
     void skipPrevious();
     void skipNext();
+    
+    // from base class MSchedulerStartAndStopTimerObserver =>
+    void Timeout( TUint aTimerId );    
+    void CreateMUT();
+    void DeleteMUT();
+    // <=
+
     // subfunctions used by the test framework called slots
     void testRadioStationModelInit();
     void testAddStation1();
@@ -117,8 +125,6 @@
 private:
 	RadioUiEngine* mUiEngine;
 	QScopedPointer<RadioEngineWrapper>  mEngineWrapper;
-	RadioStationModel* mRadioStationModel;
-	RadioHistoryModel* mhistoryModel;
 	QScopedPointer<RadioPresetStorage>  mPresetStorage;
 	int mExpectedStationCount;	
 	/**
@@ -128,6 +134,12 @@
 	Slots mEnteredSlots;
 	QString mStationToBeAdded;
 	QString mStationToBeSaved;
+    CSchedulerStopAndStartTimer* mSchedulerTimer;
+    // Active scheduler
+    // Workaround for the below panic, occured after porting to 10.1 
+    // Main Panic E32USER-CBase 44
+    // Create and install the active scheduler
+    CActiveScheduler* mScheduler;
 };
 
 #endif /* T_RADIOSTATION_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radiouiengine/tsrc/inc/t_schedulerstartandstoptimer.h	Mon Oct 04 00:17:30 2010 +0300
@@ -0,0 +1,144 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Timer for Starting and Stopping current Active Scheduler.
+*
+*/
+
+
+
+#ifndef C_ACCSRVRESETINACTIVITYTIMETIMER_H
+#define C_ACCSRVRESETINACTIVITYTIMETIMER_H
+
+
+
+#include <e32base.h>
+
+
+#include "mschedulerstartandstoptimerobserver.h"
+
+
+/**  Timer's default value in micro seconds */
+const TInt KTimerDefaultValue   = 400;
+
+
+/**
+ *  Timer class for Starting and Stopping current Active Scheduler.
+ *  
+ *
+ *  @code
+ *   ?good_class_usage_example(s)
+ *  @endcode
+ *
+ *  @lib AccServer.exe
+ *  @since S60 10.1
+ */
+NONSHARABLE_CLASS(  CSchedulerStopAndStartTimer ): public CTimer
+    {
+
+public:
+    enum TTimerId{
+    ETimerIdRunMUT = 0,
+    ETimerIdCreateMUT = 1,
+    ETimerIdDeleteMUT = 2    
+    };
+
+
+    /**
+    * Two-phased constructor.
+    * @param aSchedulerStartAndStopTimerObserver Observer callback interface.
+    */
+    static CSchedulerStopAndStartTimer* NewL(
+            MSchedulerStartAndStopTimerObserver& aSchedulerStartAndStopTimerObserver );
+
+    /**
+    * Destructor.
+    */
+    virtual ~CSchedulerStopAndStartTimer();
+
+    /**
+     * Starts the timer.
+     * @since S60 10.1
+     * @param aTime Time out value.
+     * @param aTimeId Timer Id.
+     * @return void
+     */
+     void StartTimer( TInt aTime = KTimerDefaultValue,
+             TUint aTimerId = ETimerIdRunMUT );
+
+
+protected:
+
+    /**
+     * From CActive.
+     * Handles an active object's request completion event.
+     *
+     * @since S60 10.1
+     * @param void
+     */
+   void RunL();
+    
+   /**
+    * From CActive.
+    * Handles RunL's leave cases
+    *
+    * @since S60 10.1
+    * @param aError Error code.
+    */
+   TInt RunError( TInt aError );
+
+
+private:
+
+    /**
+    * C++ default constructor.
+    * @param aSchedulerStartAndStopTimerObserver Observer callback interface.
+    */
+    CSchedulerStopAndStartTimer(
+            MSchedulerStartAndStopTimerObserver& aSchedulerStartAndStopTimerObserver );
+
+    /**
+     * By default Symbian OS constructor is private.
+     * @param none.
+     */
+    void ConstructL();
+
+
+private: // data
+    enum TTmerPhase
+        {
+        ETimerPhaseUndefined = 0,
+        ETimerPhaseStarting = 1,
+        ETimerPhaseStarted = 2
+        };
+
+    /**
+     * TimeOut time
+     */
+    TInt iTime;
+
+    /**
+     * Timer id. Client specific i.e same value is returned to observer.
+     */
+    TUint iTimerId;
+    
+    /**
+     * ResetInactivityTimeTimerObserver object.
+     */
+    MSchedulerStartAndStopTimerObserver& iSchedulerStartAndStopTimerObserver;
+
+    TTmerPhase iPhase;
+    };
+
+
+#endif // C_ACCSRVRESETINACTIVITYTIMETIMER_H
--- a/radioapp/radiouiengine/tsrc/inc/trace.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/tsrc/inc/trace.h	Mon Oct 04 00:17:30 2010 +0300
@@ -40,7 +40,7 @@
 * Prefix trace macro to complete tracing with component name.
 * Returns TDesC which can be used directly with RDebug or RFileLogger.
 */
-#define _PREFIX_TRACE( aMsg ) TPtrC( (const TText*)L"[t_radioenginewrapper]: " L##aMsg )
+#define _PREFIX_TRACE( aMsg ) TPtrC( (const TText*)L"[t_radiouiengine]: " L##aMsg )
 
 /**
 * Prefix error trace
@@ -55,7 +55,7 @@
 /**
 * Prefix macro for strings
 */
-#define _PREFIX_CHAR( aMsg ) (const char*)"[t_radioenginewrapper]: " ##aMsg
+#define _PREFIX_CHAR( aMsg ) (const char*)"[t_radiouiengine]: " ##aMsg
 
 /**
 * Define needed directories if TRACE_INTO_FILE macro in use
--- a/radioapp/radiouiengine/tsrc/src/t_radiostation.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/tsrc/src/t_radiostation.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -15,11 +15,8 @@
 *
 */
 
-#define UNIT_TESTS_FOR_10_1
-#ifdef UNIT_TESTS_FOR_10_1
 #include <e32base.h>
 #include <eikenv.h>
-#endif
 #include "t_radiostation.h"
 #include "radiopresetstorage.h"
 #include "radiostation.h"
@@ -67,15 +64,17 @@
 int main(int /* argc*/, char *argv[])
 {
     FUNC_LOG;
-    TestRadioUiEngine tv;
+    TestRadioUiEngine* tv = new TestRadioUiEngine();
 
     char *pass[3];
     pass[0] = argv[0];
     pass[1] = "-o";
     pass[2] = "c:\\data\\testradiouiengine.txt";
 
-    int res = QTest::qExec(&tv, 3, pass);
+    int res = QTest::qExec(tv, 3, pass);
 
+    INFO_1( "Main, result value %i", res );
+    delete tv;
     return res;
 }
 
@@ -149,7 +148,11 @@
 TestRadioUiEngine::~TestRadioUiEngine()
 {
     FUNC_LOG;
-	delete mUiEngine;
+    mEngineWrapper.reset( NULL );
+    mPresetStorage.reset( NULL );
+    delete mSchedulerTimer;
+    delete mScheduler;
+    RadioEngineUtils::Release();
 }
 
 /*!
@@ -174,40 +177,15 @@
 void TestRadioUiEngine::initTestCase()
 {
     FUNC_LOG;
-#ifdef UNIT_TESTS_FOR_10_1
-// Workaround for the below panic, occured after porting to 10.1 
-// Main Panic E32USER-CBase 44
-// Create and install the active scheduler
-    CActiveScheduler* scheduler = new(ELeave) CActiveScheduler;
-    CleanupStack::PushL(scheduler);
-    CActiveScheduler::Install(scheduler);
-#endif 
-    RadioEngineUtils::InitializeL();
-    mUiEngine = new RadioUiEngine;
-    mUiEngine->init();
-    
-    mEngineWrapper.reset( new RadioEngineWrapper( mUiEngine->stationModel().stationHandlerIf() ) );
-    mEngineWrapper->init();
-    mPresetStorage.reset( new RadioPresetStorage() );
-    mUiEngine->stationModel().initialize( mPresetStorage.data(), mEngineWrapper.data() );
-    
-    //TODO:: Check why ASSERT fails when mModel->rowCount() == 0 
-    if(mUiEngine->stationModel().rowCount()>0)
-    {
-    	mUiEngine->stationModel().removeAll(); //ASSERT: \"last >= first\" in file qabstractitemmodel.cpp, line 2110	
-    }    
-
-    Radio::connect( &mUiEngine->stationModel(),  SIGNAL(dataChanged(const QModelIndex, const QModelIndex)),
-        this,    SLOT(dataChanged(const QModelIndex, const QModelIndex)) );
-    
-    Radio::connect( &mUiEngine->stationModel(),           SIGNAL(stationDataChanged(RadioStation)),
-        this,    SLOT(stationDataChanged(RadioStation)) );
-    
-    Radio::connect( &mUiEngine->stationModel(),           SIGNAL(favoriteChanged(RadioStation)),
-        this,    SLOT(favoriteChanged(RadioStation)) );
-    
-    Radio::connect( &mUiEngine->historyModel(),           SIGNAL(itemAdded()),
-        this,    SLOT(itemAdded()) );
+    // Workaround for the below panic, occured after porting to 10.1 
+    // Main Panic E32USER-CBase 44
+    // Create and install the active scheduler
+    mScheduler = new(ELeave) CActiveScheduler;
+    CActiveScheduler::Install( mScheduler );
+    TInt err( KErrNone);
+    TRAP( err, mSchedulerTimer = CSchedulerStopAndStartTimer::NewL( *this ) );
+    QVERIFY2(  KErrNone == err, "CSchedulerStopAndStartTimer not constructed!" );     
+    mSchedulerTimer->StartTimer( 1000000, CSchedulerStopAndStartTimer::ETimerIdCreateMUT );
 }
 
 /*!
@@ -216,8 +194,18 @@
 void TestRadioUiEngine::cleanupTestCase()
 {
     FUNC_LOG;
-	delete &mUiEngine->stationModel();
-	delete mUiEngine;
+    Radio::disconnect( &mUiEngine->stationModel(),  SIGNAL(dataChanged(const QModelIndex, const QModelIndex)),
+        this,    SLOT(dataChanged(const QModelIndex, const QModelIndex)) );
+    
+    Radio::disconnect( &mUiEngine->stationModel(),           SIGNAL(stationDataChanged(RadioStation)),
+        this,    SLOT(stationDataChanged(RadioStation)) );
+    
+    Radio::disconnect( &mUiEngine->stationModel(),           SIGNAL(favoriteChanged(RadioStation)),
+        this,    SLOT(favoriteChanged(RadioStation)) );
+    
+    Radio::disconnect( &mUiEngine->historyModel(),           SIGNAL(itemAdded()),
+        this,    SLOT(itemAdded()) );
+    mSchedulerTimer->StartTimer( 1000000, CSchedulerStopAndStartTimer::ETimerIdDeleteMUT );
 }
 
 /*!
@@ -925,9 +913,8 @@
     if( mUiEngine->historyModel().rowCount()>0 )
     {       
         mUiEngine->historyModel().removeAll( EFalse );
-        QVERIFY2((mUiEngine->stationModel().rowCount()==0), "API:RadioHistoryModel removeAll() 1");
     }
-    QVERIFY2((mUiEngine->historyModel().rowCount()==0), "API:RadioHistoryModel removeAll() 2");           
+    QVERIFY2((mUiEngine->historyModel().rowCount()==0), "API:RadioHistoryModel removeAll()");           
 }
 
 /*!
@@ -951,9 +938,10 @@
     QVERIFY2(!(artistTitle.compare(KTestArtist1+" - "+KTestTitle1)), "API:RadioHistoryModel addItem() 3");
     
     
-    expectedHistoryItemCount = mUiEngine->historyModel().rowCount();
-    // trying to add an item that allready exists must not increase the item count
+    expectedHistoryItemCount = mUiEngine->historyModel().rowCount() + 1;
+    // trying to add an item that allready exists must increase the item count
     mUiEngine->historyModel().addItem( KTestArtist1, KTestTitle1, station );
+    INFO_1( "mUiEngine->historyModel().rowCount()== %i", mUiEngine->historyModel().rowCount() );
     QVERIFY2((mUiEngine->historyModel().rowCount()==expectedHistoryItemCount), "API:RadioHistoryModel addItem() 4");
 }
 
@@ -995,3 +983,66 @@
     delete item;
     item = NULL;
 }
+
+void TestRadioUiEngine::Timeout( TUint aTimerId )
+    {
+    FUNC_LOG;    
+    if ( CSchedulerStopAndStartTimer::ETimerIdCreateMUT == aTimerId )
+        {
+        INFO("ETimerIdCreateMUT elapsed");
+        }
+    else if ( CSchedulerStopAndStartTimer::ETimerIdDeleteMUT == aTimerId )
+        {
+        INFO("ETimerIdDeleteMUT elapsed");
+        }
+    else if ( CSchedulerStopAndStartTimer::ETimerIdRunMUT == aTimerId )
+        {
+        INFO("ETimerIdRunMUT elapsed");
+        }
+    else
+        {
+        INFO("Unknown timer elapsed");        
+        }
+    }
+
+void TestRadioUiEngine::CreateMUT()
+    {
+    FUNC_LOG;
+    RadioEngineUtils::InitializeL();
+    mUiEngine = new RadioUiEngine;
+    mUiEngine->init();
+    
+    mEngineWrapper.reset( new RadioEngineWrapper( mUiEngine->stationModel().stationHandlerIf() ) );
+    mEngineWrapper->init();
+    mPresetStorage.reset( new RadioPresetStorage() );
+    mUiEngine->stationModel().initialize( mPresetStorage.data(), mEngineWrapper.data() );
+    
+    //TODO:: Check why ASSERT fails when mModel->rowCount() == 0 
+    if(mUiEngine->stationModel().rowCount()>0)
+    {
+        mUiEngine->stationModel().removeAll(); //ASSERT: \"last >= first\" in file qabstractitemmodel.cpp, line 2110    
+    }    
+
+    Radio::connect( &mUiEngine->stationModel(),  SIGNAL(dataChanged(const QModelIndex, const QModelIndex)),
+        this,    SLOT(dataChanged(const QModelIndex, const QModelIndex)) );
+    
+    Radio::connect( &mUiEngine->stationModel(),           SIGNAL(stationDataChanged(RadioStation)),
+        this,    SLOT(stationDataChanged(RadioStation)) );
+    
+    Radio::connect( &mUiEngine->stationModel(),           SIGNAL(favoriteChanged(RadioStation)),
+        this,    SLOT(favoriteChanged(RadioStation)) );
+    
+    Radio::connect( &mUiEngine->historyModel(),           SIGNAL(itemAdded()),
+        this,    SLOT(itemAdded()) );
+    mSchedulerTimer->StartTimer( 1000000, CSchedulerStopAndStartTimer::ETimerIdRunMUT );
+    }
+
+void TestRadioUiEngine::DeleteMUT()
+    {
+    FUNC_LOG;
+    if ( NULL != mUiEngine )
+        {
+        delete mUiEngine;
+        mUiEngine = NULL;        
+        }
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radiouiengine/tsrc/src/t_schedulerstartandstoptimer.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -0,0 +1,153 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of a timer interface.
+*
+*/
+
+
+
+#include "t_schedulerstartandstoptimer.h"
+#include "trace.h"
+
+
+// ======== LOCAL FUNCTIONS ========
+
+
+// ======== MEMBER FUNCTIONS ========
+
+
+// -----------------------------------------------------------------------------
+// CAccSrvResetInactivityTimeTimer::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSchedulerStopAndStartTimer* CSchedulerStopAndStartTimer::NewL(
+        MSchedulerStartAndStopTimerObserver& aSchedulerStartAndStopTimerObserver )
+    {
+    FUNC_LOG;
+
+    CSchedulerStopAndStartTimer* self = new ( ELeave ) CSchedulerStopAndStartTimer(
+            aSchedulerStartAndStopTimerObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// Destructor
+CSchedulerStopAndStartTimer::~CSchedulerStopAndStartTimer()
+    {
+    FUNC_LOG;
+    Cancel();
+    }
+
+// -----------------------------------------------------------------------------
+// CSchedulerStopAndStartTimer::StartTimer
+// .
+// -----------------------------------------------------------------------------
+//
+void CSchedulerStopAndStartTimer::StartTimer(
+        TInt aTime,
+        TUint aTimerId  )
+    {
+    FUNC_LOG;
+    INFO_2( "Timer Id: %d, Time: %d", aTimerId, aTime)
+    iTime = aTime;
+    iTimerId = aTimerId;
+
+    if ( ETimerIdRunMUT == iTimerId )
+        {
+        After( ( TTimeIntervalMicroSeconds32 ) iTime );
+        }
+    else
+        {
+        After( ( TTimeIntervalMicroSeconds32 ) 1 );
+        }
+    CActiveScheduler::Start();
+    }
+
+// -----------------------------------------------------------------------------
+// CSchedulerStopAndStartTimer::RunL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSchedulerStopAndStartTimer::RunL()
+    {
+    FUNC_LOG;
+    iSchedulerStartAndStopTimerObserver.Timeout( iTimerId );        
+    if ( ETimerIdCreateMUT == iTimerId )
+        {
+        iSchedulerStartAndStopTimerObserver.CreateMUT();
+        iTimerId = ETimerIdRunMUT;
+        After( ( TTimeIntervalMicroSeconds32 ) iTime );        
+        }
+    else if ( ETimerIdDeleteMUT == iTimerId )
+        {
+        iSchedulerStartAndStopTimerObserver.DeleteMUT();
+        CActiveScheduler::Stop();
+        }
+    else
+        {
+        CActiveScheduler::Stop();
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CSchedulerStopAndStartTimer::RunError
+// Returns KErrNone
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CSchedulerStopAndStartTimer::RunError( TInt aError )
+    {
+    FUNC_LOG;
+     // Avoid Panic in CActiveScheduler
+    aError = KErrNone;
+    return aError;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CSchedulerStopAndStartTimer::CSchedulerStopAndStartTimer
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSchedulerStopAndStartTimer::CSchedulerStopAndStartTimer(
+        MSchedulerStartAndStopTimerObserver& aSchedulerStartAndStopTimerObserver) : 
+    CTimer( CActive::EPriorityStandard ),
+    iSchedulerStartAndStopTimerObserver( aSchedulerStartAndStopTimerObserver )
+    {
+    FUNC_LOG;
+    }
+
+// -----------------------------------------------------------------------------
+// CAccSrvProcessCommandTimer::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSchedulerStopAndStartTimer::ConstructL()
+    {
+    FUNC_LOG;
+    CTimer::ConstructL();
+    CActiveScheduler* AS = CActiveScheduler::Current();
+    CActiveScheduler::Add( this );
+    }
+
+
+// ======== GLOBAL FUNCTIONS ========
+
--- a/radioapp/radiouiengine/tsrc/t_radiouiengine.pro	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiouiengine/tsrc/t_radiouiengine.pro	Mon Oct 04 00:17:30 2010 +0300
@@ -24,6 +24,10 @@
     MMP_RULES += SMPSAFE
 }
 
+CONFIG += qtestlib \
+          Hb \
+          symbian_test  
+
 
 DEPENDPATH += . \
     inc \
@@ -46,12 +50,12 @@
     ../../../radioengine/utils/api \
     ../../../radioengine/utils/inc
 
-CONFIG += qtestlib
-
 symbian:LIBS += -lfmradiouiengine
 symbian:LIBS += -lfmradioenginewrapper
 symbian:LIBS += -lfmradiopresetstorage
 symbian:LIBS += -lfmradioengineutils
 
+HEADERS += inc/t_schedulerstartandstoptimer.h
 HEADERS += inc/t_radiostation.h
-SOURCES += src/t_radiostation.cpp
+SOURCES += src/t_schedulerstartandstoptimer.cpp
+SOURCES += src/t_radiostation.cpp
\ No newline at end of file
--- a/radioapp/radiowidgets/inc/radiohistoryview.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiohistoryview.h	Mon Oct 04 00:17:30 2010 +0300
@@ -74,6 +74,7 @@
 
 // New functions
 
+    void initContextMenu();
     RadioHistoryModel& historyModel() const;
 
 private: //data
--- a/radioapp/radiowidgets/inc/radiomainview.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiomainview.h	Mon Oct 04 00:17:30 2010 +0300
@@ -88,10 +88,6 @@
     QScopedPointer<RadioFrequencyScanner>   mFrequencyScanner;
     RadioStationCarousel*                   mCarousel;
     RadioFrequencyStrip*                    mFrequencyStrip;
-
-    HbAction*                               mSkippingAction;    //TODO: Remove. Temporary test code
-    bool                                    mAlternateSkipping; //TODO: Remove. Temporary test code
-
     };
 
 #endif // RADIOMAINVIEW_H
--- a/radioapp/radiowidgets/inc/radiostationcarousel.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiostationcarousel.h	Mon Oct 04 00:17:30 2010 +0300
@@ -47,7 +47,6 @@
         None,
         ConnectAntenna,
         NoFavorites,
-        FavoriteIconHint,
         Seeking,
         Scanning,
         ManualSeek
@@ -143,7 +142,6 @@
 
 // from base class QGraphicsItem
 
-    void mousePressEvent( QGraphicsSceneMouseEvent* event );
     void resizeEvent( QGraphicsSceneResizeEvent* event );
     void showEvent( QShowEvent* event );
     void gestureEvent( QGestureEvent* event );
@@ -181,7 +179,7 @@
 
 private: // data
 
-    enum TimerMode { NoTimer, SetFrequency, RtPlusCheck, InfoText, FavoriteHintShow, FavoriteHintHide };
+    enum TimerMode { NoTimer, SetFrequency, RtPlusCheck, InfoText };
 
     RadioUiEngine*                      mUiEngine;
 
@@ -223,6 +221,7 @@
 
     bool                                mManualSeekMode;
     bool                                mOrientation;
+    bool                                mScrollIgnore;
 
 #ifdef USE_DEBUGGING_CONTROLS
     RadioFadingLabel*                   mRdsLabel;
--- a/radioapp/radiowidgets/inc/radiostationsview.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiostationsview.h	Mon Oct 04 00:17:30 2010 +0300
@@ -43,6 +43,7 @@
     Q_OBJECT
     Q_PROPERTY(HbIcon nowPlayingIcon READ nowPlayingIcon WRITE setNowPlayingIcon)
     Q_PROPERTY(HbIcon favoriteIcon READ favoriteIcon WRITE setFavoriteIcon)
+    Q_PROPERTY(HbIcon nonFavoriteIcon READ nonFavoriteIcon WRITE setNonFavoriteIcon)
 
 public:
 
@@ -55,6 +56,9 @@
     void setFavoriteIcon( const HbIcon& favoriteIcon );
     HbIcon favoriteIcon() const;
 
+    void setNonFavoriteIcon( const HbIcon& nonFavoriteIcon );
+    HbIcon nonFavoriteIcon() const;
+
 private slots:
 
     void handleClick( const QModelIndex& index );
@@ -97,6 +101,7 @@
     HbAction*                               mLocalStationsButton;
 
     HbIcon                                  mFavoriteIcon;
+    HbIcon                                  mNonFavoriteIcon;
     HbIcon                                  mNowPlayingIcon;
 
     QScopedPointer<RadioStation>            mSelectedStation;
--- a/radioapp/radiowidgets/inc/radiouiloader.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiouiloader.h	Mon Oct 04 00:17:30 2010 +0300
@@ -101,7 +101,6 @@
     static const QLatin1String HV_NAME_CONTEXT_MENU             ( "hv:context_menu" );
     static const QLatin1String HV_NAME_TOGGLE_TAG_ACTION        ( "hv:toggle_tag_action" );
     static const QLatin1String HV_NAME_OVI_STORE_ACTION         ( "hv:ovi_store_action" );
-    static const QLatin1String HV_NAME_OTHER_STORE_ACTION       ( "hv:other_store_action" );
 
     // History View Context Menu
     static const QLatin1String HV_NAME_CONTEXT_TAG              ( "hv:toggle_tag_action" );
--- a/radioapp/radiowidgets/inc/radiowindow.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiowindow.h	Mon Oct 04 00:17:30 2010 +0300
@@ -33,6 +33,7 @@
 class RadioUiEngine;
 class HbVolumeSliderPopup;
 class HbMessageBox;
+class HbNotificationDialog;
 
 typedef QScopedPointer<HbVolumeSliderPopup> VolumeSliderPtr;
 
@@ -80,7 +81,7 @@
 
 // New functions
 
-    void activateView( RadioViewBase* aMember, const QString& docmlFile, Hb::ViewSwitchFlags flags = Hb::ViewSwitchDefault );
+    void activateView( RadioViewBase* view, const QString& docmlFile, Hb::ViewSwitchFlags flags = Hb::ViewSwitchDefault );
 
 private: // data
 
@@ -113,13 +114,6 @@
      * Own.
      */
     VolumeSliderPtr                     mVolSlider;
-
-    /**
-     * Pointer to messagebox
-     * Own.
-     */
-    QScopedPointer<HbMessageBox>        mMessageBox;
-
 };
 
 
--- a/radioapp/radiowidgets/radiowidgets.pro	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/radiowidgets.pro	Mon Oct 04 00:17:30 2010 +0300
@@ -29,6 +29,7 @@
 INCLUDEPATH += ../../common
 
 LIBS        += -lfmradiouiengine
+symbian:LIBS += -lafservice
 
 LOGGING_ENABLED:LIBS += -lfmradioenginewrapper
 
--- a/radioapp/radiowidgets/res/layout/historyview.docml	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/res/layout/historyview.docml	Mon Oct 04 00:17:30 2010 +0300
@@ -15,12 +15,10 @@
     <object name="hv:all_songs_button" type="HbAction">
         <bool name="checkable" value="TRUE"/>
         <icon iconName="qtg_mono_radio_stations" name="icon"/>
-        <string locid="txt_rad_button_recently_played_songs" name="text"/>
     </object>
     <object name="hv:tagged_songs_button" type="HbAction">
         <bool name="checkable" value="TRUE"/>
         <icon iconName="qtg_mono_favourites" name="icon"/>
-        <string locid="txt_rad_button_tagged_songs" name="text"/>
     </object>
     <object name="hv:toggle_tag_action" type="HbAction">
         <string locid="txt_rad_menu_tag_song" name="text"/>
@@ -28,9 +26,6 @@
     <object name="hv:ovi_store_action" type="HbAction">
         <string locid="txt_rad_menu_search_from_music_store" name="text"/>
     </object>
-    <object name="hv:other_store_action" type="HbAction">
-        <string value="Search from Amazon" name="text"/>
-    </object>
 
     <widget name="view" type="HbView">
         <icon name="nonTaggedIcon" iconName="qtg_mono_tag" />
@@ -45,7 +40,7 @@
                 <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
                 <sizehint height="expr(var(hb-param-text-height-secondary)+2*var(hb-param-margin-gene-middle-vertical))" type="PREFERRED"/>
                 <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
-                <string name="heading" locid="txt_rad_subhead_play_history" />
+                <string name="heading" locid="txt_rad_subhead_recently_played_songs" />
             </widget>
             <widget name="hv:stacked_widget" type="HbWidget" />
             <layout type="anchor">
@@ -63,7 +58,6 @@
     <widget name="hv:context_menu" type="HbMenu">
         <ref object="hv:toggle_tag_action" role="HbMenu:addAction"/>
         <ref object="hv:ovi_store_action" role="HbMenu:addAction"/>
-        <ref object="hv:other_store_action" role="HbMenu:addAction"/>
     </widget>
     
     <!-- Section to do lazy initialization of the view -->
@@ -145,7 +139,7 @@
             <string locid="txt_rad_info_song_information_is_collected_automat" name="plainText"/>
         </widget>
         <widget name="hv:heading_banner">
-            <string name="heading" locid="txt_rad_subhead_play_history" />
+            <string name="heading" locid="txt_rad_subhead_recently_played_songs" />
         </widget>
     </section>
     <section name="hv:tagged_mode">
@@ -159,7 +153,7 @@
             <string locid="txt_rad_info_you_can_add_song_to_the_tagged_songs" name="plainText"/>
         </widget>
         <widget name="hv:heading_banner">
-            <string name="heading" locid="txt_rad_button_tagged_songs" />
+            <string name="heading" locid="txt_rad_subhead_tagged_songs" />
         </widget>
     </section>
     <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
--- a/radioapp/radiowidgets/res/layout/mainview.docml	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/res/layout/mainview.docml	Mon Oct 04 00:17:30 2010 +0300
@@ -9,9 +9,9 @@
                     <icon name="icon" iconName="qtg_fr_lcd" />
                 </widget>
                 <widget name="mv:info_text" type="HbLabel" >
-                    <contentsmargins top="var(hb-param-margin-gene-top)" bottom="var(hb-param-margin-gene-bottom)"
+                    <contentsmargins top="16un" bottom="var(hb-param-margin-gene-bottom)"
                                      left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" />
-                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                    <enums name="alignment" value="AlignTop|AlignHCenter"/>
                     <string name="plainText" locid="txt_rad_info_fm_radio" />
                     <fontspec name="fontSpec" role="Title" textheight="8un" />
                 </widget>
@@ -23,6 +23,7 @@
 
             <!-- Frequency area that holds the frequency strip -->
             <widget name="mv:frequency_area" type="HbWidget">
+                <sizehint height="10un" type="FIXED"/>            
                 <widget name="mv:frequency_background" type="HbLabel">
                     <icon name="icon" iconName="qtg_fr_lcd"/>
                 </widget>
@@ -77,13 +78,13 @@
             </widget>
             <widget name="mv:station_carousel" plugin="fmradiowidgetsplugin" type="RadioStationCarousel">
                 <icon name="favoriteIcon" iconName="qtg_small_favorite" />
-                <icon name="nonFavoriteIcon" iconName=":/images/pri_small_star_inactive.svg" />
+                <icon name="nonFavoriteIcon" iconName="qtg_small_star_non_favourited" />
                 <integer name="autoScrollTime" value="1000"/>
             </widget>
             <widget name="mv:info_text">
                 <bool name="visible" value="FALSE" />
                 <string name="plainText" locid="txt_rad_info_fm_radio" />
-                <enums name="alignment" value="AlignBottom|AlignHCenter"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
                 <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)" />
             </widget>
             <layout type="stacked">
@@ -94,7 +95,6 @@
             </layout>
         </widget>
         <widget name="mv:frequency_area">
-            <sizehint height="10un" type="FIXED"/>
             <widget name="mv:frequency_strip" plugin="fmradiowidgetsplugin" type="RadioFrequencyStrip">
                 <contentsmargins left="var(hb-param-margin-gene-middle-horizontal)" right="var(hb-param-margin-gene-middle-horizontal)" />
                 <widget name="mv:prev_button" type="HbPushButton">
--- a/radioapp/radiowidgets/res/layout/radiocarouselitem.css	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/res/layout/radiocarouselitem.css	Mon Oct 04 00:17:30 2010 +0300
@@ -1,6 +1,7 @@
 RadioCarouselItem
 {
     layout: default;
+    size-policy-horizontal: fixed;
 }
 
 RadioCarouselItem::star_button
--- a/radioapp/radiowidgets/res/layout/stationsview.docml	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/res/layout/stationsview.docml	Mon Oct 04 00:17:30 2010 +0300
@@ -27,16 +27,15 @@
     <object name="sv:local_stations_button" type="HbAction">
         <bool name="checkable" value="TRUE"/>
         <icon iconName="qtg_mono_radio_stations" name="icon"/>
-        <string name="text" locid="txt_rad_button_local_stations" />
     </object>
     <object name="sv:favorite_stations_button" type="HbAction">
         <bool name="checkable" value="TRUE"/>
         <icon iconName="qtg_mono_favourites" name="icon"/>
-        <string name="text" locid="txt_rad_button_favourites" />
     </object>
     <widget name="view" type="HbView">
         <icon name="nowPlayingIcon" iconName="qtg_mono_play" />
         <icon name="favoriteIcon" iconName="qtg_small_favorite" />
+        <icon name="nonFavoriteIcon" iconName="qtg_small_star_non_favourited" />
         <widget name="mMenu" role="HbView:menu" type="HbMenu">
             <ref object="sv:scan_action" role="HbMenu:addAction"/>
             <ref object="sv:clear_list_action" role="HbMenu:addAction"/>
@@ -53,7 +52,7 @@
                 <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
                 <sizehint height="expr(var(hb-param-text-height-secondary)+2*var(hb-param-margin-gene-middle-vertical))" type="PREFERRED"/>
                 <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
-                <string name="heading" locid="txt_rad_subhead_all_stations" />
+                <string name="heading" locid="txt_rad_subhead_local_stations" />
             </widget>
             <widget name="sv:stacked_widget" type="HbWidget">
                 <widget name="sv:scan_button" type="HbPushButton">
@@ -142,7 +141,7 @@
             <bool name="checked" value="FALSE"/>
         </object>
         <widget name="sv:heading_banner">
-            <string name="heading" locid="txt_rad_subhead_all_stations" />
+            <string name="heading" locid="txt_rad_subhead_local_stations" />
         </widget>
         <widget name="sv:scan_button">
             <bool name="visible" value="TRUE"/>
@@ -162,7 +161,7 @@
             <bool name="checked" value="TRUE"/>
         </object>
         <widget name="sv:heading_banner">
-            <string name="heading" locid="txt_rad_subhead_favorite_stations" />
+            <string name="heading" locid="txt_rad_subhead_favourites" />
         </widget>
         <widget name="sv:scan_button">
             <bool name="visible" value="FALSE"/>
--- a/radioapp/radiowidgets/src/radiocarouselitem.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/src/radiocarouselitem.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -41,6 +41,7 @@
 
 const QLatin1String SEEKING_TEXT        ( "txt_rad_list_tuning" );
 const QLatin1String CONNECT_HEADSET_TEXT( "txt_rad_list_connect_wireless_antenna_headset_with" );
+const uint CAROUSEL_LENGTH = 11;
 
 /*!
  *
@@ -308,8 +309,15 @@
 
         const bool hasName = mStation->hasName();
         if ( hasName ) {
+            if ( mStation->name().length() > CAROUSEL_LENGTH ) {
+                mNameItem->setAlignment( Qt::AlignLeft );
+            } else {
+                mNameItem->setAlignment( Qt::AlignHCenter );
+            }
             mNameItem->setText( mStation->name() );
+
         } else {
+            mNameItem->setAlignment( Qt::AlignHCenter );
             mNameItem->setText( mStation->frequencyString() );
         }
 
@@ -348,7 +356,12 @@
 {
     LOG_FORMAT( "RadioCarouselItem::setFrequency: %d", frequency );
 
-    mNameItem->setText( RadioStation::parseFrequency( frequency ) );
+    if ( mStation->hasName() && mStation->frequency() == frequency ) {
+        mNameItem->setText( mStation->name() );
+    } else {
+        mNameItem->setText( RadioStation::parseFrequency( frequency ) );
+    }
+
 
     if ( !mObserver.isInManualSeek() ) {
         *mStation = mObserver.findStation( frequency );
--- a/radioapp/radiowidgets/src/radiohistoryview.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/src/radiohistoryview.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -42,7 +42,7 @@
 };
 const Song KRecognizedSongs[] = {
     { "Red Hot Chili Peppers", "Under The Bridge" },
-    { "Queens Of The Stone Age", "No One Knows" },
+    { "", "No One Knows" },
     { "The Presidents of the United States of America", "Dune Buggy" },
     { "System of a Down", "Aerials" },
     { "The White Stripes", "Seven Nation Army" },
@@ -265,8 +265,7 @@
     mHistoryList->setModel( historyModel );
     mHistoryList->setSelectionMode( HbListView::NoSelection );
     mHistoryList->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
-    //TODO: Uncomment after MCL wk28 release to improve scrolling FPS rate
-    //mHistoryList->setItemPixmapCacheEnabled( true );
+    mHistoryList->setItemPixmapCacheEnabled( true ); // Improves scrolling FPS rate
 
     mAllSongsButton = mUiLoader->findObject<HbAction>( DOCML::HV_NAME_ALL_SONGS_BUTTON );
     mTaggedSongsButton = mUiLoader->findObject<HbAction>( DOCML::HV_NAME_TAGGED_SONGS_BUTTON );
@@ -290,13 +289,8 @@
     connectCommonMenuItem( MenuItem::Exit );
     connectCommonMenuItem( MenuItem::UseLoudspeaker );
 
-    // Context menu actions
-    connectXmlElement( DOCML::HV_NAME_TOGGLE_TAG_ACTION,    SIGNAL(triggered()),
-                       this,                                SLOT(toggleTagging()) );
-    connectXmlElement( DOCML::HV_NAME_OVI_STORE_ACTION,     SIGNAL(triggered()),
-                       this,                                SLOT(openOviStore()) );
-    connectXmlElement( DOCML::HV_NAME_OTHER_STORE_ACTION,   SIGNAL(triggered()),
-                       this,                                SLOT(openOtherStore()) );
+    initContextMenu();
+
     initBackAction();
 
     updateViewMode();
@@ -335,6 +329,24 @@
 /*!
  *
  */
+void RadioHistoryView::initContextMenu()
+{
+    // Context menu actions
+    connectXmlElement( DOCML::HV_NAME_TOGGLE_TAG_ACTION,    SIGNAL(triggered()),
+                       this,                                SLOT(toggleTagging()) );
+    connectXmlElement( DOCML::HV_NAME_OVI_STORE_ACTION,     SIGNAL(triggered()),
+                       this,                                SLOT(openOviStore()) );
+
+    // TODO: Get additional music stores. For now use "Amazon" for demonstration purposes
+    const QString otherStoreFormatter = hbTrId( "txt_rad_menu_search_from_other_store" );
+    if ( HbMenu* contextMenu = mUiLoader->findObject<HbMenu>( DOCML::HV_NAME_CONTEXT_MENU ) ) {
+        contextMenu->addAction( otherStoreFormatter.arg( "Amazon" ), this, SLOT(openOtherStore()) );
+    }
+}
+
+/*!
+ *
+ */
 RadioHistoryModel& RadioHistoryView::historyModel() const
 {
     return *static_cast<RadioHistoryModel*>( mHistoryList->model() );
--- a/radioapp/radiowidgets/src/radiomainview.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/src/radiomainview.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -21,7 +21,7 @@
 #include <HbAction>
 #include <HbMenu>
 #include <HbApplication>
-#include <HbActivityManager>
+#include <afactivitystorage.h>
 #include <QPixmap>
 #include <HbLabel>
 #include <HbFrameItem>          // Temporarily here until docml supports frame items
@@ -62,9 +62,7 @@
 RadioMainView::RadioMainView() :
     RadioViewBase( false ),
     mCarousel( NULL ),
-    mFrequencyStrip( NULL ),
-    mSkippingAction( NULL ),
-    mAlternateSkipping( false )
+    mFrequencyStrip( NULL )
 {
 }
 
@@ -196,6 +194,10 @@
                     this,                                   SLOT(saveActivity()) );
 
     emit applicationReady();
+
+    QScopedPointer<AfActivityStorage> storage( new AfActivityStorage() );
+    bool ok = storage->removeActivity( RADIO_MAINVIEW_ACTIVITY_ID );
+    LOG_ASSERT( ok, LOG( "Failed to remove old activity from Activity Storage!" ) );
 }
 
 /*!
@@ -279,39 +281,20 @@
  */
 void RadioMainView::skip( int skipMode )
 {
-//    if ( !mAlternateSkipping && ( skipMode == StationSkip::PreviousFavorite || skipMode == StationSkip::NextFavorite ) &&
-//        mUiEngine->stationModel().favoriteCount() == 0 ) {
-//        mCarousel->setInfoText( CarouselInfoText::NoFavorites );
-//    } else {
-        const uint currentFrequency = mFrequencyStrip->frequency();
-        RadioStation station;
-        mUiEngine->stationModel().findFrequency( currentFrequency, station );
+    LOG_FORMAT( "RadioMainView::skip skipMode: %d", skipMode );
+
+    const uint currentFrequency = mFrequencyStrip->frequency();
+    RadioStation station;
+    mUiEngine->stationModel().findFrequency( currentFrequency, station );
 
-        if ( mAlternateSkipping ) { //TODO: Remove. Temporary test code
-            if ( sender() == mFrequencyStrip ) {
-                if ( skipMode == StationSkip::NextFavorite ) {
-                    skipMode = StationSkip::Next;
-                } else if ( skipMode == StationSkip::PreviousFavorite ) {
-                    skipMode = StationSkip::Previous;
-                }
-            } else if ( sender() == mCarousel ) {
-                if ( skipMode == StationSkip::Next ) {
-                    skipMode = StationSkip::NextFavorite;
-                } else if ( skipMode == StationSkip::Previous ) {
-                    skipMode = StationSkip::PreviousFavorite;
-                }
-            }
-        }
+    const uint frequency = mUiEngine->skipStation( static_cast<StationSkip::Mode>( skipMode ),
+                                                            currentFrequency);
 
-        const uint frequency = mUiEngine->skipStation( static_cast<StationSkip::Mode>( skipMode ),
-                                                                currentFrequency);
-
-        if ( currentFrequency != frequency || station.isFavorite() ) {
-            const Scroll::Direction direction = RadioUtil::scrollDirectionFromSkipMode( skipMode );
-            mCarousel->setFrequency( frequency, TuneReason::Skip, direction );
-            mFrequencyStrip->setFrequency( frequency, TuneReason::Skip, direction );
-        }
-//    }
+    if ( currentFrequency != frequency || station.isFavorite() ) {
+        const Scroll::Direction direction = RadioUtil::scrollDirectionFromSkipMode( skipMode );
+        mCarousel->setFrequency( frequency, TuneReason::Skip, direction );
+        mFrequencyStrip->setFrequency( frequency, TuneReason::Skip, direction );
+    }
 }
 
 /*!
@@ -441,18 +424,17 @@
  */
 void RadioMainView::saveActivity()
 {
-    HbActivityManager* activityManager = qobject_cast<HbApplication*>(qApp)->activityManager();
-
     // Get a screenshot for saving to the activity manager
     QSize screenShotSize = mCarousel->size().toSize();
     QPixmap screenShot( screenShotSize );
     QPainter painter( &screenShot );
 
     // Draw the background and overlay
-    HbLabel* backgroundLabel = mUiLoader->findWidget<HbLabel>( DOCML::MV_NAME_CAROUSEL_BACKGROUND );
-    painter.drawPixmap( 0, 0, backgroundLabel->icon().pixmap().scaled( screenShotSize ) );
-    backgroundLabel = mUiLoader->findWidget<HbLabel>( DOCML::MV_NAME_CAROUSEL_OVERLAY );
-    painter.drawPixmap( 0, 0, backgroundLabel->icon().pixmap().scaled( screenShotSize ) );
+    // TODO: Uncomment when Orbit fixes the crash caused calling the pixmap() function.
+//    HbLabel* backgroundLabel = mUiLoader->findWidget<HbLabel>( DOCML::MV_NAME_CAROUSEL_BACKGROUND );
+//    painter.drawPixmap( 0, 0, backgroundLabel->icon().pixmap().scaled( screenShotSize ) );
+//    backgroundLabel = mUiLoader->findWidget<HbLabel>( DOCML::MV_NAME_CAROUSEL_OVERLAY );
+//    painter.drawPixmap( 0, 0, backgroundLabel->icon().pixmap().scaled( screenShotSize ) );
 
     mCarousel->drawOffScreen( painter );
 
@@ -466,10 +448,9 @@
     #endif
 
     // Update the activity to the activity manager
-    bool ok = activityManager->removeActivity( RADIO_MAINVIEW_ACTIVITY_ID );
-    LOG_ASSERT( ok, LOG( "Failed to remove old activity from Activity Manager!" ) );
-    ok = activityManager->addActivity( RADIO_MAINVIEW_ACTIVITY_ID, QVariant(), metadata );
-    LOG_ASSERT( ok, LOG( "Failed to update activity to Activity Manager!" ) );
+    QScopedPointer<AfActivityStorage> storage( new AfActivityStorage() );
+    bool ok = storage->saveActivity( RADIO_MAINVIEW_ACTIVITY_ID, QVariant(), metadata );
+    LOG_ASSERT( ok, LOG( "Failed to update activity to Activity Storage!" ) );
 }
 
 /*!
--- a/radioapp/radiowidgets/src/radiostationcarousel.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/src/radiostationcarousel.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -40,10 +40,7 @@
 
 // Constants
 const int RTPLUS_CHECK_TIMEOUT = 700;
-const int INFOTEXT_NOFAVORITES_TIMEOUT = 5000;
 const int SET_FREQUENCY_TIMEOUT = 500;
-const int FAVORITE_HINT_SHOW_DELAY = 1000;
-const int FAVORITE_HINT_HIDE_DELAY = 2000;
 
 // Matti testing constants
 const QLatin1String LEFT_ITEM_NAME      ( "carousel_left" );
@@ -83,7 +80,8 @@
     mPosAdjustmentDisabled( false ),
     mScrollDirection( Scroll::Shortest ),
     mManualSeekMode( false ),
-    mOrientation( false )
+    mOrientation( false ),
+    mScrollIgnore( false )
 #ifdef USE_DEBUGGING_CONTROLS
     ,mRdsLabel( new RadioFadingLabel( this ) )
 #endif // USE_DEBUGGING_CONTROLS
@@ -244,7 +242,7 @@
             }
 
             mIsCustomFreq = false;
-            if ( reason == TuneReason::Skip || reason == TuneReason::StationScanFinalize ) {
+            if ( reason == TuneReason::Skip || reason == TuneReason::SkipFromEngine || reason == TuneReason::StationScanFinalize ) {
                 const int newIndex = mModel->indexFromFrequency( frequency );
                 scrollToIndex( newIndex, direction, NoSignal );
                 mCurrentIndex = newIndex;
@@ -308,8 +306,6 @@
         }
         clearInfoText();
         setCenterIndex( 0 );
-        mTimerMode = FavoriteHintShow;
-        mGenericTimer->start( FAVORITE_HINT_SHOW_DELAY );
     }
 
     setEnabled( !scanning );
@@ -362,32 +358,15 @@
 void RadioStationCarousel::setInfoText( CarouselInfoText::Type type )
 {
     mInfoTextType = type;
-    if ( type == CarouselInfoText::NoFavorites || type == CarouselInfoText::FavoriteIconHint ) {
-//        mInfoText->setPlainText( hbTrId( "txt_rad_dialog_long_press_arrow_keys_to_search_str" ) );
-    //TODO: Remove hardcoding. Temporarily hardcoded for usability testing
-        mInfoText->setPlainText( "Tap star to mark favourites" );
-        mInfoText->setAlignment( Qt::AlignCenter );
-        mItems[CenterItem]->setItemVisibility( RadioCarouselItem::IconVisible );
-        mTimerMode = InfoText;
-        mGenericTimer->setInterval( INFOTEXT_NOFAVORITES_TIMEOUT );
-        mGenericTimer->start();
 
-        if ( !mAnimator ) {
-            mAnimator = new RadioCarouselAnimator( *this );
-        }
-        mAnimator.data()->startFlashingIcon();
-
-    } else if ( type == CarouselInfoText::ConnectAntenna ) {
+    if ( type == CarouselInfoText::ConnectAntenna ) {
         cleanRdsData();
         mInfoText->setPlainText( hbTrId( "txt_rad_info_connect_wired_headset1" ) );
-        mInfoText->setAlignment( Qt::AlignBottom | Qt::AlignHCenter );
     } else if ( type == CarouselInfoText::Seeking ) {
         cleanRdsData();
-        mInfoText->setAlignment( Qt::AlignBottom | Qt::AlignHCenter );
         mInfoText->setPlainText( hbTrId( "txt_rad_list_seeking" ) );
     } else if ( type == CarouselInfoText::Scanning ) {
         cleanRdsData();
-        mInfoText->setAlignment( Qt::AlignBottom | Qt::AlignHCenter );
         mInfoText->setPlainText( hbTrId( "txt_rad_list_searching_all_available_stations_ple" ) );
     }
 
@@ -465,6 +444,10 @@
         return;
     }
 
+    if ( mScrollIgnore ) {
+        mScrollIgnore = false; // next scrollingEnded() is handled
+        return;
+    }
     if ( mTargetIndex != -1 ) {
         setCenterIndex( mTargetIndex );
     }
@@ -530,13 +513,6 @@
     } else if ( mTimerMode == InfoText ) {
         clearInfoText();
         mTimerMode = NoTimer;
-    } else if ( mTimerMode == FavoriteHintShow ) {
-        setInfoText( CarouselInfoText::FavoriteIconHint );
-        mTimerMode = FavoriteHintHide;
-        mGenericTimer->start( FAVORITE_HINT_HIDE_DELAY );
-    } else if ( mTimerMode == FavoriteHintHide ) {
-        clearInfoText();
-        mTimerMode = NoTimer;
     }
 }
 
@@ -575,18 +551,6 @@
 /*!
  * \reimp
  */
-void RadioStationCarousel::mousePressEvent( QGraphicsSceneMouseEvent* event )
-{
-    if ( mInfoTextType == CarouselInfoText::NoFavorites || mInfoTextType == CarouselInfoText::FavoriteIconHint ) {
-        clearInfoText();
-    }
-
-    HbScrollArea::mousePressEvent( event );
-}
-
-/*!
- * \reimp
- */
 void RadioStationCarousel::resizeEvent( QGraphicsSceneResizeEvent* event )
 {
     HbScrollArea::resizeEvent( event );
@@ -634,12 +598,14 @@
     if ( mOrientation ) {
         if ( HbPanGesture* gesture = qobject_cast<HbPanGesture*>( event->gesture( Qt::PanGesture ) ) ) {
             if ( gesture->state() == Qt::GestureFinished ) {
+                mScrollIgnore = true; // next scrollingEnded() signal needs to be ignored
                 adjustPos( (int)gesture->offset().y() );
             }
         }
     } else {
         if ( HbPanGesture* gesture = qobject_cast<HbPanGesture*>( event->gesture( Qt::PanGesture ) ) ) {
             if ( gesture->state() == Qt::GestureFinished ) {
+                mScrollIgnore = true; // next scrollingEnded() signal needs to be ignored
                 adjustPos( (int)gesture->offset().x() );
             }
         }
--- a/radioapp/radiowidgets/src/radiostationsview.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/src/radiostationsview.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -95,6 +95,22 @@
 }
 
 /*!
+ *
+ */
+void RadioStationsView::setNonFavoriteIcon( const HbIcon& nonFavoriteIcon )
+{
+    mNonFavoriteIcon = nonFavoriteIcon;
+}
+
+/*!
+ *
+ */
+HbIcon RadioStationsView::nonFavoriteIcon() const
+{
+    return mNonFavoriteIcon;
+}
+
+/*!
  * Private slot
  *
  */
@@ -303,8 +319,8 @@
 
     loadSection( DOCML::FILE_STATIONSVIEW, DOCML::SV_SECTION_SHOW_ALL_STATIONS );
 
-    if ( !mFavoriteIcon.isNull() && !mNowPlayingIcon.isNull() ) {
-        mModel->setIcons( mFavoriteIcon.qicon(), mNowPlayingIcon.qicon() );
+    if ( !mFavoriteIcon.isNull() && !mNonFavoriteIcon.isNull() && !mNowPlayingIcon.isNull() ) {
+        mModel->setIcons( mFavoriteIcon.qicon(), mNonFavoriteIcon.qicon(), mNowPlayingIcon.qicon() );
     }
     mModel->setDetail( RadioStationModel::ShowIcons | RadioStationModel::ShowGenre );
 
@@ -394,6 +410,5 @@
     mStationsList->setModel( mFilterModel );
     mStationsList->setSelectionMode( HbListView::NoSelection );
     mStationsList->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
-    //TODO: Uncomment after MCL wk28 release to improve scrolling FPS rate
-    //mStationsList->setItemPixmapCacheEnabled( true );
+    mStationsList->setItemPixmapCacheEnabled( true ); // Improves scrolling FPS rate
 }
--- a/radioapp/radiowidgets/src/radiowindow.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioapp/radiowidgets/src/radiowindow.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -19,6 +19,7 @@
 #include <HbInstance>
 #include <HbAction>
 #include <HbDeviceMessageBox>
+#include <HbNotificationDialog>
 #include <HbVolumeSliderPopup>
 
 // User includes
@@ -193,33 +194,31 @@
 void RadioWindow::updateAntennaStatus( bool connected )
 {
     if ( !connected ) {
-        if ( !mMessageBox ) {
-            mMessageBox.reset( new HbMessageBox() );
-        }
-        mMessageBox->setText( hbTrId( "txt_rad_dpophead_connect_wired_headset" ) );
-        mMessageBox->setDismissPolicy( HbPopup::NoDismiss );
-        mMessageBox->setTimeout( HbPopup::NoTimeout );
-//        mMessageBox->setAttribute( Qt::WA_DeleteOnClose, true );
-        mMessageBox->open();
-    } else {
-        mMessageBox.reset();
+        HbNotificationDialog* dlg = new HbNotificationDialog();
+        dlg->setTitle( hbTrId( "txt_rad_dpophead_connect_wired_headset" ) );
+        dlg->setIcon( HbIcon( "qtg_large_wire_connect" ) );
+        dlg->setTimeout( HbPopup::StandardTimeout );
+        dlg->setDismissPolicy( HbPopup::NoDismiss );
+        dlg->setAttribute( Qt::WA_DeleteOnClose );
+        dlg->show();
     }
 }
 
 /*!
  *
  */
-void RadioWindow::activateView( RadioViewBase* aMember, const QString& docmlFile, Hb::ViewSwitchFlags flags )
+void RadioWindow::activateView( RadioViewBase* view, const QString& docmlFile, Hb::ViewSwitchFlags flags )
 {
     LOG_METHOD;
-    if ( aMember && aMember == currentView() ) {
+    Q_ASSERT_X( view, "RadioWindow", "Trying to activate an invalid view" );
+
+    RadioViewBase* previousView = static_cast<RadioViewBase*>( currentView() );
+    if ( view == previousView ) {
         return;
     }
 
-    RadioViewBase* previousView = static_cast<RadioViewBase*>( currentView() );
-
     bool viewCreated = false;
-    if ( !aMember->isInitialized() ) {
+    if ( !view->isInitialized() ) {
         viewCreated = true;
 
         QScopedPointer<RadioUiLoader> uiLoader( new RadioUiLoader() );
@@ -227,9 +226,9 @@
         // By default the document loader would create a new HbView instance for our view so we need
         // to use a silly little hack to prevent it. We call our view "view" and pass it to the document loader
         // so it already exists.
-        aMember->setObjectName( DOCML::NAME_VIEW );
+        view->setObjectName( DOCML::NAME_VIEW );
         QObjectList objectList;
-        objectList.append( aMember );
+        objectList.append( view );
         uiLoader->setObjectTree( objectList );
 
         bool ok = false;
@@ -241,15 +240,15 @@
             return;
         }
 
-        aMember->setMembers( this, uiLoader.take() );
-        aMember->preLazyLoadInit();
+        view->setMembers( this, uiLoader.take() );
+        view->preLazyLoadInit();
 
-        addView( aMember );
+        addView( view );
     }
 
-    aMember->updateOrientation( orientation(), viewCreated );
+    view->updateOrientation( orientation(), viewCreated );
 
-    setCurrentView( aMember, true, flags );
+    setCurrentView( view, true, flags );
 
     if ( previousView && previousView->isTransient() ) {
         removeView( previousView );
--- a/radioengine/settings/tsrc/inc/SettingsTestModule.h	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioengine/settings/tsrc/inc/SettingsTestModule.h	Mon Oct 04 00:17:30 2010 +0300
@@ -1,286 +1,224 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description: STIF testclass declaration
-*
-*/
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ * 
+ * Description: STIF testclass declaration
+ *
+ */
 
 #ifndef SettingsTestMODULE_H
 #define SettingsTestMODULE_H
 
-//  INCLUDES
+// System includes
 #include <StifLogger.h>
 #include <TestScripterInternal.h>
 #include <StifTestModule.h>
 #include <TestclassAssert.h>
-//INTERNAL INCLUDES
+// User includes
 #include "cradiosettings.h"
 #include "mradiosettingsobserver.h"
 #include "trace.h"
 
-
 // CONSTANTS
-const TInt KErrBadTestParameter= -1000;         // Error on configuration file
-
-const TInt KErrEventPending =-2000;             // Timeout and not callback 
-const TInt KErrCallbackErrorCode = -2001;       // Callback return error code
-const TInt KErrUnexpectedValue =-2002;          // Unexpected value at setting    
-const TInt KExpectedFrequencyChange = -2003;        // Is not finding more than one station
-const TInt KErrTimeoutController = -2007;       // Unexpected notification
+const TInt KErrBadTestParameter = -1000; // Error on configuration file
+const TInt KErrEventPending = -2000; // Timeout and not callback 
+const TInt KErrCallbackErrorCode = -2001; // Callback return error code
+const TInt KErrUnexpectedValue = -2002; // Unexpected value at setting    
+const TInt KExpectedFrequencyChange = -2003; // Is not finding more than one station
+const TInt KErrTimeoutController = -2007; // Unexpected notification
 
 // MACROS
-//#define ?macro ?macro_def
 #define TEST_CLASS_VERSION_MAJOR 1
 #define TEST_CLASS_VERSION_MINOR 1
 #define TEST_CLASS_VERSION_BUILD 1
-
 // Logging path
-_LIT( KSettingsTestModuleLogPath, "\\logs\\testframework\\SettingsTestModule\\" ); 
+_LIT( KSettingsTestModuleLogPath, "\\logs\\testframework\\SettingsTestModule\\" );
 // Log file
-_LIT( KSettingsTestModuleLogFile, "SettingsTestModule.txt" ); 
+_LIT( KSettingsTestModuleLogFile, "SettingsTestModule.txt" );
 _LIT( KSettingsTestModuleLogFileWithTitle, "SettingsTestModule_[%S].txt" );
 
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-//class CSettingsTestModule;
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
 // CLASS DECLARATION
 
 /**
-*  CSettingsTestModule test class for STIF Test Framework TestScripter.
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-NONSHARABLE_CLASS(CSettingsTestModule) : public CScriptBase, public MRadioSettingsObserver
+ *  CSettingsTestModule test class for STIF Test Framework TestScripter.
+ *  ?other_description_lines
+ *
+ *  @lib SettingsTestModule.dll
+ *  @since S60 10.1
+ */
+NONSHARABLE_CLASS(CSettingsTestModule) : public CScriptBase,
+        public MRadioSettingsObserver
     {
-    public:  // Constructors and destructor
+public:
+    // Constructors and destructor
 
-        /**
-        * Two-phased constructor.
-        */
-        static CSettingsTestModule* NewL( CTestModuleIf& aTestModuleIf );
+    /**
+     * Two-phased constructor.
+     */
+    static CSettingsTestModule* NewL(CTestModuleIf& aTestModuleIf);
 
-        /**
-        * Destructor.
-        */
-        virtual ~CSettingsTestModule();
+    /**
+     * Destructor.
+     */
+    virtual ~CSettingsTestModule();
 
-    public: // New functions
+public:
+    // Functions from base classes
 
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
+    /**
+     * From CScriptBase Runs a script line.
+     * @since ?Series60_version
+     * @param aItem Script line containing method name and parameters
+     * @return Symbian OS error code
+     */
+    virtual TInt RunMethodL(CStifItemParser& aItem);
+
+    // MRadioSettingsObserver
 
-    public: // Functions from base classes
+    /**
+     * From MRadioSettingsObserver.
+     * Notifies of the change in RDS alternate frequency setting
+     *
+     * @param aEnabled ETrue if AF search is enabled, otherwise EFalse
+     */
+    virtual void RdsAfSearchSettingChangedL(TBool aEnabled);
 
-        /**
-        * From CScriptBase Runs a script line.
-        * @since ?Series60_version
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
+    /**
+     * From MRadioSettingsObserver.
+     * Notifies of the change in region setting when it is changed
+     * outside of the particular radio settings instance
+     *
+     * @param aRegion The new region ID
+     */
+    virtual void RegionSettingChangedL(TInt aRegion);
 
-        // MRadioSettingsObserver
-        
-        /**
-        * From MRadioSettingsObserver.
-         * Notifies of the change in RDS alternate frequency setting
-         *
-         * @param aEnabled ETrue if AF search is enabled, otherwise EFalse
-         */
-        virtual void RdsAfSearchSettingChangedL( TBool aEnabled );
+protected:
+    // New functions
+
+    // Test case functions
+    TInt CreateSettingsL(CStifItemParser& aItem);
+    TInt DestroySettingsL(CStifItemParser& aItem);
+
+    TInt IsRegionAllowed(CStifItemParser& aItem);
+
+    TInt ResolveDriveL(CStifItemParser& aItem);
 
-        /**
-        * From MRadioSettingsObserver.
-         * Notifies of the change in region setting when it is changed
-         * outside of the particular radio settings instance
-         *
-         * @param aRegion The new region ID
-         */
-        virtual void RegionSettingChangedL( TInt aRegion );
-        
-    protected:  // New functions
+    // Application Settings functions
+
+    TInt SetFirstTimeStartPerformed(CStifItemParser& aItem);
+    TInt IsFirstTimeStart(CStifItemParser& aItem);
+
+    TInt SetUiFlags(CStifItemParser& aItem);
+
+    TInt UiFlags(CStifItemParser& aItem);
+
+    // Settings functions
 
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-        // Test case functions
-        TInt CreateSettingsL( CStifItemParser& aItem );
-        TInt DestroySettingsL( CStifItemParser& aItem );
-        
-        TInt IsRegionAllowed( CStifItemParser& aItem );
-        
-        TInt ResolveDriveL( CStifItemParser& aItem );
-        
-        // Application Settings functions
-        
-        TInt SetFirstTimeStartPerformed( CStifItemParser& aItem );
-        TInt IsFirstTimeStart( CStifItemParser& aItem );
-        
-        TInt SetUiFlags( CStifItemParser& aItem );
-        
-        TInt UiFlags( CStifItemParser& aItem );
-               
-        // Settings functions
-        
-        TInt HeadsetVolume ( CStifItemParser& aItem );
-        TInt SpeakerVolume ( CStifItemParser& aItem );
-        TInt Volume ( CStifItemParser& aItem );
-        TInt OutputMode ( CStifItemParser& aItem );
-        TInt AudioRoute ( CStifItemParser& aItem );
-        TInt IsHeadsetVolMuted ( CStifItemParser& aItem );
-        TInt IsSpeakerVolMuted ( CStifItemParser& aItem );
-        TInt IsVolMuted ( CStifItemParser& aItem );
-        TInt IsPowerOn ( CStifItemParser& aItem );
-        TInt TunedFrequency ( CStifItemParser& aItem );
-        TInt DefaultMinVolumeLevel ( CStifItemParser& aItem );
-        TInt CountRegions ( CStifItemParser& aItem );
-        TInt Region ( CStifItemParser& aItem );
-        TInt RegionId ( CStifItemParser& aItem );
-        TInt FrequencyStepSize ( CStifItemParser& aItem );
-        TInt MaxFrequency ( CStifItemParser& aItem );
-        TInt MinFrequency ( CStifItemParser& aItem );
-        TInt DecimalCount ( CStifItemParser& aItem );
-        TInt DefaultRegion ( CStifItemParser& aItem );
-        TInt NetworkId ( CStifItemParser& aItem );
-        TInt CountryCode ( CStifItemParser& aItem );
-        TInt OperatorMusicStoreURL ( CStifItemParser& aItem );
-        TInt OperatorMusicStoreName ( CStifItemParser& aItem );
+    TInt HeadsetVolume(CStifItemParser& aItem);
+    TInt SpeakerVolume(CStifItemParser& aItem);
+    TInt Volume(CStifItemParser& aItem);
+    TInt OutputMode(CStifItemParser& aItem);
+    TInt AudioRoute(CStifItemParser& aItem);
+    TInt IsHeadsetVolMuted(CStifItemParser& aItem);
+    TInt IsSpeakerVolMuted(CStifItemParser& aItem);
+    TInt IsVolMuted(CStifItemParser& aItem);
+    TInt IsPowerOn(CStifItemParser& aItem);
+    TInt TunedFrequency(CStifItemParser& aItem);
+    TInt DefaultMinVolumeLevel(CStifItemParser& aItem);
+    TInt CountRegions(CStifItemParser& aItem);
+    TInt Region(CStifItemParser& aItem);
+    TInt RegionId(CStifItemParser& aItem);
+    TInt FrequencyStepSize(CStifItemParser& aItem);
+    TInt MaxFrequency(CStifItemParser& aItem);
+    TInt MinFrequency(CStifItemParser& aItem);
+    TInt DecimalCount(CStifItemParser& aItem);
+    TInt DefaultRegion(CStifItemParser& aItem);
+    TInt NetworkId(CStifItemParser& aItem);
+    TInt CountryCode(CStifItemParser& aItem);
+    TInt OperatorMusicStoreURL(CStifItemParser& aItem);
+    TInt OperatorMusicStoreName(CStifItemParser& aItem);
 
-        // Setter functions
-        
-        TInt SetHeadsetVolume ( CStifItemParser& aItem );
-        TInt SetSpeakerVolume ( CStifItemParser& aItem );
-        TInt SetVolume ( CStifItemParser& aItem );
-        TInt SetOutputMode ( CStifItemParser& aItem );
-        TInt SetAudioRoute ( CStifItemParser& aItem );
-        TInt SetHeadsetVolMuted ( CStifItemParser& aItem );
-        TInt SetSpeakerVolMuted ( CStifItemParser& aItem );
-        TInt SetVolMuted ( CStifItemParser& aItem );
-        TInt SetPowerOn ( CStifItemParser& aItem );
-        TInt SetTunedFrequency ( CStifItemParser& aItem );
-        TInt SetRegionId ( CStifItemParser& aItem );
-        TInt SetNetworkId ( CStifItemParser& aItem );
-        TInt SetCountryCode ( CStifItemParser& aItem );
-        TInt SetOperatorMusicStoreURL ( CStifItemParser& aItem );
-        TInt SetOperatorMusicStoreName ( CStifItemParser& aItem );
-        
-        // Tst functions
-        TInt ReadConfigurableKeysL ( CStifItemParser& aItem );
-        TInt tstSetRegionIdL ( CStifItemParser& aItem );
-        TInt tstIsRegionSettingChangeNotified ( CStifItemParser& aItem );
-        TInt tstResetStartCount ( CStifItemParser& aItem );
-        
-    protected:  // Functions from base classes
+    // Setter functions
+
+    TInt SetHeadsetVolume(CStifItemParser& aItem);
+    TInt SetSpeakerVolume(CStifItemParser& aItem);
+    TInt SetVolume(CStifItemParser& aItem);
+    TInt SetOutputMode(CStifItemParser& aItem);
+    TInt SetAudioRoute(CStifItemParser& aItem);
+    TInt SetHeadsetVolMuted(CStifItemParser& aItem);
+    TInt SetSpeakerVolMuted(CStifItemParser& aItem);
+    TInt SetVolMuted(CStifItemParser& aItem);
+    TInt SetPowerOn(CStifItemParser& aItem);
+    TInt SetTunedFrequency(CStifItemParser& aItem);
+    TInt SetRegionId(CStifItemParser& aItem);
+    TInt SetNetworkId(CStifItemParser& aItem);
+    TInt SetCountryCode(CStifItemParser& aItem);
+    TInt SetOperatorMusicStoreURL(CStifItemParser& aItem);
+    TInt SetOperatorMusicStoreName(CStifItemParser& aItem);
+
+    // Tst functions
+    TInt ReadConfigurableKeysL(CStifItemParser& aItem);
+    TInt tstSetRegionIdL(CStifItemParser& aItem);
+    TInt tstIsRegionSettingChangeNotified(CStifItemParser& aItem);
+    TInt tstResetStartCount(CStifItemParser& aItem);
 
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
+private:
 
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CSettingsTestModule( CTestModuleIf& aTestModuleIf );
+    /**
+     * C++ default constructor.
+     */
+    CSettingsTestModule(CTestModuleIf& aTestModuleIf);
 
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
 
-        /**
-        * Frees all resources allocated from test methods.
-        * @since ?Series60_version
-        */
-        void Delete();
+    // Prohibit copy constructor if not deriving from CBase.
+    // ?classname( const ?classname& );
+    // Prohibit assigment operator if not deriving from CBase.
+    // ?classname& operator=( const ?classname& );
 
-        /**
-        * Test methods are listed below. 
-        */
+    /**
+     * Frees all resources allocated from test methods.
+     * @since ?Series60_version
+     */
+    void Delete();
 
-        /**
-        * Example test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt ExampleL( CStifItemParser& aItem );
-        
-        /**
-         * Method used to log version of test class
-         */
-        void SendTestClassVersion();
+    /**
+     * Test methods are listed below. 
+     */
 
-        //ADD NEW METHOD DEC HERE
-        //[TestMethods] - Do not remove
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
+    /**
+     * Example test method.
+     * @since ?Series60_version
+     * @param aItem Script line containing parameters.
+     * @return Symbian OS error code.
+     */
+    virtual TInt ExampleL(CStifItemParser& aItem);
 
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-        // Reserved pointer for future extension
-        //TAny* iReserved;
+    /**
+     * Method used to log version of test class
+     */
+    void SendTestClassVersion();
 
-        /** Radio Settings */
-        CRadioSettings* iSettings;
-        
-        TBool iRegionSettingChangeNotified;
+private:
+    // Data
 
-        
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
+    /** Radio Settings */
+    CRadioSettings* iSettings;
 
+    TBool iRegionSettingChangeNotified;
     };
 
 #endif      // SettingsTestMODULE_H
-
 // End of File
--- a/radioengine/settings/tsrc/src/SettingsTestModule.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioengine/settings/tsrc/src/SettingsTestModule.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -1,75 +1,29 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ * 
+ * Description: This file contains testclass implementation.
+ *
+ */
 
-// INCLUDE FILES
+// System includes
 #include <Stiftestinterface.h>
 #include <SettingServerClient.h>
+
+// User includes
 #include "SettingsTestModule.h"
 #include "trace.h"
 
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
 // -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
 // ============================ MEMBER FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
@@ -78,14 +32,12 @@
 // might leave.
 // -----------------------------------------------------------------------------
 //
-CSettingsTestModule::CSettingsTestModule( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
+CSettingsTestModule::CSettingsTestModule(CTestModuleIf& aTestModuleIf) :
+    CScriptBase(aTestModuleIf)
     {
     FUNC_LOG;
     }
 
-// -----------------------------------------------------------------------------
 // CSettingsTestModule::ConstructL
 // Symbian 2nd phase constructor can leave.
 // -----------------------------------------------------------------------------
@@ -93,29 +45,29 @@
 void CSettingsTestModule::ConstructL()
     {
     FUNC_LOG;
-    
+
     //Read logger settings to check whether test case name is to be
     //appended to log file name.
     RSettingServer settingServer;
     TInt ret = settingServer.Connect();
-    if(ret != KErrNone)
+    if (ret != KErrNone)
         {
         User::Leave(ret);
         }
     // Struct to StifLogger settigs.
-    TLoggerSettings loggerSettings; 
+    TLoggerSettings loggerSettings;
     // Parse StifLogger defaults from STIF initialization file.
     ret = settingServer.GetLoggerSettings(loggerSettings);
-    if(ret != KErrNone)
+    if (ret != KErrNone)
         {
         User::Leave(ret);
-        } 
+        }
     // Close Setting server session
     settingServer.Close();
 
     TFileName logFileName;
-    
-    if(loggerSettings.iAddTestCaseTitle)
+
+    if (loggerSettings.iAddTestCaseTitle)
         {
         TName title;
         TestModuleIf().GetTestCaseTitleL(title);
@@ -126,12 +78,9 @@
         logFileName.Copy(KSettingsTestModuleLogFile);
         }
 
-    iLog = CStifLogger::NewL( KSettingsTestModuleLogPath, 
-                          logFileName,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-    
+    iLog = CStifLogger::NewL(KSettingsTestModuleLogPath, logFileName,
+            CStifLogger::ETxt, CStifLogger::EFile, EFalse);
+
     SendTestClassVersion();
     }
 
@@ -140,13 +89,13 @@
 // Two-phased constructor.
 // -----------------------------------------------------------------------------
 //
-CSettingsTestModule* CSettingsTestModule::NewL( 
-    CTestModuleIf& aTestModuleIf )
+CSettingsTestModule* CSettingsTestModule::NewL(CTestModuleIf& aTestModuleIf)
     {
     FUNC_LOG;
-    CSettingsTestModule* self = new (ELeave) CSettingsTestModule( aTestModuleIf );
+    CSettingsTestModule* self = new (ELeave) CSettingsTestModule(
+            aTestModuleIf);
 
-    CleanupStack::PushL( self );
+    CleanupStack::PushL(self);
     self->ConstructL();
     CleanupStack::Pop();
 
@@ -156,14 +105,14 @@
 
 // Destructor
 CSettingsTestModule::~CSettingsTestModule()
-    { 
+    {
     FUNC_LOG;
 
     // Delete resources allocated from test methods
     Delete();
 
     // Delete logger
-    delete iLog; 
+    delete iLog;
 
     }
 
@@ -173,19 +122,20 @@
 //-----------------------------------------------------------------------------
 //
 void CSettingsTestModule::SendTestClassVersion()
-	{
-	FUNC_LOG;
-	TVersion moduleVersion;
-	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
-	moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
-	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
-	
-	TFileName moduleName;
-	moduleName = _L("SettingsTestModule.dll");
+    {
+    FUNC_LOG;
+    TVersion moduleVersion;
+    moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
+    moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
+    moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
 
-	TBool newVersionOfMethod = ETrue;
-	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
-	}
+    TFileName moduleName;
+    moduleName = _L("SettingsTestModule.dll");
+
+    TBool newVersionOfMethod = ETrue;
+    TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName,
+            newVersionOfMethod);
+    }
 
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
@@ -194,14 +144,12 @@
 // Returns: CScriptBase: New CScriptBase derived object
 // -----------------------------------------------------------------------------
 //
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
+EXPORT_C CScriptBase* LibEntryL(CTestModuleIf& aTestModuleIf) // Backpointer to STIF Test Framework
     {
     FUNC_LOG;
 
-    return ( CScriptBase* ) CSettingsTestModule::NewL( aTestModuleIf );
+    return (CScriptBase*) CSettingsTestModule::NewL(aTestModuleIf);
 
     }
 
-
 //  End of File
--- a/radioengine/settings/tsrc/src/SettingsTestModuleBlocks.cpp	Fri Sep 17 08:29:29 2010 +0300
+++ b/radioengine/settings/tsrc/src/SettingsTestModuleBlocks.cpp	Mon Oct 04 00:17:30 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// [INCLUDE FILES] - do not remove
+// System includes
 #include <e32svr.h>
 #include <e32cmn.h>
 #include <StifParser.h>
@@ -23,6 +23,7 @@
 #include <data_caging_path_literals.hrh>
 #include <centralrepository.h>
 
+// User includes
 #include "SettingsTestModule.h"
 #include "cradiosettings.h"
 #include "cradiosettingsimp.h"
@@ -32,57 +33,6 @@
 #include "radiointernalcrkeys.h"
 #include "radioengineutils.h"
 
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-//_LIT( KStifScriptEmptyString, "EMPTYSTRING" );
-//_LIT( KEmptyString, "" );
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
 // ============================ MEMBER FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
@@ -91,7 +41,7 @@
 // Called from destructor. 
 // -----------------------------------------------------------------------------
 //
-void CSettingsTestModule::Delete() 
+void CSettingsTestModule::Delete()
     {
     FUNC_LOG;
 
@@ -102,71 +52,70 @@
 // Run specified method. Contains also table of test mothods and their names.
 // -----------------------------------------------------------------------------
 //
-TInt CSettingsTestModule::RunMethodL( 
-    CStifItemParser& aItem ) 
+TInt CSettingsTestModule::RunMethodL(CStifItemParser& aItem)
     {
     FUNC_LOG;
 
-    static TStifFunctionInfo const KFunctions[] =
-        {  
-        // Copy this line for every implemented function.
-        // First string is the function name used in TestScripter script file.
-        // Second is the actual implementation member function. 
-        ENTRY( "Example", CSettingsTestModule::ExampleL ),
-        // [test cases entries] - Do not remove
-        ENTRY( "CreateSettingsL", CSettingsTestModule::CreateSettingsL ),
-        ENTRY( "DestroySettingsL", CSettingsTestModule::DestroySettingsL ),
-        ENTRY( "IsRegionAllowed", CSettingsTestModule::IsRegionAllowed ),
-        ENTRY( "ResolveDriveL", CSettingsTestModule::ResolveDriveL ),
-        ENTRY( "SetFirstTimeStartPerformed", CSettingsTestModule::SetFirstTimeStartPerformed ),
-        ENTRY( "IsFirstTimeStart", CSettingsTestModule::IsFirstTimeStart ),
-        ENTRY( "SetUiFlags", CSettingsTestModule::SetUiFlags ),
-        ENTRY( "UiFlags", CSettingsTestModule::UiFlags ),
-        ENTRY( "HeadsetVolume", CSettingsTestModule::HeadsetVolume ),
-        ENTRY( "SpeakerVolume", CSettingsTestModule::SpeakerVolume ),
-        ENTRY( "Volume", CSettingsTestModule::Volume ),
-        ENTRY( "OutputMode", CSettingsTestModule::OutputMode ),
-        ENTRY( "AudioRoute", CSettingsTestModule::AudioRoute ),
-        ENTRY( "IsHeadsetVolMuted", CSettingsTestModule::IsHeadsetVolMuted ),
-        ENTRY( "IsSpeakerVolMuted", CSettingsTestModule::IsSpeakerVolMuted ),
-        ENTRY( "IsVolMuted", CSettingsTestModule::IsVolMuted ),
-        ENTRY( "IsPowerOn", CSettingsTestModule::IsPowerOn ),
-        ENTRY( "TunedFrequency", CSettingsTestModule::TunedFrequency ),
-        ENTRY( "DefaultMinVolumeLevel", CSettingsTestModule::DefaultMinVolumeLevel ),
-        ENTRY( "CountRegions", CSettingsTestModule::CountRegions ),
-        ENTRY( "Region", CSettingsTestModule::Region ),
-        ENTRY( "RegionId", CSettingsTestModule::RegionId ),
-        ENTRY( "FrequencyStepSize", CSettingsTestModule::FrequencyStepSize ),
-        ENTRY( "MaxFrequency", CSettingsTestModule::MaxFrequency ),
-        ENTRY( "MinFrequency", CSettingsTestModule::MinFrequency ),
-        ENTRY( "DecimalCount", CSettingsTestModule::DecimalCount ),
-        ENTRY( "DefaultRegion", CSettingsTestModule::DefaultRegion ),
-        ENTRY( "NetworkId", CSettingsTestModule::NetworkId ),
-        ENTRY( "CountryCode", CSettingsTestModule::CountryCode ),
-        ENTRY( "SetHeadsetVolume", CSettingsTestModule::SetHeadsetVolume ),
-        ENTRY( "SetSpeakerVolume", CSettingsTestModule::SetSpeakerVolume ),
-        ENTRY( "SetVolume", CSettingsTestModule::SetVolume ),
-        ENTRY( "SetOutputMode", CSettingsTestModule::SetOutputMode ),
-        ENTRY( "SetAudioRoute", CSettingsTestModule::SetAudioRoute ),
-        ENTRY( "SetHeadsetVolMuted", CSettingsTestModule::SetHeadsetVolMuted ),
-        ENTRY( "SetSpeakerVolMuted", CSettingsTestModule::SetSpeakerVolMuted ),
-        ENTRY( "SetVolMuted", CSettingsTestModule::SetVolMuted ),
-        ENTRY( "SetPowerOn", CSettingsTestModule::SetPowerOn ),
-        ENTRY( "SetTunedFrequency", CSettingsTestModule::SetTunedFrequency ),
-        ENTRY( "SetRegionId", CSettingsTestModule::SetRegionId ),
-        ENTRY( "SetCountryCode", CSettingsTestModule::SetCountryCode ),
-        ENTRY( "SetNetworkId", CSettingsTestModule::SetNetworkId ),
-        ENTRY( "tstSetRegionIdL", CSettingsTestModule::tstSetRegionIdL ),
-        ENTRY( "tstResetStartCount", CSettingsTestModule::tstResetStartCount ),
-        ENTRY( "ReadConfigurableKeysL", CSettingsTestModule::ReadConfigurableKeysL )
-        //ADD NEW ENTRY HERE
+    static TStifFunctionInfo const
+            KFunctions[] =
+                {
+                // Copy this line for every implemented function.
+                        // First string is the function name used in TestScripter script file.
+                        // Second is the actual implementation member function. 
+                        ENTRY( "Example", CSettingsTestModule::ExampleL ),
+                        // [test cases entries] - Do not remove
+                                ENTRY( "CreateSettingsL", CSettingsTestModule::CreateSettingsL ),
+                                ENTRY( "DestroySettingsL", CSettingsTestModule::DestroySettingsL ),
+                                ENTRY( "IsRegionAllowed", CSettingsTestModule::IsRegionAllowed ),
+                                ENTRY( "ResolveDriveL", CSettingsTestModule::ResolveDriveL ),
+                                ENTRY( "SetFirstTimeStartPerformed", CSettingsTestModule::SetFirstTimeStartPerformed ),
+                                ENTRY( "IsFirstTimeStart", CSettingsTestModule::IsFirstTimeStart ),
+                                ENTRY( "SetUiFlags", CSettingsTestModule::SetUiFlags ),
+                        ENTRY( "UiFlags", CSettingsTestModule::UiFlags ),
+                                ENTRY( "HeadsetVolume", CSettingsTestModule::HeadsetVolume ),
+                                ENTRY( "SpeakerVolume", CSettingsTestModule::SpeakerVolume ),
+                        ENTRY( "Volume", CSettingsTestModule::Volume ),
+                                ENTRY( "OutputMode", CSettingsTestModule::OutputMode ),
+                                ENTRY( "AudioRoute", CSettingsTestModule::AudioRoute ),
+                                ENTRY( "IsHeadsetVolMuted", CSettingsTestModule::IsHeadsetVolMuted ),
+                                ENTRY( "IsSpeakerVolMuted", CSettingsTestModule::IsSpeakerVolMuted ),
+                                ENTRY( "IsVolMuted", CSettingsTestModule::IsVolMuted ),
+                        ENTRY( "IsPowerOn", CSettingsTestModule::IsPowerOn ),
+                                ENTRY( "TunedFrequency", CSettingsTestModule::TunedFrequency ),
+                                ENTRY( "DefaultMinVolumeLevel", CSettingsTestModule::DefaultMinVolumeLevel ),
+                                ENTRY( "CountRegions", CSettingsTestModule::CountRegions ),
+                        ENTRY( "Region", CSettingsTestModule::Region ),
+                        ENTRY( "RegionId", CSettingsTestModule::RegionId ),
+                                ENTRY( "FrequencyStepSize", CSettingsTestModule::FrequencyStepSize ),
+                                ENTRY( "MaxFrequency", CSettingsTestModule::MaxFrequency ),
+                                ENTRY( "MinFrequency", CSettingsTestModule::MinFrequency ),
+                                ENTRY( "DecimalCount", CSettingsTestModule::DecimalCount ),
+                                ENTRY( "DefaultRegion", CSettingsTestModule::DefaultRegion ),
+                        ENTRY( "NetworkId", CSettingsTestModule::NetworkId ),
+                                ENTRY( "CountryCode", CSettingsTestModule::CountryCode ),
+                                ENTRY( "SetHeadsetVolume", CSettingsTestModule::SetHeadsetVolume ),
+                                ENTRY( "SetSpeakerVolume", CSettingsTestModule::SetSpeakerVolume ),
+                        ENTRY( "SetVolume", CSettingsTestModule::SetVolume ),
+                                ENTRY( "SetOutputMode", CSettingsTestModule::SetOutputMode ),
+                                ENTRY( "SetAudioRoute", CSettingsTestModule::SetAudioRoute ),
+                                ENTRY( "SetHeadsetVolMuted", CSettingsTestModule::SetHeadsetVolMuted ),
+                                ENTRY( "SetSpeakerVolMuted", CSettingsTestModule::SetSpeakerVolMuted ),
+                                ENTRY( "SetVolMuted", CSettingsTestModule::SetVolMuted ),
+                                ENTRY( "SetPowerOn", CSettingsTestModule::SetPowerOn ),
+                                ENTRY( "SetTunedFrequency", CSettingsTestModule::SetTunedFrequency ),
+                                ENTRY( "SetRegionId", CSettingsTestModule::SetRegionId ),
+                                ENTRY( "SetCountryCode", CSettingsTestModule::SetCountryCode ),
+                                ENTRY( "SetNetworkId", CSettingsTestModule::SetNetworkId ),
+                                ENTRY( "tstSetRegionIdL", CSettingsTestModule::tstSetRegionIdL ),
+                                ENTRY( "tstResetStartCount", CSettingsTestModule::tstResetStartCount ),
+                                ENTRY( "ReadConfigurableKeysL", CSettingsTestModule::ReadConfigurableKeysL )
+                //ADD NEW ENTRY HERE
 
-        };
+                };
 
-    const TInt count = sizeof( KFunctions ) / 
-                        sizeof( TStifFunctionInfo );
+    const TInt count = sizeof(KFunctions) / sizeof(TStifFunctionInfo);
 
-    return RunInternalL( KFunctions, count, aItem );
+    return RunInternalL(KFunctions, count, aItem);
 
     }
 
@@ -176,24 +125,22 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-TInt CSettingsTestModule::ExampleL( CStifItemParser& aItem )
+TInt CSettingsTestModule::ExampleL(CStifItemParser& aItem)
     {
     FUNC_LOG;
-
     // Print to UI
     _LIT( KSettingsTestModule, "SettingsTestModule" );
     _LIT( KExample, "In Example" );
-    TestModuleIf().Printf( 0, KSettingsTestModule, KExample );
+    TestModuleIf().Printf(0, KSettingsTestModule, KExample);
     // Print to log file
-    iLog->Log( KExample );
+    iLog->Log(KExample);
 
     TInt i = 0;
     TPtrC string;
     _LIT( KParam, "Param[%i]: %S" );
-    while ( aItem.GetNextString ( string ) == KErrNone )
+    while (aItem.GetNextString(string) == KErrNone)
         {
-        TestModuleIf().Printf( i, KSettingsTestModule, 
-                                KParam, i, &string );
+        TestModuleIf().Printf(i, KSettingsTestModule, KParam, i, &string);
         ++i;
         }
 
@@ -204,25 +151,24 @@
 //-----------------------------------------------------------------------------
 // CPresetUtilityTest::CreateSettingsL
 //-----------------------------------------------------------------------------
-TInt CSettingsTestModule::CreateSettingsL(
-    CStifItemParser& /*aItem*/ )
+TInt CSettingsTestModule::CreateSettingsL(CStifItemParser& /*aItem*/)
     {
     FUNC_LOG;
-    
+
     TInt err = KErrNone;
-    if( !iSettings )
+    if (!iSettings)
         {
         RadioEngineUtils::InitializeL();
         TRAPD( err, iSettings = CRadioSettings::NewL() );
-        if ( KErrNone == err )
+        if (KErrNone == err)
             {
-            iSettings->RadioSetter().SetObserver( this );            
+            iSettings->RadioSetter().SetObserver(this);
             }
         else
             {
             RadioEngineUtils::Release();
             INFO_1( "CRadioSettings::NewL() failed err = %i", err )
-            User::Leave(err );
+            User::Leave(err);
             }
         }
     else
@@ -233,971 +179,914 @@
     return err;
     }
 
-
 //-----------------------------------------------------------------------------
 // CSettingsTestModule::DestroyiSettingsL
 //-----------------------------------------------------------------------------
-TInt CSettingsTestModule::DestroySettingsL(
-    CStifItemParser& /*aItem*/ )
+TInt CSettingsTestModule::DestroySettingsL(CStifItemParser& /*aItem*/)
     {
     FUNC_LOG;
 
-    delete iSettings;    
+    delete iSettings;
     iSettings = NULL;
     RadioEngineUtils::Release();
     return KErrNone;
     }
 
-
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::ResolveDriveL()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::ResolveDriveL( CStifItemParser& /*aItem*/ )
-{
-    FUNC_LOG;    
+TInt CSettingsTestModule::ResolveDriveL(CStifItemParser& /*aItem*/)
+    {
+    FUNC_LOG;
     TFileName resourceFileName;
-    resourceFileName.Append( KRadioSettingsResourceFile );
-    iSettings->ResolveDriveL( resourceFileName, KDC_RESOURCE_FILES_DIR );
+    resourceFileName.Append(KRadioSettingsResourceFile);
+    iSettings->ResolveDriveL(resourceFileName, KDC_RESOURCE_FILES_DIR);
     return KErrNone;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::IsRegionAllowed()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::IsRegionAllowed( CStifItemParser& /*aItem*/ )
-{
+TInt CSettingsTestModule::IsRegionAllowed(CStifItemParser& /*aItem*/)
+    {
     FUNC_LOG;
-    TRadioRegion regionId( iSettings->EngineSettings().RegionId() );
-    TUint currentAllowedStatus( iSettings->IsRegionAllowed( regionId ) );
-    TInt err( KErrNone);
-    INFO_1( "Failed: currentAllowedStatus=%i", currentAllowedStatus  );
+    TRadioRegion regionId(iSettings->EngineSettings().RegionId());
+    TUint currentAllowedStatus(iSettings->IsRegionAllowed(regionId));
+    TInt err(KErrNone);
+    INFO_1( "Failed: currentAllowedStatus=%i", currentAllowedStatus );
     return err;
 
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::IsFirstTimeStart()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::IsFirstTimeStart( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::IsFirstTimeStart(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt err( KErrNone);
-    TBool expectedFirstTimeStartStatus( EFalse );
+    TInt err(KErrNone);
+    TBool expectedFirstTimeStartStatus(EFalse);
     // read parameters
-    if ( aItem.GetNextInt(expectedFirstTimeStartStatus) )
-    {
+    if (aItem.GetNextInt(expectedFirstTimeStartStatus))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedFirstTimeStartStatus." );
-    }        
-    TBool firstTimeStartStatus( iSettings->ApplicationSettings().IsFirstTimeStart() );
-    if ( expectedFirstTimeStartStatus != firstTimeStartStatus )
+        }
+    TBool firstTimeStartStatus(
+            iSettings->ApplicationSettings().IsFirstTimeStart());
+    if (expectedFirstTimeStartStatus != firstTimeStartStatus)
         {
-        INFO_2( "Failed: firstTimeStartStatus=%i, expectedFirstTimeStartStatus=%i.", firstTimeStartStatus, expectedFirstTimeStartStatus  );
+        INFO_2( "Failed: firstTimeStartStatus=%i, expectedFirstTimeStartStatus=%i.", firstTimeStartStatus, expectedFirstTimeStartStatus );
         err = KErrUnexpectedValue;
         }
     return err;
-}
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetFirstTimeStart()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetFirstTimeStartPerformed( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::SetFirstTimeStartPerformed(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TBool firstTimeStartPerformed( EFalse );
+    TInt err(KErrNone);
+    TBool firstTimeStartPerformed(EFalse);
     // read parameters
-    if ( aItem.GetNextInt( firstTimeStartPerformed ) )
-    {
+    if (aItem.GetNextInt(firstTimeStartPerformed))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: firstTimeStartPerformed." );
-    }
-    
-    iSettings->ApplicationSettings().SetFirstTimeStartPerformed( firstTimeStartPerformed );
+        }
+
+    iSettings->ApplicationSettings().SetFirstTimeStartPerformed(
+            firstTimeStartPerformed);
     return err;
-}
-
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetUiFlags()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetUiFlags( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint uiFlags( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SetUiFlags(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint uiFlags(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(uiFlags) )
-    {
+    if (aItem.GetNextInt(uiFlags))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: uiFlags." );
-    }
-    err = iSettings->ApplicationSettings().SetUiFlags( uiFlags );
+        }
+    err = iSettings->ApplicationSettings().SetUiFlags(uiFlags);
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::UiFlags()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::UiFlags( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint expectedUiFlags( 0 );
-    TUint currentUiFlags( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::UiFlags(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint expectedUiFlags(0);
+    TUint currentUiFlags(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(expectedUiFlags) )
-    {
+    if (aItem.GetNextInt(expectedUiFlags))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedUiFlags." );
-    }
+        }
     currentUiFlags = iSettings->ApplicationSettings().UiFlags();
-    if ( expectedUiFlags != currentUiFlags )
+    if (expectedUiFlags != currentUiFlags)
         {
-        INFO_2( "Failed: currentUiFlags=%i, expectedUiFlags=%i.", currentUiFlags, expectedUiFlags  );
+        INFO_2( "Failed: currentUiFlags=%i, expectedUiFlags=%i.", currentUiFlags, expectedUiFlags );
         err = KErrUnexpectedValue;
         }
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::HeadsetVolume()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::HeadsetVolume( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint expectedVolume( 0 );
-    TUint currentVolume( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::HeadsetVolume(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint expectedVolume(0);
+    TUint currentVolume(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(expectedVolume) )
-    {
+    if (aItem.GetNextInt(expectedVolume))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedVolume." );
-    }
+        }
     currentVolume = iSettings->EngineSettings().HeadsetVolume();
-    if ( expectedVolume != currentVolume )
+    if (expectedVolume != currentVolume)
         {
-        INFO_2( "Failed: currentVolume=%i, expectedVolume=%i.", currentVolume, expectedVolume  );
+        INFO_2( "Failed: currentVolume=%i, expectedVolume=%i.", currentVolume, expectedVolume );
         err = KErrUnexpectedValue;
         }
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetHeadsetVolume()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetHeadsetVolume( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint volume( 0 );
-    TInt err( KErrNone );
+TInt CSettingsTestModule::SetHeadsetVolume(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint volume(0);
+    TInt err(KErrNone);
     // read parameters
-    if ( aItem.GetNextInt(volume) )
-    {
+    if (aItem.GetNextInt(volume))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: volume." );
+        }
+    err = iSettings->RadioSetter().SetHeadsetVolume(volume);
+    return err;
     }
-    err = iSettings->RadioSetter().SetHeadsetVolume( volume );
-    return err;
-}
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SpeakerVolume()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SpeakerVolume( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint expectedVolume( 0 );
-    TUint currentVolume( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SpeakerVolume(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint expectedVolume(0);
+    TUint currentVolume(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(expectedVolume) )
-    {
+    if (aItem.GetNextInt(expectedVolume))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedVolume." );
-    }
+        }
     currentVolume = iSettings->EngineSettings().SpeakerVolume();
-    if ( expectedVolume != currentVolume )
+    if (expectedVolume != currentVolume)
         {
-        INFO_2( "Failed: currentVolume=%i, expectedVolume=%i.", currentVolume, expectedVolume  );
+        INFO_2( "Failed: currentVolume=%i, expectedVolume=%i.", currentVolume, expectedVolume );
         err = KErrUnexpectedValue;
         }
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetSpeakerVolume()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetSpeakerVolume( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint volume( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SetSpeakerVolume(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint volume(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(volume) )
-    {
+    if (aItem.GetNextInt(volume))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: volume." );
-    }
-    err = iSettings->RadioSetter().SetSpeakerVolume( volume );
+        }
+    err = iSettings->RadioSetter().SetSpeakerVolume(volume);
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::Volume()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::Volume( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint expectedVolume( 0 );
-    TUint currentVolume( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::Volume(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint expectedVolume(0);
+    TUint currentVolume(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(expectedVolume) )
-    {
+    if (aItem.GetNextInt(expectedVolume))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedVolume." );
-    }
+        }
     currentVolume = iSettings->EngineSettings().Volume();
-    if ( expectedVolume != currentVolume )
+    if (expectedVolume != currentVolume)
         {
-        INFO_2( "Failed: currentVolume=%i, expectedVolume=%i.", currentVolume, expectedVolume  );
+        INFO_2( "Failed: currentVolume=%i, expectedVolume=%i.", currentVolume, expectedVolume );
         err = KErrUnexpectedValue;
         }
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetVolume()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetVolume( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint volume( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SetVolume(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint volume(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(volume) )
-    {
+    if (aItem.GetNextInt(volume))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: volume." );
-    }
-    err = iSettings->RadioSetter().SetVolume( volume );
+        }
+    err = iSettings->RadioSetter().SetVolume(volume);
     return err;
-}
-
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::OutputMode()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::OutputMode( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint expectedMode( 0 );
-    TUint currentMode( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::OutputMode(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint expectedMode(0);
+    TUint currentMode(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(expectedMode) )
-    {
+    if (aItem.GetNextInt(expectedMode))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedMode." );
-    }
+        }
     currentMode = iSettings->EngineSettings().OutputMode();
-    if ( expectedMode != currentMode )
+    if (expectedMode != currentMode)
         {
-        INFO_2( "Failed: currentMode=%i, expectedMode=%i.", currentMode, expectedMode  );
+        INFO_2( "Failed: currentMode=%i, expectedMode=%i.", currentMode, expectedMode );
         err = KErrUnexpectedValue;
         }
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetOutputMode()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetOutputMode( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint mode( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SetOutputMode(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint mode(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(mode) )
-    {
+    if (aItem.GetNextInt(mode))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: mode." );
-    }
-    err = iSettings->RadioSetter().SetOutputMode( mode );
+        }
+    err = iSettings->RadioSetter().SetOutputMode(mode);
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::AudioRoute()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::AudioRoute( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint expectedRoute( 0 );
-    TUint currentRoute( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::AudioRoute(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint expectedRoute(0);
+    TUint currentRoute(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(expectedRoute) )
-    {
+    if (aItem.GetNextInt(expectedRoute))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedRoute." );
-    }
+        }
     currentRoute = iSettings->EngineSettings().AudioRoute();
-    if ( expectedRoute != currentRoute )
+    if (expectedRoute != currentRoute)
         {
-        INFO_2( "Failed: currentMode=%i, expectedRoute=%i.", currentRoute, expectedRoute  );
+        INFO_2( "Failed: currentMode=%i, expectedRoute=%i.", currentRoute, expectedRoute );
         err = KErrUnexpectedValue;
         }
     return err;
-}
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetAudioRoute()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetAudioRoute( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint route( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SetAudioRoute(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint route(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(route) )
-    {
+    if (aItem.GetNextInt(route))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: route." );
+        }
+    err = iSettings->RadioSetter().SetAudioRoute(route);
+    return err;
     }
-    err = iSettings->RadioSetter().SetAudioRoute( route );
-    return err;
-}
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::IsHeadsetVolMuted()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::IsHeadsetVolMuted( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::IsHeadsetVolMuted(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TUint expectedMuteStatus( 0 );
-    TUint currentMuteStatus( 0 );
-    
+    TInt err(KErrNone);
+    TUint expectedMuteStatus(0);
+    TUint currentMuteStatus(0);
+
     // read parameters
-    if ( aItem.GetNextInt(expectedMuteStatus) )
-    {
+    if (aItem.GetNextInt(expectedMuteStatus))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedMuteStatus." );
-    }
+        }
     currentMuteStatus = iSettings->EngineSettings().IsHeadsetVolMuted();
-    if ( currentMuteStatus != expectedMuteStatus )
+    if (currentMuteStatus != expectedMuteStatus)
         {
-        INFO_2( "Failed: currentMuteStatus=%i, expectedMuteStatus=%i.", currentMuteStatus, expectedMuteStatus  );
+        INFO_2( "Failed: currentMuteStatus=%i, expectedMuteStatus=%i.", currentMuteStatus, expectedMuteStatus );
         err = KErrUnexpectedValue;
         }
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetHeadsetVolMuted()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetHeadsetVolMuted( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint muteStatus( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SetHeadsetVolMuted(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint muteStatus(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(muteStatus) )
-    {
+    if (aItem.GetNextInt(muteStatus))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: muteStatus." );
-    }
-    err = iSettings->RadioSetter().SetHeadsetVolMuted( muteStatus );
+        }
+    err = iSettings->RadioSetter().SetHeadsetVolMuted(muteStatus);
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::IsSpeakerVolMuted()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::IsSpeakerVolMuted( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::IsSpeakerVolMuted(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TUint expectedMuteStatus( 0 );
-    TUint currentMuteStatus( 0 );
-    
+    TInt err(KErrNone);
+    TUint expectedMuteStatus(0);
+    TUint currentMuteStatus(0);
+
     // read parameters
-    if ( aItem.GetNextInt(expectedMuteStatus) )
-    {
+    if (aItem.GetNextInt(expectedMuteStatus))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedMuteStatus." );
-    }
+        }
     currentMuteStatus = iSettings->EngineSettings().IsSpeakerVolMuted();
-    if ( currentMuteStatus != expectedMuteStatus )
+    if (currentMuteStatus != expectedMuteStatus)
         {
-        INFO_2( "Failed: currentMuteStatus=%i, expectedMuteStatus=%i.", currentMuteStatus, expectedMuteStatus  );
+        INFO_2( "Failed: currentMuteStatus=%i, expectedMuteStatus=%i.", currentMuteStatus, expectedMuteStatus );
         err = KErrUnexpectedValue;
         }
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetSpeakerVolMuted()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetSpeakerVolMuted( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint muteStatus( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SetSpeakerVolMuted(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint muteStatus(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(muteStatus) )
-    {
+    if (aItem.GetNextInt(muteStatus))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: muteStatus." );
-    }
-    err = iSettings->RadioSetter().SetSpeakerVolMuted( muteStatus );
+        }
+    err = iSettings->RadioSetter().SetSpeakerVolMuted(muteStatus);
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::IsVolMuted()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::IsVolMuted( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::IsVolMuted(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TUint expectedMuteStatus( 0 );
-    TUint currentMuteStatus( 0 );
-    
+    TInt err(KErrNone);
+    TUint expectedMuteStatus(0);
+    TUint currentMuteStatus(0);
+
     // read parameters
-    if ( aItem.GetNextInt(expectedMuteStatus) )
-    {
+    if (aItem.GetNextInt(expectedMuteStatus))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedMuteStatus." );
-    }
+        }
     currentMuteStatus = iSettings->EngineSettings().IsVolMuted();
-    if ( currentMuteStatus != expectedMuteStatus )
+    if (currentMuteStatus != expectedMuteStatus)
         {
-        INFO_2( "Failed: currentMuteStatus=%i, expectedMuteStatus=%i.", currentMuteStatus, expectedMuteStatus  );
+        INFO_2( "Failed: currentMuteStatus=%i, expectedMuteStatus=%i.", currentMuteStatus, expectedMuteStatus );
         err = KErrUnexpectedValue;
         }
     return err;
-}
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetVolMuted()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetVolMuted( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint muteStatus( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SetVolMuted(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint muteStatus(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(muteStatus) )
-    {
+    if (aItem.GetNextInt(muteStatus))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: muteStatus." );
-    }
-    err = iSettings->RadioSetter().SetVolMuted( muteStatus );
+        }
+    err = iSettings->RadioSetter().SetVolMuted(muteStatus);
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::IsPowerOn()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::IsPowerOn( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::IsPowerOn(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TUint expectedPowerStatus( 0 );
-    TUint currentPowerStatus( 0 );
-    
+    TInt err(KErrNone);
+    TUint expectedPowerStatus(0);
+    TUint currentPowerStatus(0);
+
     // read parameters
-    if ( aItem.GetNextInt(expectedPowerStatus) )
-    {
+    if (aItem.GetNextInt(expectedPowerStatus))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedPowerStatus." );
-    }
+        }
     currentPowerStatus = iSettings->EngineSettings().IsPowerOn();
-    if ( currentPowerStatus != expectedPowerStatus )
+    if (currentPowerStatus != expectedPowerStatus)
         {
-        INFO_2( "Failed: currentPowerStatus=%i, expectedPowerStatus=%i.", currentPowerStatus, expectedPowerStatus  );
+        INFO_2( "Failed: currentPowerStatus=%i, expectedPowerStatus=%i.", currentPowerStatus, expectedPowerStatus );
         err = KErrUnexpectedValue;
         }
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetPowerOn()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetPowerOn( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint powerStatus( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SetPowerOn(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint powerStatus(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt(powerStatus) )
-    {
+    if (aItem.GetNextInt(powerStatus))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: powerStatus." );
-    }
-    err = iSettings->RadioSetter().SetPowerOn( powerStatus );
+        }
+    err = iSettings->RadioSetter().SetPowerOn(powerStatus);
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::TunedFrequency()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::TunedFrequency( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::TunedFrequency(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TUint expectedTunedFrequency( 0 );
-    TUint currentTunedFrequency( 0 );
-    
+    TInt err(KErrNone);
+    TUint expectedTunedFrequency(0);
+    TUint currentTunedFrequency(0);
+
     // read parameters
-    if ( aItem.GetNextInt(expectedTunedFrequency) )
-    {
+    if (aItem.GetNextInt(expectedTunedFrequency))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedTunedFrequency." );
-    }
+        }
     currentTunedFrequency = iSettings->EngineSettings().TunedFrequency();
-    if ( currentTunedFrequency != expectedTunedFrequency )
+    if (currentTunedFrequency != expectedTunedFrequency)
         {
-        INFO_2( "Failed: currentTunedFrequency=%i, expectedTunedFrequency=%i.", currentTunedFrequency, expectedTunedFrequency  );
+        INFO_2( "Failed: currentTunedFrequency=%i, expectedTunedFrequency=%i.", currentTunedFrequency, expectedTunedFrequency );
         err = KErrUnexpectedValue;
         }
     return err;
-}
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetTunedFrequency()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetTunedFrequency( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TUint tunedFrequency( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SetTunedFrequency(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TUint tunedFrequency(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt( tunedFrequency ) )
-    {
+    if (aItem.GetNextInt(tunedFrequency))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: tunedFrequency." );
-    }
-    err = iSettings->RadioSetter().SetTunedFrequency( tunedFrequency );
+        }
+    err = iSettings->RadioSetter().SetTunedFrequency(tunedFrequency);
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::DefaultMinVolumeLevel()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::DefaultMinVolumeLevel( CStifItemParser& /*aItem*/ )
-{
+TInt CSettingsTestModule::DefaultMinVolumeLevel(CStifItemParser& /*aItem*/)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TUint currentDefaultMinVolumeLevel( iSettings->EngineSettings().DefaultMinVolumeLevel() );
+    TInt err(KErrNone);
+    TUint currentDefaultMinVolumeLevel(
+            iSettings->EngineSettings().DefaultMinVolumeLevel());
     INFO_1( "OK currentDefaultMinVolumeLevel=%i", currentDefaultMinVolumeLevel );
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::CountRegions()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::CountRegions( CStifItemParser& /*aItem*/ )
-{
+TInt CSettingsTestModule::CountRegions(CStifItemParser& /*aItem*/)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-     TUint currentRegionCount( iSettings->EngineSettings().CountRegions() );
+    TInt err(KErrNone);
+    TUint currentRegionCount(iSettings->EngineSettings().CountRegions());
     INFO_1( "OK currentRegionCount=%i", currentRegionCount );
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::Region()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::Region( CStifItemParser& /*aItem*/ )
-{
+TInt CSettingsTestModule::Region(CStifItemParser& /*aItem*/)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TInt regionIndex( iSettings->EngineSettings().RegionId() );
+    TInt err(KErrNone);
+    TInt regionIndex(iSettings->EngineSettings().RegionId());
     //CRadioRegion& radioRegion( iSettings->EngineSettings().RegionIndexForId( regionIndex ) );
     // 17.5.2010: Region handling has to be reimplemented anyways, so don't make any detailed tets
     // Above won't work because called function RegionIndexForId() is private one.
-    
+
     return err;
-}
-
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::RegionId()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::RegionId( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::RegionId(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt expectedRegionIndex( 0 );
-    TInt currentRegionIndex( 0 );
-    TInt err( KErrNone );
-    
+    TInt expectedRegionIndex(0);
+    TInt currentRegionIndex(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt( expectedRegionIndex ) )
-    {
+    if (aItem.GetNextInt(expectedRegionIndex))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedRegionIndex." );
-    }
+        }
     currentRegionIndex = iSettings->EngineSettings().RegionId();
-    if ( currentRegionIndex != expectedRegionIndex )
+    if (currentRegionIndex != expectedRegionIndex)
         {
         INFO_2( "Failed: currentRegionIndex=%i, expectedRegionIndex=%i.", currentRegionIndex, expectedRegionIndex );
         err = KErrUnexpectedValue;
         }
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetRegionId()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetRegionId( CStifItemParser& aItem )
-{
-    FUNC_LOG;    
-    TInt regionId( 0 );
-    TInt err( KErrNone );
-    
+TInt CSettingsTestModule::SetRegionId(CStifItemParser& aItem)
+    {
+    FUNC_LOG;
+    TInt regionId(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt( regionId ) )
-    {
+    if (aItem.GetNextInt(regionId))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: regionId." );
-    }
-    err = iSettings->RadioSetter().SetRegionId( regionId );
+        }
+    err = iSettings->RadioSetter().SetRegionId(regionId);
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::FrequencyStepSize()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::FrequencyStepSize( CStifItemParser& /*aItem*/ )
-{
+TInt CSettingsTestModule::FrequencyStepSize(CStifItemParser& /*aItem*/)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TUint32 currentFrequencyStepSize( iSettings->EngineSettings().FrequencyStepSize() );
+    TInt err(KErrNone);
+    TUint32 currentFrequencyStepSize(
+            iSettings->EngineSettings().FrequencyStepSize());
     INFO_1( "OK currentFrequencyStepSize=%i", currentFrequencyStepSize );
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::MaxFrequency()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::MaxFrequency( CStifItemParser& /*aItem*/ )
-{
+TInt CSettingsTestModule::MaxFrequency(CStifItemParser& /*aItem*/)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TUint32 currentMaxFrequency( iSettings->EngineSettings().MaxFrequency() );
+    TInt err(KErrNone);
+    TUint32 currentMaxFrequency(iSettings->EngineSettings().MaxFrequency());
     INFO_1( "OK currentMaxFrequency=%i", currentMaxFrequency );
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::MinFrequency()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::MinFrequency( CStifItemParser& /*aItem*/ )
-{
+TInt CSettingsTestModule::MinFrequency(CStifItemParser& /*aItem*/)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TUint32 currentMinFrequency( iSettings->EngineSettings().MinFrequency() );
+    TInt err(KErrNone);
+    TUint32 currentMinFrequency(iSettings->EngineSettings().MinFrequency());
     INFO_1( "OK currentMinFrequency=%i", currentMinFrequency );
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::DecimalCount()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::DecimalCount( CStifItemParser& /*aItem*/ )
-{
+TInt CSettingsTestModule::DecimalCount(CStifItemParser& /*aItem*/)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TInt currentDecimalCount( iSettings->EngineSettings().DecimalCount() );
+    TInt err(KErrNone);
+    TInt currentDecimalCount(iSettings->EngineSettings().DecimalCount());
     INFO_1( "OK currentDecimalCount=%i", currentDecimalCount );
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::DefaultRegion()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::DefaultRegion( CStifItemParser& /*aItem*/ )
-{
+TInt CSettingsTestModule::DefaultRegion(CStifItemParser& /*aItem*/)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TRadioRegion defaultRegion( iSettings->EngineSettings().DefaultRegion() );
+    TInt err(KErrNone);
+    TRadioRegion defaultRegion(iSettings->EngineSettings().DefaultRegion());
     INFO_1( "OK defaultRegion=%i", defaultRegion );
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::NetworkId()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::NetworkId( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::NetworkId(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
+    TInt err(KErrNone);
     TPtrC expectedNetworkId;
-    if ( aItem.GetNextString(expectedNetworkId) )
-    {
+    if (aItem.GetNextString(expectedNetworkId))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedNetworkId." );
+        }
+    INFO_1( "expectedNetworkId=%S.", &expectedNetworkId );
+    TPtrC actualNetworkId(iSettings->EngineSettings().NetworkId());
+    if (!actualNetworkId.Compare(expectedNetworkId))
+        {
+        INFO_2( "Failed: actualNetworkId=%S, expectedNetworkId=%S.", &actualNetworkId, &expectedNetworkId );
+        err = KErrUnexpectedValue;
+        }
+    return err;
     }
-    INFO_1( "expectedNetworkId=%S.", &expectedNetworkId  );
-    TPtrC actualNetworkId( iSettings->EngineSettings().NetworkId() );
-    if ( !actualNetworkId.Compare( expectedNetworkId ) )
-    {
-        INFO_2( "Failed: actualNetworkId=%S, expectedNetworkId=%S.", &actualNetworkId, &expectedNetworkId  );
-        err = KErrUnexpectedValue;
-    }
-    return err;
-}
-
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::CountryCode()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::CountryCode( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::CountryCode(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
+    TInt err(KErrNone);
     TPtrC expectedCountryCode;
-    if ( aItem.GetNextString(expectedCountryCode) )
-    {
+    if (aItem.GetNextString(expectedCountryCode))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: expectedCountryCode." );
+        }
+    INFO_1( "expectedCountryCode=%S.", &expectedCountryCode );
+    TPtrC actualCountryCode(iSettings->EngineSettings().CountryCode());
+    if (!actualCountryCode.Compare(expectedCountryCode))
+        {
+        INFO_2( "Failed: actualCountryCode=%S, expectedCountryCode=%S.", &actualCountryCode, &expectedCountryCode );
+        err = KErrUnexpectedValue;
+        }
+    return err;
     }
-    INFO_1( "expectedCountryCode=%S.", &expectedCountryCode  );
-    TPtrC actualCountryCode( iSettings->EngineSettings().CountryCode() );
-    if ( !actualCountryCode.Compare( expectedCountryCode ) )
-    {
-        INFO_2( "Failed: actualCountryCode=%S, expectedCountryCode=%S.", &actualCountryCode, &expectedCountryCode  );
-        err = KErrUnexpectedValue;
-    }
-    return err;
-}
-
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetNetworkId()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetNetworkId( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::SetNetworkId(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
+    TInt err(KErrNone);
     TPtrC networkId;
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    if ( aItem.GetNextString(networkId) )
-    {
+    aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
+    if (aItem.GetNextString(networkId))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: networkId." );
-    }
-    err = iSettings->RadioSetter().SetNetworkId( networkId );
+        }
+    err = iSettings->RadioSetter().SetNetworkId(networkId);
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::SetCountryCode()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::SetCountryCode( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::SetCountryCode(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
+    TInt err(KErrNone);
     TPtrC countryCode;
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    if ( aItem.GetNextString(countryCode) )
-    {
+    aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
+    if (aItem.GetNextString(countryCode))
+        {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: countryCode." );
-    }
-    err = iSettings->RadioSetter().SetCountryCode( countryCode );
+        }
+    err = iSettings->RadioSetter().SetCountryCode(countryCode);
     return err;
-}
-
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::ReadConfigurableKeysL()
 // Returns: Errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::ReadConfigurableKeysL( CStifItemParser& /*aItem*/ )
-{
+TInt CSettingsTestModule::ReadConfigurableKeysL(CStifItemParser& /*aItem*/)
+    {
     FUNC_LOG;
-    TInt err( KErrNone );
-    TInt regionAllowed( EFalse );
-    CRepository* cr( CRepository::NewL(KRadioCRUid) );
-    if ( cr )
+    TInt err(KErrNone);
+    TInt regionAllowed(EFalse);
+    CRepository* cr(CRepository::NewL(KRadioCRUid));
+    if (cr)
         {
-        cr->Get( KRadioCRRegionAllowedJapan, regionAllowed );
+        cr->Get(KRadioCRRegionAllowedJapan, regionAllowed);
         delete cr;
         }
-    INFO_1( "KRadioCRRegionAllowedJapan status = %i", regionAllowed  );
+    INFO_1( "KRadioCRRegionAllowedJapan status = %i", regionAllowed );
     return err;
-}
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::RdsAfSearchSettingChangedL()
 // Returns: None.
 // -----------------------------------------------------------------------------
-void CSettingsTestModule::RdsAfSearchSettingChangedL( TBool /*aEnabled*/ )
-{
-    FUNC_LOG;    
-}
+void CSettingsTestModule::RdsAfSearchSettingChangedL(TBool /*aEnabled*/)
+    {
+    FUNC_LOG;
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::RegionSettingChangedL()
 // Returns: None.
 // -----------------------------------------------------------------------------
-void CSettingsTestModule::RegionSettingChangedL( TInt /*aRegion*/ )
-{
+void CSettingsTestModule::RegionSettingChangedL(TInt /*aRegion*/)
+    {
     FUNC_LOG;
-    iRegionSettingChangeNotified = ETrue;   
-}
+    iRegionSettingChangeNotified = ETrue;
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::tstSetRegionIdL()
 // Returns: errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::tstSetRegionIdL( CStifItemParser& aItem )
-{
+TInt CSettingsTestModule::tstSetRegionIdL(CStifItemParser& aItem)
+    {
     FUNC_LOG;
-    TInt regionId( 0 );
-    TInt err( KErrNone );
-    
+    TInt regionId(0);
+    TInt err(KErrNone);
+
     // read parameters
-    if ( aItem.GetNextInt( regionId ) )
+    if (aItem.GetNextInt(regionId))
         {
         err = KErrBadTestParameter;
         ERROR( err, "Missing Parameter: regionId." );
         }
-    CRepository* cr( CRepository::NewLC(KRadioCRUid) );
-    User::LeaveIfError( cr->Set( KRadioCRCurrentRegion,  regionId ) );
+    CRepository* cr(CRepository::NewLC(KRadioCRUid));
+    User::LeaveIfError(cr->Set(KRadioCRCurrentRegion, regionId));
     CleanupStack::Pop(cr);
     delete cr;
     return err;
-}
+    }
 
 // -----------------------------------------------------------------------------
 // CSettingsTestModule::tstResetStartCount()
 // Returns: errors.
 // -----------------------------------------------------------------------------
-TInt CSettingsTestModule::tstResetStartCount( CStifItemParser& /*aItem*/ )
-{
+TInt CSettingsTestModule::tstResetStartCount(CStifItemParser& /*aItem*/)
+    {
     FUNC_LOG;
-    TInt countResetValue( 0 );
-    TInt err( KErrNone );
-    
-    CRepository* cr( CRepository::NewLC(KRadioCRUid) );
-    User::LeaveIfError( cr->Set( KRadioCRLaunchCount,  countResetValue ) );
+    TInt countResetValue(0);
+    TInt err(KErrNone);
+
+    CRepository* cr(CRepository::NewLC(KRadioCRUid));
+    User::LeaveIfError(cr->Set(KRadioCRLaunchCount, countResetValue));
     CleanupStack::Pop(cr);
     delete cr;
     return err;
-}
-
-// -----------------------------------------------------------------------------
-// CSettingsTestModuleModule::?member_function
-// ?implementation_description
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-/*
-TInt CSettingsTestModule::?member_function(
-   CItemParser& aItem )
-   {
-   FUNC_LOG;
-
-   ?code
-
-   }
-*/
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
-//  [End of File] - Do not remove
+    }
+//  End of File
--- a/radiohswidget/radiohswidget.pro	Fri Sep 17 08:29:29 2010 +0300
+++ b/radiohswidget/radiohswidget.pro	Mon Oct 04 00:17:30 2010 +0300
@@ -37,6 +37,7 @@
 UID = 2002E6D6
 
 RESOURCES += resources.qrc
+TRANSLATIONS = radiohswidget.ts
 
 symbian: {
 
--- a/rom/fmradio.iby	Fri Sep 17 08:29:29 2010 +0300
+++ b/rom/fmradio.iby	Mon Oct 04 00:17:30 2010 +0300
@@ -25,6 +25,8 @@
 
 S60_APP_EXE(fmradio)
 data=ZRESOURCE\apps\fmradio.mif                                     APP_RESOURCE_DIR\fmradio.mif
+data=ZRESOURCE\hb\splashml\fmradio.splashml                         RESOURCE_FILES_DIR/hb/splashml/fmradio.splashml
+data=ZRESOURCE\hb\splashml\fmradio.docml                            RESOURCE_FILES_DIR/hb/splashml/fmradio.docml
 data=ZPRIVATE\10003a3f\import\apps\fmradio_reg.rsc                  private\10003a3f\import\apps\fmradio_reg.rsc
 
 file=ABI_DIR\BUILD_DIR\fmradioenginewrapper.dll                     SHARED_LIB_DIR\fmradioenginewrapper.dll       PAGED