--- a/common/radio_global.h Tue Jul 06 14:16:27 2010 +0300
+++ b/common/radio_global.h Wed Aug 18 09:49:03 2010 +0300
@@ -29,8 +29,6 @@
*/
const int FREQUENCY_MULTIPLIER = 1000000;
-const int ONE_HERTZ = FREQUENCY_MULTIPLIER;
-
/**
* Desired amount of steps in the volume control in the UI
*/
@@ -42,6 +40,14 @@
const int DEFAULT_VOLUME_LEVEL = 4;
/**
+ * UIDs for checking the offline mode
+ * Values copied from CoreApplicationUIsSDKCRKeys.h
+ */
+const long int CENREP_CORE_APPLICATION_UIS = 0x101F876C;
+const unsigned long int ID_NETWORK_CONNECTION_ALLOWED = 0x00000001;
+enum NetworkConnectionAllowed { NetworkNotAllowed = 0, NetworkAllowed };
+
+/**
* Roles used when interacting with the radio station model
*/
namespace RadioRole
@@ -105,16 +111,6 @@
};
}
-namespace Scroll
-{
- enum Direction
- {
- Shortest,
- Left,
- Right
- };
-}
-
namespace StationSkip
{
enum Mode
@@ -142,7 +138,8 @@
StationScan,
StationScanFinalize,
StationScanNoStationsFound,
- SkipFromEngine
+ SkipFromEngine,
+ SkipFromWidget
};
}
--- a/radioapp/buildflags.pri Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/buildflags.pri Wed Aug 18 09:49:03 2010 +0300
@@ -26,6 +26,9 @@
# Flag to use dummy radio data read from XML file
# RADIOFLAGS += USE_DUMMY_RADIO_DATA
+# Flag to initialize radio stations with dummy rt
+# RADIOFLAGS += INIT_STATIONS_WITH_DUMMY_RT
+
# Functional testing
# RADIOFLAGS += SHOW_CALLSIGN_IN_ANY_REGION
@@ -114,11 +117,9 @@
DESTDIR = ../bin
LIBS += -L../bin
INCLUDEPATH += ../radioenginewrapper/inc
- INCLUDEPATH += ../../internal/win32_stubs
- HEADERS += ../../internal/win32_stubs/qsysteminfo.h
- HEADERS += ../../internal/win32_stubs/xqserviceutil.h
- HEADERS += ../../internal/win32_stubs/xqserviceprovider.h
- SOURCES += ../../internal/win32_stubs/win32_stubs.cpp
+ INCLUDEPATH += ../radioapplication/win32_stubs
+ HEADERS += ../radioapplication/win32_stubs/*.h
+ SOURCES += ../radioapplication/win32_stubs/*.cpp
}
USE_UNFROZEN_EXPORTS {
--- a/radioapp/bwins/fmradiouiengineu.def Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/bwins/fmradiouiengineu.def Wed Aug 18 09:49:03 2010 +0300
@@ -7,47 +7,47 @@
?qt_metacast@RadioUiEngine@@UAEPAXPBD@Z @ 6 NONAME ; void * RadioUiEngine::qt_metacast(char const *)
?parseFrequency@RadioStation@@SA?AVQString@@I@Z @ 7 NONAME ; class QString RadioStation::parseFrequency(unsigned int)
??0RadioStation@@QAE@ABV0@@Z @ 8 NONAME ; RadioStation::RadioStation(class RadioStation const &)
- ?skipStation@RadioUiEngine@@QAEIW4Mode@StationSkip@@I@Z @ 9 NONAME ; unsigned int RadioUiEngine::skipStation(enum StationSkip::Mode, unsigned int)
- ?region@RadioUiEngine@@QBE?AW4Region@RadioRegion@@XZ @ 10 NONAME ; enum RadioRegion::Region RadioUiEngine::region(void) const
- ?frequency@RadioStation@@QBEIXZ @ 11 NONAME ; unsigned int RadioStation::frequency(void) const
- ?setFavoriteByFrequency@RadioStationModel@@QAEXI_N@Z @ 12 NONAME ; void RadioStationModel::setFavoriteByFrequency(unsigned int, bool)
- ?isInitialized@RadioUiEngine@@QBE_NXZ @ 13 NONAME ; bool RadioUiEngine::isInitialized(void) const
- ?staticMetaObject@RadioUiEngine@@2UQMetaObject@@B @ 14 NONAME ; struct QMetaObject const RadioUiEngine::staticMetaObject
- ?indexFromFrequency@RadioStationModel@@QAEHI@Z @ 15 NONAME ; int RadioStationModel::indexFromFrequency(unsigned int)
- ?stationsInRange@RadioStationModel@@QAE?AV?$QList@VRadioStation@@@@II@Z @ 16 NONAME ; class QList<class RadioStation> RadioStationModel::stationsInRange(unsigned int, unsigned int)
- ?settings@RadioUiEngine@@QAEAAVRadioSettingsIf@@XZ @ 17 NONAME ; class RadioSettingsIf & RadioUiEngine::settings(void)
- ?emitAntennaStatusChanged@RadioUiEngine@@AAEX_N@Z @ 18 NONAME ; void RadioUiEngine::emitAntennaStatusChanged(bool)
- ?hasPiCode@RadioStation@@QBE_NXZ @ 19 NONAME ; bool RadioStation::hasPiCode(void) const
- ??_ERadioScannerEngine@@UAE@I@Z @ 20 NONAME ; RadioScannerEngine::~RadioScannerEngine(unsigned int)
- ?setFavoriteByPreset@RadioStationModel@@QAEXH_N@Z @ 21 NONAME ; void RadioStationModel::setFavoriteByPreset(int, bool)
- ?rdsAvailabilityChanged@RadioUiEngine@@IAEX_N@Z @ 22 NONAME ; void RadioUiEngine::rdsAvailabilityChanged(bool)
- ?findPresetIndex@RadioStationModel@@QAEHHAAVRadioStation@@@Z @ 23 NONAME ; int RadioStationModel::findPresetIndex(int, class RadioStation &)
- ?stationHandlerIf@RadioStationModel@@QAEAAVRadioStationHandlerIf@@XZ @ 24 NONAME ; class RadioStationHandlerIf & RadioStationModel::stationHandlerIf(void)
- ?qt_metacall@RadioHistoryModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 25 NONAME ; int RadioHistoryModel::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?frequencyString@RadioStation@@QBE?AVQString@@XZ @ 26 NONAME ; class QString RadioStation::frequencyString(void) const
- ?emitVolumeChanged@RadioUiEngine@@AAEXH@Z @ 27 NONAME ; void RadioUiEngine::emitVolumeChanged(int)
- ?qt_metacall@RadioUiEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 28 NONAME ; int RadioUiEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?reset@RadioStation@@AAEXXZ @ 29 NONAME ; void RadioStation::reset(void)
- ?createScannerEngine@RadioUiEngine@@QAE?AV?$QSharedPointer@VRadioScannerEngine@@@@XZ @ 30 NONAME ; class QSharedPointer<class RadioScannerEngine> RadioUiEngine::createScannerEngine(void)
- ?emitAudioRouteChanged@RadioUiEngine@@AAEX_N@Z @ 31 NONAME ; void RadioUiEngine::emitAudioRouteChanged(bool)
- ?addItem@RadioHistoryModel@@AAEXABVQString@@0ABVRadioStation@@@Z @ 32 NONAME ; void RadioHistoryModel::addItem(class QString const &, class QString const &, class RadioStation const &)
- ?d_func@RadioScannerEngine@@ABEPBVRadioScannerEnginePrivate@@XZ @ 33 NONAME ; class RadioScannerEnginePrivate const * RadioScannerEngine::d_func(void) const
- ??4RadioStation@@QAEAAV0@ABV0@@Z @ 34 NONAME ; class RadioStation & RadioStation::operator=(class RadioStation const &)
- ?toggleAudioRoute@RadioUiEngine@@QAEXXZ @ 35 NONAME ; void RadioUiEngine::toggleAudioRoute(void)
- ?stationModel@RadioUiEngine@@QAEAAVRadioStationModel@@XZ @ 36 NONAME ; class RadioStationModel & RadioUiEngine::stationModel(void)
- ?unsetType@RadioStation@@QAEXV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 37 NONAME ; void RadioStation::unsetType(class QFlags<enum RadioStation::TypeFlag>)
- ?toggleTagging@RadioHistoryModel@@QAEXABVRadioHistoryItem@@H@Z @ 38 NONAME ; void RadioHistoryModel::toggleTagging(class RadioHistoryItem const &, int)
- ?muteChanged@RadioUiEngine@@IAEX_N@Z @ 39 NONAME ; void RadioUiEngine::muteChanged(bool)
- ?maxFrequency@RadioUiEngine@@QBEIXZ @ 40 NONAME ; unsigned int RadioUiEngine::maxFrequency(void) const
- ?setIcons@RadioStationModel@@QAEXABVQIcon@@0@Z @ 41 NONAME ; void RadioStationModel::setIcons(class QIcon const &, class QIcon const &)
- ?saveStation@RadioStationModel@@QAEXAAVRadioStation@@@Z @ 42 NONAME ; void RadioStationModel::saveStation(class RadioStation &)
- ?getStaticMetaObject@RadioHistoryModel@@SAABUQMetaObject@@XZ @ 43 NONAME ; struct QMetaObject const & RadioHistoryModel::getStaticMetaObject(void)
- ?findUnusedPresetIndex@RadioStationModel@@AAEHXZ @ 44 NONAME ; int RadioStationModel::findUnusedPresetIndex(void)
- ?hasChanged@RadioStation@@QBE_NXZ @ 45 NONAME ; bool RadioStation::hasChanged(void) const
- ?trUtf8@RadioScannerEngine@@SA?AVQString@@PBD0H@Z @ 46 NONAME ; class QString RadioScannerEngine::trUtf8(char const *, char const *, int)
- ?isScanning@RadioUiEngine@@QBE_NXZ @ 47 NONAME ; bool RadioUiEngine::isScanning(void) const
- ?dynamicPsCheckEnded@RadioStationModel@@AAEXXZ @ 48 NONAME ; void RadioStationModel::dynamicPsCheckEnded(void)
- ?d_func@RadioHistoryModel@@AAEPAVRadioHistoryModelPrivate@@XZ @ 49 NONAME ; class RadioHistoryModelPrivate * RadioHistoryModel::d_func(void)
+ ?region@RadioUiEngine@@QBE?AW4Region@RadioRegion@@XZ @ 9 NONAME ; enum RadioRegion::Region RadioUiEngine::region(void) const
+ ?frequency@RadioStation@@QBEIXZ @ 10 NONAME ; unsigned int RadioStation::frequency(void) const
+ ?setFavoriteByFrequency@RadioStationModel@@QAEXI_N@Z @ 11 NONAME ; void RadioStationModel::setFavoriteByFrequency(unsigned int, bool)
+ ?isInitialized@RadioUiEngine@@QBE_NXZ @ 12 NONAME ; bool RadioUiEngine::isInitialized(void) const
+ ?staticMetaObject@RadioUiEngine@@2UQMetaObject@@B @ 13 NONAME ; struct QMetaObject const RadioUiEngine::staticMetaObject
+ ?indexFromFrequency@RadioStationModel@@QAEHI@Z @ 14 NONAME ; int RadioStationModel::indexFromFrequency(unsigned int)
+ ?stationsInRange@RadioStationModel@@QAE?AV?$QList@VRadioStation@@@@II@Z @ 15 NONAME ; class QList<class RadioStation> RadioStationModel::stationsInRange(unsigned int, unsigned int)
+ ?settings@RadioUiEngine@@QAEAAVRadioSettingsIf@@XZ @ 16 NONAME ; class RadioSettingsIf & RadioUiEngine::settings(void)
+ ?emitAntennaStatusChanged@RadioUiEngine@@AAEX_N@Z @ 17 NONAME ; void RadioUiEngine::emitAntennaStatusChanged(bool)
+ ?hasPiCode@RadioStation@@QBE_NXZ @ 18 NONAME ; bool RadioStation::hasPiCode(void) const
+ ??_ERadioScannerEngine@@UAE@I@Z @ 19 NONAME ; RadioScannerEngine::~RadioScannerEngine(unsigned int)
+ ?setFavoriteByPreset@RadioStationModel@@QAEXH_N@Z @ 20 NONAME ; void RadioStationModel::setFavoriteByPreset(int, bool)
+ ?rdsAvailabilityChanged@RadioUiEngine@@IAEX_N@Z @ 21 NONAME ; void RadioUiEngine::rdsAvailabilityChanged(bool)
+ ?findPresetIndex@RadioStationModel@@QAEHHAAVRadioStation@@@Z @ 22 NONAME ; int RadioStationModel::findPresetIndex(int, class RadioStation &)
+ ?stationHandlerIf@RadioStationModel@@QAEAAVRadioStationHandlerIf@@XZ @ 23 NONAME ; class RadioStationHandlerIf & RadioStationModel::stationHandlerIf(void)
+ ?qt_metacall@RadioHistoryModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 24 NONAME ; int RadioHistoryModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?frequencyString@RadioStation@@QBE?AVQString@@XZ @ 25 NONAME ; class QString RadioStation::frequencyString(void) const
+ ?emitVolumeChanged@RadioUiEngine@@AAEXH@Z @ 26 NONAME ; void RadioUiEngine::emitVolumeChanged(int)
+ ?qt_metacall@RadioUiEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 27 NONAME ; int RadioUiEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?reset@RadioStation@@AAEXXZ @ 28 NONAME ; void RadioStation::reset(void)
+ ?createScannerEngine@RadioUiEngine@@QAE?AV?$QSharedPointer@VRadioScannerEngine@@@@XZ @ 29 NONAME ; class QSharedPointer<class RadioScannerEngine> RadioUiEngine::createScannerEngine(void)
+ ?emitAudioRouteChanged@RadioUiEngine@@AAEX_N@Z @ 30 NONAME ; void RadioUiEngine::emitAudioRouteChanged(bool)
+ ?addItem@RadioHistoryModel@@AAEXABVQString@@0ABVRadioStation@@@Z @ 31 NONAME ; void RadioHistoryModel::addItem(class QString const &, class QString const &, class RadioStation const &)
+ ?d_func@RadioScannerEngine@@ABEPBVRadioScannerEnginePrivate@@XZ @ 32 NONAME ; class RadioScannerEnginePrivate const * RadioScannerEngine::d_func(void) const
+ ??4RadioStation@@QAEAAV0@ABV0@@Z @ 33 NONAME ; class RadioStation & RadioStation::operator=(class RadioStation const &)
+ ?toggleAudioRoute@RadioUiEngine@@QAEXXZ @ 34 NONAME ; void RadioUiEngine::toggleAudioRoute(void)
+ ?stationModel@RadioUiEngine@@QAEAAVRadioStationModel@@XZ @ 35 NONAME ; class RadioStationModel & RadioUiEngine::stationModel(void)
+ ?unsetType@RadioStation@@QAEXV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 36 NONAME ; void RadioStation::unsetType(class QFlags<enum RadioStation::TypeFlag>)
+ ?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)
@@ -73,19 +73,19 @@
?trUtf8@RadioHistoryModel@@SA?AVQString@@PBD0H@Z @ 72 NONAME ; class QString RadioHistoryModel::trUtf8(char const *, char const *, int)
?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 *)
- ?hasRds@RadioStation@@QBE_NXZ @ 75 NONAME ; bool RadioStation::hasRds(void) 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)
+ ?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)
@@ -141,115 +141,115 @@
?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 *)
- ?presetIndex@RadioStation@@QBEHXZ @ 143 NONAME ; int RadioStation::presetIndex(void) const
- ?cancel@RadioScannerEngine@@QAEXXZ @ 144 NONAME ; void RadioScannerEngine::cancel(void)
- ?staticMetaObject@RadioStationModel@@2UQMetaObject@@B @ 145 NONAME ; struct QMetaObject const RadioStationModel::staticMetaObject
- ?addRecognizedSong@RadioUiEngine@@QAEXABVQString@@0ABVRadioStation@@@Z @ 146 NONAME ; void RadioUiEngine::addRecognizedSong(class QString const &, class QString const &, class RadioStation const &)
- ?emitMuteChanged@RadioUiEngine@@AAEX_N@Z @ 147 NONAME ; void RadioUiEngine::emitMuteChanged(bool)
- ?setDynamicPsText@RadioStation@@AAEXABVQString@@@Z @ 148 NONAME ; void RadioStation::setDynamicPsText(class QString const &)
- ?currentSongReset@RadioHistoryModel@@IAEXXZ @ 149 NONAME ; void RadioHistoryModel::currentSongReset(void)
- ?removeByPresetIndex@RadioStationModel@@QAEXH@Z @ 150 NONAME ; void RadioStationModel::removeByPresetIndex(int)
- ?d_func@RadioScannerEngine@@AAEPAVRadioScannerEnginePrivate@@XZ @ 151 NONAME ; class RadioScannerEnginePrivate * RadioScannerEngine::d_func(void)
- ?isRenamed@RadioStation@@QBE_NXZ @ 152 NONAME ; bool RadioStation::isRenamed(void) const
- ?stationAt@RadioStationModel@@QBE?AVRadioStation@@H@Z @ 153 NONAME ; class RadioStation RadioStationModel::stationAt(int) const
- ?removeStation@RadioStationModel@@QAEXABVRadioStation@@@Z @ 154 NONAME ; void RadioStationModel::removeStation(class RadioStation const &)
- ?openMusicStore@RadioUiEngine@@QAEXABVRadioHistoryItem@@W4MusicStore@1@@Z @ 155 NONAME ; void RadioUiEngine::openMusicStore(class RadioHistoryItem const &, enum RadioUiEngine::MusicStore)
- ?metaObject@RadioUiEngine@@UBEPBUQMetaObject@@XZ @ 156 NONAME ; struct QMetaObject const * RadioUiEngine::metaObject(void) const
- ?dynamicPsChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 157 NONAME ; void RadioStationModel::dynamicPsChanged(class RadioStation const &)
- ?setType@RadioStation@@QAEXV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 158 NONAME ; void RadioStation::setType(class QFlags<enum RadioStation::TypeFlag>)
- ??0RadioHistoryItem@@QAE@XZ @ 159 NONAME ; RadioHistoryItem::RadioHistoryItem(void)
- ?removeByFrequency@RadioStationModel@@QAEXI@Z @ 160 NONAME ; void RadioStationModel::removeByFrequency(unsigned int)
- ?isUsingLoudspeaker@RadioUiEngine@@QBE_NXZ @ 161 NONAME ; bool RadioUiEngine::isUsingLoudspeaker(void) const
- ?findPresetIndex@RadioStationModel@@QAEHH@Z @ 162 NONAME ; int RadioStationModel::findPresetIndex(int)
- ??0RadioHistoryItem@@QAE@ABV0@@Z @ 163 NONAME ; RadioHistoryItem::RadioHistoryItem(class RadioHistoryItem const &)
- ?metaObject@RadioStationModel@@UBEPBUQMetaObject@@XZ @ 164 NONAME ; struct QMetaObject const * RadioStationModel::metaObject(void) const
- ?getStaticMetaObject@RadioStationModel@@SAABUQMetaObject@@XZ @ 165 NONAME ; struct QMetaObject const & RadioStationModel::getStaticMetaObject(void)
- ?isPoweringOff@RadioUiEngine@@QBE_NXZ @ 166 NONAME ; bool RadioUiEngine::isPoweringOff(void) const
- ?lastTunedFrequency@RadioUiEngine@@SAII@Z @ 167 NONAME ; unsigned int RadioUiEngine::lastTunedFrequency(unsigned int)
- ?tr@RadioScannerEngine@@SA?AVQString@@PBD0@Z @ 168 NONAME ; class QString RadioScannerEngine::tr(char const *, char const *)
- ?removeAll@RadioHistoryModel@@QAEX_N@Z @ 169 NONAME ; void RadioHistoryModel::removeAll(bool)
- ?hasGenre@RadioStation@@QBE_NXZ @ 170 NONAME ; bool RadioStation::hasGenre(void) const
- ?audioRouteChanged@RadioUiEngine@@IAEX_N@Z @ 171 NONAME ; void RadioUiEngine::audioRouteChanged(bool)
- ?setPowerOn@RadioUiEngine@@QAEXXZ @ 172 NONAME ; void RadioUiEngine::setPowerOn(void)
- ?tr@RadioHistoryModel@@SA?AVQString@@PBD0H@Z @ 173 NONAME ; class QString RadioHistoryModel::tr(char const *, char const *, int)
- ?dynamicPsText@RadioStation@@QBE?AVQString@@XZ @ 174 NONAME ; class QString RadioStation::dynamicPsText(void) const
- ?isFirstTimeStart@RadioUiEngine@@QAE_NXZ @ 175 NONAME ; bool RadioUiEngine::isFirstTimeStart(void)
- ?setMute@RadioUiEngine@@QAEX_N@Z @ 176 NONAME ; void RadioUiEngine::setMute(bool)
- ?setGenre@RadioStation@@AAEXH@Z @ 177 NONAME ; void RadioStation::setGenre(int)
- ??0RadioScannerEngine@@QAE@AAVRadioUiEnginePrivate@@@Z @ 178 NONAME ; RadioScannerEngine::RadioScannerEngine(class RadioUiEnginePrivate &)
- ?emitRadioStatusChanged@RadioUiEngine@@AAEX_N@Z @ 179 NONAME ; void RadioUiEngine::emitRadioStatusChanged(bool)
- ??_ERadioUiEngine@@UAE@I@Z @ 180 NONAME ; RadioUiEngine::~RadioUiEngine(unsigned int)
- ?init@RadioUiEngine@@QAE_NXZ @ 181 NONAME ; bool RadioUiEngine::init(void)
- ?setRadioText@RadioStation@@AAEXABVQString@@@Z @ 182 NONAME ; void RadioStation::setRadioText(class QString const &)
- ?changeFlags@RadioStation@@QBE?AV?$QFlags@W4ChangeFlag@RadioStation@@@@XZ @ 183 NONAME ; class QFlags<enum RadioStation::ChangeFlag> RadioStation::changeFlags(void) const
- ?findFrequency@RadioStationModel@@QBE_NIAAVRadioStation@@W4Criteria@FindCriteria@@@Z @ 184 NONAME ; bool RadioStationModel::findFrequency(unsigned int, class RadioStation &, enum FindCriteria::Criteria) const
- ?d_func@RadioStationModel@@AAEPAVRadioStationModelPrivate@@XZ @ 185 NONAME ; class RadioStationModelPrivate * RadioStationModel::d_func(void)
- ?addRadioTextPlus@RadioHistoryModel@@AAEXHABVQString@@ABVRadioStation@@@Z @ 186 NONAME ; void RadioHistoryModel::addRadioTextPlus(int, class QString const &, class RadioStation const &)
- ?qt_metacast@RadioHistoryModel@@UAEPAXPBD@Z @ 187 NONAME ; void * RadioHistoryModel::qt_metacast(char const *)
- ?setDetail@RadioStationModel@@QAEXV?$QFlags@W4DetailFlag@RadioStationModel@@@@@Z @ 188 NONAME ; void RadioStationModel::setDetail(class QFlags<enum RadioStationModel::DetailFlag>)
- ??1RadioUiEngine@@UAE@XZ @ 189 NONAME ; RadioUiEngine::~RadioUiEngine(void)
- ?tr@RadioHistoryModel@@SA?AVQString@@PBD0@Z @ 190 NONAME ; class QString RadioHistoryModel::tr(char const *, char const *)
- ?time@RadioHistoryItem@@QBE?AVQString@@XZ @ 191 NONAME ; class QString RadioHistoryItem::time(void) const
- ?reportChangedData@RadioHistoryModel@@AAEXHH@Z @ 192 NONAME ; void RadioHistoryModel::reportChangedData(int, int)
- ?artist@RadioHistoryItem@@QBE?AVQString@@XZ @ 193 NONAME ; class QString RadioHistoryItem::artist(void) const
- ?initialize@RadioStationModel@@QAEXPAVRadioPresetStorage@@PAVRadioEngineWrapper@@@Z @ 194 NONAME ; void RadioStationModel::initialize(class RadioPresetStorage *, class RadioEngineWrapper *)
- ?isType@RadioStation@@QBE_NV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 195 NONAME ; bool RadioStation::isType(class QFlags<enum RadioStation::TypeFlag>) const
- ?resetCurrentSong@RadioHistoryModel@@QAEXXZ @ 196 NONAME ; void RadioHistoryModel::resetCurrentSong(void)
- ?d_func@RadioHistoryModel@@ABEPBVRadioHistoryModelPrivate@@XZ @ 197 NONAME ; class RadioHistoryModelPrivate const * RadioHistoryModel::d_func(void) const
- ?volumeChanged@RadioUiEngine@@IAEXH@Z @ 198 NONAME ; void RadioUiEngine::volumeChanged(int)
- ?title@RadioHistoryItem@@QBE?AVQString@@XZ @ 199 NONAME ; class QString RadioHistoryItem::title(void) const
- ?stationFound@RadioScannerEngine@@IAEXABVRadioStation@@@Z @ 200 NONAME ; void RadioScannerEngine::stationFound(class RadioStation const &)
- ?resetChangeFlags@RadioStation@@QAEXXZ @ 201 NONAME ; void RadioStation::resetChangeFlags(void)
- ?powerOffRequested@RadioUiEngine@@IAEXXZ @ 202 NONAME ; void RadioUiEngine::powerOffRequested(void)
- ?metaObject@RadioScannerEngine@@UBEPBUQMetaObject@@XZ @ 203 NONAME ; struct QMetaObject const * RadioScannerEngine::metaObject(void) const
- ?qt_metacast@RadioScannerEngine@@UAEPAXPBD@Z @ 204 NONAME ; void * RadioScannerEngine::qt_metacast(char const *)
- ?callSignChar@RadioStation@@AAEDI@Z @ 205 NONAME ; char RadioStation::callSignChar(unsigned int)
- ??_ERadioStation@@UAE@I@Z @ 206 NONAME ; RadioStation::~RadioStation(unsigned int)
- ?antennaStatusChanged@RadioUiEngine@@IAEX_N@Z @ 207 NONAME ; void RadioUiEngine::antennaStatusChanged(bool)
- ?staticMetaObject@RadioHistoryModel@@2UQMetaObject@@B @ 208 NONAME ; struct QMetaObject const RadioHistoryModel::staticMetaObject
- ?setFirstTimeStartPerformed@RadioUiEngine@@QAEX_N@Z @ 209 NONAME ; void RadioUiEngine::setFirstTimeStartPerformed(bool)
- ??0RadioStation@@AAE@HI@Z @ 210 NONAME ; RadioStation::RadioStation(int, unsigned int)
- ?qt_metacall@RadioStationModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 211 NONAME ; int RadioStationModel::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?isDetached@RadioStation@@QBE_NXZ @ 212 NONAME ; bool RadioStation::isDetached(void) const
- ??0RadioHistoryItem@@QAE@ABVQString@@0@Z @ 213 NONAME ; RadioHistoryItem::RadioHistoryItem(class QString const &, class QString const &)
- ?name@RadioStation@@QBE?AVQString@@XZ @ 214 NONAME ; class QString RadioStation::name(void) const
- ?hasDataChanged@RadioStation@@QBE_NV?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 215 NONAME ; bool RadioStation::hasDataChanged(class QFlags<enum RadioStation::ChangeFlag>) const
- ?removeAll@RadioStationModel@@QAEXW4RemoveMode@1@@Z @ 216 NONAME ; void RadioStationModel::removeAll(enum RadioStationModel::RemoveMode)
- ?data@RadioStationModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 217 NONAME ; class QVariant RadioStationModel::data(class QModelIndex const &, int) const
- ?itemAdded@RadioHistoryModel@@IAEXXZ @ 218 NONAME ; void RadioHistoryModel::itemAdded(void)
- ?getStaticMetaObject@RadioUiEngine@@SAABUQMetaObject@@XZ @ 219 NONAME ; struct QMetaObject const & RadioUiEngine::getStaticMetaObject(void)
- ?setShowDetails@RadioHistoryModel@@QAEX_N@Z @ 220 NONAME ; void RadioHistoryModel::setShowDetails(bool)
- ?launchSongRecognition@RadioUiEngine@@QAEXXZ @ 221 NONAME ; void RadioUiEngine::launchSongRecognition(void)
- ?rowCount@RadioStationModel@@UBEHABVQModelIndex@@@Z @ 222 NONAME ; int RadioStationModel::rowCount(class QModelIndex const &) const
- ?iterateCallSign@RadioStation@@AAE?AVQString@@HH@Z @ 223 NONAME ; class QString RadioStation::iterateCallSign(int, int)
- ?toggleMute@RadioUiEngine@@QAEXXZ @ 224 NONAME ; void RadioUiEngine::toggleMute(void)
- ?piCode@RadioStation@@QBEHXZ @ 225 NONAME ; int RadioStation::piCode(void) const
- ?genreToString@RadioUiEngine@@QAE?AVQString@@HW4Target@GenreTarget@@@Z @ 226 NONAME ; class QString RadioUiEngine::genreToString(int, enum GenreTarget::Target)
- ??0RadioUiEngine@@QAE@PAVQObject@@@Z @ 227 NONAME ; RadioUiEngine::RadioUiEngine(class QObject *)
- ?hasRadiotext@RadioStation@@QBE_NXZ @ 228 NONAME ; bool RadioStation::hasRadiotext(void) const
- ?setCurrentTime@RadioHistoryItem@@QAEXXZ @ 229 NONAME ; void RadioHistoryItem::setCurrentTime(void)
- ?d_func@RadioUiEngine@@AAEPAVRadioUiEnginePrivate@@XZ @ 230 NONAME ; class RadioUiEnginePrivate * RadioUiEngine::d_func(void)
- ?station@RadioHistoryItem@@QBE?AVQString@@XZ @ 231 NONAME ; class QString RadioHistoryItem::station(void) const
- ??_ERadioHistoryModel@@UAE@I@Z @ 232 NONAME ; RadioHistoryModel::~RadioHistoryModel(unsigned int)
- ?minFrequency@RadioUiEngine@@QBEIXZ @ 233 NONAME ; unsigned int RadioUiEngine::minFrequency(void) const
- ?isTagged@RadioHistoryItem@@QBE_NXZ @ 234 NONAME ; bool RadioHistoryItem::isTagged(void) const
- ?addScannedFrequency@RadioScannerEngine@@QAEXI@Z @ 235 NONAME ; void RadioScannerEngine::addScannedFrequency(unsigned int)
- ?setShowTagged@RadioHistoryModel@@QAEX_N@Z @ 236 NONAME ; void RadioHistoryModel::setShowTagged(bool)
- ?setPresetIndex@RadioStation@@AAEXH@Z @ 237 NONAME ; void RadioStation::setPresetIndex(int)
- ?setName@RadioStation@@AAEXABVQString@@@Z @ 238 NONAME ; void RadioStation::setName(class QString const &)
- ?trUtf8@RadioHistoryModel@@SA?AVQString@@PBD0@Z @ 239 NONAME ; class QString RadioHistoryModel::trUtf8(char const *, char const *)
- ?frequencyStepSize@RadioUiEngine@@QBEIXZ @ 240 NONAME ; unsigned int RadioUiEngine::frequencyStepSize(void) const
- ??0RadioHistoryModel@@AAE@AAVRadioUiEngine@@@Z @ 241 NONAME ; RadioHistoryModel::RadioHistoryModel(class RadioUiEngine &)
- ?trUtf8@RadioStationModel@@SA?AVQString@@PBD0H@Z @ 242 NONAME ; class QString RadioStationModel::trUtf8(char const *, char const *, int)
- ?radioTextReceived@RadioStationModel@@IAEXABVRadioStation@@@Z @ 243 NONAME ; void RadioStationModel::radioTextReceived(class RadioStation const &)
- ?isFavorite@RadioStation@@QBE_NXZ @ 244 NONAME ; bool RadioStation::isFavorite(void) const
- ?metaObject@RadioHistoryModel@@UBEPBUQMetaObject@@XZ @ 245 NONAME ; struct QMetaObject const * RadioHistoryModel::metaObject(void) const
- ?seekingStarted@RadioUiEngine@@IAEXH@Z @ 246 NONAME ; void RadioUiEngine::seekingStarted(int)
- ?emitSeekingStarted@RadioUiEngine@@AAEXW4Direction@Seek@@@Z @ 247 NONAME ; void RadioUiEngine::emitSeekingStarted(enum Seek::Direction)
- ?isRecognizedByRds@RadioHistoryItem@@QBE_NXZ @ 248 NONAME ; bool RadioHistoryItem::isRecognizedByRds(void) const
- ?setFavorites@RadioStationModel@@QAEXABV?$QList@VQModelIndex@@@@@Z @ 249 NONAME ; void RadioStationModel::setFavorites(class QList<class QModelIndex> const &)
- ?setArtist@RadioHistoryItem@@QAEXABVQString@@@Z @ 250 NONAME ; void RadioHistoryItem::setArtist(class QString const &)
- ??_ERadioStationModel@@UAE@I@Z @ 251 NONAME ; RadioStationModel::~RadioStationModel(unsigned int)
- ?setTitle@RadioHistoryItem@@QAEXABVQString@@@Z @ 252 NONAME ; void RadioHistoryItem::setTitle(class QString const &)
- ?lastVolume@RadioUiEngine@@SAHXZ @ 253 NONAME ; int RadioUiEngine::lastVolume(void)
+ ?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 *)
+ ?callSignChar@RadioStation@@AAEDI@Z @ 206 NONAME ; char RadioStation::callSignChar(unsigned int)
+ ??_ERadioStation@@UAE@I@Z @ 207 NONAME ; RadioStation::~RadioStation(unsigned int)
+ ?antennaStatusChanged@RadioUiEngine@@IAEX_N@Z @ 208 NONAME ; void RadioUiEngine::antennaStatusChanged(bool)
+ ?staticMetaObject@RadioHistoryModel@@2UQMetaObject@@B @ 209 NONAME ; struct QMetaObject const RadioHistoryModel::staticMetaObject
+ ?setFirstTimeStartPerformed@RadioUiEngine@@QAEX_N@Z @ 210 NONAME ; void RadioUiEngine::setFirstTimeStartPerformed(bool)
+ ??0RadioStation@@AAE@HI@Z @ 211 NONAME ; RadioStation::RadioStation(int, unsigned int)
+ ?qt_metacall@RadioStationModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 212 NONAME ; int RadioStationModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isDetached@RadioStation@@QBE_NXZ @ 213 NONAME ; bool RadioStation::isDetached(void) const
+ ??0RadioHistoryItem@@QAE@ABVQString@@0@Z @ 214 NONAME ; RadioHistoryItem::RadioHistoryItem(class QString const &, class QString const &)
+ ?name@RadioStation@@QBE?AVQString@@XZ @ 215 NONAME ; class QString RadioStation::name(void) const
+ ?hasDataChanged@RadioStation@@QBE_NV?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 216 NONAME ; bool RadioStation::hasDataChanged(class QFlags<enum RadioStation::ChangeFlag>) const
+ ?removeAll@RadioStationModel@@QAEXW4RemoveMode@1@@Z @ 217 NONAME ; void RadioStationModel::removeAll(enum RadioStationModel::RemoveMode)
+ ?data@RadioStationModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 218 NONAME ; class QVariant RadioStationModel::data(class QModelIndex const &, int) const
+ ?itemAdded@RadioHistoryModel@@IAEXXZ @ 219 NONAME ; void RadioHistoryModel::itemAdded(void)
+ ?getStaticMetaObject@RadioUiEngine@@SAABUQMetaObject@@XZ @ 220 NONAME ; struct QMetaObject const & RadioUiEngine::getStaticMetaObject(void)
+ ?setShowDetails@RadioHistoryModel@@QAEX_N@Z @ 221 NONAME ; void RadioHistoryModel::setShowDetails(bool)
+ ?launchSongRecognition@RadioUiEngine@@QAEXXZ @ 222 NONAME ; void RadioUiEngine::launchSongRecognition(void)
+ ?rowCount@RadioStationModel@@UBEHABVQModelIndex@@@Z @ 223 NONAME ; int RadioStationModel::rowCount(class QModelIndex const &) const
+ ?iterateCallSign@RadioStation@@AAE?AVQString@@HH@Z @ 224 NONAME ; class QString RadioStation::iterateCallSign(int, int)
+ ?toggleMute@RadioUiEngine@@QAEXXZ @ 225 NONAME ; void RadioUiEngine::toggleMute(void)
+ ?piCode@RadioStation@@QBEHXZ @ 226 NONAME ; int RadioStation::piCode(void) const
+ ?genreToString@RadioUiEngine@@QAE?AVQString@@HW4Target@GenreTarget@@@Z @ 227 NONAME ; class QString RadioUiEngine::genreToString(int, enum GenreTarget::Target)
+ ??0RadioUiEngine@@QAE@PAVQObject@@@Z @ 228 NONAME ; RadioUiEngine::RadioUiEngine(class QObject *)
+ ?hasRadiotext@RadioStation@@QBE_NXZ @ 229 NONAME ; bool RadioStation::hasRadiotext(void) const
+ ?setCurrentTime@RadioHistoryItem@@QAEXXZ @ 230 NONAME ; void RadioHistoryItem::setCurrentTime(void)
+ ?d_func@RadioUiEngine@@AAEPAVRadioUiEnginePrivate@@XZ @ 231 NONAME ; class RadioUiEnginePrivate * RadioUiEngine::d_func(void)
+ ?station@RadioHistoryItem@@QBE?AVQString@@XZ @ 232 NONAME ; class QString RadioHistoryItem::station(void) const
+ ??_ERadioHistoryModel@@UAE@I@Z @ 233 NONAME ; RadioHistoryModel::~RadioHistoryModel(unsigned int)
+ ?minFrequency@RadioUiEngine@@QBEIXZ @ 234 NONAME ; unsigned int RadioUiEngine::minFrequency(void) const
+ ?isTagged@RadioHistoryItem@@QBE_NXZ @ 235 NONAME ; bool RadioHistoryItem::isTagged(void) const
+ ?addScannedFrequency@RadioScannerEngine@@QAEXI@Z @ 236 NONAME ; void RadioScannerEngine::addScannedFrequency(unsigned int)
+ ?setShowTagged@RadioHistoryModel@@QAEX_N@Z @ 237 NONAME ; void RadioHistoryModel::setShowTagged(bool)
+ ?setPresetIndex@RadioStation@@AAEXH@Z @ 238 NONAME ; void RadioStation::setPresetIndex(int)
+ ?setName@RadioStation@@AAEXABVQString@@@Z @ 239 NONAME ; void RadioStation::setName(class QString const &)
+ ?trUtf8@RadioHistoryModel@@SA?AVQString@@PBD0@Z @ 240 NONAME ; class QString RadioHistoryModel::trUtf8(char const *, char const *)
+ ?frequencyStepSize@RadioUiEngine@@QBEIXZ @ 241 NONAME ; unsigned int RadioUiEngine::frequencyStepSize(void) const
+ ??0RadioHistoryModel@@AAE@AAVRadioUiEngine@@@Z @ 242 NONAME ; RadioHistoryModel::RadioHistoryModel(class RadioUiEngine &)
+ ?trUtf8@RadioStationModel@@SA?AVQString@@PBD0H@Z @ 243 NONAME ; class QString RadioStationModel::trUtf8(char const *, char const *, int)
+ ?radioTextReceived@RadioStationModel@@IAEXABVRadioStation@@@Z @ 244 NONAME ; void RadioStationModel::radioTextReceived(class RadioStation const &)
+ ?isFavorite@RadioStation@@QBE_NXZ @ 245 NONAME ; bool RadioStation::isFavorite(void) const
+ ?metaObject@RadioHistoryModel@@UBEPBUQMetaObject@@XZ @ 246 NONAME ; struct QMetaObject const * RadioHistoryModel::metaObject(void) const
+ ?seekingStarted@RadioUiEngine@@IAEXH@Z @ 247 NONAME ; void RadioUiEngine::seekingStarted(int)
+ ?emitSeekingStarted@RadioUiEngine@@AAEXW4Direction@Seek@@@Z @ 248 NONAME ; void RadioUiEngine::emitSeekingStarted(enum Seek::Direction)
+ ?isRecognizedByRds@RadioHistoryItem@@QBE_NXZ @ 249 NONAME ; bool RadioHistoryItem::isRecognizedByRds(void) const
+ ?setFavorites@RadioStationModel@@QAEXABV?$QList@VQModelIndex@@@@@Z @ 250 NONAME ; void RadioStationModel::setFavorites(class QList<class QModelIndex> const &)
+ ?setArtist@RadioHistoryItem@@QAEXABVQString@@@Z @ 251 NONAME ; void RadioHistoryItem::setArtist(class QString const &)
+ ??_ERadioStationModel@@UAE@I@Z @ 252 NONAME ; RadioStationModel::~RadioStationModel(unsigned int)
+ ?setTitle@RadioHistoryItem@@QAEXABVQString@@@Z @ 253 NONAME ; void RadioHistoryItem::setTitle(class QString const &)
--- a/radioapp/bwins/fmradiowidgetsu.def Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/bwins/fmradiowidgetsu.def Wed Aug 18 09:49:03 2010 +0300
@@ -1,9 +1,9 @@
EXPORTS
?trUtf8@RadioWindow@@SA?AVQString@@PBD0H@Z @ 1 NONAME ; class QString RadioWindow::trUtf8(char const *, char const *, int)
?nextIndex@RadioStationCarousel@@AAEHH@Z @ 2 NONAME ; int RadioStationCarousel::nextIndex(int)
- ?scrollToIndex@RadioStationCarousel@@AAEXHW4Direction@Scroll@@V?$QFlags@W4ScrollFlag@RadioStationCarousel@@@@@Z @ 3 NONAME ; void RadioStationCarousel::scrollToIndex(int, enum Scroll::Direction, class QFlags<enum RadioStationCarousel::ScrollFlag>)
- ?drawOffScreen@RadioStationCarousel@@QAEXAAVQPainter@@@Z @ 4 NONAME ; void RadioStationCarousel::drawOffScreen(class QPainter &)
- ?updateItem@RadioFrequencyStrip@@AAEXPAVRadioFrequencyItem@@II@Z @ 5 NONAME ; void RadioFrequencyStrip::updateItem(class RadioFrequencyItem *, unsigned int, unsigned int)
+ ?stationsInRange@RadioFrequencyStrip@@EBE?AV?$QList@UStationMarker@FrequencyStrip@@@@II@Z @ 3 NONAME ; class QList<struct FrequencyStrip::StationMarker> RadioFrequencyStrip::stationsInRange(unsigned int, unsigned int) const
+ ?scrollToIndex@RadioStationCarousel@@AAEXHW4Direction@Scroll@@V?$QFlags@W4ScrollFlag@RadioStationCarousel@@@@@Z @ 4 NONAME ; void RadioStationCarousel::scrollToIndex(int, enum Scroll::Direction, class QFlags<enum RadioStationCarousel::ScrollFlag>)
+ ?drawOffScreen@RadioStationCarousel@@QAEXAAVQPainter@@@Z @ 5 NONAME ; void RadioStationCarousel::drawOffScreen(class QPainter &)
?qt_metacast@RadioFadingLabel@@UAEPAXPBD@Z @ 6 NONAME ; void * RadioFadingLabel::qt_metacast(char const *)
?findStation@RadioStationCarousel@@EAE?AVRadioStation@@I@Z @ 7 NONAME ; class RadioStation RadioStationCarousel::findStation(unsigned int)
?animateNewStation@RadioStationCarousel@@QAEXABVRadioStation@@@Z @ 8 NONAME ; void RadioStationCarousel::animateNewStation(class RadioStation const &)
@@ -11,155 +11,124 @@
?gestureEvent@RadioStationCarousel@@EAEXPAVQGestureEvent@@@Z @ 10 NONAME ; void RadioStationCarousel::gestureEvent(class QGestureEvent *)
?setFavoriteIcon@RadioStationCarousel@@QAEXABVHbIcon@@@Z @ 11 NONAME ; void RadioStationCarousel::setFavoriteIcon(class HbIcon const &)
?update@RadioStationCarousel@@AAEXABVRadioStation@@@Z @ 12 NONAME ; void RadioStationCarousel::update(class RadioStation const &)
- ?addFrequencyPos@RadioFrequencyStrip@@AAEXHIPAVRadioFrequencyItem@@@Z @ 13 NONAME ; void RadioFrequencyStrip::addFrequencyPos(int, unsigned int, class RadioFrequencyItem *)
- ?trUtf8@RadioFadingLabel@@SA?AVQString@@PBD0@Z @ 14 NONAME ; class QString RadioFadingLabel::trUtf8(char const *, char const *)
- ?setScanningMode@RadioFrequencyStrip@@QAEX_N@Z @ 15 NONAME ; void RadioFrequencyStrip::setScanningMode(bool)
- ?handleUrlClicked@RadioStationCarousel@@EAEXABVRadioStation@@@Z @ 16 NONAME ; void RadioStationCarousel::handleUrlClicked(class RadioStation const &)
- ?createItemPrimitive@RadioFrequencyStrip@@EAEPAVQGraphicsItem@@PAV2@@Z @ 17 NONAME ; class QGraphicsItem * RadioFrequencyStrip::createItemPrimitive(class QGraphicsItem *)
- ?skipRequested@RadioStationCarousel@@IAEXH@Z @ 18 NONAME ; void RadioStationCarousel::skipRequested(int)
- ?setTextWithoutFading@RadioFadingLabel@@QAEXABVQString@@@Z @ 19 NONAME ; void RadioFadingLabel::setTextWithoutFading(class QString const &)
- ?updateAntennaStatus@RadioWindow@@AAEX_N@Z @ 20 NONAME ; void RadioWindow::updateAntennaStatus(bool)
- ?handleIconClicked@RadioStationCarousel@@EAEXABVRadioStation@@@Z @ 21 NONAME ; void RadioStationCarousel::handleIconClicked(class RadioStation const &)
- ?resizeEvent@RadioFrequencyStrip@@EAEXPAVQGraphicsSceneResizeEvent@@@Z @ 22 NONAME ; void RadioFrequencyStrip::resizeEvent(class QGraphicsSceneResizeEvent *)
- ?init@RadioFrequencyStrip@@QAEXPAVRadioUiEngine@@AAVRadioUiLoader@@@Z @ 23 NONAME ; void RadioFrequencyStrip::init(class RadioUiEngine *, class RadioUiLoader &)
- ?initButtons@RadioFrequencyStrip@@AAEXXZ @ 24 NONAME ; void RadioFrequencyStrip::initButtons(void)
- ?qt_metacall@RadioStationCarousel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 25 NONAME ; int RadioStationCarousel::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?isInitialized@RadioStationCarousel@@ABE_NXZ @ 26 NONAME ; bool RadioStationCarousel::isInitialized(void) const
- ?init@RadioStationCarousel@@QAEXAAVRadioUiLoader@@PAVRadioUiEngine@@@Z @ 27 NONAME ; void RadioStationCarousel::init(class RadioUiLoader &, class RadioUiEngine *)
- ?manualSeekChanged@RadioFrequencyStrip@@IAEX_N@Z @ 28 NONAME ; void RadioFrequencyStrip::manualSeekChanged(bool)
- ?scrollPosChanged@RadioStationCarousel@@AAEXABVQPointF@@@Z @ 29 NONAME ; void RadioStationCarousel::scrollPosChanged(class QPointF const &)
- ?frequencyChanged@RadioFrequencyStrip@@IAEXIHH@Z @ 30 NONAME ; void RadioFrequencyStrip::frequencyChanged(unsigned int, int, int)
- ?setAutoScrollTime@RadioStationCarousel@@QAEXH@Z @ 31 NONAME ; void RadioStationCarousel::setAutoScrollTime(int)
- ?prevIndex@RadioStationCarousel@@AAEHH@Z @ 32 NONAME ; int RadioStationCarousel::prevIndex(int)
- ?trUtf8@RadioStationCarousel@@SA?AVQString@@PBD0@Z @ 33 NONAME ; class QString RadioStationCarousel::trUtf8(char const *, char const *)
- ?tr@RadioStationCarousel@@SA?AVQString@@PBD0@Z @ 34 NONAME ; class QString RadioStationCarousel::tr(char const *, char const *)
- ?skip@RadioStationCarousel@@AAEXW4Mode@StationSkip@@@Z @ 35 NONAME ; void RadioStationCarousel::skip(enum StationSkip::Mode)
- ?selectorPos@RadioFrequencyStrip@@ABEHXZ @ 36 NONAME ; int RadioFrequencyStrip::selectorPos(void) const
- ??1RadioWindow@@UAE@XZ @ 37 NONAME ; RadioWindow::~RadioWindow(void)
- ?skipRequested@RadioFrequencyStrip@@IAEXH@Z @ 38 NONAME ; void RadioFrequencyStrip::skipRequested(int)
- ?setText@RadioFadingLabel@@QAEXABVQString@@@Z @ 39 NONAME ; void RadioFadingLabel::setText(class QString const &)
- ?showEvent@RadioStationCarousel@@EAEXPAVQShowEvent@@@Z @ 40 NONAME ; void RadioStationCarousel::showEvent(class QShowEvent *)
- ?mousePressEvent@RadioStationCarousel@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 41 NONAME ; void RadioStationCarousel::mousePressEvent(class QGraphicsSceneMouseEvent *)
- ?trUtf8@RadioFrequencyStrip@@SA?AVQString@@PBD0@Z @ 42 NONAME ; class QString RadioFrequencyStrip::trUtf8(char const *, char const *)
- ?handleScrollingEnd@RadioFrequencyStrip@@AAEXXZ @ 43 NONAME ; void RadioFrequencyStrip::handleScrollingEnd(void)
- ?activateView@RadioWindow@@AAEXPAVRadioViewBase@@ABVQString@@V?$QFlags@W4ViewSwitchFlag@Hb@@@@@Z @ 44 NONAME ; void RadioWindow::activateView(class RadioViewBase *, class QString const &, class QFlags<enum Hb::ViewSwitchFlag>)
- ?calculateDifference@RadioStationCarousel@@AAEHHAAW4Direction@Scroll@@@Z @ 45 NONAME ; int RadioStationCarousel::calculateDifference(int, enum Scroll::Direction &)
- ?orientationSection@RadioWindow@@QAE?AVQString@@XZ @ 46 NONAME ; class QString RadioWindow::orientationSection(void)
- ?updateStation@RadioFrequencyStrip@@AAEXABVQModelIndex@@HH@Z @ 47 NONAME ; void RadioFrequencyStrip::updateStation(class QModelIndex const &, int, int)
- ??1RadioFrequencyStrip@@UAE@XZ @ 48 NONAME ; RadioFrequencyStrip::~RadioFrequencyStrip(void)
- ?setItemHeight@RadioFrequencyStrip@@QAEXH@Z @ 49 NONAME ; void RadioFrequencyStrip::setItemHeight(int)
- ?queryOfflineUsage@RadioWindow@@AAEXW4Profile@QSystemDeviceInfo@QtMobility@@@Z @ 50 NONAME ; void RadioWindow::queryOfflineUsage(enum QtMobility::QSystemDeviceInfo::Profile)
- ?cancelAnimation@RadioStationCarousel@@QAEXXZ @ 51 NONAME ; void RadioStationCarousel::cancelAnimation(void)
- ?changeEvent@RadioFrequencyStrip@@EAEXPAVQEvent@@@Z @ 52 NONAME ; void RadioFrequencyStrip::changeEvent(class QEvent *)
- ?staticMetaObject@RadioStationCarousel@@2UQMetaObject@@B @ 53 NONAME ; struct QMetaObject const RadioStationCarousel::staticMetaObject
- ?qt_metacall@RadioFadingLabel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 54 NONAME ; int RadioFadingLabel::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??0RadioFrequencyStrip@@QAE@XZ @ 55 NONAME ; RadioFrequencyStrip::RadioFrequencyStrip(void)
- ?timerEvent@RadioFrequencyStrip@@EAEXPAVQTimerEvent@@@Z @ 56 NONAME ; void RadioFrequencyStrip::timerEvent(class QTimerEvent *)
- ?setCenterIndex@RadioStationCarousel@@AAEXHV?$QFlags@W4ScrollFlag@RadioStationCarousel@@@@@Z @ 57 NONAME ; void RadioStationCarousel::setCenterIndex(int, class QFlags<enum RadioStationCarousel::ScrollFlag>)
- ?resizeEvent@RadioStationCarousel@@EAEXPAVQGraphicsSceneResizeEvent@@@Z @ 58 NONAME ; void RadioStationCarousel::resizeEvent(class QGraphicsSceneResizeEvent *)
- ?scrollPosChanged@RadioFrequencyStrip@@EAEXXZ @ 59 NONAME ; void RadioFrequencyStrip::scrollPosChanged(void)
- ?updateStations@RadioStationCarousel@@AAEXXZ @ 60 NONAME ; void RadioStationCarousel::updateStations(void)
- ??_ERadioWindow@@UAE@I@Z @ 61 NONAME ; RadioWindow::~RadioWindow(unsigned int)
- ?tr@RadioFrequencyStrip@@SA?AVQString@@PBD0@Z @ 62 NONAME ; class QString RadioFrequencyStrip::tr(char const *, char const *)
- ?initSelector@RadioFrequencyStrip@@AAEXXZ @ 63 NONAME ; void RadioFrequencyStrip::initSelector(void)
- ?qt_metacall@RadioWindow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 64 NONAME ; int RadioWindow::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@RadioFrequencyStrip@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 65 NONAME ; int RadioFrequencyStrip::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?metaObject@RadioFrequencyStrip@@UBEPBUQMetaObject@@XZ @ 66 NONAME ; struct QMetaObject const * RadioFrequencyStrip::metaObject(void) const
- ?startEffect@RadioFadingLabel@@AAEXABVQString@@PBD@Z @ 67 NONAME ; void RadioFadingLabel::startEffect(class QString const &, char const *)
- ?setFrequency@RadioFrequencyStrip@@QAEXIHW4Direction@Scroll@@@Z @ 68 NONAME ; void RadioFrequencyStrip::setFrequency(unsigned int, int, enum Scroll::Direction)
- ?activateHistoryView@RadioWindow@@QAEXXZ @ 69 NONAME ; void RadioWindow::activateHistoryView(void)
- ??_ERadioStationCarousel@@UAE@I@Z @ 70 NONAME ; RadioStationCarousel::~RadioStationCarousel(unsigned int)
- ?initPositions@RadioFrequencyStrip@@AAEXXZ @ 71 NONAME ; void RadioFrequencyStrip::initPositions(void)
- ?tr@RadioFadingLabel@@SA?AVQString@@PBD0@Z @ 72 NONAME ; class QString RadioFadingLabel::tr(char const *, char const *)
- ?getStaticMetaObject@RadioFadingLabel@@SAABUQMetaObject@@XZ @ 73 NONAME ; struct QMetaObject const & RadioFadingLabel::getStaticMetaObject(void)
- ?itemHeight@RadioFrequencyStrip@@QBEHXZ @ 74 NONAME ; int RadioFrequencyStrip::itemHeight(void) const
- ?setManualSeekMode@RadioStationCarousel@@QAEX_N@Z @ 75 NONAME ; void RadioStationCarousel::setManualSeekMode(bool)
- ?qt_metacast@RadioWindow@@UAEPAXPBD@Z @ 76 NONAME ; void * RadioWindow::qt_metacast(char const *)
- ?trimHtml@RadioFadingLabel@@AAE?AVQString@@ABV2@@Z @ 77 NONAME ; class QString RadioFadingLabel::trimHtml(class QString const &)
- ?tr@RadioWindow@@SA?AVQString@@PBD0@Z @ 78 NONAME ; class QString RadioWindow::tr(char const *, char const *)
- ?favoriteIcon@RadioStationCarousel@@UBE?AVHbIcon@@XZ @ 79 NONAME ; class HbIcon RadioStationCarousel::favoriteIcon(void) const
- ?mouseReleaseEvent@RadioFrequencyStrip@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 80 NONAME ; void RadioFrequencyStrip::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
- ?updateItemPrimitive@RadioFrequencyStrip@@EAEXPAVQGraphicsItem@@H@Z @ 81 NONAME ; void RadioFrequencyStrip::updateItemPrimitive(class QGraphicsItem *, int)
- ?getStaticMetaObject@RadioFrequencyStrip@@SAABUQMetaObject@@XZ @ 82 NONAME ; struct QMetaObject const & RadioFrequencyStrip::getStaticMetaObject(void)
- ?showErrorMessage@RadioWindow@@QAEXABVQString@@@Z @ 83 NONAME ; void RadioWindow::showErrorMessage(class QString const &)
- ??0RadioFadingLabel@@QAE@PAVQGraphicsItem@@@Z @ 84 NONAME ; RadioFadingLabel::RadioFadingLabel(class QGraphicsItem *)
- ?updateStationsInRange@RadioFrequencyStrip@@AAEXHH_N@Z @ 85 NONAME ; void RadioFrequencyStrip::updateStationsInRange(int, int, bool)
- ?initModel@RadioFrequencyStrip@@AAEXXZ @ 86 NONAME ; void RadioFrequencyStrip::initModel(void)
- ?frequency@RadioFrequencyStrip@@QBEIXZ @ 87 NONAME ; unsigned int RadioFrequencyStrip::frequency(void) const
- ?isInManualSeek@RadioStationCarousel@@EBE_NXZ @ 88 NONAME ; bool RadioStationCarousel::isInManualSeek(void) const
- ??1RadioStationCarousel@@UAE@XZ @ 89 NONAME ; RadioStationCarousel::~RadioStationCarousel(void)
- ??_ERadioFrequencyStrip@@UAE@I@Z @ 90 NONAME ; RadioFrequencyStrip::~RadioFrequencyStrip(unsigned int)
- ?setFadingEnabled@RadioFadingLabel@@QAEX_N@Z @ 91 NONAME ; void RadioFadingLabel::setFadingEnabled(bool)
- ?localizeGenre@RadioStationCarousel@@EAE?AVQString@@H@Z @ 92 NONAME ; class QString RadioStationCarousel::localizeGenre(int)
- ?mousePressEvent@RadioFrequencyStrip@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 93 NONAME ; void RadioFrequencyStrip::mousePressEvent(class QGraphicsSceneMouseEvent *)
- ?showVolumeLevel@RadioWindow@@AAEXH@Z @ 94 NONAME ; void RadioWindow::showVolumeLevel(int)
- ?getStaticMetaObject@RadioWindow@@SAABUQMetaObject@@XZ @ 95 NONAME ; struct QMetaObject const & RadioWindow::getStaticMetaObject(void)
- ?trUtf8@RadioWindow@@SA?AVQString@@PBD0@Z @ 96 NONAME ; class QString RadioWindow::trUtf8(char const *, char const *)
- ?toggleManualSeek@RadioFrequencyStrip@@AAEXXZ @ 97 NONAME ; void RadioFrequencyStrip::toggleManualSeek(void)
- ?timerFired@RadioStationCarousel@@AAEXXZ @ 98 NONAME ; void RadioStationCarousel::timerFired(void)
- ?handleRadiotextClicked@RadioStationCarousel@@EAEXABVRadioStation@@@Z @ 99 NONAME ; void RadioStationCarousel::handleRadiotextClicked(class RadioStation const &)
- ?drawPixmap@RadioFrequencyStrip@@AAE?AVQPixmap@@IV?$QList@VRadioStation@@@@PAVRadioFrequencyItem@@@Z @ 100 NONAME ; class QPixmap RadioFrequencyStrip::drawPixmap(unsigned int, class QList<class RadioStation>, class RadioFrequencyItem *)
- ?initEmptyItems@RadioFrequencyStrip@@AAEXXZ @ 101 NONAME ; void RadioFrequencyStrip::initEmptyItems(void)
- ?tr@RadioFadingLabel@@SA?AVQString@@PBD0H@Z @ 102 NONAME ; class QString RadioFadingLabel::tr(char const *, char const *, int)
- ??0RadioWindow@@QAE@PAVQWidget@@@Z @ 103 NONAME ; RadioWindow::RadioWindow(class QWidget *)
- ?updateRadioText@RadioStationCarousel@@AAEXABVRadioStation@@@Z @ 104 NONAME ; void RadioStationCarousel::updateRadioText(class RadioStation const &)
- ?updateAntennaStatus@RadioStationCarousel@@QAEX_N@Z @ 105 NONAME ; void RadioStationCarousel::updateAntennaStatus(bool)
- ?updateFavorite@RadioFrequencyStrip@@QAEXABVRadioStation@@@Z @ 106 NONAME ; void RadioFrequencyStrip::updateFavorite(class RadioStation const &)
- ?setFrequency@RadioStationCarousel@@QAEXIHW4Direction@Scroll@@@Z @ 107 NONAME ; void RadioStationCarousel::setFrequency(unsigned int, int, enum Scroll::Direction)
- ?setInfoText@RadioStationCarousel@@QAEXW4Type@CarouselInfoText@@@Z @ 108 NONAME ; void RadioStationCarousel::setInfoText(enum CarouselInfoText::Type)
- ?staticMetaObject@RadioFadingLabel@@2UQMetaObject@@B @ 109 NONAME ; struct QMetaObject const RadioFadingLabel::staticMetaObject
- ?trUtf8@RadioFrequencyStrip@@SA?AVQString@@PBD0H@Z @ 110 NONAME ; class QString RadioFrequencyStrip::trUtf8(char const *, char const *, int)
- ?tr@RadioFrequencyStrip@@SA?AVQString@@PBD0H@Z @ 111 NONAME ; class QString RadioFrequencyStrip::tr(char const *, char const *, int)
- ?getStaticMetaObject@RadioStationCarousel@@SAABUQMetaObject@@XZ @ 112 NONAME ; struct QMetaObject const & RadioStationCarousel::getStaticMetaObject(void)
- ?metaObject@RadioFadingLabel@@UBEPBUQMetaObject@@XZ @ 113 NONAME ; struct QMetaObject const * RadioFadingLabel::metaObject(void) const
- ?metaObject@RadioWindow@@UBEPBUQMetaObject@@XZ @ 114 NONAME ; struct QMetaObject const * RadioWindow::metaObject(void) const
- ?staticMetaObject@RadioFrequencyStrip@@2UQMetaObject@@B @ 115 NONAME ; struct QMetaObject const RadioFrequencyStrip::staticMetaObject
- ?autoScrollTime@RadioStationCarousel@@QBEHXZ @ 116 NONAME ; int RadioStationCarousel::autoScrollTime(void) const
- ?handleRightButton@RadioFrequencyStrip@@AAEXXZ @ 117 NONAME ; void RadioFrequencyStrip::handleRightButton(void)
- ?qt_metacast@RadioStationCarousel@@UAEPAXPBD@Z @ 118 NONAME ; void * RadioStationCarousel::qt_metacast(char const *)
- ?tr@RadioWindow@@SA?AVQString@@PBD0H@Z @ 119 NONAME ; class QString RadioWindow::tr(char const *, char const *, int)
- ?addScannedStation@RadioFrequencyStrip@@QAEXABVRadioStation@@@Z @ 120 NONAME ; void RadioFrequencyStrip::addScannedStation(class RadioStation const &)
- ?handleLongRightButton@RadioFrequencyStrip@@AAEXXZ @ 121 NONAME ; void RadioFrequencyStrip::handleLongRightButton(void)
- ?seekRequested@RadioFrequencyStrip@@IAEXH@Z @ 122 NONAME ; void RadioFrequencyStrip::seekRequested(int)
- ?isInManualSeekMode@RadioFrequencyStrip@@QBE_NXZ @ 123 NONAME ; bool RadioFrequencyStrip::isInManualSeekMode(void) const
- ?scrollToFrequency@RadioFrequencyStrip@@AAEXIW4Direction@Scroll@@HW4Reason@TuneReason@@@Z @ 124 NONAME ; void RadioFrequencyStrip::scrollToFrequency(unsigned int, enum Scroll::Direction, int, enum TuneReason::Reason)
- ??0RadioStationCarousel@@QAE@PAVQGraphicsItem@@@Z @ 125 NONAME ; RadioStationCarousel::RadioStationCarousel(class QGraphicsItem *)
- ?adjustAfterScroll@RadioStationCarousel@@AAEXXZ @ 126 NONAME ; void RadioStationCarousel::adjustAfterScroll(void)
- ?metaObject@RadioStationCarousel@@UBEPBUQMetaObject@@XZ @ 127 NONAME ; struct QMetaObject const * RadioStationCarousel::metaObject(void) const
- ?effectFinished@RadioFadingLabel@@AAEXUEffectStatus@HbEffect@@@Z @ 128 NONAME ; void RadioFadingLabel::effectFinished(struct HbEffect::EffectStatus)
- ?updateOrientation@RadioWindow@@AAEXW4Orientation@Qt@@@Z @ 129 NONAME ; void RadioWindow::updateOrientation(enum Qt::Orientation)
- ?init@RadioWindow@@QAEXPAVQSystemDeviceInfo@QtMobility@@@Z @ 130 NONAME ; void RadioWindow::init(class QtMobility::QSystemDeviceInfo *)
- ?showButtons@RadioFrequencyStrip@@AAEXXZ @ 131 NONAME ; void RadioFrequencyStrip::showButtons(void)
- ?uiEngine@RadioStationCarousel@@QAEPAVRadioUiEngine@@XZ @ 132 NONAME ; class RadioUiEngine * RadioStationCarousel::uiEngine(void)
- ?trUtf8@RadioFadingLabel@@SA?AVQString@@PBD0H@Z @ 133 NONAME ; class QString RadioFadingLabel::trUtf8(char const *, char const *, int)
- ?activateMainView@RadioWindow@@QAEXXZ @ 134 NONAME ; void RadioWindow::activateMainView(void)
- ?setScanningMode@RadioStationCarousel@@QAEX_N@Z @ 135 NONAME ; void RadioStationCarousel::setScanningMode(bool)
- ??1RadioFadingLabel@@UAE@XZ @ 136 NONAME ; RadioFadingLabel::~RadioFadingLabel(void)
- ?setNonFavoriteIcon@RadioStationCarousel@@QAEXABVHbIcon@@@Z @ 137 NONAME ; void RadioStationCarousel::setNonFavoriteIcon(class HbIcon const &)
- ?isInScanningMode@RadioStationCarousel@@QBE_NXZ @ 138 NONAME ; bool RadioStationCarousel::isInScanningMode(void) const
- ?isAntennaAttached@RadioStationCarousel@@QBE_NXZ @ 139 NONAME ; bool RadioStationCarousel::isAntennaAttached(void) const
- ?activateStationsView@RadioWindow@@QAEXXZ @ 140 NONAME ; void RadioWindow::activateStationsView(void)
- ?removeStation@RadioFrequencyStrip@@AAEXABVQModelIndex@@HH@Z @ 141 NONAME ; void RadioFrequencyStrip::removeStation(class QModelIndex const &, int, int)
- ?tr@RadioStationCarousel@@SA?AVQString@@PBD0H@Z @ 142 NONAME ; class QString RadioStationCarousel::tr(char const *, char const *, int)
- ?trimIndex@RadioStationCarousel@@AAEHH@Z @ 143 NONAME ; int RadioStationCarousel::trimIndex(int)
- ?frequencyChanged@RadioStationCarousel@@IAEXIHH@Z @ 144 NONAME ; void RadioStationCarousel::frequencyChanged(unsigned int, int, int)
- ?setAlternateSkippingMode@RadioStationCarousel@@QAEX_N@Z @ 145 NONAME ; void RadioStationCarousel::setAlternateSkippingMode(bool)
- ?initView@RadioWindow@@AAEXXZ @ 146 NONAME ; void RadioWindow::initView(void)
- ?gestureEvent@RadioFrequencyStrip@@EAEXPAVQGestureEvent@@@Z @ 147 NONAME ; void RadioFrequencyStrip::gestureEvent(class QGestureEvent *)
- ?trUtf8@RadioStationCarousel@@SA?AVQString@@PBD0H@Z @ 148 NONAME ; class QString RadioStationCarousel::trUtf8(char const *, char const *, int)
- ?handleLongLeftButton@RadioFrequencyStrip@@AAEXXZ @ 149 NONAME ; void RadioFrequencyStrip::handleLongLeftButton(void)
- ?hideButtons@RadioFrequencyStrip@@AAEXXZ @ 150 NONAME ; void RadioFrequencyStrip::hideButtons(void)
- ?emitFrequencyChanged@RadioFrequencyStrip@@AAEXI@Z @ 151 NONAME ; void RadioFrequencyStrip::emitFrequencyChanged(unsigned int)
- ?handleLeftButton@RadioFrequencyStrip@@AAEXXZ @ 152 NONAME ; void RadioFrequencyStrip::handleLeftButton(void)
- ??_ERadioFadingLabel@@UAE@I@Z @ 153 NONAME ; RadioFadingLabel::~RadioFadingLabel(unsigned int)
- ?cancelManualSeek@RadioFrequencyStrip@@QAEXXZ @ 154 NONAME ; void RadioFrequencyStrip::cancelManualSeek(void)
- ?isScrollingAllowed@RadioStationCarousel@@ABE_NXZ @ 155 NONAME ; bool RadioStationCarousel::isScrollingAllowed(void) const
- ?qt_metacast@RadioFrequencyStrip@@UAEPAXPBD@Z @ 156 NONAME ; void * RadioFrequencyStrip::qt_metacast(char const *)
- ?staticMetaObject@RadioWindow@@2UQMetaObject@@B @ 157 NONAME ; struct QMetaObject const RadioWindow::staticMetaObject
- ?cleanRdsData@RadioStationCarousel@@QAEXXZ @ 158 NONAME ; void RadioStationCarousel::cleanRdsData(void)
- ?clearInfoText@RadioStationCarousel@@QAEXXZ @ 159 NONAME ; void RadioStationCarousel::clearInfoText(void)
- ?updateAllItems@RadioFrequencyStrip@@AAEXXZ @ 160 NONAME ; void RadioFrequencyStrip::updateAllItems(void)
- ?adjustPos@RadioStationCarousel@@AAEXH@Z @ 161 NONAME ; void RadioStationCarousel::adjustPos(int)
- ?scanAnimationFinished@RadioStationCarousel@@IAEXXZ @ 162 NONAME ; void RadioStationCarousel::scanAnimationFinished(void)
- ?makeTab@RadioFrequencyStrip@@AAE?AVQLineF@@MH@Z @ 163 NONAME ; class QLineF RadioFrequencyStrip::makeTab(float, int)
+ ?trUtf8@RadioFadingLabel@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString RadioFadingLabel::trUtf8(char const *, char const *)
+ ?handleUrlClicked@RadioStationCarousel@@EAEXABVRadioStation@@@Z @ 14 NONAME ; void RadioStationCarousel::handleUrlClicked(class RadioStation const &)
+ ?skipRequested@RadioStationCarousel@@IAEXH@Z @ 15 NONAME ; void RadioStationCarousel::skipRequested(int)
+ ?setTextWithoutFading@RadioFadingLabel@@QAEXABVQString@@@Z @ 16 NONAME ; void RadioFadingLabel::setTextWithoutFading(class QString const &)
+ ?updateAntennaStatus@RadioWindow@@AAEX_N@Z @ 17 NONAME ; void RadioWindow::updateAntennaStatus(bool)
+ ?handleIconClicked@RadioStationCarousel@@EAEXABVRadioStation@@@Z @ 18 NONAME ; void RadioStationCarousel::handleIconClicked(class RadioStation const &)
+ ?init@RadioFrequencyStrip@@QAEXPAVRadioUiEngine@@AAVRadioUiLoader@@@Z @ 19 NONAME ; void RadioFrequencyStrip::init(class RadioUiEngine *, class RadioUiLoader &)
+ ?qt_metacall@RadioStationCarousel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 20 NONAME ; int RadioStationCarousel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isInitialized@RadioStationCarousel@@ABE_NXZ @ 21 NONAME ; bool RadioStationCarousel::isInitialized(void) const
+ ?init@RadioStationCarousel@@QAEXAAVRadioUiLoader@@PAVRadioUiEngine@@@Z @ 22 NONAME ; void RadioStationCarousel::init(class RadioUiLoader &, class RadioUiEngine *)
+ ?scrollPosChanged@RadioStationCarousel@@AAEXABVQPointF@@@Z @ 23 NONAME ; void RadioStationCarousel::scrollPosChanged(class QPointF const &)
+ ?frequencyChanged@RadioFrequencyStrip@@IAEXIHH@Z @ 24 NONAME ; void RadioFrequencyStrip::frequencyChanged(unsigned int, int, int)
+ ?setAutoScrollTime@RadioStationCarousel@@QAEXH@Z @ 25 NONAME ; void RadioStationCarousel::setAutoScrollTime(int)
+ ?prevIndex@RadioStationCarousel@@AAEHH@Z @ 26 NONAME ; int RadioStationCarousel::prevIndex(int)
+ ?skipToPreviousFavorite@RadioFrequencyStrip@@EAEXXZ @ 27 NONAME ; void RadioFrequencyStrip::skipToPreviousFavorite(void)
+ ?trUtf8@RadioStationCarousel@@SA?AVQString@@PBD0@Z @ 28 NONAME ; class QString RadioStationCarousel::trUtf8(char const *, char const *)
+ ?tr@RadioStationCarousel@@SA?AVQString@@PBD0@Z @ 29 NONAME ; class QString RadioStationCarousel::tr(char const *, char const *)
+ ?skip@RadioStationCarousel@@AAEXW4Mode@StationSkip@@@Z @ 30 NONAME ; void RadioStationCarousel::skip(enum StationSkip::Mode)
+ ?emitFrequencyChanged@RadioFrequencyStrip@@EAEXIHH@Z @ 31 NONAME ; void RadioFrequencyStrip::emitFrequencyChanged(unsigned int, int, int)
+ ?isScanning@RadioFrequencyStrip@@EBE_NXZ @ 32 NONAME ; bool RadioFrequencyStrip::isScanning(void) const
+ ??1RadioWindow@@UAE@XZ @ 33 NONAME ; RadioWindow::~RadioWindow(void)
+ ?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)
+ ?setAlternateSkippingMode@RadioStationCarousel@@QAEX_N@Z @ 120 NONAME ; void RadioStationCarousel::setAlternateSkippingMode(bool)
+ ?initView@RadioWindow@@AAEXXZ @ 121 NONAME ; void RadioWindow::initView(void)
+ ?trUtf8@RadioStationCarousel@@SA?AVQString@@PBD0H@Z @ 122 NONAME ; class QString RadioStationCarousel::trUtf8(char const *, char const *, int)
+ ??_ERadioFadingLabel@@UAE@I@Z @ 123 NONAME ; RadioFadingLabel::~RadioFadingLabel(unsigned int)
+ ?init@RadioWindow@@QAEXXZ @ 124 NONAME ; void RadioWindow::init(void)
+ ?isScrollingAllowed@RadioStationCarousel@@ABE_NXZ @ 125 NONAME ; bool RadioStationCarousel::isScrollingAllowed(void) const
+ ?qt_metacast@RadioFrequencyStrip@@UAEPAXPBD@Z @ 126 NONAME ; void * RadioFrequencyStrip::qt_metacast(char const *)
+ ?staticMetaObject@RadioWindow@@2UQMetaObject@@B @ 127 NONAME ; struct QMetaObject const RadioWindow::staticMetaObject
+ ?cleanRdsData@RadioStationCarousel@@QAEXXZ @ 128 NONAME ; void RadioStationCarousel::cleanRdsData(void)
+ ?clearInfoText@RadioStationCarousel@@QAEXXZ @ 129 NONAME ; void RadioStationCarousel::clearInfoText(void)
+ ?adjustPos@RadioStationCarousel@@AAEXH@Z @ 130 NONAME ; void RadioStationCarousel::adjustPos(int)
+ ?frequencyAtIndex@RadioFrequencyStrip@@EBEIH@Z @ 131 NONAME ; unsigned int RadioFrequencyStrip::frequencyAtIndex(int) const
+ ?scanAnimationFinished@RadioStationCarousel@@IAEXXZ @ 132 NONAME ; void RadioStationCarousel::scanAnimationFinished(void)
--- a/radioapp/eabi/fmradiouiengineu.def Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/eabi/fmradiouiengineu.def Wed Aug 18 09:49:03 2010 +0300
@@ -31,218 +31,219 @@
_ZN12RadioStationD1Ev @ 30 NONAME
_ZN12RadioStationD2Ev @ 31 NONAME
_ZN12RadioStationaSERKS_ @ 32 NONAME
- _ZN13RadioUiEngine10setPowerOnEv @ 33 NONAME
- _ZN13RadioUiEngine10toggleMuteEv @ 34 NONAME
- _ZN13RadioUiEngine11muteChangedEb @ 35 NONAME
- _ZN13RadioUiEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 36 NONAME
- _ZN13RadioUiEngine11qt_metacastEPKc @ 37 NONAME
- _ZN13RadioUiEngine11seekStationEi @ 38 NONAME
- _ZN13RadioUiEngine11setPowerOffEi @ 39 NONAME
- _ZN13RadioUiEngine11skipStationEN11StationSkip4ModeEj @ 40 NONAME
- _ZN13RadioUiEngine12historyModelEv @ 41 NONAME
- _ZN13RadioUiEngine12setFrequencyEji @ 42 NONAME
- _ZN13RadioUiEngine12stationModelEv @ 43 NONAME
- _ZN13RadioUiEngine13genreToStringEiN11GenreTarget6TargetE @ 44 NONAME
- _ZN13RadioUiEngine13launchBrowserERK7QString @ 45 NONAME
- _ZN13RadioUiEngine13scannerEngineEv @ 46 NONAME
- _ZN13RadioUiEngine13volumeChangedEi @ 47 NONAME
- _ZN13RadioUiEngine14openMusicStoreERK16RadioHistoryItemNS_10MusicStoreE @ 48 NONAME
- _ZN13RadioUiEngine14seekingStartedEi @ 49 NONAME
- _ZN13RadioUiEngine15emitMuteChangedEb @ 50 NONAME
- _ZN13RadioUiEngine15stationsInRangeEjj @ 51 NONAME
- _ZN13RadioUiEngine16isFirstTimeStartEv @ 52 NONAME
- _ZN13RadioUiEngine16staticMetaObjectE @ 53 NONAME DATA 16
- _ZN13RadioUiEngine16toggleAudioRouteEv @ 54 NONAME
- _ZN13RadioUiEngine16tunedToFrequencyEji @ 55 NONAME
- _ZN13RadioUiEngine17addRecognizedSongERK7QStringS2_RK12RadioStation @ 56 NONAME
- _ZN13RadioUiEngine17audioRouteChangedEb @ 57 NONAME
- _ZN13RadioUiEngine17emitVolumeChangedEi @ 58 NONAME
- _ZN13RadioUiEngine17launchRadioServerEv @ 59 NONAME
- _ZN13RadioUiEngine17powerOffRequestedEv @ 60 NONAME
- _ZN13RadioUiEngine17setManualSeekModeEb @ 61 NONAME
- _ZN13RadioUiEngine18emitSeekingStartedEN4Seek9DirectionE @ 62 NONAME
- _ZN13RadioUiEngine18lastTunedFrequencyEj @ 63 NONAME
- _ZN13RadioUiEngine18radioStatusChangedEb @ 64 NONAME
- _ZN13RadioUiEngine19createScannerEngineEv @ 65 NONAME
- _ZN13RadioUiEngine19getStaticMetaObjectEv @ 66 NONAME
- _ZN13RadioUiEngine20antennaStatusChangedEb @ 67 NONAME
- _ZN13RadioUiEngine20emitTunedToFrequencyEji @ 68 NONAME
- _ZN13RadioUiEngine21emitAudioRouteChangedEb @ 69 NONAME
- _ZN13RadioUiEngine21launchSongRecognitionEv @ 70 NONAME
- _ZN13RadioUiEngine22emitRadioStatusChangedEb @ 71 NONAME
- _ZN13RadioUiEngine22rdsAvailabilityChangedEb @ 72 NONAME
- _ZN13RadioUiEngine24emitAntennaStatusChangedEb @ 73 NONAME
- _ZN13RadioUiEngine26emitRdsAvailabilityChangedEb @ 74 NONAME
- _ZN13RadioUiEngine26setFirstTimeStartPerformedEb @ 75 NONAME
- _ZN13RadioUiEngine29isSongRecognitionAppAvailableEv @ 76 NONAME
- _ZN13RadioUiEngine4initEv @ 77 NONAME
- _ZN13RadioUiEngine7setMuteEb @ 78 NONAME
- _ZN13RadioUiEngine8settingsEv @ 79 NONAME
- _ZN13RadioUiEngine9setVolumeEi @ 80 NONAME
- _ZN13RadioUiEngineC1EP7QObject @ 81 NONAME
- _ZN13RadioUiEngineC2EP7QObject @ 82 NONAME
- _ZN13RadioUiEngineD0Ev @ 83 NONAME
- _ZN13RadioUiEngineD1Ev @ 84 NONAME
- _ZN13RadioUiEngineD2Ev @ 85 NONAME
- _ZN16RadioHistoryItem10setStationERK7QString @ 86 NONAME
- _ZN16RadioHistoryItem12setFrequencyEj @ 87 NONAME
- _ZN16RadioHistoryItem14setCurrentTimeEv @ 88 NONAME
- _ZN16RadioHistoryItem5resetEv @ 89 NONAME
- _ZN16RadioHistoryItem8setTitleERK7QString @ 90 NONAME
- _ZN16RadioHistoryItem9setArtistERK7QString @ 91 NONAME
- _ZN16RadioHistoryItemC1ERK7QStringS2_ @ 92 NONAME
- _ZN16RadioHistoryItemC1ERKS_ @ 93 NONAME
- _ZN16RadioHistoryItemC1Ev @ 94 NONAME
- _ZN16RadioHistoryItemC2ERK7QStringS2_ @ 95 NONAME
- _ZN16RadioHistoryItemC2ERKS_ @ 96 NONAME
- _ZN16RadioHistoryItemC2Ev @ 97 NONAME
- _ZN16RadioHistoryItemD1Ev @ 98 NONAME
- _ZN16RadioHistoryItemD2Ev @ 99 NONAME
- _ZN16RadioHistoryItemaSERKS_ @ 100 NONAME
- _ZN17RadioHistoryModel11qt_metacallEN11QMetaObject4CallEiPPv @ 101 NONAME
- _ZN17RadioHistoryModel11qt_metacastEPKc @ 102 NONAME
- _ZN17RadioHistoryModel13emitItemAddedEv @ 103 NONAME
- _ZN17RadioHistoryModel13setShowTaggedEb @ 104 NONAME
- _ZN17RadioHistoryModel13toggleTaggingERK16RadioHistoryItemi @ 105 NONAME
- _ZN17RadioHistoryModel14setShowDetailsEb @ 106 NONAME
- _ZN17RadioHistoryModel16addRadioTextPlusEiRK7QStringRK12RadioStation @ 107 NONAME
- _ZN17RadioHistoryModel16currentSongResetEv @ 108 NONAME
- _ZN17RadioHistoryModel16resetCurrentSongEv @ 109 NONAME
- _ZN17RadioHistoryModel16staticMetaObjectE @ 110 NONAME DATA 16
- _ZN17RadioHistoryModel17reportChangedDataEii @ 111 NONAME
- _ZN17RadioHistoryModel18clearRadioTextPlusEv @ 112 NONAME
- _ZN17RadioHistoryModel19getStaticMetaObjectEv @ 113 NONAME
- _ZN17RadioHistoryModel7addItemERK7QStringS2_RK12RadioStation @ 114 NONAME
- _ZN17RadioHistoryModel8setIconsERK5QIconS2_ @ 115 NONAME
- _ZN17RadioHistoryModel9itemAddedEv @ 116 NONAME
- _ZN17RadioHistoryModel9removeAllEb @ 117 NONAME
- _ZN17RadioHistoryModelC1ER13RadioUiEngine @ 118 NONAME
- _ZN17RadioHistoryModelC2ER13RadioUiEngine @ 119 NONAME
- _ZN17RadioHistoryModelD0Ev @ 120 NONAME
- _ZN17RadioHistoryModelD1Ev @ 121 NONAME
- _ZN17RadioHistoryModelD2Ev @ 122 NONAME
- _ZN17RadioStationModel10addStationERK12RadioStation @ 123 NONAME
- _ZN17RadioStationModel10initializeEP18RadioPresetStorageP18RadioEngineWrapper @ 124 NONAME
- _ZN17RadioStationModel11findClosestEjN11StationSkip4ModeE @ 125 NONAME
- _ZN17RadioStationModel11qt_metacallEN11QMetaObject4CallEiPPv @ 126 NONAME
- _ZN17RadioStationModel11qt_metacastEPKc @ 127 NONAME
- _ZN17RadioStationModel11saveStationER12RadioStation @ 128 NONAME
- _ZN17RadioStationModel12setFavoritesERK5QListI11QModelIndexE @ 129 NONAME
- _ZN17RadioStationModel13favoriteCountEv @ 130 NONAME
- _ZN17RadioStationModel13removeStationERK12RadioStation @ 131 NONAME
- _ZN17RadioStationModel13renameStationEiRK7QString @ 132 NONAME
- _ZN17RadioStationModel14currentStationEv @ 133 NONAME
- _ZN17RadioStationModel15emitDataChangedERK12RadioStation @ 134 NONAME
- _ZN17RadioStationModel15favoriteChangedERK12RadioStation @ 135 NONAME
- _ZN17RadioStationModel15findPresetIndexEi @ 136 NONAME
- _ZN17RadioStationModel15findPresetIndexEiR12RadioStation @ 137 NONAME
- _ZN17RadioStationModel15stationsInRangeEjj @ 138 NONAME
- _ZN17RadioStationModel16dynamicPsChangedERK12RadioStation @ 139 NONAME
- _ZN17RadioStationModel16staticMetaObjectE @ 140 NONAME DATA 16
- _ZN17RadioStationModel16stationHandlerIfEv @ 141 NONAME
- _ZN17RadioStationModel17emitChangeSignalsERK12RadioStation6QFlagsINS0_10ChangeFlagEE @ 142 NONAME
- _ZN17RadioStationModel17radioTextReceivedERK12RadioStation @ 143 NONAME
- _ZN17RadioStationModel17removeByFrequencyEj @ 144 NONAME
- _ZN17RadioStationModel18indexFromFrequencyEj @ 145 NONAME
- _ZN17RadioStationModel18stationDataChangedERK12RadioStation @ 146 NONAME
- _ZN17RadioStationModel19dynamicPsCheckEndedEv @ 147 NONAME
- _ZN17RadioStationModel19getStaticMetaObjectEv @ 148 NONAME
- _ZN17RadioStationModel19removeByPresetIndexEi @ 149 NONAME
- _ZN17RadioStationModel19setFavoriteByPresetEib @ 150 NONAME
- _ZN17RadioStationModel21findUnusedPresetIndexEv @ 151 NONAME
- _ZN17RadioStationModel22setFavoriteByFrequencyEjb @ 152 NONAME
- _ZN17RadioStationModel7setDataERK11QModelIndexRK8QVarianti @ 153 NONAME
- _ZN17RadioStationModel8setIconsERK5QIconS2_ @ 154 NONAME
- _ZN17RadioStationModel9removeAllENS_10RemoveModeE @ 155 NONAME
- _ZN17RadioStationModel9setDetailE6QFlagsINS_10DetailFlagEE @ 156 NONAME
- _ZN17RadioStationModelC1ER20RadioUiEnginePrivate @ 157 NONAME
- _ZN17RadioStationModelC2ER20RadioUiEnginePrivate @ 158 NONAME
- _ZN17RadioStationModelD0Ev @ 159 NONAME
- _ZN17RadioStationModelD1Ev @ 160 NONAME
- _ZN17RadioStationModelD2Ev @ 161 NONAME
- _ZN18RadioScannerEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 162 NONAME
- _ZN18RadioScannerEngine11qt_metacastEPKc @ 163 NONAME
- _ZN18RadioScannerEngine12stationFoundERK12RadioStation @ 164 NONAME
- _ZN18RadioScannerEngine13startScanningEv @ 165 NONAME
- _ZN18RadioScannerEngine16continueScanningEv @ 166 NONAME
- _ZN18RadioScannerEngine16emitStationFoundERK12RadioStation @ 167 NONAME
- _ZN18RadioScannerEngine16staticMetaObjectE @ 168 NONAME DATA 16
- _ZN18RadioScannerEngine19addScannedFrequencyEj @ 169 NONAME
- _ZN18RadioScannerEngine19getStaticMetaObjectEv @ 170 NONAME
- _ZN18RadioScannerEngine6cancelEv @ 171 NONAME
- _ZN18RadioScannerEngineC1ER20RadioUiEnginePrivate @ 172 NONAME
- _ZN18RadioScannerEngineC2ER20RadioUiEnginePrivate @ 173 NONAME
- _ZN18RadioScannerEngineD0Ev @ 174 NONAME
- _ZN18RadioScannerEngineD1Ev @ 175 NONAME
- _ZN18RadioScannerEngineD2Ev @ 176 NONAME
- _ZNK12RadioStation10hasChangedEv @ 177 NONAME
- _ZNK12RadioStation10isDetachedEv @ 178 NONAME
- _ZNK12RadioStation10isFavoriteEv @ 179 NONAME
- _ZNK12RadioStation11changeFlagsEv @ 180 NONAME
- _ZNK12RadioStation11presetIndexEv @ 181 NONAME
- _ZNK12RadioStation13dynamicPsTextEv @ 182 NONAME
- _ZNK12RadioStation14hasDataChangedE6QFlagsINS_10ChangeFlagEE @ 183 NONAME
- _ZNK12RadioStation15frequencyStringEv @ 184 NONAME
- _ZNK12RadioStation3urlEv @ 185 NONAME
- _ZNK12RadioStation4nameEv @ 186 NONAME
- _ZNK12RadioStation5genreEv @ 187 NONAME
- _ZNK12RadioStation6isTypeE6QFlagsINS_8TypeFlagEE @ 188 NONAME
- _ZNK12RadioStation6piCodeEv @ 189 NONAME
- _ZNK12RadioStation6psTypeEv @ 190 NONAME
- _ZNK12RadioStation7isValidEv @ 191 NONAME
- _ZNK12RadioStation9frequencyEv @ 192 NONAME
- _ZNK12RadioStation9isRenamedEv @ 193 NONAME
- _ZNK12RadioStation9radioTextEv @ 194 NONAME
- _ZNK13RadioUiEngine10isScanningEv @ 195 NONAME
- _ZNK13RadioUiEngine10metaObjectEv @ 196 NONAME
- _ZNK13RadioUiEngine12maxFrequencyEv @ 197 NONAME
- _ZNK13RadioUiEngine12minFrequencyEv @ 198 NONAME
- _ZNK13RadioUiEngine13isInitializedEv @ 199 NONAME
- _ZNK13RadioUiEngine13isPoweringOffEv @ 200 NONAME
- _ZNK13RadioUiEngine16currentFrequencyEv @ 201 NONAME
- _ZNK13RadioUiEngine17frequencyStepSizeEv @ 202 NONAME
- _ZNK13RadioUiEngine17isAntennaAttachedEv @ 203 NONAME
- _ZNK13RadioUiEngine18isInManualSeekModeEv @ 204 NONAME
- _ZNK13RadioUiEngine18isUsingLoudspeakerEv @ 205 NONAME
- _ZNK13RadioUiEngine6regionEv @ 206 NONAME
- _ZNK13RadioUiEngine7isMutedEv @ 207 NONAME
- _ZNK13RadioUiEngine9isRadioOnEv @ 208 NONAME
- _ZNK16RadioHistoryItem10isDetachedEv @ 209 NONAME
- _ZNK16RadioHistoryItem17isRecognizedByRdsEv @ 210 NONAME
- _ZNK16RadioHistoryItem2idEv @ 211 NONAME
- _ZNK16RadioHistoryItem4timeEv @ 212 NONAME
- _ZNK16RadioHistoryItem5titleEv @ 213 NONAME
- _ZNK16RadioHistoryItem6artistEv @ 214 NONAME
- _ZNK16RadioHistoryItem7isValidEv @ 215 NONAME
- _ZNK16RadioHistoryItem7stationEv @ 216 NONAME
- _ZNK16RadioHistoryItem8isTaggedEv @ 217 NONAME
- _ZNK16RadioHistoryItem9frequencyEv @ 218 NONAME
- _ZNK17RadioHistoryModel10metaObjectEv @ 219 NONAME
- _ZNK17RadioHistoryModel11itemAtIndexERK11QModelIndex @ 220 NONAME
- _ZNK17RadioHistoryModel23isCurrentSongRecognizedEv @ 221 NONAME
- _ZNK17RadioHistoryModel4dataERK11QModelIndexi @ 222 NONAME
- _ZNK17RadioHistoryModel8rowCountERK11QModelIndex @ 223 NONAME
- _ZNK17RadioStationModel10metaObjectEv @ 224 NONAME
- _ZNK17RadioStationModel11findStationEjN12FindCriteria8CriteriaE @ 225 NONAME
- _ZNK17RadioStationModel13findFrequencyEjR12RadioStationN12FindCriteria8CriteriaE @ 226 NONAME
- _ZNK17RadioStationModel14currentStationEv @ 227 NONAME
- _ZNK17RadioStationModel4dataERK11QModelIndexi @ 228 NONAME
- _ZNK17RadioStationModel4listEv @ 229 NONAME
- _ZNK17RadioStationModel5flagsERK11QModelIndex @ 230 NONAME
- _ZNK17RadioStationModel8containsEj @ 231 NONAME
- _ZNK17RadioStationModel8rowCountERK11QModelIndex @ 232 NONAME
- _ZNK17RadioStationModel9stationAtEi @ 233 NONAME
- _ZNK18RadioScannerEngine10isScanningEv @ 234 NONAME
- _ZNK18RadioScannerEngine10metaObjectEv @ 235 NONAME
- _ZTI12RadioStation @ 236 NONAME
- _ZTI13RadioUiEngine @ 237 NONAME
- _ZTI17RadioHistoryModel @ 238 NONAME
- _ZTI17RadioStationModel @ 239 NONAME
- _ZTI18RadioScannerEngine @ 240 NONAME
- _ZTV12RadioStation @ 241 NONAME
- _ZTV13RadioUiEngine @ 242 NONAME
- _ZTV17RadioHistoryModel @ 243 NONAME
- _ZTV17RadioStationModel @ 244 NONAME
- _ZTV18RadioScannerEngine @ 245 NONAME
- _ZN13RadioUiEngine10lastVolumeEv @ 246 NONAME
+ _ZN13RadioUiEngine10lastVolumeEv @ 33 NONAME
+ _ZN13RadioUiEngine10setPowerOnEv @ 34 NONAME
+ _ZN13RadioUiEngine10toggleMuteEv @ 35 NONAME
+ _ZN13RadioUiEngine11muteChangedEb @ 36 NONAME
+ _ZN13RadioUiEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 37 NONAME
+ _ZN13RadioUiEngine11qt_metacastEPKc @ 38 NONAME
+ _ZN13RadioUiEngine11seekStationEi @ 39 NONAME
+ _ZN13RadioUiEngine11setPowerOffEi @ 40 NONAME
+ _ZN13RadioUiEngine11skipStationEN11StationSkip4ModeEji @ 41 NONAME
+ _ZN13RadioUiEngine12historyModelEv @ 42 NONAME
+ _ZN13RadioUiEngine12setFrequencyEji @ 43 NONAME
+ _ZN13RadioUiEngine12stationModelEv @ 44 NONAME
+ _ZN13RadioUiEngine13genreToStringEiN11GenreTarget6TargetE @ 45 NONAME
+ _ZN13RadioUiEngine13launchBrowserERK7QString @ 46 NONAME
+ _ZN13RadioUiEngine13scannerEngineEv @ 47 NONAME
+ _ZN13RadioUiEngine13volumeChangedEi @ 48 NONAME
+ _ZN13RadioUiEngine14openMusicStoreERK16RadioHistoryItemNS_10MusicStoreE @ 49 NONAME
+ _ZN13RadioUiEngine14seekingStartedEi @ 50 NONAME
+ _ZN13RadioUiEngine15emitMuteChangedEb @ 51 NONAME
+ _ZN13RadioUiEngine15stationsInRangeEjj @ 52 NONAME
+ _ZN13RadioUiEngine16isFirstTimeStartEv @ 53 NONAME
+ _ZN13RadioUiEngine16staticMetaObjectE @ 54 NONAME DATA 16
+ _ZN13RadioUiEngine16toggleAudioRouteEv @ 55 NONAME
+ _ZN13RadioUiEngine16tunedToFrequencyEji @ 56 NONAME
+ _ZN13RadioUiEngine17addRecognizedSongERK7QStringS2_RK12RadioStation @ 57 NONAME
+ _ZN13RadioUiEngine17audioRouteChangedEb @ 58 NONAME
+ _ZN13RadioUiEngine17emitVolumeChangedEi @ 59 NONAME
+ _ZN13RadioUiEngine17launchRadioServerEv @ 60 NONAME
+ _ZN13RadioUiEngine17powerOffRequestedEv @ 61 NONAME
+ _ZN13RadioUiEngine17setManualSeekModeEb @ 62 NONAME
+ _ZN13RadioUiEngine18emitSeekingStartedEN4Seek9DirectionE @ 63 NONAME
+ _ZN13RadioUiEngine18lastTunedFrequencyEj @ 64 NONAME
+ _ZN13RadioUiEngine18radioStatusChangedEb @ 65 NONAME
+ _ZN13RadioUiEngine19createScannerEngineEv @ 66 NONAME
+ _ZN13RadioUiEngine19getStaticMetaObjectEv @ 67 NONAME
+ _ZN13RadioUiEngine20antennaStatusChangedEb @ 68 NONAME
+ _ZN13RadioUiEngine20emitTunedToFrequencyEji @ 69 NONAME
+ _ZN13RadioUiEngine21emitAudioRouteChangedEb @ 70 NONAME
+ _ZN13RadioUiEngine21launchSongRecognitionEv @ 71 NONAME
+ _ZN13RadioUiEngine22emitRadioStatusChangedEb @ 72 NONAME
+ _ZN13RadioUiEngine22rdsAvailabilityChangedEb @ 73 NONAME
+ _ZN13RadioUiEngine24emitAntennaStatusChangedEb @ 74 NONAME
+ _ZN13RadioUiEngine26emitRdsAvailabilityChangedEb @ 75 NONAME
+ _ZN13RadioUiEngine26setFirstTimeStartPerformedEb @ 76 NONAME
+ _ZN13RadioUiEngine29isSongRecognitionAppAvailableEv @ 77 NONAME
+ _ZN13RadioUiEngine4initEv @ 78 NONAME
+ _ZN13RadioUiEngine7setMuteEb @ 79 NONAME
+ _ZN13RadioUiEngine8settingsEv @ 80 NONAME
+ _ZN13RadioUiEngine9setVolumeEi @ 81 NONAME
+ _ZN13RadioUiEngineC1EP7QObject @ 82 NONAME
+ _ZN13RadioUiEngineC2EP7QObject @ 83 NONAME
+ _ZN13RadioUiEngineD0Ev @ 84 NONAME
+ _ZN13RadioUiEngineD1Ev @ 85 NONAME
+ _ZN13RadioUiEngineD2Ev @ 86 NONAME
+ _ZN16RadioHistoryItem10setStationERK7QString @ 87 NONAME
+ _ZN16RadioHistoryItem12setFrequencyEj @ 88 NONAME
+ _ZN16RadioHistoryItem14setCurrentTimeEv @ 89 NONAME
+ _ZN16RadioHistoryItem5resetEv @ 90 NONAME
+ _ZN16RadioHistoryItem8setTitleERK7QString @ 91 NONAME
+ _ZN16RadioHistoryItem9setArtistERK7QString @ 92 NONAME
+ _ZN16RadioHistoryItemC1ERK7QStringS2_ @ 93 NONAME
+ _ZN16RadioHistoryItemC1ERKS_ @ 94 NONAME
+ _ZN16RadioHistoryItemC1Ev @ 95 NONAME
+ _ZN16RadioHistoryItemC2ERK7QStringS2_ @ 96 NONAME
+ _ZN16RadioHistoryItemC2ERKS_ @ 97 NONAME
+ _ZN16RadioHistoryItemC2Ev @ 98 NONAME
+ _ZN16RadioHistoryItemD1Ev @ 99 NONAME
+ _ZN16RadioHistoryItemD2Ev @ 100 NONAME
+ _ZN16RadioHistoryItemaSERKS_ @ 101 NONAME
+ _ZN17RadioHistoryModel11qt_metacallEN11QMetaObject4CallEiPPv @ 102 NONAME
+ _ZN17RadioHistoryModel11qt_metacastEPKc @ 103 NONAME
+ _ZN17RadioHistoryModel13emitItemAddedEv @ 104 NONAME
+ _ZN17RadioHistoryModel13setShowTaggedEb @ 105 NONAME
+ _ZN17RadioHistoryModel13toggleTaggingERK16RadioHistoryItemi @ 106 NONAME
+ _ZN17RadioHistoryModel14setShowDetailsEb @ 107 NONAME
+ _ZN17RadioHistoryModel16addRadioTextPlusEiRK7QStringRK12RadioStation @ 108 NONAME
+ _ZN17RadioHistoryModel16currentSongResetEv @ 109 NONAME
+ _ZN17RadioHistoryModel16resetCurrentSongEv @ 110 NONAME
+ _ZN17RadioHistoryModel16staticMetaObjectE @ 111 NONAME DATA 16
+ _ZN17RadioHistoryModel17reportChangedDataEii @ 112 NONAME
+ _ZN17RadioHistoryModel18clearRadioTextPlusEv @ 113 NONAME
+ _ZN17RadioHistoryModel19getStaticMetaObjectEv @ 114 NONAME
+ _ZN17RadioHistoryModel7addItemERK7QStringS2_RK12RadioStation @ 115 NONAME
+ _ZN17RadioHistoryModel8setIconsERK5QIconS2_ @ 116 NONAME
+ _ZN17RadioHistoryModel9itemAddedEv @ 117 NONAME
+ _ZN17RadioHistoryModel9removeAllEb @ 118 NONAME
+ _ZN17RadioHistoryModelC1ER13RadioUiEngine @ 119 NONAME
+ _ZN17RadioHistoryModelC2ER13RadioUiEngine @ 120 NONAME
+ _ZN17RadioHistoryModelD0Ev @ 121 NONAME
+ _ZN17RadioHistoryModelD1Ev @ 122 NONAME
+ _ZN17RadioHistoryModelD2Ev @ 123 NONAME
+ _ZN17RadioStationModel10addStationERK12RadioStation @ 124 NONAME
+ _ZN17RadioStationModel10initializeEP18RadioPresetStorageP18RadioEngineWrapper @ 125 NONAME
+ _ZN17RadioStationModel11findClosestEjN11StationSkip4ModeE @ 126 NONAME
+ _ZN17RadioStationModel11qt_metacallEN11QMetaObject4CallEiPPv @ 127 NONAME
+ _ZN17RadioStationModel11qt_metacastEPKc @ 128 NONAME
+ _ZN17RadioStationModel11saveStationER12RadioStation @ 129 NONAME
+ _ZN17RadioStationModel12setFavoritesERK5QListI11QModelIndexE @ 130 NONAME
+ _ZN17RadioStationModel13favoriteCountEv @ 131 NONAME
+ _ZN17RadioStationModel13removeStationERK12RadioStation @ 132 NONAME
+ _ZN17RadioStationModel13renameStationEiRK7QString @ 133 NONAME
+ _ZN17RadioStationModel14currentStationEv @ 134 NONAME
+ _ZN17RadioStationModel15emitDataChangedERK12RadioStation @ 135 NONAME
+ _ZN17RadioStationModel15favoriteChangedERK12RadioStation @ 136 NONAME
+ _ZN17RadioStationModel15findPresetIndexEi @ 137 NONAME
+ _ZN17RadioStationModel15findPresetIndexEiR12RadioStation @ 138 NONAME
+ _ZN17RadioStationModel15stationsInRangeEjj @ 139 NONAME
+ _ZN17RadioStationModel16dynamicPsChangedERK12RadioStation @ 140 NONAME
+ _ZN17RadioStationModel16staticMetaObjectE @ 141 NONAME DATA 16
+ _ZN17RadioStationModel16stationHandlerIfEv @ 142 NONAME
+ _ZN17RadioStationModel17emitChangeSignalsERK12RadioStation6QFlagsINS0_10ChangeFlagEE @ 143 NONAME
+ _ZN17RadioStationModel17radioTextReceivedERK12RadioStation @ 144 NONAME
+ _ZN17RadioStationModel17removeByFrequencyEj @ 145 NONAME
+ _ZN17RadioStationModel18indexFromFrequencyEj @ 146 NONAME
+ _ZN17RadioStationModel18stationDataChangedERK12RadioStation @ 147 NONAME
+ _ZN17RadioStationModel19dynamicPsCheckEndedEv @ 148 NONAME
+ _ZN17RadioStationModel19getStaticMetaObjectEv @ 149 NONAME
+ _ZN17RadioStationModel19removeByPresetIndexEi @ 150 NONAME
+ _ZN17RadioStationModel19setFavoriteByPresetEib @ 151 NONAME
+ _ZN17RadioStationModel21findUnusedPresetIndexEv @ 152 NONAME
+ _ZN17RadioStationModel22setFavoriteByFrequencyEjb @ 153 NONAME
+ _ZN17RadioStationModel7setDataERK11QModelIndexRK8QVarianti @ 154 NONAME
+ _ZN17RadioStationModel8setIconsERK5QIconS2_ @ 155 NONAME
+ _ZN17RadioStationModel9removeAllENS_10RemoveModeE @ 156 NONAME
+ _ZN17RadioStationModel9setDetailE6QFlagsINS_10DetailFlagEE @ 157 NONAME
+ _ZN17RadioStationModelC1ER20RadioUiEnginePrivate @ 158 NONAME
+ _ZN17RadioStationModelC2ER20RadioUiEnginePrivate @ 159 NONAME
+ _ZN17RadioStationModelD0Ev @ 160 NONAME
+ _ZN17RadioStationModelD1Ev @ 161 NONAME
+ _ZN17RadioStationModelD2Ev @ 162 NONAME
+ _ZN18RadioScannerEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 163 NONAME
+ _ZN18RadioScannerEngine11qt_metacastEPKc @ 164 NONAME
+ _ZN18RadioScannerEngine12stationFoundERK12RadioStation @ 165 NONAME
+ _ZN18RadioScannerEngine13startScanningEv @ 166 NONAME
+ _ZN18RadioScannerEngine16continueScanningEv @ 167 NONAME
+ _ZN18RadioScannerEngine16emitStationFoundERK12RadioStation @ 168 NONAME
+ _ZN18RadioScannerEngine16staticMetaObjectE @ 169 NONAME DATA 16
+ _ZN18RadioScannerEngine19addScannedFrequencyEj @ 170 NONAME
+ _ZN18RadioScannerEngine19getStaticMetaObjectEv @ 171 NONAME
+ _ZN18RadioScannerEngine6cancelEv @ 172 NONAME
+ _ZN18RadioScannerEngineC1ER20RadioUiEnginePrivate @ 173 NONAME
+ _ZN18RadioScannerEngineC2ER20RadioUiEnginePrivate @ 174 NONAME
+ _ZN18RadioScannerEngineD0Ev @ 175 NONAME
+ _ZN18RadioScannerEngineD1Ev @ 176 NONAME
+ _ZN18RadioScannerEngineD2Ev @ 177 NONAME
+ _ZNK12RadioStation10hasChangedEv @ 178 NONAME
+ _ZNK12RadioStation10hasSentRdsEv @ 179 NONAME
+ _ZNK12RadioStation10isDetachedEv @ 180 NONAME
+ _ZNK12RadioStation10isFavoriteEv @ 181 NONAME
+ _ZNK12RadioStation11changeFlagsEv @ 182 NONAME
+ _ZNK12RadioStation11presetIndexEv @ 183 NONAME
+ _ZNK12RadioStation13dynamicPsTextEv @ 184 NONAME
+ _ZNK12RadioStation14hasDataChangedE6QFlagsINS_10ChangeFlagEE @ 185 NONAME
+ _ZNK12RadioStation15frequencyStringEv @ 186 NONAME
+ _ZNK12RadioStation3urlEv @ 187 NONAME
+ _ZNK12RadioStation4nameEv @ 188 NONAME
+ _ZNK12RadioStation5genreEv @ 189 NONAME
+ _ZNK12RadioStation6isTypeE6QFlagsINS_8TypeFlagEE @ 190 NONAME
+ _ZNK12RadioStation6piCodeEv @ 191 NONAME
+ _ZNK12RadioStation6psTypeEv @ 192 NONAME
+ _ZNK12RadioStation7isValidEv @ 193 NONAME
+ _ZNK12RadioStation9frequencyEv @ 194 NONAME
+ _ZNK12RadioStation9isRenamedEv @ 195 NONAME
+ _ZNK12RadioStation9radioTextEv @ 196 NONAME
+ _ZNK13RadioUiEngine10isScanningEv @ 197 NONAME
+ _ZNK13RadioUiEngine10metaObjectEv @ 198 NONAME
+ _ZNK13RadioUiEngine12maxFrequencyEv @ 199 NONAME
+ _ZNK13RadioUiEngine12minFrequencyEv @ 200 NONAME
+ _ZNK13RadioUiEngine13isInitializedEv @ 201 NONAME
+ _ZNK13RadioUiEngine13isPoweringOffEv @ 202 NONAME
+ _ZNK13RadioUiEngine16currentFrequencyEv @ 203 NONAME
+ _ZNK13RadioUiEngine17frequencyStepSizeEv @ 204 NONAME
+ _ZNK13RadioUiEngine17isAntennaAttachedEv @ 205 NONAME
+ _ZNK13RadioUiEngine18isInManualSeekModeEv @ 206 NONAME
+ _ZNK13RadioUiEngine18isUsingLoudspeakerEv @ 207 NONAME
+ _ZNK13RadioUiEngine6regionEv @ 208 NONAME
+ _ZNK13RadioUiEngine7isMutedEv @ 209 NONAME
+ _ZNK13RadioUiEngine9isRadioOnEv @ 210 NONAME
+ _ZNK16RadioHistoryItem10isDetachedEv @ 211 NONAME
+ _ZNK16RadioHistoryItem17isRecognizedByRdsEv @ 212 NONAME
+ _ZNK16RadioHistoryItem2idEv @ 213 NONAME
+ _ZNK16RadioHistoryItem4timeEv @ 214 NONAME
+ _ZNK16RadioHistoryItem5titleEv @ 215 NONAME
+ _ZNK16RadioHistoryItem6artistEv @ 216 NONAME
+ _ZNK16RadioHistoryItem7isValidEv @ 217 NONAME
+ _ZNK16RadioHistoryItem7stationEv @ 218 NONAME
+ _ZNK16RadioHistoryItem8isTaggedEv @ 219 NONAME
+ _ZNK16RadioHistoryItem9frequencyEv @ 220 NONAME
+ _ZNK17RadioHistoryModel10metaObjectEv @ 221 NONAME
+ _ZNK17RadioHistoryModel11itemAtIndexERK11QModelIndex @ 222 NONAME
+ _ZNK17RadioHistoryModel23isCurrentSongRecognizedEv @ 223 NONAME
+ _ZNK17RadioHistoryModel4dataERK11QModelIndexi @ 224 NONAME
+ _ZNK17RadioHistoryModel8rowCountERK11QModelIndex @ 225 NONAME
+ _ZNK17RadioStationModel10metaObjectEv @ 226 NONAME
+ _ZNK17RadioStationModel11findStationEjN12FindCriteria8CriteriaE @ 227 NONAME
+ _ZNK17RadioStationModel13findFrequencyEjR12RadioStationN12FindCriteria8CriteriaE @ 228 NONAME
+ _ZNK17RadioStationModel14currentStationEv @ 229 NONAME
+ _ZNK17RadioStationModel4dataERK11QModelIndexi @ 230 NONAME
+ _ZNK17RadioStationModel4listEv @ 231 NONAME
+ _ZNK17RadioStationModel5flagsERK11QModelIndex @ 232 NONAME
+ _ZNK17RadioStationModel8containsEj @ 233 NONAME
+ _ZNK17RadioStationModel8rowCountERK11QModelIndex @ 234 NONAME
+ _ZNK17RadioStationModel9stationAtEi @ 235 NONAME
+ _ZNK18RadioScannerEngine10isScanningEv @ 236 NONAME
+ _ZNK18RadioScannerEngine10metaObjectEv @ 237 NONAME
+ _ZTI12RadioStation @ 238 NONAME
+ _ZTI13RadioUiEngine @ 239 NONAME
+ _ZTI17RadioHistoryModel @ 240 NONAME
+ _ZTI17RadioStationModel @ 241 NONAME
+ _ZTI18RadioScannerEngine @ 242 NONAME
+ _ZTV12RadioStation @ 243 NONAME
+ _ZTV13RadioUiEngine @ 244 NONAME
+ _ZTV17RadioHistoryModel @ 245 NONAME
+ _ZTV17RadioStationModel @ 246 NONAME
+ _ZTV18RadioScannerEngine @ 247 NONAME
--- a/radioapp/eabi/fmradiowidgetsu.def Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/eabi/fmradiowidgetsu.def Wed Aug 18 09:49:03 2010 +0300
@@ -6,164 +6,131 @@
_ZN11RadioWindow16activateMainViewEv @ 5 NONAME
_ZN11RadioWindow16showErrorMessageERK7QString @ 6 NONAME
_ZN11RadioWindow16staticMetaObjectE @ 7 NONAME DATA 16
- _ZN11RadioWindow17queryOfflineUsageEN10QtMobility17QSystemDeviceInfo7ProfileE @ 8 NONAME
- _ZN11RadioWindow17updateOrientationEN2Qt11OrientationE @ 9 NONAME
- _ZN11RadioWindow18orientationSectionEv @ 10 NONAME
- _ZN11RadioWindow19activateHistoryViewEv @ 11 NONAME
- _ZN11RadioWindow19getStaticMetaObjectEv @ 12 NONAME
- _ZN11RadioWindow19updateAntennaStatusEb @ 13 NONAME
- _ZN11RadioWindow20activateStationsViewEv @ 14 NONAME
- _ZN11RadioWindow4initEPN10QtMobility17QSystemDeviceInfoE @ 15 NONAME
- _ZN11RadioWindow8initViewEv @ 16 NONAME
- _ZN11RadioWindowC1EP7QWidget @ 17 NONAME
- _ZN11RadioWindowC2EP7QWidget @ 18 NONAME
- _ZN11RadioWindowD0Ev @ 19 NONAME
- _ZN11RadioWindowD1Ev @ 20 NONAME
- _ZN11RadioWindowD2Ev @ 21 NONAME
- _ZN16RadioFadingLabel11qt_metacallEN11QMetaObject4CallEiPPv @ 22 NONAME
- _ZN16RadioFadingLabel11qt_metacastEPKc @ 23 NONAME
- _ZN16RadioFadingLabel11startEffectERK7QStringPKc @ 24 NONAME
- _ZN16RadioFadingLabel14effectFinishedEN8HbEffect12EffectStatusE @ 25 NONAME
- _ZN16RadioFadingLabel16setFadingEnabledEb @ 26 NONAME
- _ZN16RadioFadingLabel16staticMetaObjectE @ 27 NONAME DATA 16
- _ZN16RadioFadingLabel19getStaticMetaObjectEv @ 28 NONAME
- _ZN16RadioFadingLabel20setTextWithoutFadingERK7QString @ 29 NONAME
- _ZN16RadioFadingLabel7setTextERK7QString @ 30 NONAME
- _ZN16RadioFadingLabel8trimHtmlERK7QString @ 31 NONAME
- _ZN16RadioFadingLabelC1EP13QGraphicsItem @ 32 NONAME
- _ZN16RadioFadingLabelC2EP13QGraphicsItem @ 33 NONAME
- _ZN19RadioFrequencyStrip10drawPixmapEj5QListI12RadioStationEP18RadioFrequencyItem @ 34 NONAME
- _ZN19RadioFrequencyStrip10timerEventEP11QTimerEvent @ 35 NONAME
- _ZN19RadioFrequencyStrip10updateItemEP18RadioFrequencyItemjj @ 36 NONAME
- _ZN19RadioFrequencyStrip11changeEventEP6QEvent @ 37 NONAME
- _ZN19RadioFrequencyStrip11hideButtonsEv @ 38 NONAME
- _ZN19RadioFrequencyStrip11initButtonsEv @ 39 NONAME
- _ZN19RadioFrequencyStrip11qt_metacallEN11QMetaObject4CallEiPPv @ 40 NONAME
- _ZN19RadioFrequencyStrip11qt_metacastEPKc @ 41 NONAME
- _ZN19RadioFrequencyStrip11resizeEventEP25QGraphicsSceneResizeEvent @ 42 NONAME
- _ZN19RadioFrequencyStrip11showButtonsEv @ 43 NONAME
- _ZN19RadioFrequencyStrip12gestureEventEP13QGestureEvent @ 44 NONAME
- _ZN19RadioFrequencyStrip12initSelectorEv @ 45 NONAME
- _ZN19RadioFrequencyStrip12setFrequencyEjiN6Scroll9DirectionE @ 46 NONAME
- _ZN19RadioFrequencyStrip13initPositionsEv @ 47 NONAME
- _ZN19RadioFrequencyStrip13removeStationERK11QModelIndexii @ 48 NONAME
- _ZN19RadioFrequencyStrip13seekRequestedEi @ 49 NONAME
- _ZN19RadioFrequencyStrip13setItemHeightEi @ 50 NONAME
- _ZN19RadioFrequencyStrip13skipRequestedEi @ 51 NONAME
- _ZN19RadioFrequencyStrip13updateStationERK11QModelIndexii @ 52 NONAME
- _ZN19RadioFrequencyStrip14initEmptyItemsEv @ 53 NONAME
- _ZN19RadioFrequencyStrip14updateAllItemsEv @ 54 NONAME
- _ZN19RadioFrequencyStrip14updateFavoriteERK12RadioStation @ 55 NONAME
- _ZN19RadioFrequencyStrip15addFrequencyPosEijP18RadioFrequencyItem @ 56 NONAME
- _ZN19RadioFrequencyStrip15mousePressEventEP24QGraphicsSceneMouseEvent @ 57 NONAME
- _ZN19RadioFrequencyStrip15setScanningModeEb @ 58 NONAME
- _ZN19RadioFrequencyStrip16cancelManualSeekEv @ 59 NONAME
- _ZN19RadioFrequencyStrip16frequencyChangedEjii @ 60 NONAME
- _ZN19RadioFrequencyStrip16handleLeftButtonEv @ 61 NONAME
- _ZN19RadioFrequencyStrip16scrollPosChangedEv @ 62 NONAME
- _ZN19RadioFrequencyStrip16staticMetaObjectE @ 63 NONAME DATA 16
- _ZN19RadioFrequencyStrip16toggleManualSeekEv @ 64 NONAME
- _ZN19RadioFrequencyStrip17addScannedStationERK12RadioStation @ 65 NONAME
- _ZN19RadioFrequencyStrip17handleRightButtonEv @ 66 NONAME
- _ZN19RadioFrequencyStrip17manualSeekChangedEb @ 67 NONAME
- _ZN19RadioFrequencyStrip17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 68 NONAME
- _ZN19RadioFrequencyStrip17scrollToFrequencyEjN6Scroll9DirectionEiN10TuneReason6ReasonE @ 69 NONAME
- _ZN19RadioFrequencyStrip18handleScrollingEndEv @ 70 NONAME
- _ZN19RadioFrequencyStrip19createItemPrimitiveEP13QGraphicsItem @ 71 NONAME
- _ZN19RadioFrequencyStrip19getStaticMetaObjectEv @ 72 NONAME
- _ZN19RadioFrequencyStrip19updateItemPrimitiveEP13QGraphicsItemi @ 73 NONAME
- _ZN19RadioFrequencyStrip20emitFrequencyChangedEj @ 74 NONAME
- _ZN19RadioFrequencyStrip20handleLongLeftButtonEv @ 75 NONAME
- _ZN19RadioFrequencyStrip21handleLongRightButtonEv @ 76 NONAME
- _ZN19RadioFrequencyStrip21updateStationsInRangeEiib @ 77 NONAME
- _ZN19RadioFrequencyStrip4initEP13RadioUiEngineR13RadioUiLoader @ 78 NONAME
- _ZN19RadioFrequencyStrip9initModelEv @ 79 NONAME
- _ZN19RadioFrequencyStripC1Ev @ 80 NONAME
- _ZN19RadioFrequencyStripC2Ev @ 81 NONAME
- _ZN20RadioStationCarousel10timerFiredEv @ 82 NONAME
- _ZN20RadioStationCarousel11findStationEj @ 83 NONAME
- _ZN20RadioStationCarousel11qt_metacallEN11QMetaObject4CallEiPPv @ 84 NONAME
- _ZN20RadioStationCarousel11qt_metacastEPKc @ 85 NONAME
- _ZN20RadioStationCarousel11resizeEventEP25QGraphicsSceneResizeEvent @ 86 NONAME
- _ZN20RadioStationCarousel11setInfoTextEN16CarouselInfoText4TypeE @ 87 NONAME
- _ZN20RadioStationCarousel12cleanRdsDataEv @ 88 NONAME
- _ZN20RadioStationCarousel12gestureEventEP13QGestureEvent @ 89 NONAME
- _ZN20RadioStationCarousel12setFrequencyEjiN6Scroll9DirectionE @ 90 NONAME
- _ZN20RadioStationCarousel13clearInfoTextEv @ 91 NONAME
- _ZN20RadioStationCarousel13drawOffScreenER8QPainter @ 92 NONAME
- _ZN20RadioStationCarousel13localizeGenreEi @ 93 NONAME
- _ZN20RadioStationCarousel13scrollToIndexEiN6Scroll9DirectionE6QFlagsINS_10ScrollFlagEE @ 94 NONAME
- _ZN20RadioStationCarousel13skipRequestedEi @ 95 NONAME
- _ZN20RadioStationCarousel14setCenterIndexEi6QFlagsINS_10ScrollFlagEE @ 96 NONAME
- _ZN20RadioStationCarousel14updateStationsEv @ 97 NONAME
- _ZN20RadioStationCarousel15cancelAnimationEv @ 98 NONAME
- _ZN20RadioStationCarousel15mousePressEventEP24QGraphicsSceneMouseEvent @ 99 NONAME
- _ZN20RadioStationCarousel15setFavoriteIconERK6HbIcon @ 100 NONAME
- _ZN20RadioStationCarousel15setScanningModeEb @ 101 NONAME
- _ZN20RadioStationCarousel15updateRadioTextERK12RadioStation @ 102 NONAME
- _ZN20RadioStationCarousel16frequencyChangedEjii @ 103 NONAME
- _ZN20RadioStationCarousel16handleUrlClickedERK12RadioStation @ 104 NONAME
- _ZN20RadioStationCarousel16scrollPosChangedERK7QPointF @ 105 NONAME
- _ZN20RadioStationCarousel16staticMetaObjectE @ 106 NONAME DATA 16
- _ZN20RadioStationCarousel17adjustAfterScrollEv @ 107 NONAME
- _ZN20RadioStationCarousel17animateNewStationERK12RadioStation @ 108 NONAME
- _ZN20RadioStationCarousel17handleIconClickedERK12RadioStation @ 109 NONAME
- _ZN20RadioStationCarousel17setAutoScrollTimeEi @ 110 NONAME
- _ZN20RadioStationCarousel17setManualSeekModeEb @ 111 NONAME
- _ZN20RadioStationCarousel18setNonFavoriteIconERK6HbIcon @ 112 NONAME
- _ZN20RadioStationCarousel19calculateDifferenceEiRN6Scroll9DirectionE @ 113 NONAME
- _ZN20RadioStationCarousel19getStaticMetaObjectEv @ 114 NONAME
- _ZN20RadioStationCarousel19updateAntennaStatusEb @ 115 NONAME
- _ZN20RadioStationCarousel21scanAnimationFinishedEv @ 116 NONAME
- _ZN20RadioStationCarousel22handleRadiotextClickedERK12RadioStation @ 117 NONAME
- _ZN20RadioStationCarousel24setAlternateSkippingModeEb @ 118 NONAME
- _ZN20RadioStationCarousel4initER13RadioUiLoaderP13RadioUiEngine @ 119 NONAME
- _ZN20RadioStationCarousel4skipEN11StationSkip4ModeE @ 120 NONAME
- _ZN20RadioStationCarousel6updateERK12RadioStation @ 121 NONAME
- _ZN20RadioStationCarousel8uiEngineEv @ 122 NONAME
- _ZN20RadioStationCarousel9adjustPosEi @ 123 NONAME
- _ZN20RadioStationCarousel9nextIndexEi @ 124 NONAME
- _ZN20RadioStationCarousel9prevIndexEi @ 125 NONAME
- _ZN20RadioStationCarousel9showEventEP10QShowEvent @ 126 NONAME
- _ZN20RadioStationCarousel9trimIndexEi @ 127 NONAME
- _ZN20RadioStationCarouselC1EP13QGraphicsItem @ 128 NONAME
- _ZN20RadioStationCarouselC2EP13QGraphicsItem @ 129 NONAME
- _ZNK11RadioWindow10metaObjectEv @ 130 NONAME
- _ZNK16RadioFadingLabel10metaObjectEv @ 131 NONAME
- _ZNK19RadioFrequencyStrip10itemHeightEv @ 132 NONAME
- _ZNK19RadioFrequencyStrip10metaObjectEv @ 133 NONAME
- _ZNK19RadioFrequencyStrip11selectorPosEv @ 134 NONAME
- _ZNK19RadioFrequencyStrip18isInManualSeekModeEv @ 135 NONAME
- _ZNK19RadioFrequencyStrip9frequencyEv @ 136 NONAME
- _ZNK20RadioStationCarousel10metaObjectEv @ 137 NONAME
- _ZNK20RadioStationCarousel12favoriteIconEv @ 138 NONAME
- _ZNK20RadioStationCarousel13isInitializedEv @ 139 NONAME
- _ZNK20RadioStationCarousel14autoScrollTimeEv @ 140 NONAME
- _ZNK20RadioStationCarousel14isInManualSeekEv @ 141 NONAME
- _ZNK20RadioStationCarousel15nonFavoriteIconEv @ 142 NONAME
- _ZNK20RadioStationCarousel16isInScanningModeEv @ 143 NONAME
- _ZNK20RadioStationCarousel17isAntennaAttachedEv @ 144 NONAME
- _ZNK20RadioStationCarousel18isScrollingAllowedEv @ 145 NONAME
- _ZTI11RadioWindow @ 146 NONAME
- _ZTI16RadioFadingLabel @ 147 NONAME
- _ZTI19RadioFrequencyStrip @ 148 NONAME
- _ZTI20RadioStationCarousel @ 149 NONAME
- _ZTV11RadioWindow @ 150 NONAME
- _ZTV16RadioFadingLabel @ 151 NONAME
- _ZTV19RadioFrequencyStrip @ 152 NONAME
- _ZTV20RadioStationCarousel @ 153 NONAME
- _ZThn28_N20RadioStationCarousel11findStationEj @ 154 NONAME
- _ZThn28_N20RadioStationCarousel13localizeGenreEi @ 155 NONAME
- _ZThn28_N20RadioStationCarousel16handleUrlClickedERK12RadioStation @ 156 NONAME
- _ZThn28_N20RadioStationCarousel17handleIconClickedERK12RadioStation @ 157 NONAME
- _ZThn28_N20RadioStationCarousel22handleRadiotextClickedERK12RadioStation @ 158 NONAME
- _ZThn28_NK20RadioStationCarousel12favoriteIconEv @ 159 NONAME
- _ZThn28_NK20RadioStationCarousel14isInManualSeekEv @ 160 NONAME
- _ZThn28_NK20RadioStationCarousel15nonFavoriteIconEv @ 161 NONAME
- _ZThn8_N11RadioWindowD0Ev @ 162 NONAME
- _ZThn8_N11RadioWindowD1Ev @ 163 NONAME
- _ZThn8_N19RadioFrequencyStrip15mousePressEventEP24QGraphicsSceneMouseEvent @ 164 NONAME
- _ZThn8_N19RadioFrequencyStrip17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 165 NONAME
- _ZThn8_N20RadioStationCarousel15mousePressEventEP24QGraphicsSceneMouseEvent @ 166 NONAME
- _ZN19RadioFrequencyStrip7makeTabEfi @ 167 NONAME
+ _ZN11RadioWindow17updateOrientationEN2Qt11OrientationE @ 8 NONAME
+ _ZN11RadioWindow18orientationSectionEv @ 9 NONAME
+ _ZN11RadioWindow19activateHistoryViewEv @ 10 NONAME
+ _ZN11RadioWindow19getStaticMetaObjectEv @ 11 NONAME
+ _ZN11RadioWindow19updateAntennaStatusEb @ 12 NONAME
+ _ZN11RadioWindow20activateStationsViewEv @ 13 NONAME
+ _ZN11RadioWindow4initEv @ 14 NONAME
+ _ZN11RadioWindow8initViewEv @ 15 NONAME
+ _ZN11RadioWindowC1EP7QWidget @ 16 NONAME
+ _ZN11RadioWindowC2EP7QWidget @ 17 NONAME
+ _ZN11RadioWindowD0Ev @ 18 NONAME
+ _ZN11RadioWindowD1Ev @ 19 NONAME
+ _ZN11RadioWindowD2Ev @ 20 NONAME
+ _ZN16RadioFadingLabel11qt_metacallEN11QMetaObject4CallEiPPv @ 21 NONAME
+ _ZN16RadioFadingLabel11qt_metacastEPKc @ 22 NONAME
+ _ZN16RadioFadingLabel11startEffectERK7QStringPKc @ 23 NONAME
+ _ZN16RadioFadingLabel14effectFinishedEN8HbEffect12EffectStatusE @ 24 NONAME
+ _ZN16RadioFadingLabel16setFadingEnabledEb @ 25 NONAME
+ _ZN16RadioFadingLabel16staticMetaObjectE @ 26 NONAME DATA 16
+ _ZN16RadioFadingLabel19getStaticMetaObjectEv @ 27 NONAME
+ _ZN16RadioFadingLabel20setTextWithoutFadingERK7QString @ 28 NONAME
+ _ZN16RadioFadingLabel7setTextERK7QString @ 29 NONAME
+ _ZN16RadioFadingLabel8trimHtmlERK7QString @ 30 NONAME
+ _ZN16RadioFadingLabelC1EP13QGraphicsItem @ 31 NONAME
+ _ZN16RadioFadingLabelC2EP13QGraphicsItem @ 32 NONAME
+ _ZN19RadioFrequencyStrip10skipToNextEv @ 33 NONAME
+ _ZN19RadioFrequencyStrip11qt_metacallEN11QMetaObject4CallEiPPv @ 34 NONAME
+ _ZN19RadioFrequencyStrip11qt_metacastEPKc @ 35 NONAME
+ _ZN19RadioFrequencyStrip12setFrequencyEjiN6Scroll9DirectionE @ 36 NONAME
+ _ZN19RadioFrequencyStrip13seekRequestedEi @ 37 NONAME
+ _ZN19RadioFrequencyStrip13skipRequestedEi @ 38 NONAME
+ _ZN19RadioFrequencyStrip14skipToPreviousEv @ 39 NONAME
+ _ZN19RadioFrequencyStrip16frequencyChangedEjii @ 40 NONAME
+ _ZN19RadioFrequencyStrip16staticMetaObjectE @ 41 NONAME DATA 16
+ _ZN19RadioFrequencyStrip18skipToNextFavoriteEv @ 42 NONAME
+ _ZN19RadioFrequencyStrip19getStaticMetaObjectEv @ 43 NONAME
+ _ZN19RadioFrequencyStrip20emitFrequencyChangedEjii @ 44 NONAME
+ _ZN19RadioFrequencyStrip22skipToPreviousFavoriteEv @ 45 NONAME
+ _ZN19RadioFrequencyStrip4initEP13RadioUiEngineR13RadioUiLoader @ 46 NONAME
+ _ZN19RadioFrequencyStrip6seekUpEv @ 47 NONAME
+ _ZN19RadioFrequencyStrip8seekDownEv @ 48 NONAME
+ _ZN19RadioFrequencyStripC1Ev @ 49 NONAME
+ _ZN19RadioFrequencyStripC2Ev @ 50 NONAME
+ _ZN20RadioStationCarousel10timerFiredEv @ 51 NONAME
+ _ZN20RadioStationCarousel11findStationEj @ 52 NONAME
+ _ZN20RadioStationCarousel11qt_metacallEN11QMetaObject4CallEiPPv @ 53 NONAME
+ _ZN20RadioStationCarousel11qt_metacastEPKc @ 54 NONAME
+ _ZN20RadioStationCarousel11resizeEventEP25QGraphicsSceneResizeEvent @ 55 NONAME
+ _ZN20RadioStationCarousel11setInfoTextEN16CarouselInfoText4TypeE @ 56 NONAME
+ _ZN20RadioStationCarousel12cleanRdsDataEv @ 57 NONAME
+ _ZN20RadioStationCarousel12gestureEventEP13QGestureEvent @ 58 NONAME
+ _ZN20RadioStationCarousel12setFrequencyEjiN6Scroll9DirectionE @ 59 NONAME
+ _ZN20RadioStationCarousel12setLandscapeEb @ 60 NONAME
+ _ZN20RadioStationCarousel13clearInfoTextEv @ 61 NONAME
+ _ZN20RadioStationCarousel13drawOffScreenER8QPainter @ 62 NONAME
+ _ZN20RadioStationCarousel13localizeGenreEi @ 63 NONAME
+ _ZN20RadioStationCarousel13scrollToIndexEiN6Scroll9DirectionE6QFlagsINS_10ScrollFlagEE @ 64 NONAME
+ _ZN20RadioStationCarousel13skipRequestedEi @ 65 NONAME
+ _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
+ _ZN20RadioStationCarousel24setAlternateSkippingModeEb @ 88 NONAME
+ _ZN20RadioStationCarousel4initER13RadioUiLoaderP13RadioUiEngine @ 89 NONAME
+ _ZN20RadioStationCarousel4skipEN11StationSkip4ModeE @ 90 NONAME
+ _ZN20RadioStationCarousel6updateERK12RadioStation @ 91 NONAME
+ _ZN20RadioStationCarousel8uiEngineEv @ 92 NONAME
+ _ZN20RadioStationCarousel9adjustPosEi @ 93 NONAME
+ _ZN20RadioStationCarousel9nextIndexEi @ 94 NONAME
+ _ZN20RadioStationCarousel9prevIndexEi @ 95 NONAME
+ _ZN20RadioStationCarousel9showEventEP10QShowEvent @ 96 NONAME
+ _ZN20RadioStationCarousel9trimIndexEi @ 97 NONAME
+ _ZN20RadioStationCarouselC1EP13QGraphicsItem @ 98 NONAME
+ _ZN20RadioStationCarouselC2EP13QGraphicsItem @ 99 NONAME
+ _ZNK11RadioWindow10metaObjectEv @ 100 NONAME
+ _ZNK16RadioFadingLabel10metaObjectEv @ 101 NONAME
+ _ZNK19RadioFrequencyStrip10isScanningEv @ 102 NONAME
+ _ZNK19RadioFrequencyStrip10metaObjectEv @ 103 NONAME
+ _ZNK19RadioFrequencyStrip13isInitializedEv @ 104 NONAME
+ _ZNK19RadioFrequencyStrip15stationsInRangeEjj @ 105 NONAME
+ _ZNK19RadioFrequencyStrip16frequencyAtIndexEi @ 106 NONAME
+ _ZNK20RadioStationCarousel10metaObjectEv @ 107 NONAME
+ _ZNK20RadioStationCarousel12favoriteIconEv @ 108 NONAME
+ _ZNK20RadioStationCarousel13isInitializedEv @ 109 NONAME
+ _ZNK20RadioStationCarousel14autoScrollTimeEv @ 110 NONAME
+ _ZNK20RadioStationCarousel14isInManualSeekEv @ 111 NONAME
+ _ZNK20RadioStationCarousel15nonFavoriteIconEv @ 112 NONAME
+ _ZNK20RadioStationCarousel16isInScanningModeEv @ 113 NONAME
+ _ZNK20RadioStationCarousel17isAntennaAttachedEv @ 114 NONAME
+ _ZNK20RadioStationCarousel18isScrollingAllowedEv @ 115 NONAME
+ _ZTI11RadioWindow @ 116 NONAME
+ _ZTI16RadioFadingLabel @ 117 NONAME
+ _ZTI19RadioFrequencyStrip @ 118 NONAME
+ _ZTI20RadioStationCarousel @ 119 NONAME
+ _ZTV11RadioWindow @ 120 NONAME
+ _ZTV16RadioFadingLabel @ 121 NONAME
+ _ZTV19RadioFrequencyStrip @ 122 NONAME
+ _ZTV20RadioStationCarousel @ 123 NONAME
+ _ZThn28_N20RadioStationCarousel11findStationEj @ 124 NONAME
+ _ZThn28_N20RadioStationCarousel13localizeGenreEi @ 125 NONAME
+ _ZThn28_N20RadioStationCarousel16handleUrlClickedERK12RadioStation @ 126 NONAME
+ _ZThn28_N20RadioStationCarousel17handleIconClickedERK12RadioStation @ 127 NONAME
+ _ZThn28_N20RadioStationCarousel22handleRadiotextClickedERK12RadioStation @ 128 NONAME
+ _ZThn28_NK20RadioStationCarousel12favoriteIconEv @ 129 NONAME
+ _ZThn28_NK20RadioStationCarousel14isInManualSeekEv @ 130 NONAME
+ _ZThn28_NK20RadioStationCarousel15nonFavoriteIconEv @ 131 NONAME
+ _ZThn8_N11RadioWindowD0Ev @ 132 NONAME
+ _ZThn8_N11RadioWindowD1Ev @ 133 NONAME
+ _ZThn8_N20RadioStationCarousel15mousePressEventEP24QGraphicsSceneMouseEvent @ 134 NONAME
--- a/radioapp/radioapplication/inc/radioapplication.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radioapplication/inc/radioapplication.h Wed Aug 18 09:49:03 2010 +0300
@@ -27,6 +27,7 @@
// Forward declarations
class RadioWindow;
class RadioStationModel;
+class XQSettingsManager;
#ifdef BUILD_WIN32
class Win32Window;
@@ -46,19 +47,32 @@
private slots:
+ void checkOfflineMode();
+ void handleOfflineQueryAnswer();
+
+private:
+
void init();
+ bool isInOfflineMode() const;
+ void askOfflineModePermission( const QString& question );
private: // data
#ifdef BUILD_WIN32
- QScopedPointer<Win32Window> mWin32Window;
+ QScopedPointer<Win32Window> mWin32Window;
#endif // BUILD_WIN32
/**
* Application main window
* Own
*/
- QScopedPointer<RadioWindow> mMainWindow;
+ QScopedPointer<RadioWindow> mMainWindow;
+
+ /**
+ * Pointer to settings manager
+ * Own.
+ */
+ XQSettingsManager* mSettingsManager;
};
--- a/radioapp/radioapplication/radioapplication.pro Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radioapplication/radioapplication.pro Wed Aug 18 09:49:03 2010 +0300
@@ -30,6 +30,7 @@
ICON = resources/qtg_large_radio.svg # Fallback icon in case theme doesn't have one
LIBS += -lxqserviceutil
+ LIBS += -lxqsettingsmanager
BLD_INF_RULES.prj_exports += "resources/fmradio.docml /epoc32/release/winscw/udeb/z/resource/hb/splashml/fmradio.docml" \
"resources/fmradio.splashml /epoc32/release/winscw/udeb/z/resource/hb/splashml/fmradio.splashml" \
@@ -38,8 +39,6 @@
}
CONFIG += hb service
-CONFIG += mobility
-MOBILITY = systeminfo
# Service provider specific configuration.
SERVICE.FILE = resources/service_conf.xml
--- a/radioapp/radioapplication/src/radioapplication.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radioapplication/src/radioapplication.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -17,8 +17,9 @@
// System includes
#include <QTimer>
-#include <qsysteminfo.h>
#include <HbDeviceMessageBox>
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
#include <xqserviceutil.h>
#include <HbSplashScreen>
@@ -43,11 +44,15 @@
# define INIT_WIN32_TEST_WINDOW
#endif // BUILD_WIN32
+
+static XQSettingsKey gConnectionKey( XQSettingsKey::TargetCentralRepository, CENREP_CORE_APPLICATION_UIS, ID_NETWORK_CONNECTION_ALLOWED );
+
/*!
* Constructor
*/
RadioApplication::RadioApplication( int &argc, char *argv[] ) :
- HbApplication( argc, argv, Hb::NoSplash )
+ HbApplication( argc, argv, Hb::NoSplash ),
+ mSettingsManager( new XQSettingsManager( this ) )
{
// Initializes the radio engine utils if UI logs are entered into the engine log
INIT_COMBINED_LOGGER
@@ -55,11 +60,21 @@
LOG_TIMESTAMP( "Start radio" );
setApplicationName( hbTrId( "txt_rad_title_fm_radio" ) );
- if ( !XQServiceUtil::isService() ) {
- HbSplashScreen::start();
+ 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();
+
+ } else {
+
+ if ( isInOfflineMode() ) {
+ askOfflineModePermission( hbTrId( "txt_rad_info_activate_radio_in_offline_mode" ) );
+ } else {
+ init();
+ }
+
}
-
- QTimer::singleShot( 0, this, SLOT(init()) );
}
/*!
@@ -76,41 +91,93 @@
* Private slot
*
*/
-void RadioApplication::init()
+void RadioApplication::checkOfflineMode()
{
- // If started as a service, there is no need for offline-check
- bool okToStart = XQServiceUtil::isService();
- QScopedPointer<QtMobility::QSystemDeviceInfo> deviceInfo( new QtMobility::QSystemDeviceInfo() );
-
- if ( !okToStart ) {
- if ( deviceInfo->currentProfile() != QtMobility::QSystemDeviceInfo::OfflineProfile ) {
- okToStart = true;
- } else {
- // Device is in offline profile, ask the user for permission to start
- HbDeviceMessageBox box( hbTrId( "txt_rad_info_activate_radio_in_offline_mode" ), HbMessageBox::MessageTypeQuestion );
- box.setTimeout( HbPopup::NoTimeout );
- box.exec();
- okToStart = box.isAcceptAction( box.triggeredAction() );
- }
+ if ( isInOfflineMode() ) {
+ askOfflineModePermission( hbTrId( "txt_rad_info_continue_using_the_radio_in_offline" ) );
}
-
- if ( okToStart ) {
-
- // Try to optimize startup time by launching the radio server process as soon as possible.
- // This way the server and UI are being initialized at the same time and the startup is faster.
-// RadioUiEngine::launchRadioServer();
-
- mMainWindow.reset( new RadioWindow() );
+}
- CREATE_WIN32_TEST_WINDOW
-
- INIT_WIN32_TEST_WINDOW
+/*!
+ * Private slot
+ *
+ */
+void RadioApplication::handleOfflineQueryAnswer()
+{
+ HbDeviceMessageBox* box = static_cast<HbDeviceMessageBox*>( sender() );
+ box->deleteLater();
+ if ( box->isAcceptAction( box->triggeredAction() ) ) {
- // Construct the real views
- mMainWindow->init( deviceInfo.take() );
+ // If main window has not been created yet it means the offline question was asked during startup
+ // 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 ) {
+ init();
+ }
- mMainWindow->show();
} else {
quit();
}
}
+
+/*!
+ *
+ */
+void RadioApplication::init()
+{
+ // Try to optimize startup time by launching the radio server process as soon as possible.
+ // This way the server and UI are being initialized at the same time and the startup is faster.
+// RadioUiEngine::launchRadioServer();
+
+ // Splash screen needs to be shown when not started by homescreen widget
+ if ( !XQServiceUtil::isService() ) {
+ HbSplashScreen::setAppId( "fmradio" );
+ HbSplashScreen::start();
+ }
+
+ Radio::connect( mSettingsManager, SIGNAL(valueChanged(XQSettingsKey,QVariant)),
+ this, SLOT(checkOfflineMode()) );
+
+ bool monitoringStarted = mSettingsManager->startMonitoring( gConnectionKey );
+ 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();
+
+ mMainWindow->show();
+}
+
+/*!
+ *
+ */
+bool RadioApplication::isInOfflineMode() const
+{
+ const QVariant connectionAllowed = mSettingsManager->readItemValue( gConnectionKey );
+ if ( connectionAllowed.canConvert( QVariant::Int ) && connectionAllowed.toInt() == NetworkNotAllowed ) {
+ return true;
+ }
+
+ return false;
+}
+
+/*!
+ *
+ */
+void RadioApplication::askOfflineModePermission( const QString& question )
+{
+ HbDeviceMessageBox* box = new HbDeviceMessageBox( question, HbMessageBox::MessageTypeQuestion, this );
+ box->setStandardButtons( HbMessageBox::Yes | HbMessageBox::No );
+ box->setTimeout( HbPopup::NoTimeout );
+ box->setDismissPolicy( HbPopup::NoDismiss );
+ Radio::connect( box, SIGNAL(aboutToClose()),
+ this, SLOT(handleOfflineQueryAnswer()) );
+ box->show();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radioapplication/win32_stubs/qsysteminfo.h Wed Aug 18 09:49:03 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* 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 IS A STUB CLASS FOR WIN32 ENVIRONMENT!
+// It is only meant to compile, not to actually do anything
+
+#ifndef Q_SYSTEMINFO_H
+#define Q_SYSTEMINFO_H
+
+#include <QObject>
+
+namespace QtMobility {
+
+class QSystemDeviceInfo : public QObject
+{
+ Q_OBJECT
+public:
+
+ QSystemDeviceInfo( QObject* parent = 0 );
+ virtual ~QSystemDeviceInfo();
+
+ enum Profile { GeneralProfile, OfflineProfile };
+ Profile currentProfile() { return GeneralProfile; }
+
+signals:
+
+ void currentProfileChanged(QSystemDeviceInfo::Profile);
+
+};
+
+
+}
+
+#endif // Q_SYSTEMINFO_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radioapplication/win32_stubs/win32_stubs.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -0,0 +1,151 @@
+/*
+* 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:
+*
+*/
+
+#include "qsysteminfo.h"
+#include "xqserviceprovider.h"
+#include "xqsettingskey.h"
+#include "xqsettingsmanager.h"
+#include "radio_global.h"
+
+/*!
+ *
+ */
+QtMobility::QSystemDeviceInfo::QSystemDeviceInfo( QObject* parent ) :
+ QObject( parent )
+{
+}
+
+/*!
+ *
+ */
+QtMobility::QSystemDeviceInfo::~QSystemDeviceInfo()
+{
+}
+
+/*!
+ *
+ */
+XQServiceProvider::XQServiceProvider( const QString&, QObject* parent ) :
+ QObject( parent )
+{
+}
+
+/*!
+ *
+ */
+XQServiceProvider::~XQServiceProvider()
+{
+}
+
+
+/*!
+ *
+ */
+XQSettingsKey::XQSettingsKey( XQSettingsKey::Target, long int uid, unsigned long int key ) :
+ mUid( uid ),
+ mKey( key )
+{
+}
+
+/*!
+ *
+ */
+XQSettingsKey::~XQSettingsKey()
+{
+}
+
+/*!
+ *
+ */
+XQSettingsKey::Target XQSettingsKey::target() const
+{
+ return TargetCentralRepository;
+}
+
+/*!
+ *
+ */
+long int XQSettingsKey::uid() const
+{
+ return mUid;
+}
+
+/*!
+ *
+ */
+unsigned long int XQSettingsKey::key() const
+{
+ return mKey;
+}
+
+/*!
+ *
+ */
+XQSettingsManager::XQSettingsManager( QObject* parent ) :
+ QObject( parent )
+{
+}
+
+/*!
+ *
+ */
+XQSettingsManager::~XQSettingsManager()
+{
+}
+
+/*!
+ *
+ */
+QVariant XQSettingsManager::readItemValue( const XQSettingsKey& key, XQSettingsManager::Type )
+{
+ if ( key.uid() == CENREP_CORE_APPLICATION_UIS && key.key() == ID_NETWORK_CONNECTION_ALLOWED ) {
+ return NetworkAllowed;
+ }
+ return QVariant();
+}
+
+/*!
+ *
+ */
+bool XQSettingsManager::writeItemValue( const XQSettingsKey&, const QVariant& )
+{
+ return true;
+}
+
+/*!
+ *
+ */
+bool XQSettingsManager::startMonitoring( const XQSettingsKey&, XQSettingsManager::Type )
+{
+ return true;
+}
+
+/*!
+ *
+ */
+bool XQSettingsManager::stopMonitoring( const XQSettingsKey& )
+{
+ return true;
+}
+
+/*!
+ *
+ */
+XQSettingsManager::Error XQSettingsManager::error() const
+{
+ return NoError;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radioapplication/win32_stubs/xqserviceprovider.h Wed Aug 18 09:49:03 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as published by
+* the Free Software Foundation, version 2.1 of the License.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program. If not,
+* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
+*
+* Description:
+*
+*/
+
+#ifndef XQSERVICEABSTRACTSERVICE_H
+#define XQSERVICEABSTRACTSERVICE_H
+
+// THIS IS A STUB CLASS FOR WIN32 ENVIRONMENT!
+// It is only meant to compile, not to actually do anything
+
+#include <QObject>
+#include <QString>
+#include <QVariant>
+#include <QSet>
+#include <QStringList>
+
+class XQRequestInfo
+{
+public:
+
+ bool isValid() const { return true; }
+
+ void setEmbedded(bool) {}
+ bool isEmbedded() const { return false; }
+ void setBackground(bool) {}
+ bool isBackground() const { return false; }
+ bool isSynchronous() const { return false; }
+ void setForeground(bool) {}
+ bool isForeground() const { return true; }
+
+ quint32 clientSecureId() const { return VID_DEFAULT; }
+ quint32 clientVendorId() const { return VID_DEFAULT; }
+ QSet<int> clientCapabilities() const { return QSet<int>(); }
+ int id() const { return -1; }
+
+ void setInfo(const QString&, const QVariant&) {}
+ QVariant info(const QString&) const { return QVariant(); }
+ QStringList infoKeys() const { return QStringList(); }
+
+};
+
+class XQServiceProvider : public QObject
+{
+ Q_OBJECT
+public:
+ explicit XQServiceProvider( const QString& service, QObject* parent = 0 );
+ ~XQServiceProvider();
+
+ void SetPlugin(QObject*) {}
+
+Q_SIGNALS:
+ void returnValueDelivered();
+ void clientDisconnected();
+
+protected:
+ void publishAll() {}
+ int setCurrentRequestAsync() { return -1; }
+ bool completeRequest(int, const QVariant&) { return true; }
+ XQRequestInfo requestInfo() const { return XQRequestInfo(); }
+
+ template <typename T>
+ inline bool completeRequest(int index, const T& retValue)
+ {
+ QVariant retValueVariant;
+ retValueVariant.setValue(retValue);
+ return completeRequest(index, retValueVariant);
+ }
+
+};
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radioapplication/win32_stubs/xqserviceutil.h Wed Aug 18 09:49:03 2010 +0300
@@ -0,0 +1,35 @@
+/*
+* 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 XQSERVICEUTIL_H
+#define XQSERVICEUTIL_H
+
+#include <QString>
+
+// THIS IS A STUB CLASS FOR WIN32 ENVIRONMENT!
+// It is only meant to compile, not to actually do anything
+
+namespace XQServiceUtil
+{
+ void toBackground(bool) {}
+ bool isEmbedded() { return false; }
+ bool isService() { return false; }
+ QString interfaceName() { return ""; }
+ QString operationName() { return ""; }
+}
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radioapplication/win32_stubs/xqsettingskey.h Wed Aug 18 09:49:03 2010 +0300
@@ -0,0 +1,44 @@
+/*
+* 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 XQSETTINGSITEM_STUB_H
+#define XQSETTINGSITEM_STUB_H
+
+class XQSettingsKey
+{
+public:
+ enum Target
+ {
+ TargetCentralRepository = 0,
+ TargetPublishAndSubscribe
+ };
+
+ XQSettingsKey(XQSettingsKey::Target target, long int uid, unsigned long int key);
+ ~XQSettingsKey();
+
+ XQSettingsKey::Target target() const;
+ long int uid() const;
+ unsigned long int key() const;
+
+private: // data
+
+ long int mUid;
+ unsigned long int mKey;
+
+};
+
+#endif //XQSETTINGSITEM_STUB_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radioapplication/win32_stubs/xqsettingsmanager.h Wed Aug 18 09:49:03 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* 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 XQSETTINGSMANAGER_STUB_H
+#define XQSETTINGSMANAGER_STUB_H
+
+#include <QObject>
+#include <QVariant>
+
+//#include "xqsettingskey.h"
+class XQSettingsKey;
+
+class XQSettingsManager : public QObject
+{
+ Q_OBJECT
+// Q_ENUMS(Error)
+// Q_ENUMS(Type)
+
+public:
+
+ enum Type
+ {
+ TypeVariant = 0,
+ TypeInt,
+ TypeDouble,
+ TypeString,
+ TypeByteArray
+ };
+
+ enum Error
+ {
+ NoError = 0,
+ OutOfMemoryError,
+ NotFoundError,
+ AlreadyExistsError,
+ PermissionDeniedError,
+ BadTypeError,
+ NotSupportedError,
+ UnknownError = -1
+ };
+
+ XQSettingsManager(QObject* parent = 0);
+ virtual ~XQSettingsManager();
+
+ QVariant readItemValue(const XQSettingsKey& key, XQSettingsManager::Type type = XQSettingsManager::TypeVariant);
+ bool writeItemValue(const XQSettingsKey& key, const QVariant& value);
+ bool startMonitoring(const XQSettingsKey& key, XQSettingsManager::Type type = XQSettingsManager::TypeVariant);
+ bool stopMonitoring(const XQSettingsKey& key);
+
+ XQSettingsManager::Error error() const;
+
+Q_SIGNALS:
+ void valueChanged(const XQSettingsKey& key, const QVariant& value);
+ void itemDeleted(const XQSettingsKey& key);
+
+private:
+};
+
+#endif // XQSETTINGSMANAGER_STUB_H
--- a/radioapp/radioenginewrapper/src/radioenginehandler.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radioenginewrapper/src/radioenginehandler.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -21,7 +21,6 @@
#include "cradiosystemeventcollector.h"
#include "cradiosettings.h"
#include "mradioenginesettings.h"
-#include "cradiorepositorymanager.h"
#include "mradiordsreceiver.h"
#include "radioenginehandler.h"
#include "mradioenginehandlerobserver.h"
--- a/radioapp/radioenginewrapper/src/radioenginewrapper.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radioenginewrapper/src/radioenginewrapper.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -51,7 +51,7 @@
void RadioEngineWrapper::addObserver( RadioEngineWrapperObserver* observer )
{
Q_D( RadioEngineWrapper );
- d->mObservers.append( observer );
+ d->mObservers.prepend( observer );
}
/*!
--- a/radioapp/radiopresetstorage/inc/radiostationif.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiopresetstorage/inc/radiostationif.h Wed Aug 18 09:49:03 2010 +0300
@@ -52,6 +52,9 @@
virtual bool isLocalStation() const = 0;
virtual void setLocalStation( bool localStation ) = 0;
+ virtual bool hasStationSentRds() const = 0;
+ virtual void setStationHasSentRds( bool hasSentRds ) = 0;
+
};
--- a/radioapp/radiouiengine/inc/radiostation.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiouiengine/inc/radiostation.h Wed Aug 18 09:49:03 2010 +0300
@@ -174,8 +174,6 @@
inline bool hasRadiotext() const { return !radioText().isEmpty(); }
inline bool hasDynamicPs() const { return !dynamicPsText().isEmpty(); }
inline bool hasGenre() const { return genre() != -1; }
- inline bool hasRds() const { return hasPiCode() || hasGenre() || hasDynamicPs() ||
- hasRadiotext() || hasUrl() || ( !hasName() && !isRenamed() ); }
// Getters for non-persistent data
@@ -186,6 +184,7 @@
bool hasDataChanged( Change flags ) const;
bool hasChanged() const;
void resetChangeFlags();
+ bool hasSentRds() const;
private:
--- a/radioapp/radiouiengine/inc/radiostation_p.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiouiengine/inc/radiostation_p.h Wed Aug 18 09:49:03 2010 +0300
@@ -32,6 +32,17 @@
{
public:
+ /**
+ * Flags to indicate various on/off type information of the radio station
+ */
+ enum StationInfoFlag
+ {
+ RenamedByUser = 1 << 0,
+ StationSendsRds = 1 << 1,
+ CallSignCheckDone = 1 << 2
+ };
+ Q_DECLARE_FLAGS( StationInfo, StationInfoFlag )
+
explicit RadioStationPrivate( int presetIndex = RadioStation::Invalid, uint frequency = 0 );
explicit RadioStationPrivate( const RadioStationPrivate& other );
@@ -39,8 +50,6 @@
void init( int presetIndex, uint frequency = 0 );
-private:
-
// from base class RadioStationIf
int presetIndex() const;
@@ -61,6 +70,13 @@
void setFavorite( bool favorite );
bool isLocalStation() const;
void setLocalStation( bool localStation );
+ bool hasStationSentRds() const;
+ void setStationHasSentRds( bool hasSentRds );
+
+// New functions
+
+ bool isCallSignCheckDone() const;
+ void setCallSignCheckDone( bool checkDone );
public: // data
@@ -92,11 +108,6 @@
QString mName;
/**
- * Flag to indicate whether or not the user has renamed the station
- */
- bool mRenamedByUser;
-
- /**
* Station genre received through RDS
*/
int mGenre;
@@ -161,17 +172,19 @@
RadioStation::Change mChangeFlags;
/**
- * Keeps track of station call sign calculation state
- */
- bool mCallSignCheckDone;
-
- /**
* Time of the last PS name change. Used to check if the station changes its PS name too often.
* In bad RDS coverage a station using dynamic PS might be incorrectly determined to use static PS.
* This is a corrective effort to change that decision if the name changes too often.
*/
QTime mLastPsNameChangeTime;
+ /**
+ * Flags to indicate various on/off type information of the radio station
+ */
+ StationInfo mStationInfo;
+
};
+Q_DECLARE_OPERATORS_FOR_FLAGS( RadioStationPrivate::StationInfo )
+
#endif // RADIOSTATIONINFO_P_H_
--- a/radioapp/radiouiengine/inc/radiouiengine.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiouiengine/inc/radiouiengine.h Wed Aug 18 09:49:03 2010 +0300
@@ -116,7 +116,7 @@
void addRecognizedSong( const QString& artist, const QString& title, const RadioStation& station );
- uint skipStation( StationSkip::Mode mode, uint startFrequency = 0 );
+ uint skipStation( StationSkip::Mode mode, uint startFrequency = 0, const int reason = TuneReason::Skip );
enum MusicStore{ OviStore, OtherStore };
void openMusicStore( const RadioHistoryItem& item, MusicStore store = OviStore );
--- a/radioapp/radiouiengine/src/radiocontrolservice.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiouiengine/src/radiocontrolservice.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -64,11 +64,11 @@
break;
case RadioServiceCommand::Previous:
- mUiEngine.skipStation( StationSkip::PreviousFavorite );
+ mUiEngine.skipStation( StationSkip::PreviousFavorite, 0, TuneReason::SkipFromWidget );
break;
case RadioServiceCommand::Next:
- mUiEngine.skipStation( StationSkip::NextFavorite );
+ mUiEngine.skipStation( StationSkip::NextFavorite, 0, TuneReason::SkipFromWidget );
break;
case RadioServiceCommand::SeekUp:
--- a/radioapp/radiouiengine/src/radiostation.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiouiengine/src/radiostation.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -182,9 +182,10 @@
{
// Name emptiness is checked because this name setter is used by incoming RDS PS name
// and empty names should be ignored
- if ( !name.isEmpty() && !mData->mRenamedByUser && mData->mName.compare( name ) != 0 ) {
+ if ( !name.isEmpty() && !mData->isRenamedByUser() && mData->mName.compare( name ) != 0 ) {
mData->mName = name.trimmed();
mData->mChangeFlags |= RadioStation::PersistentDataChanged | RadioStation::NameChanged;
+ mData->setStationHasSentRds( true );
// Save the time when PS name changed and if the last change was too close to the current time
// change the PS type to dynamic if it has already been incorrectly determined to be static.
@@ -197,13 +198,13 @@
mData->mDynamicPsText = mData->mName;
mData->mName = "";
mData->mChangeFlags |= RadioStation::PsTypeChanged | RadioStation::DynamicPsChanged;
- mData->mCallSignCheckDone = false;
+ mData->setCallSignCheckDone( false );
}
//TODO: This is a temporary thing to see some URL. Remove this
if ( !mData->mName.isEmpty() ) {
QString url = mData->mName.toLower().remove( " " );
- mData->mUrl = "www." + url + ".fi";
+ mData->mUrl = "http://www." + url + ".fi";
} else {
mData->mUrl = "";
}
@@ -220,6 +221,9 @@
if ( mData->mGenre != genre ) {
mData->mGenre = genre;
mData->mChangeFlags |= RadioStation::PersistentDataChanged | RadioStation::GenreChanged;
+
+ // Note that setStationHasSentRds() is not set when genre or pi code arrives.
+
ASSERT_SHARED_NULL_IS_INTACT
}
}
@@ -232,6 +236,7 @@
if ( mData->mUrl.compare( url ) != 0 ) {
mData->mUrl = url;
mData->mChangeFlags |= RadioStation::PersistentDataChanged | RadioStation::UrlChanged;
+ mData->setStationHasSentRds( true );
ASSERT_SHARED_NULL_IS_INTACT
}
}
@@ -249,16 +254,18 @@
}
LOG_FORMAT( "stored PI: %d", mData->mPiCode );
- LOG_FORMAT( "call sign check done: %d", mData->mCallSignCheckDone );
+ LOG_FORMAT( "call sign check done: %d", mData->isCallSignCheckDone() );
//prevent executing the below code when unnessesary
- if ( mData->mPiCode != piCode || !mData->mCallSignCheckDone ) {
+ if ( mData->mPiCode != piCode || !mData->isCallSignCheckDone() ) {
mData->mPiCode = piCode;
mData->mChangeFlags |= RadioStation::PersistentDataChanged | RadioStation::PiCodeChanged;
+ // Note that setStationHasSentRds() is not set when genre or pi code arrives.
+
// call sign not calculated for clear channel stations
//TODO: Remove magic numbers
if ( ( (mData->mPiCode & 0xF000 ) >> 12 ) == 0x1 ) {
LOG( "Clear channel station" );
- mData->mCallSignCheckDone = true;
+ mData->setCallSignCheckDone( true );
} else if ( region == RadioRegion::America && mData->mName.isEmpty() && !isRenamed() ) {
LOG( "Calculate call sign" );
mData->mName = piCodeToCallSign( mData->mPiCode );
@@ -267,7 +274,7 @@
if ( mData->mChangeFlags.testFlag( RadioStation::PsTypeChanged ) ) {
LOG( "Call sign check done" );
- mData->mCallSignCheckDone = true;
+ mData->setCallSignCheckDone( true );
}
ASSERT_SHARED_NULL_IS_INTACT
@@ -296,6 +303,7 @@
if ( mData->mRadioText.compare( radioText ) != 0 ) {
mData->mRadioText = radioText.isEmpty() ? "" : radioText.trimmed();
mData->mChangeFlags |= RadioStation::RadioTextChanged;
+ mData->setStationHasSentRds( true );
ASSERT_SHARED_NULL_IS_INTACT
}
}
@@ -359,7 +367,7 @@
// of a station by setting an empty name
if ( mData->mName.compare( name ) != 0 ) {
mData->mName = name;
- mData->mRenamedByUser = !name.isEmpty();
+ mData->setRenamedByUser( !name.isEmpty() );
mData->mChangeFlags |= RadioStation::PersistentDataChanged | RadioStation::NameChanged;
}
}
@@ -369,7 +377,7 @@
*/
bool RadioStation::isRenamed() const
{
- return mData->mRenamedByUser;
+ return mData->isRenamedByUser();
}
/*!
@@ -545,6 +553,14 @@
/*!
*
*/
+bool RadioStation::hasSentRds() const
+{
+ return mData->hasStationSentRds();
+}
+
+/*!
+ *
+ */
QString RadioStation::piCodeToCallSign( uint programmeIdentification )
{
QString callSign;
--- a/radioapp/radiouiengine/src/radiostation_p.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiouiengine/src/radiostation_p.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -20,6 +20,16 @@
// User includes
#include "radiostation_p.h"
+/**
+ * Convenience macro to set and unset flag values
+ */
+#define SET_FLAG_VALUE(member,flag,value) \
+ if ( value ) { \
+ member |= flag; \
+ } else { \
+ member &= ~flag; \
+ }
+
/*!
*
*/
@@ -40,7 +50,6 @@
mPresetIndex( other.mPresetIndex ),
mFrequency( other.mFrequency ),
mName( other.mName ),
- mRenamedByUser( other.mRenamedByUser ),
mGenre( other.mGenre ),
mUrl( other.mUrl ),
mPiCode( other.mPiCode ),
@@ -49,9 +58,12 @@
mRadioText( other.mRadioText ),
mDynamicPsText( other.mDynamicPsText ),
mChangeFlags( other.mChangeFlags ),
- mCallSignCheckDone( other.mCallSignCheckDone ),
mLastPsNameChangeTime( other.mLastPsNameChangeTime )
{
+ setRenamedByUser( other.isRenamedByUser() );
+ setCallSignCheckDone( other.isCallSignCheckDone() );
+ setStationHasSentRds( other.hasStationSentRds() );
+
// Protect the shared null preset index to make debugging easier
if ( mPresetIndex == RadioStation::SharedNull ) {
mPresetIndex = RadioStation::Invalid;
@@ -70,15 +82,14 @@
*/
void RadioStationPrivate::init( int presetIndex, uint frequency )
{
- mPresetIndex = presetIndex;
- mFrequency = frequency;
- mRenamedByUser = false;
- mGenre = -1;
- mPiCode = -1;
- mType = 0;
- mPsType = RadioStation::Unknown;
- mChangeFlags = RadioStation::NoChange;
- mCallSignCheckDone = false;
+ mPresetIndex = presetIndex;
+ mFrequency = frequency;
+ mGenre = -1;
+ mPiCode = -1;
+ mType = 0;
+ mPsType = RadioStation::Unknown;
+ mChangeFlags = RadioStation::NoChange;
+ mStationInfo = 0;
}
/*!
@@ -134,7 +145,7 @@
*/
bool RadioStationPrivate::isRenamedByUser() const
{
- return mRenamedByUser;
+ return mStationInfo.testFlag( RenamedByUser );
}
/*!
@@ -142,7 +153,7 @@
*/
void RadioStationPrivate::setRenamedByUser( bool renamed )
{
- mRenamedByUser = renamed;
+ SET_FLAG_VALUE( mStationInfo, RenamedByUser, renamed );
}
/*!
@@ -206,11 +217,7 @@
*/
void RadioStationPrivate::setFavorite( bool favorite )
{
- if ( favorite ) {
- mType |= RadioStation::Favorite;
- } else {
- mType &= ~RadioStation::Favorite;
- }
+ SET_FLAG_VALUE( mType, RadioStation::Favorite, favorite );
}
/*!
@@ -226,9 +233,37 @@
*/
void RadioStationPrivate::setLocalStation( bool localStation )
{
- if ( localStation ) {
- mType |= RadioStation::LocalStation;
- } else {
- mType &= ~RadioStation::LocalStation;
- }
+ SET_FLAG_VALUE( mType, RadioStation::LocalStation, localStation );
+}
+
+/*!
+ * \reimp
+ */
+bool RadioStationPrivate::hasStationSentRds() const
+{
+ return mStationInfo.testFlag( StationSendsRds );
}
+
+/*!
+ * \reimp
+ */
+void RadioStationPrivate::setStationHasSentRds( bool hasSentRds )
+{
+ SET_FLAG_VALUE( mStationInfo, StationSendsRds, hasSentRds );
+}
+
+/*!
+ *
+ */
+bool RadioStationPrivate::isCallSignCheckDone() const
+{
+ return mStationInfo.testFlag( CallSignCheckDone );
+}
+
+/*!
+ *
+ */
+void RadioStationPrivate::setCallSignCheckDone( bool checkDone )
+{
+ SET_FLAG_VALUE( mStationInfo, CallSignCheckDone, checkDone );
+}
--- a/radioapp/radiouiengine/src/radiostationmodel.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiouiengine/src/radiostationmodel.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -179,6 +179,26 @@
RadioStationIf* stationInterface = static_cast<RadioStationIf*>( station.data_ptr() );
if ( d->mPresetStorage->readPreset( index, *stationInterface ) ) {
if ( station.isValid() && d->mWrapper->isFrequencyValid( station.frequency() ) ) {
+
+#ifdef INIT_STATIONS_WITH_DUMMY_RT
+ station.setGenre( GenreEurope::RdsChildrensProgrammes );
+ if ( index % 3 == 0 ) {
+ station.setName( "Radio Rock" );
+ station.setRadioText( "Now playing: <font color='cyan'>The Presidents of the United States of America</font> - <font color='cyan'>Dune Buggy and diipa daapa jhkjhui erjlkej rewjtl</font>" );
+ } else if ( index % 2 == 0 ) {
+ station.setName( "Radio Rock" );
+ } else {
+ station.setDynamicPsText( "DYN PS" );
+ }
+#endif // INIT_STATIONS_WITH_DUMMY_RT
+
+ // Check if the station seems to send RDS or not.
+ // Note that radiotext is not checked because it is not saved to cenrep
+ // TODO: Consider saving this state flag to cenrep
+ if ( ( station.hasName() && !station.isRenamed() ) || station.hasUrl() ) {
+ static_cast<RadioStationIf*>( station.data_ptr() )->setStationHasSentRds( true );
+ }
+
d->mStations.insert( station.frequency(), station );
} else {
LOG( "RadioStationModel::initialize: Invalid station!" );
--- a/radioapp/radiouiengine/src/radiouiengine.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiouiengine/src/radiouiengine.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -413,10 +413,10 @@
/*!
*
*/
-uint RadioUiEngine::skipStation( StationSkip::Mode mode, uint startFrequency )
+uint RadioUiEngine::skipStation( StationSkip::Mode mode, uint startFrequency, const int reason )
{
Q_D( RadioUiEngine );
- return d->skip( mode, startFrequency );
+ return d->skip( mode, startFrequency, reason );
}
/*!
--- a/radioapp/radiowidgets/inc/radiocarouselitem.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiocarouselitem.h Wed Aug 18 09:49:03 2010 +0300
@@ -37,6 +37,7 @@
{
Q_OBJECT
Q_PROPERTY(Appearance appearance READ appearance WRITE setAppearance)
+ Q_PROPERTY(bool landscape READ landscape WRITE setLandscape)
Q_ENUMS(Appearance)
friend class RadioStationCarousel;
@@ -71,6 +72,9 @@
void setAppearance( Appearance appearance );
Appearance appearance() const;
+ void setLandscape( bool landscape );
+ bool landscape() const;
+
void setSeekLayout( bool seekLayout );
void setStation( const RadioStation& station );
@@ -122,6 +126,7 @@
Appearance mAppearance;
bool mOwnsCss;
+ bool mLandscapeMode;
CarouselItemFlags mFlags;
};
--- a/radioapp/radiowidgets/inc/radiofrequencyitem.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiofrequencyitem.h Wed Aug 18 09:49:03 2010 +0300
@@ -22,7 +22,6 @@
#include <QPixmap>
// Forward declarations
-class RadioFrequencyStrip;
class QGraphicsPixmapItem;
// Class declaration
--- a/radioapp/radiowidgets/inc/radiofrequencystrip.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiofrequencystrip.h Wed Aug 18 09:49:03 2010 +0300
@@ -15,209 +15,60 @@
*
*/
-#ifndef FREQUENCYSTRIP_H
-#define FREQUENCYSTRIP_H
-
-// System includes
-#include <QMap>
-#include <QHash>
-#include <HbEffect>
-#include <QColor>
+#ifndef RADIOFREQUENCYSTRIP_H
+#define RADIOFREQUENCYSTRIP_H
// User includes
-#include "radiostripbase.h"
+#include "radiofrequencystripbase.h"
#include "radio_global.h"
#include "radiowidgetsexport.h"
// Forward declarations
class RadioUiEngine;
-class RadioFrequencyItem;
class RadioStation;
-class HbPushButton;
-class QTimer;
-class QModelIndex;
class RadioUiLoader;
typedef QList<RadioStation> StationList;
// Class declaration
-class WIDGETS_DLL_EXPORT RadioFrequencyStrip : public RadioStripBase
+class WIDGETS_DLL_EXPORT RadioFrequencyStrip : public RadioFrequencyStripBase
{
Q_OBJECT
- Q_PROPERTY(int itemHeight READ itemHeight WRITE setItemHeight)
- Q_PROPERTY(uint frequency READ frequency)
-
- friend class RadioFrequencyItem;
public:
RadioFrequencyStrip();
- void setItemHeight( int itemHeight );
- int itemHeight() const;
-
void init( RadioUiEngine* engine, RadioUiLoader& uiLoader );
- void setFrequency( const uint frequency, int reason, Scroll::Direction direction = Scroll::Shortest );
- uint frequency() const;
-
- bool isInManualSeekMode() const;
- void cancelManualSeek();
-
- void addScannedStation( const RadioStation& station );
-
- void updateFavorite( const RadioStation& station );
-
-public slots:
-
- void setScanningMode( bool isScanning );
+ void setFrequency( const uint newFrequency, int reason, Scroll::Direction direction = Scroll::Shortest );
signals:
void frequencyChanged( uint frequency, int reason, int direction );
void skipRequested( int skipMode );
void seekRequested( int seekDirection );
- void manualSeekChanged( bool manualSeek );
-
-private slots:
-
- void removeStation( const QModelIndex& parent, int first, int last );
- void updateStation( const QModelIndex& parent, int first, int last );
- void initEmptyItems();
- void handleLeftButton();
- void handleLongLeftButton();
- void handleRightButton();
- void handleLongRightButton();
- void toggleManualSeek();
- void handleScrollingEnd();
private:
-// from base class RadioStripBase
-
- void updateItemPrimitive( QGraphicsItem* itemToUpdate, int itemIndex );
- QGraphicsItem* createItemPrimitive( QGraphicsItem *parent );
- void scrollPosChanged();
-
-// from base class QGraphicsWidget
-
- void resizeEvent ( QGraphicsSceneResizeEvent* event );
-// void showEvent( QShowEvent* event );
- void changeEvent( QEvent* event );
-
-// from base class HbScrollArea
-
- void mousePressEvent( QGraphicsSceneMouseEvent* event );
- void mouseReleaseEvent( QGraphicsSceneMouseEvent* event );
- void gestureEvent( QGestureEvent* event );
-
-// from base class QObject
-
- void timerEvent( QTimerEvent* event );
-
-// New functions
-
- void initModel();
-
- void initSelector();
+// from base class RadioFrequencyStripBase
- void initPositions();
-
- void initButtons();
-
- void addFrequencyPos( int pos, uint frequency, RadioFrequencyItem* item );
-
- void updateStationsInRange( int first, int last, bool stationRemoved = false );
-
- void updateItem( RadioFrequencyItem* item, uint upperRange = 0, uint ignoredFrequency = 0 );
-
- void updateAllItems();
-
- QPixmap drawPixmap( uint frequency, QList<RadioStation> stations, RadioFrequencyItem* item );
-
- QLineF makeTab( qreal pos, int height );
-
- void emitFrequencyChanged( uint frequency );
-
- int selectorPos() const;
-
- void scrollToFrequency( uint frequency,
- Scroll::Direction direction = Scroll::Shortest,
- int time = 0,
- TuneReason::Reason reason = TuneReason::Unspecified );
-
- void hideButtons();
- void showButtons();
+ bool isInitialized() const;
+ QList<FrequencyStrip::StationMarker> stationsInRange( uint minFrequency, uint maxFrequency ) const;
+ void emitFrequencyChanged( uint frequency, int reason, int direction );
+ void skipToPrevious();
+ void skipToPreviousFavorite();
+ void skipToNext();
+ void skipToNextFavorite();
+ void seekDown();
+ void seekUp();
+ bool isScanning() const;
+ uint frequencyAtIndex( int index ) const;
private: // data
- class FrequencyPos
- {
- public:
- explicit FrequencyPos( int pos, RadioFrequencyItem* item ) :
- mPosition( pos ),
- mItem( item ) {}
-
- FrequencyPos() :
- mPosition( 0 ),
- mItem( 0 ) {}
-
- int mPosition;
- RadioFrequencyItem* mItem;
-
- };
-
RadioUiEngine* mUiEngine;
- int mItemHeight;
-
- uint mMinFrequency;
-
- uint mMaxFrequency;
-
- uint mFrequencyStepSize;
-
- uint mFrequency;
-
- QGraphicsPixmapItem* mSelectorImage;
-
- qreal mSeparatorPos;
-
- short mMaxWidth;
-
- qreal mSelectorPos;
-
- QList<RadioFrequencyItem*> mFrequencyItems;
-
- /**
- * Container to help map a frequency to strip position and additional information about the frequency.
- * In the default region contains an item for every valid frequency from 87.50 Mhz to 108.00 Mhz with
- * stepsize 50 Khz which amounts to 410 items.
- */
- QMap<uint,FrequencyPos> mFrequencies;
-
- /**
- * Container to help map strip position to frequency.
- * It is queried every time the strip moves so the lookup time needs to be fast. QHash is used because
- * it offers the fastest lookup time of any other QT container. QHash stores the items in arbitrary
- * order so we must never try to loop through them and assume they are in any particular order.
- */
- QHash<int,uint> mPositions;
-
- HbPushButton* mLeftButton;
-
- HbPushButton* mRightButton;
-
- QTimer* mManualSeekTimer;
-
- bool mManualSeekMode;
-
- uint mLastReportedFrequency;
-
- int mManualSeekTimerId;
-
- QColor mForegroundColor;
-
};
-#endif // FREQUENCYSTRIP_H
+#endif // RADIOFREQUENCYSTRIP_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radiowidgets/inc/radiofrequencystripbase.h Wed Aug 18 09:49:03 2010 +0300
@@ -0,0 +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:
+*
+*/
+
+#ifndef RADIOFREQUENCYSTRIPBASE_H
+#define RADIOFREQUENCYSTRIPBASE_H
+
+// System includes
+#include <QMap>
+#include <QHash>
+#include <HbEffect>
+#include <QColor>
+
+// User includes
+#include "radiostripbase.h"
+#include "radiofrequencystripdef.h"
+
+// Forward declarations
+class RadioFrequencyItem;
+class HbPushButton;
+class QTimer;
+class QModelIndex;
+class HbDocumentLoader;
+
+// Class declaration
+class RadioFrequencyStripBase : public RadioStripBase
+{
+ Q_OBJECT
+ Q_PROPERTY(int itemHeight READ itemHeight WRITE setItemHeight)
+ Q_PROPERTY(uint frequency READ frequency)
+
+ friend class RadioFrequencyItem;
+
+public:
+
+ RadioFrequencyStripBase( QGraphicsItem* parent = 0 );
+
+ void setItemHeight( int itemHeight );
+ int itemHeight() const;
+
+ void initbase( uint minFrequency, uint maxFrequency, uint stepSize, uint frequency );
+ void createButtonsFromDocml( HbDocumentLoader& uiLoader, const QString& leftButtonName, const QString& rightButtonName );
+ void createButtons();
+
+ virtual void setFrequency( const uint frequency, int reason, Scroll::Direction direction = Scroll::Shortest );
+ uint frequency() const;
+
+ bool isInManualSeekMode() const;
+ void cancelManualSeek();
+
+ void addScannedStation( uint frequency );
+
+ void updateFavorite( uint frequency );
+
+public slots:
+
+ void setScanningMode( bool isScanning );
+
+signals:
+
+ void manualSeekChanged( bool manualSeek );
+
+private slots:
+
+ void initEmptyItems();
+ void removeStation( const QModelIndex& parent, int first, int last );
+ void updateStation( const QModelIndex& parent, int first, int last );
+ void handleLeftButton();
+ void handleRightButton();
+ void handleLongLeftButton();
+ void handleLongRightButton();
+ void toggleManualSeek();
+ void handleScrollingEnd();
+
+private:
+
+// from base class RadioStripBase
+
+ void updateItemPrimitive( QGraphicsItem* itemToUpdate, int itemIndex );
+ QGraphicsItem* createItemPrimitive( QGraphicsItem *parent );
+ void scrollPosChanged();
+
+// from base class QGraphicsWidget
+
+ void resizeEvent ( QGraphicsSceneResizeEvent* event );
+// void showEvent( QShowEvent* event );
+ void changeEvent( QEvent* event );
+
+// from base class HbScrollArea
+
+ void mousePressEvent( QGraphicsSceneMouseEvent* event );
+ void mouseReleaseEvent( QGraphicsSceneMouseEvent* event );
+ void gestureEvent( QGestureEvent* event );
+
+// from base class QObject
+
+ void timerEvent( QTimerEvent* event );
+
+// New functions
+
+ virtual bool isInitialized() const = 0;
+ virtual QList<FrequencyStrip::StationMarker> stationsInRange( uint minFrequency, uint maxFrequency ) const = 0;
+ virtual void emitFrequencyChanged( uint frequency, int reason, int direction ) = 0;
+ virtual void skipToPrevious() = 0;
+ virtual void skipToPreviousFavorite() = 0;
+ virtual void skipToNext() = 0;
+ virtual void skipToNextFavorite() = 0;
+ virtual void seekDown() = 0;
+ virtual void seekUp() = 0;
+ virtual bool isScanning() const = 0;
+ virtual uint frequencyAtIndex( int index ) const = 0;
+
+ void initModel();
+
+ void initSelector();
+
+ void initPositions();
+
+ void initButtons();
+
+ void addFrequencyPos( int pos, uint frequency, RadioFrequencyItem* item );
+
+ void updateStationsInRange( int first, int last, bool stationRemoved = false );
+
+ void updateItem( RadioFrequencyItem* item, uint upperRange = 0, uint ignoredFrequency = 0 );
+
+ void updateAllItems();
+
+ QPixmap drawPixmap( uint frequency, QList<FrequencyStrip::StationMarker> stations, RadioFrequencyItem* item );
+
+ QLineF makeTab( qreal pos, int height );
+
+ int selectorPos() const;
+
+ void scrollToFrequency( uint frequency,
+ Scroll::Direction direction = Scroll::Shortest,
+ int time = 0 );
+
+ void hideButtons();
+ void showButtons();
+
+private: // data
+
+ class FrequencyPos
+ {
+ public:
+ explicit FrequencyPos( int pos, RadioFrequencyItem* item ) :
+ mPosition( pos ),
+ mItem( item ) {}
+
+ FrequencyPos() :
+ mPosition( 0 ),
+ mItem( 0 ) {}
+
+ int mPosition;
+ RadioFrequencyItem* mItem;
+
+ };
+
+ int mItemHeight;
+
+ uint mMinFrequency;
+
+ uint mMaxFrequency;
+
+ uint mFrequencyStepSize;
+
+ uint mFrequency;
+
+ QGraphicsPixmapItem* mSelectorImage;
+
+ qreal mSeparatorPos;
+
+ short mMaxWidth;
+
+ qreal mSelectorPos;
+
+ QList<RadioFrequencyItem*> mFrequencyItems;
+
+ /**
+ * Container to help map a frequency to strip position and additional information about the frequency.
+ * In the default region contains an item for every valid frequency from 87.50 Mhz to 108.00 Mhz with
+ * stepsize 50 Khz which amounts to 410 items.
+ */
+ QMap<uint,FrequencyPos> mFrequencies;
+
+ /**
+ * Container to help map strip position to frequency.
+ * It is queried every time the strip moves so the lookup time needs to be fast. QHash is used because
+ * it offers the fastest lookup time of any other QT container. QHash stores the items in arbitrary
+ * order so we must never try to loop through them and assume they are in any particular order.
+ */
+ QHash<int,uint> mPositions;
+
+ HbPushButton* mLeftButton;
+
+ HbPushButton* mRightButton;
+
+ QTimer* mManualSeekTimer;
+
+ bool mManualSeekMode;
+
+ uint mLastReportedFrequency;
+
+ int mManualSeekTimerId;
+
+ QColor mForegroundColor;
+
+};
+
+#endif // RADIOFREQUENCYSTRIPBASE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radiowidgets/inc/radiofrequencystripdef.h Wed Aug 18 09:49:03 2010 +0300
@@ -0,0 +1,102 @@
+/*
+* 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 RADIOFREQUENCYSTRIPDEF_H
+#define RADIOFREQUENCYSTRIPDEF_H
+
+#include <QLatin1String>
+#include <QFont>
+
+namespace Scroll
+{
+ enum Direction
+ {
+ Shortest,
+ Left,
+ Right
+ };
+}
+
+namespace FrequencyStrip
+{
+
+ struct StationMarker
+ {
+ StationMarker() : mFrequency( 0 ), mIsFavorite( false ) {}
+ StationMarker( uint frequency, bool isFavorite ) : mFrequency( frequency ), mIsFavorite( isFavorite ) {}
+ uint mFrequency;
+ bool mIsFavorite;
+ };
+
+ enum FrequencyChangeReason
+ {
+ Unspecified = 0,
+ ManualSeekUpdate,
+ ManualSeekTune
+ };
+
+ // Frequency lines
+ const int TAB_HEIGHT_SMALL = 12;
+ const int TAB_HEIGHT_BIG = 18;
+ const int PEN_WIDTH_FAVORITE = 4;
+ const qreal INDICATOR_WIDTH = 2.0;
+
+ const qreal ROUNDER = 0.5;
+ const int SELECTOR_WIDTH = 2;
+ const int SELECTOR_Z_POS = 100;
+
+ const int ONE_HERTZ = 1000000;
+ const int HALF_HERTZ = ONE_HERTZ / 2;
+ const int ONE_TAB_DISTANCE = 20;
+ const uint ONE_TAB_IN_HZ = uint( 0.2 * ONE_HERTZ );
+ const qreal PIXEL_IN_HZ = ONE_TAB_IN_HZ / ONE_TAB_DISTANCE;
+ const qreal PIXMAP_OVERLAP = qreal( ONE_TAB_DISTANCE ) / 2;
+ const int ITEM_WIDTH = ONE_TAB_DISTANCE * 5;
+ const int PIXMAP_WIDTH = ITEM_WIDTH + (int)PIXMAP_OVERLAP;
+
+ const uint ONE_HUNDRED_KHZ = 100000;
+
+ static const QLatin1String DECIMAL_TEXT( ".0" );
+
+ #ifdef BUILD_WIN32
+ const int FREQUENCY_FONT_SIZE = 12;
+ const int DECIMAL_FONT_SIZE = 8;
+ #else
+ const int FREQUENCY_FONT_SIZE = 6;
+ const int DECIMAL_FONT_SIZE = 4;
+ #endif // BUILD_WIN32
+
+ const QFont FREQUENCY_FONT( "", FREQUENCY_FONT_SIZE );
+ const QFont DECIMAL_FONT( "", DECIMAL_FONT_SIZE );
+ const int FREQUENCY_TEXT_Y_POS = 35;
+ const int STATION_MARKER_Y_POS = 10;
+
+ static const QLatin1String SLIDE_TO_LEFT ( "SlideToLeft" );
+ static const QLatin1String SLIDE_FROM_LEFT ( "SlideFromLeft" );
+ static const QLatin1String SLIDE_TO_RIGHT ( "SlideToRight" );
+ static const QLatin1String SLIDE_FROM_RIGHT ( "SlideFromRight" );
+ static const QLatin1String LEFT_BUTTON ( "tv:left_button" );
+ static const QLatin1String RIGHT_BUTTON ( "tv:right_button" );
+
+ static const QLatin1String TEXT_COLOR_ATTRIBUTE( "text" );
+ const int MANUALSEEK_START_TIMEOUT = 400;
+ const int MANUALSEEK_END_TIMEOUT = 2000;
+ const int MANUALSEEK_SIGNAL_DELAY = 300;
+
+}
+
+#endif // RADIOFREQUENCYSTRIPDEF_H
--- a/radioapp/radiowidgets/inc/radiostationcarousel.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiostationcarousel.h Wed Aug 18 09:49:03 2010 +0300
@@ -26,6 +26,7 @@
// User includes
#include "radiocarouselitemobserver.h"
#include "radiowidgetsexport.h"
+#include "radiofrequencystripdef.h"
#include "radio_global.h"
// Forward declarations
@@ -113,6 +114,8 @@
void drawOffScreen( QPainter& painter );
+ void setLandscape( bool landscape );
+
void setAlternateSkippingMode( bool alternateSkipping ); //TODO: Remove this! This is test code
signals:
--- a/radioapp/radiowidgets/inc/radioutil.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/inc/radioutil.h Wed Aug 18 09:49:03 2010 +0300
@@ -23,6 +23,7 @@
// User includes
#include "radio_global.h"
+#include "radiofrequencystripdef.h"
// Forward declarations
class RadioFrequencyStrip;
--- a/radioapp/radiowidgets/inc/radiowindow.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiowindow.h Wed Aug 18 09:49:03 2010 +0300
@@ -24,8 +24,6 @@
#include <QWeakPointer>
#include <QScopedPointer>
#include <QSharedPointer>
-#include <qsysteminfo.h>
-using namespace QtMobility; // has to be here to be able to connect SLOT queryOfflineUsage
// User includes
#include "radiowidgetsexport.h"
@@ -59,7 +57,7 @@
void showErrorMessage( const QString& text );
- void init( QSystemDeviceInfo* deviceInfo );
+ void init();
QString orientationSection();
@@ -77,7 +75,6 @@
void updateOrientation( Qt::Orientation orientation );
void showVolumeLevel( int volume );
void updateAntennaStatus( bool connected );
- void queryOfflineUsage( QSystemDeviceInfo::Profile profile );
private:
@@ -123,12 +120,6 @@
*/
QScopedPointer<HbMessageBox> mMessageBox;
- /**
- * Pointer to qsystemdeviceinfo
- * Own.
- */
- QScopedPointer<QSystemDeviceInfo> mDeviceInfo;
-
};
--- a/radioapp/radiowidgets/radiowidgets.pro Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/radiowidgets.pro Wed Aug 18 09:49:03 2010 +0300
@@ -20,8 +20,6 @@
TEMPLATE = lib
TARGET = fmradiowidgets
CONFIG += dll hb
-CONFIG += mobility
-MOBILITY = systeminfo
DEFINES += BUILD_WIDGETS_DLL
symbian:TARGET.UID3 = 0x2002FF4C
@@ -45,6 +43,8 @@
HEADERS += radiomainview.h
HEADERS += radiostripbase.h
HEADERS += radiofrequencystrip.h
+HEADERS += radiofrequencystripbase.h
+HEADERS += radiofrequencystripdef.h
HEADERS += radiofrequencyitem.h
HEADERS += radiostationsview.h
HEADERS += radiofrequencyscanner.h
@@ -62,6 +62,7 @@
SOURCES += radiomainview.cpp
SOURCES += radiostripbase.cpp
SOURCES += radiofrequencystrip.cpp
+SOURCES += radiofrequencystripbase.cpp
SOURCES += radiofrequencyitem.cpp
SOURCES += radiostationsview.cpp
SOURCES += radiofrequencyscanner.cpp
--- a/radioapp/radiowidgets/res/layout/historyview.docml Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/res/layout/historyview.docml Wed Aug 18 09:49:03 2010 +0300
@@ -92,7 +92,7 @@
<enums name="textWrapping" value="TextWordWrap"/>
<enums name="alignment" value="AlignVCenter|AlignHCenter"/>
<sizehint height="320" type="PREFERRED" width="240"/>
- <string locid="txt_rad_info_recently_played_songs_collects_song2" name="plainText"/>
+ <string locid="txt_rad_info_song_information_is_collected_automat" name="plainText"/>
<fontspec name="fontSpec" role="Title" textheight="33.5"/>
</widget>
<layout orientation="Vertical" spacing="var(hb-param-margin-gene-middle-vertical)" type="linear">
@@ -142,7 +142,7 @@
<bool name="checked" value="FALSE"/>
</object>
<widget name="hv:empty_text">
- <string locid="txt_rad_info_recently_played_songs_collects_song2" name="plainText"/>
+ <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" />
--- a/radioapp/radiowidgets/res/layout/mainview.docml Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/res/layout/mainview.docml Wed Aug 18 09:49:03 2010 +0300
@@ -93,6 +93,7 @@
</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">
@@ -130,9 +131,6 @@
<!-- Section to orient the view in portrait mode -->
<section name="portrait">
- <widget name="mv:frequency_area">
- <sizehint height="10un" type="FIXED"/>
- </widget>
<widget name="mv:container">
<layout type="anchor">
<anchoritem src="mv:info_area" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-var(hb-param-margin-gene-middle-vertical)" />
@@ -154,9 +152,6 @@
<!-- Section to orient the view in landscape mode -->
<section name="landscape">
- <widget name="mv:frequency_area">
- <sizehint height="8un" type="FIXED"/>
- </widget>
<widget name="mv:container">
<layout type="anchor">
<anchoritem src="mv:info_area" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-var(hb-param-margin-gene-middle-vertical)" />
--- a/radioapp/radiowidgets/res/layout/radiocarouselitem.css Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/res/layout/radiocarouselitem.css Wed Aug 18 09:49:03 2010 +0300
@@ -13,6 +13,18 @@
size-policy-vertical: fixed;
}
+RadioCarouselItem[landscape]::star_button
+{
+ pref-width: expr(var(hb-param-graphic-size-primary-medium)*0.9);
+ pref-height: expr(var(hb-param-graphic-size-primary-medium)*0.9);
+}
+
+RadioCarouselItem[!landscape]::star_button
+{
+ pref-width: var(hb-param-graphic-size-primary-medium);
+ pref-height: var(hb-param-graphic-size-primary-medium);
+}
+
RadioCarouselItem::genre_label
{
top: -var(hb-param-margin-gene-top);
@@ -26,9 +38,18 @@
RadioCarouselItem::genre_label::text
{
color: lightgray; /*var(qtc_lcd_title_normal);*/
+ font-variant: secondary;
+ text-align: center center;
+}
+
+RadioCarouselItem[landscape]::genre_label::text
+{
+ text-height: expr(var(hb-param-text-height-secondary)*0.95);
+}
+
+RadioCarouselItem[!landscape]::genre_label::text
+{
text-height: var(hb-param-text-height-secondary);
- font-variant: secondary;
- text-align: center bottom;
}
RadioCarouselItem::name_label
@@ -59,7 +80,12 @@
text-align: center top;
}
-RadioCarouselItem[appearance=Full]::name_label::text
+RadioCarouselItem[appearance=Full][landscape]::name_label::text
+{
+ text-height: 7.6un;
+}
+
+RadioCarouselItem[appearance=Full][!landscape]::name_label::text
{
text-height: 8un;
}
@@ -89,8 +115,17 @@
{
text-line-count-max: 4;
text-wrap-mode: word-wrap; /*wrap-anywhere; */
+ text-align: center center;
+}
+
+RadioCarouselItem[appearance=Full][landscape]::rt_label::text
+{
+ text-height: expr(var(hb-param-text-height-secondary)*0.95);
+}
+
+RadioCarouselItem[appearance=Full][!landscape]::rt_label::text
+{
text-height: var(hb-param-text-height-secondary);
- text-align: center center;
}
RadioCarouselItem[appearance!=Full]::rt_label::text
@@ -110,12 +145,21 @@
RadioCarouselItem::url_label::text
{
- text-height: var(hb-param-text-height-secondary);
font-variant: secondary;
text-align: center center;
color:var(qtc_lcd_link_normal);
}
+RadioCarouselItem[landscape]::url_label::text
+{
+ text-height: expr(var(hb-param-text-height-secondary)*0.95);
+}
+
+RadioCarouselItem[!landscape]::url_label::text
+{
+ text-height: var(hb-param-text-height-secondary);
+}
+
RadioCarouselItem::favorite_touch_area
{
top: 0un;
--- a/radioapp/radiowidgets/src/radiocarouselitem.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/src/radiocarouselitem.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -64,6 +64,7 @@
mUrlItem( NULL ),
mAppearance( Default ),
mOwnsCss( registerCss ),
+ mLandscapeMode( false ),
mFlags( DefaultFlags )
{
mStation.reset( new RadioStation() );
@@ -247,6 +248,22 @@
/*!
*
*/
+void RadioCarouselItem::setLandscape( bool landscape )
+{
+ mLandscapeMode = landscape;
+}
+
+/*!
+ *
+ */
+bool RadioCarouselItem::landscape() const
+{
+ return mLandscapeMode;
+}
+
+/*!
+ *
+ */
void RadioCarouselItem::setSeekLayout( bool seekLayout )
{
if ( seekLayout ) {
@@ -398,6 +415,5 @@
*/
void RadioCarouselItem::updateLayout()
{
- setAppearance( mStation->hasName() || mStation->hasRadiotext() || mStation->hasUrl() ? Full : Default );
+ setAppearance( mStation->hasSentRds() ? Full : Default );
}
-
--- a/radioapp/radiowidgets/src/radiofrequencyitem.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/src/radiofrequencyitem.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -19,15 +19,14 @@
// User includes
#include "radiofrequencyitem.h"
-#include "radiofrequencystrip.h"
-#include "radio_global.h"
-#include "radiologger.h"
+#include "radiofrequencystripbase.h"
+#include "radiofrequencystripdef.h"
/*!
*
*/
RadioFrequencyItem::RadioFrequencyItem( QString frequency ) :
- mFrequency( frequency.isEmpty() ? 0 : frequency.toInt() * ONE_HERTZ ),
+ mFrequency( frequency.isEmpty() ? 0 : frequency.toInt() * FrequencyStrip::ONE_HERTZ ),
mGraphicsItem( 0 )
{
}
--- a/radioapp/radiowidgets/src/radiofrequencyscanner.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/src/radiofrequencyscanner.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -184,7 +184,7 @@
void RadioFrequencyScanner::continueScanning()
{
if ( !mUserCanceled ) {
- RadioUtil::frequencyStrip()->addScannedStation( mUiEngine.stationModel().currentStation() );
+ RadioUtil::frequencyStrip()->addScannedStation( mUiEngine.stationModel().currentStation().frequency() );
mScannerEngine->continueScanning();
}
}
--- a/radioapp/radiowidgets/src/radiofrequencystrip.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/src/radiofrequencystrip.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -16,19 +16,9 @@
*/
// System includes
-#include <QPainter>
-#include <QStringListModel>
-#include <QGraphicsSceneResizeEvent>
-#include <QPen>
-#include <HbPushButton>
-#include <QTimer>
-#include <HbColorScheme>
-#include <HbEvent>
-#include <HbSwipeGesture>
-#include <HbDeviceProfile>
+// User includes
#include "radiofrequencystrip.h"
-#include "radiofrequencyitem.h"
#include "radiouiengine.h"
#include "radiostation.h"
#include "radiostationmodel.h"
@@ -36,95 +26,11 @@
#include "radiouiloader.h"
#include "radiologger.h"
-// Frequency lines
-const int TAB_HEIGHT_SMALL = 12;
-const int TAB_HEIGHT_BIG = 18;
-const int PEN_WIDTH_FAVORITE = 4;
-const qreal INDICATOR_WIDTH = 2.0;
-
-const qreal ROUNDER = 0.5;
-const int SELECTOR_WIDTH = 2;
-const int SELECTOR_Z_POS = 100;
-
-const int HALF_HERTZ = ONE_HERTZ / 2;
-const int ONE_TAB_DISTANCE = 20;
-const uint ONE_TAB_IN_HZ = uint( 0.2 * ONE_HERTZ );
-const qreal PIXEL_IN_HZ = ONE_TAB_IN_HZ / ONE_TAB_DISTANCE;
-const qreal PIXMAP_OVERLAP = qreal( ONE_TAB_DISTANCE ) / 2;
-const int ITEM_WIDTH = ONE_TAB_DISTANCE * 5;
-const int PIXMAP_WIDTH = ITEM_WIDTH + (int)PIXMAP_OVERLAP;
-
-const uint ONE_HUNDRED_KHZ = 100000;
-
-const char* DECIMAL_TEXT = ".0";
-
-#ifdef BUILD_WIN32
- const int FREQUENCY_FONT_SIZE = 12;
- const int DECIMAL_FONT_SIZE = 8;
-#else
- const int FREQUENCY_FONT_SIZE = 6;
- const int DECIMAL_FONT_SIZE = 4;
-#endif // BUILD_WIN32
-
-const QFont FREQUENCY_FONT( "", FREQUENCY_FONT_SIZE );
-const QFont DECIMAL_FONT( "", DECIMAL_FONT_SIZE );
-
-const char* SLIDE_TO_LEFT = "SlideToLeft";
-const char* SLIDE_FROM_LEFT = "SlideFromLeft";
-const char* SLIDE_TO_RIGHT = "SlideToRight";
-const char* SLIDE_FROM_RIGHT = "SlideFromRight";
-const char* LEFT_BUTTON = "tv:left_button";
-const char* RIGHT_BUTTON = "tv:right_button";
-
-const char* TEXT_COLOR_ATTRIBUTE = "text";
-const int MANUALSEEK_START_TIMEOUT = 400;
-const int MANUALSEEK_END_TIMEOUT = 2000;
-const int MANUALSEEK_SIGNAL_DELAY = 300;
-
-/*!
- *
- */
RadioFrequencyStrip::RadioFrequencyStrip() :
- RadioStripBase(),
- mUiEngine( NULL ),
- mItemHeight( 8 ),
- mMinFrequency( 87500000 ),
- mMaxFrequency( 108000000 ),
- mFrequencyStepSize( 100000 ),
- mFrequency( 87500000 ),
- mSelectorImage( new QGraphicsPixmapItem( this ) ),
- mSeparatorPos( 0.0 ),
- mMaxWidth( 0 ),
- mSelectorPos( 0.0 ),
- mLeftButton( 0 ),
- mRightButton( 0 ),
- mManualSeekTimer( NULL ),
- mManualSeekMode( false ),
- mLastReportedFrequency( 0 ),
- mManualSeekTimerId( 0 ),
- mForegroundColor( Qt::white )//HbColorScheme::color( TEXT_COLOR_ATTRIBUTE ) )
+ RadioFrequencyStripBase(),
+ mUiEngine( NULL )
{
RadioUtil::setFrequencyStrip( this );
-
- setScrollingStyle( HbScrollArea::PanWithFollowOn );
- setItemSize( QSizeF( ITEM_WIDTH + PIXMAP_OVERLAP / 2, mItemHeight ) );
- setOverlap( PIXMAP_OVERLAP / 2 );
-}
-
-/*!
- * Property
- */
-void RadioFrequencyStrip::setItemHeight( int itemHeight )
-{
- mItemHeight = itemHeight;
-}
-
-/*!
- * Property
- */
-int RadioFrequencyStrip::itemHeight() const
-{
- return mItemHeight;
}
/*!
@@ -133,46 +39,10 @@
void RadioFrequencyStrip::init( RadioUiEngine* engine, RadioUiLoader& uiLoader )
{
mUiEngine = engine;
- mMinFrequency = mUiEngine->minFrequency();
- mMaxFrequency = mUiEngine->maxFrequency();
- mFrequencyStepSize = mUiEngine->frequencyStepSize();
- mFrequency = RadioUiEngine::lastTunedFrequency();
-
- initModel();
- initEmptyItems();
- initPositions();
-
- HbDeviceProfile deviceProfile;
- mItemHeight = static_cast<int>( mItemHeight * deviceProfile.unitValue() );
-
- mLeftButton = uiLoader.findWidget<HbPushButton>( DOCML::MV_NAME_PREV_BUTTON );
- mRightButton = uiLoader.findWidget<HbPushButton>( DOCML::MV_NAME_NEXT_BUTTON );
- initButtons();
+ initbase( mUiEngine->minFrequency(), mUiEngine->maxFrequency(),
+ mUiEngine->frequencyStepSize(), RadioUiEngine::lastTunedFrequency() );
- mManualSeekTimer = new QTimer( this );
- mManualSeekTimer->setInterval( MANUALSEEK_START_TIMEOUT );
- mManualSeekTimer->setSingleShot( true );
- Radio::connect( mManualSeekTimer, SIGNAL(timeout()),
- this, SLOT(toggleManualSeek()) );
-
- Radio::connect( mLeftButton, SIGNAL(clicked()),
- this, SLOT(handleLeftButton()) );
- Radio::connect( mRightButton, SIGNAL(clicked()),
- this, SLOT(handleRightButton()) );
- Radio::connect( mLeftButton, SIGNAL(longPress(QPointF)),
- this, SLOT(handleLongLeftButton()) );
- Radio::connect( mRightButton, SIGNAL(longPress(QPointF)),
- this, SLOT(handleLongRightButton()) );
-
- Radio::connect( this, SIGNAL(scrollingEnded()),
- this, SLOT(handleScrollingEnd()) );
-
- grabGesture( Qt::SwipeGesture );
-
- //TODO: Remove. Stepsize hardcoded to 100 Khz in europe region during demo
- if ( mFrequencyStepSize < ONE_HUNDRED_KHZ ) {
- mFrequencyStepSize = ONE_HUNDRED_KHZ;
- }
+ createButtonsFromDocml( uiLoader, DOCML::MV_NAME_PREV_BUTTON, DOCML::MV_NAME_NEXT_BUTTON );
RadioStationModel* stationModel = &mUiEngine->stationModel();
Radio::connect( stationModel, SIGNAL(rowsInserted(QModelIndex,int,int)),
@@ -181,683 +51,118 @@
this, SLOT(removeStation(QModelIndex,int,int)) );
Radio::connect( stationModel, SIGNAL(modelReset()),
this, SLOT(initEmptyItems()) );
-
- updateAllItems();
-
- showButtons();
-}
-
-/*!
- *
- */
-void RadioFrequencyStrip::setFrequency( const uint frequency, int reason, Scroll::Direction direction )
-{
- Q_UNUSED( reason );
- LOG_FORMAT( "RadioFrequencyStrip::setFrequency, frequency: %d, reason: %d", frequency, reason );
- if ( mFrequencies.contains( frequency ) ) {
- if ( frequency != mFrequency || reason == TuneReason::Skip ) {
- scrollToFrequency( frequency, direction, mAutoScrollTime, RadioUtil::tuneReason( reason ) );
- }
- }
-}
-
-/*!
- *
- */
-uint RadioFrequencyStrip::frequency() const
-{
- return mFrequency;
-}
-
-/*!
- *
- */
-bool RadioFrequencyStrip::isInManualSeekMode() const
-{
- return mManualSeekMode;
-}
-
-/*!
- *
- */
-void RadioFrequencyStrip::cancelManualSeek()
-{
- mManualSeekTimer->stop();
- if ( mManualSeekMode ) {
- toggleManualSeek();
- }
-}
-
-/*!
- *
- */
-void RadioFrequencyStrip::addScannedStation( const RadioStation& station )
-{
- FrequencyPos pos = mFrequencies.value( station.frequency() );
- updateItem( pos.mItem, station.frequency() );
}
/*!
*
*/
-void RadioFrequencyStrip::updateFavorite( const RadioStation& station )
-{
- LOG_SLOT_CALLER;
- FrequencyPos pos = mFrequencies.value( station.frequency() );
- updateItem( pos.mItem );
-}
-
-/*!
- * Public slot
- *
- */
-void RadioFrequencyStrip::setScanningMode( bool isScanning )
-{
- mManualSeekTimer->stop();
- if ( isScanning ) {
- initEmptyItems();
- hideButtons();
- scrollToFrequency( mMinFrequency, Scroll::Shortest, mAutoScrollTime );
- } else {
- showButtons();
- }
- setEnabled( !isScanning );
-}
-
-/*!
- * Private slot
- *
- */
-void RadioFrequencyStrip::removeStation( const QModelIndex& parent, int first, int last )
-{
- Q_UNUSED( parent );
- updateStationsInRange( first, last, true );
-}
-
-/*!
- * Private slot
- *
- */
-void RadioFrequencyStrip::updateStation( const QModelIndex& parent, int first, int last )
-{
- Q_UNUSED( parent );
- updateStationsInRange( first, last );
-}
-
-/*!
- * Private slot
- *
- */
-void RadioFrequencyStrip::initEmptyItems()
-{
- LOG_METHOD;
- //TODO: Remove the weird hack of checking the sender
- if ( !sender() || RadioUtil::scanStatus() != Scan::ScanningInMainView ) {
- QList<RadioStation> emptyList;
- foreach ( RadioFrequencyItem* item, mFrequencyItems ) {
- QPixmap pixmap = drawPixmap( item->frequency(), emptyList, item );
- item->setPixmap( pixmap );
- }
- }
-}
-
-/*!
- * Private slot
- */
-void RadioFrequencyStrip::handleLeftButton()
-{
- emit skipRequested( StationSkip::PreviousFavorite );
-}
-
-/*!
- * Private slot
- */
-void RadioFrequencyStrip::handleLongLeftButton()
-{
- emit seekRequested( Seek::Down );
-}
-
-/*!
- * Private slot
- */
-void RadioFrequencyStrip::handleRightButton()
-{
- emit skipRequested( StationSkip::NextFavorite );
-}
-
-/*!
- * Private slot
- */
-void RadioFrequencyStrip::handleLongRightButton()
-{
- emit seekRequested( Seek::Up );
-}
-
-/*!
- * Private slot
- *
- */
-void RadioFrequencyStrip::toggleManualSeek()
-{
- mManualSeekMode = !mManualSeekMode;
- emit manualSeekChanged( mManualSeekMode );
-
- if ( mManualSeekMode ) {
- grabMouse();
- hideButtons();
- mManualSeekTimerId = startTimer( MANUALSEEK_SIGNAL_DELAY );
- } else {
- ungrabMouse();
- showButtons();
- killTimer( mManualSeekTimerId );
- mManualSeekTimerId = 0;
- }
-}
-
-/*!
- * Private slot
- */
-void RadioFrequencyStrip::handleScrollingEnd()
+void RadioFrequencyStrip::setFrequency( const uint newFrequency, int reason, Scroll::Direction direction )
{
- // Check if the selector is in the invalid area where the strip loops around
- const int selectorPosition = selectorPos();
- if ( mManualSeekMode ) {
- if ( !mPositions.contains( selectorPosition ) ) {
- if ( selectorPosition < mMaxWidth - ITEM_WIDTH + mSeparatorPos ) {
- scrollToFrequency( mMaxFrequency, Scroll::Shortest, 500 );
- emit frequencyChanged( mMaxFrequency, TuneReason::ManualSeekUpdate, Scroll::Shortest );
- } else {
- scrollToFrequency( mMinFrequency, Scroll::Shortest, 500 );
- emit frequencyChanged( mMinFrequency, TuneReason::ManualSeekUpdate, Scroll::Shortest );
- }
- }
-
- mManualSeekTimer->start( MANUALSEEK_END_TIMEOUT );
- }
-}
-
-/*!
- * \reimp
- */
-void RadioFrequencyStrip::updateItemPrimitive( QGraphicsItem* itemToUpdate, int itemIndex )
-{
- QGraphicsPixmapItem* item = static_cast<QGraphicsPixmapItem*>( itemToUpdate );
- if ( itemIndex < mFrequencyItems.count() ) {
- item->setPixmap( mFrequencyItems.at( itemIndex )->updatePrimitive( item ) );
- }
-}
-
-/*!
- * \reimp
- */
-QGraphicsItem* RadioFrequencyStrip::createItemPrimitive( QGraphicsItem* parent )
-{
- return new QGraphicsPixmapItem( parent );
-}
-
-/*!
- * \reimp
- */
-void RadioFrequencyStrip::scrollPosChanged()
-{
- if ( mManualSeekMode ) {
- const int pos = selectorPos();
- const uint frequency = mPositions.value( pos );
- if ( frequency > 0 ) {
- mFrequency = mPositions.value( pos );
- emit frequencyChanged( mFrequency, TuneReason::ManualSeekUpdate, Scroll::Shortest );
- }
- }
-}
-
-/*!
- * \reimp
- */
-void RadioFrequencyStrip::resizeEvent ( QGraphicsSceneResizeEvent* event )
-{
- LOG_METHOD;
- RadioStripBase::resizeEvent( event );
-
- initSelector();
-
- const qreal height = event->newSize().height();
- const qreal width = event->newSize().width();
-
- mSelectorPos = width / 2;
- mSelectorImage->setOffset( mSelectorPos - (INDICATOR_WIDTH / 2), 0.0 );
-
- if ( mLeftButton && mRightButton ) {
- mLeftButton->resize( height, height );
- mRightButton->resize( height, height );
- mRightButton->setPos( QPointF( width - height, 0 ) );
- }
-
- scrollToFrequency( mFrequency );
-}
-
-/*!
- * \reimp
- */
-//void RadioFrequencyStrip::showEvent( QShowEvent* event )
-//{
-// RadioStripBase::showEvent( event );
-// scrollToFrequency( mFrequency );
-//}
-
-/*!
- * \reimp
- */
-void RadioFrequencyStrip::changeEvent( QEvent* event )
-{
- if ( event->type() == HbEvent::ThemeChanged ) {
- // Update the foreground color and redraw each item
- mForegroundColor = Qt::white;// HbColorScheme::color( TEXT_COLOR_ATTRIBUTE );
- updateAllItems();
- }
-
- return RadioStripBase::changeEvent(event);
-}
-
-/*!
- * \reimp
- */
-void RadioFrequencyStrip::mousePressEvent( QGraphicsSceneMouseEvent* event )
-{
- RadioStripBase::mousePressEvent( event );
-
- mManualSeekTimer->stop();
- if ( mManualSeekMode ) {
- const bool insideStrip = rect().contains( event->pos() );
- if ( !insideStrip ) {
- toggleManualSeek();
- }
- } else {
- mManualSeekTimer->start( MANUALSEEK_START_TIMEOUT );
- }
-}
-
-/*!
- * \reimp
- */
-void RadioFrequencyStrip::mouseReleaseEvent( QGraphicsSceneMouseEvent* event )
-{
- RadioStripBase::mouseReleaseEvent( event );
-
- mManualSeekTimer->stop();
- if ( mManualSeekMode && !isScrolling() ) {
- mManualSeekTimer->start( MANUALSEEK_END_TIMEOUT );
- }
-}
-
-/*!
- * \reimp
- */
-void RadioFrequencyStrip::gestureEvent( QGestureEvent* event )
-{
- HbSwipeGesture* swipeGesture = static_cast<HbSwipeGesture*>( event->gesture( Qt::SwipeGesture ) );
- if ( swipeGesture && !mManualSeekMode ) {
- if ( swipeGesture->state() == Qt::GestureFinished ) {
- if ( swipeGesture->horizontalDirection() == QSwipeGesture::Left ) {
- emit skipRequested( StationSkip::Next );
- } else if ( swipeGesture->horizontalDirection() == QSwipeGesture::Right ) {
- emit skipRequested( StationSkip::Previous );
- }
- }
- } else if ( mManualSeekMode ) {
- RadioStripBase::gestureEvent( event );
+ Q_UNUSED( reason );
+ if ( newFrequency != frequency() || reason == TuneReason::Skip ) {
+ RadioFrequencyStripBase::setFrequency( newFrequency, reason, direction );
}
}
/*!
* \reimp
*/
-void RadioFrequencyStrip::timerEvent( QTimerEvent* event )
+bool RadioFrequencyStrip::isInitialized() const
{
- Q_UNUSED( event );
- if ( mLastReportedFrequency != mFrequency ) {
- mLastReportedFrequency = mFrequency;
- emit frequencyChanged( mFrequency, TuneReason::ManualSeekTune, Scroll::Shortest );
- }
+ return mUiEngine != NULL;
}
/*!
- *
+ * \reimp
*/
-void RadioFrequencyStrip::initModel()
+QList<FrequencyStrip::StationMarker> RadioFrequencyStrip::stationsInRange( uint minFrequency, uint maxFrequency ) const
{
- const uint minFreq = uint( qreal(mMinFrequency) / ONE_HERTZ + ROUNDER );
- const uint maxFreq = uint( qreal(mMaxFrequency) / ONE_HERTZ + 0.9 ); // always round up
-
- QStringList list;
- QString freqText;
- for ( uint i = minFreq; i <= maxFreq; ++i ) {
- freqText = QString::number( i );
- list.append( freqText );
- mFrequencyItems.append( new RadioFrequencyItem( freqText ) );
+ QList<RadioStation> stations = mUiEngine->stationsInRange( minFrequency, maxFrequency );
+ QList<FrequencyStrip::StationMarker> markers;
+ foreach ( const RadioStation& station, stations ) {
+ markers.append( FrequencyStrip::StationMarker( station.frequency(), station.isFavorite() ) );
}
- mFrequencyItems.append( new RadioFrequencyItem( "" ) );
- list.append( "" );
-
- mMaxWidth = list.count() * ITEM_WIDTH;
-
- mSeparatorPos = qreal(ITEM_WIDTH) / 2;
- const uint minDrawableFreq = minFreq * ONE_HERTZ - HALF_HERTZ;;
- const uint maxDrawableFreq = maxFreq * ONE_HERTZ + HALF_HERTZ;
- mSeparatorPos += qreal( ( mMinFrequency - minDrawableFreq ) / 2 ) / PIXEL_IN_HZ;
- mSeparatorPos -= qreal( ( maxDrawableFreq - mMaxFrequency ) / 2 ) / PIXEL_IN_HZ;
-
- setModel( new QStringListModel( list, this ) );
+ return markers;
}
/*!
- *
+ * \reimp
*/
-void RadioFrequencyStrip::initSelector()
-{
- QPixmap selectorPixmap = QPixmap( QSize( SELECTOR_WIDTH, (int)size().height() ) );
- selectorPixmap.fill( Qt::red );
- mSelectorImage->setPixmap( selectorPixmap );
- mSelectorImage->setZValue( SELECTOR_Z_POS );
-}
-
-/*!
- *
- */
-void RadioFrequencyStrip::initPositions()
+void RadioFrequencyStrip::emitFrequencyChanged( uint frequency, int reason, int direction )
{
- int prevPos = 0;
- int nextPos = 0;
- const int lastPos = mFrequencies.value( mMaxFrequency ).mPosition;
- for ( int i = mFrequencies.value( mMinFrequency ).mPosition; i < lastPos; ++i ) {
- if ( mPositions.contains( i ) ) {
- prevPos = i;
- const uint freq = mPositions.value( prevPos ) + mFrequencyStepSize;
- if ( mFrequencies.contains( freq ) ) {
- nextPos = mFrequencies.value( freq ).mPosition;
- } else {
- nextPos = prevPos;
- }
- } else {
- const int nearestHit = ( i - prevPos ) < ( nextPos - i ) ? prevPos : nextPos;
- mPositions.insert( i, mPositions.value( nearestHit ) );
- }
+ int tuneReason = TuneReason::Unspecified;
+ if ( reason == FrequencyStrip::ManualSeekUpdate ) {
+ tuneReason = TuneReason::ManualSeekUpdate;
+ } else if ( reason == FrequencyStrip::ManualSeekTune ) {
+ tuneReason = TuneReason::ManualSeekTune;
}
+
+ emit frequencyChanged( frequency, tuneReason, direction );
}
/*!
*
*/
-void RadioFrequencyStrip::initButtons()
-{
- mLeftButton->setZValue( SELECTOR_Z_POS );
- mLeftButton->setObjectName( LEFT_BUTTON );
- mRightButton->setZValue( SELECTOR_Z_POS );
- mRightButton->setObjectName( RIGHT_BUTTON );
-
- const qreal height = size().height();
- const qreal width = size().width();
- mLeftButton->resize( height, height );
- mRightButton->resize( height, height );
- mRightButton->setPos( QPointF( width - height, 0 ) );
-
- QEffectList effectList;
- effectList.append( EffectInfo( mLeftButton, ":/effects/slide_to_left.fxml", SLIDE_TO_LEFT ) );
- effectList.append( EffectInfo( mLeftButton, ":/effects/slide_from_left.fxml", SLIDE_FROM_LEFT ) );
- effectList.append( EffectInfo( mRightButton, ":/effects/slide_to_right.fxml", SLIDE_TO_RIGHT ) );
- effectList.append( EffectInfo( mRightButton, ":/effects/slide_from_right.fxml", SLIDE_FROM_RIGHT ) );
- RadioUtil::addEffects( effectList );
-}
-
-/*!
- *
- */
-void RadioFrequencyStrip::addFrequencyPos( int pos, uint frequency, RadioFrequencyItem* item )
-{
- mFrequencies.insert( frequency, FrequencyPos( pos, item ) );
- mPositions.insert( pos, frequency );
-}
-
-/*!
- *
- */
-void RadioFrequencyStrip::updateStationsInRange( int first, int last, bool stationRemoved )
+void RadioFrequencyStrip::skipToPrevious()
{
- if ( RadioUtil::scanStatus() != Scan::ScanningInMainView ) {
- RadioStationModel& model = mUiEngine->stationModel();
- uint frequency = 0;
- for ( int i = first; i <= last; ++i ) {
- frequency = model.data( model.index( i, 0, QModelIndex() ),
- RadioRole::RadioStationRole ).value<RadioStation>().frequency();
- if ( mFrequencies.contains( frequency ) ) {
- FrequencyPos pos = mFrequencies.value( frequency );
- updateItem( pos.mItem, 0, stationRemoved ? frequency : 0 );
- }
- }
- }
-}
-
-/*!
- *
- */
-void RadioFrequencyStrip::updateItem( RadioFrequencyItem* item, uint upperRange, uint ignoredFrequency )
-{
- if ( item ) {
- uint frequency = item->frequency();
- QList<RadioStation> stations;
-
- if ( upperRange == 0 ) {
- upperRange = frequency + HALF_HERTZ;
- }
-
- if ( mUiEngine ) {
- stations = mUiEngine->stationsInRange( frequency - HALF_HERTZ, upperRange );
- for ( int i = stations.count() - 1; ignoredFrequency > 0 && i >= 0; --i ) {
- if ( stations[i].frequency() == ignoredFrequency ) {
- stations.removeAt( i );
- break;
- }
- }
- }
-
- QPixmap pixmap = drawPixmap( frequency, stations, item );
- item->setPixmap( pixmap );
-
- foreach ( const RadioStation& station, stations ) {
- frequency = station.frequency();
- FrequencyPos pos = mFrequencies.value( frequency );
- mFrequencies.insert( frequency, pos );
- }
- }
-}
-
-/*!
- *
- */
-void RadioFrequencyStrip::updateAllItems()
-{
- foreach ( RadioFrequencyItem* item, mFrequencyItems ) {
- updateItem( item );
- }
+ emit skipRequested( StationSkip::Previous );
}
/*!
*
*/
-QPixmap RadioFrequencyStrip::drawPixmap( uint frequency, QList<RadioStation> stations, RadioFrequencyItem* item )
+void RadioFrequencyStrip::skipToPreviousFavorite()
{
- QPixmap pixmap( PIXMAP_WIDTH, mItemHeight );
- pixmap.fill( Qt::transparent );
- QPainter painter( &pixmap );
- QPen normalPen = painter.pen();
- QPen favoritePen = normalPen;
- normalPen.setColor( mForegroundColor );
- painter.setPen( normalPen );
-
- if ( frequency == 0 ) {
- painter.drawLine( makeTab( mSeparatorPos - 1 + ROUNDER, mItemHeight ) );
- painter.drawLine( makeTab( mSeparatorPos + ROUNDER, mItemHeight ) );
- return pixmap;
- }
-
- const QString itemText = QString::number( frequency / ONE_HERTZ );
- const uint startFrequency = frequency - HALF_HERTZ;
- const uint endFrequency = startFrequency + ONE_HERTZ;
- const uint roundedMin = int( qreal(mMinFrequency) / ONE_HERTZ + ROUNDER );
- const uint freq = frequency / ONE_HERTZ;
- const int diff = freq - roundedMin;
- const qreal startPixel = diff * ITEM_WIDTH;
- qreal pixels = 0.0;
- const qreal leftOverlap = PIXMAP_OVERLAP / 2;
-
- for ( uint frequency = startFrequency; frequency <= endFrequency; frequency += mFrequencyStepSize ) {
-
- if ( frequency < mMinFrequency || frequency > mMaxFrequency ) {
- continue;
- }
-
- pixels = qreal( frequency - startFrequency ) / PIXEL_IN_HZ;
- if ( frequency % ONE_HERTZ == 0 ) {
-
- // Draw the high frequency tab and the frequency text for the even number
- normalPen.setWidth( 3 );
- painter.setPen( normalPen );
- painter.drawLine( makeTab( pixels + leftOverlap - 1, TAB_HEIGHT_BIG ) );
- normalPen.setWidth( 1 );
- painter.setPen( normalPen );
+ emit skipRequested( StationSkip::PreviousFavorite );
+}
- // Draw the frequency text and its 00 decimals
- painter.setFont( DECIMAL_FONT );
- const int decimalWidth = painter.fontMetrics().width( DECIMAL_TEXT );
- const int decimalSpace = painter.fontMetrics().leftBearing( '.' );
- painter.setFont( FREQUENCY_FONT );
- const int frequencyWidth = painter.fontMetrics().width( itemText );
- const int textPosX = int( pixels + leftOverlap - ( frequencyWidth + decimalSpace + decimalWidth ) / 2 );
- painter.drawText( QPoint( textPosX, 20 ), itemText );
- painter.setFont( DECIMAL_FONT );
- painter.drawText( QPoint( textPosX + frequencyWidth + decimalSpace, 20 ), DECIMAL_TEXT );
-
- } else if ( frequency % ONE_TAB_IN_HZ == 0 ) {
-
- // Draw the low frequency tab for the uneven number
- painter.drawLine( makeTab( pixels + leftOverlap, TAB_HEIGHT_SMALL ) );
-
- }
-
- addFrequencyPos( int( startPixel + pixels + ROUNDER ), frequency, item );
- }
+/*!
+ *
+ */
+void RadioFrequencyStrip::skipToNext()
+{
+ emit skipRequested( StationSkip::Next );
+}
- // Draw favorites and local stations
- favoritePen.setColor( Qt::yellow );
-
- const int markerYPos = mItemHeight - 28;
- foreach ( const RadioStation& station, stations ) {
- const uint frequency = station.frequency();
- pixels = qreal( frequency - startFrequency ) / PIXEL_IN_HZ;
-
- if ( station.isFavorite() ) {
- favoritePen.setWidth( PEN_WIDTH_FAVORITE );
- painter.setPen( favoritePen );
- painter.drawEllipse( int( pixels + leftOverlap - 3 ), markerYPos - 3, 6, 6 );
- } else if ( station.isType( RadioStation::LocalStation ) ) {
-
- favoritePen.setWidth( 1 );
- painter.setPen( favoritePen );
- painter.drawEllipse( int( pixels + leftOverlap - 4 ), markerYPos - 4, 8, 8 );
- }
- }
-
- return pixmap;
+/*!
+ *
+ */
+void RadioFrequencyStrip::skipToNextFavorite()
+{
+ emit skipRequested( StationSkip::NextFavorite );
}
/*!
*
*/
-QLineF RadioFrequencyStrip::makeTab( qreal pos, int height )
+void RadioFrequencyStrip::seekDown()
{
- return QLineF( pos, mItemHeight - height, pos, mItemHeight );
+ emit seekRequested( Seek::Down );
}
-/*!
- *
- */
-void RadioFrequencyStrip::emitFrequencyChanged( uint frequency )
-{
- if ( frequency > 0 && frequency != mFrequency ) {
- mFrequency = frequency;
- //TOD: Get direction
- emit frequencyChanged( frequency, TuneReason::FrequencyStrip, Scroll::Shortest );
- }
-}
-
-/*!
- *
- */
-int RadioFrequencyStrip::selectorPos() const
-{
- const int pos = int( -contentWidget()->x() + mSelectorPos + ROUNDER );
- return pos % mMaxWidth;
-}
/*!
*
*/
-void RadioFrequencyStrip::scrollToFrequency( uint frequency, Scroll::Direction direction, int time, TuneReason::Reason reason )
+void RadioFrequencyStrip::seekUp()
{
- int targetFreqPos = mFrequencies.value( frequency ).mPosition;
- const int currentFreqPos = mFrequencies.value( mFrequency ).mPosition;
- const int currentPos = int( -contentWidget()->x() + mSelectorPos + ROUNDER );
- const bool isInSecondHalf = currentPos >= mMaxWidth - ITEM_WIDTH + mSeparatorPos;
-
- // Special case: When there is only one favorite and the user presses skip
- // the strip must scroll around to the same frequency.
- if ( mFrequency == frequency && reason == TuneReason::Skip ) {
- if ( direction == Scroll::Left ) {
- targetFreqPos += mMaxWidth;
- } else {
- targetFreqPos -= mMaxWidth;
- }
- }
-
- mFrequency = frequency;
-
- qreal newPos = targetFreqPos;
- if ( direction == Scroll::Left ) {
-
- if ( currentFreqPos > targetFreqPos ) {
- newPos += mMaxWidth;
- }
-
- } else if ( direction == Scroll::Right ) {
-
- if ( currentFreqPos < targetFreqPos ) {
- newPos -= mMaxWidth;
- }
-
- }
-
- if ( isInSecondHalf ) {
- newPos += mMaxWidth;
- }
-
- newPos -= mSelectorPos - ROUNDER;
-
- scrollContentsTo( QPointF( newPos, 0 ), time );
+ emit seekRequested( Seek::Up );
}
/*!
- *
+ * \reimp
*/
-void RadioFrequencyStrip::hideButtons()
+bool RadioFrequencyStrip::isScanning() const
{
- HbEffect::start( mLeftButton, SLIDE_TO_LEFT );
- HbEffect::start( mRightButton, SLIDE_TO_RIGHT );
+ return RadioUtil::scanStatus() == Scan::ScanningInMainView;
}
/*!
- *
+ * \reimp
*/
-void RadioFrequencyStrip::showButtons()
+uint RadioFrequencyStrip::frequencyAtIndex( int index ) const
{
- HbEffect::start( mLeftButton, SLIDE_FROM_LEFT );
- HbEffect::start( mRightButton, SLIDE_FROM_RIGHT );
+ RadioStationModel& model = mUiEngine->stationModel();
+ return model.data( model.index( index, 0, QModelIndex() ),
+ RadioRole::RadioStationRole ).value<RadioStation>().frequency();
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radiowidgets/src/radiofrequencystripbase.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -0,0 +1,836 @@
+/*
+* 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:
+*
+*/
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbEffect>
+#include <QPainter>
+#include <QStringListModel>
+#include <QGraphicsSceneResizeEvent>
+#include <QPen>
+#include <HbPushButton>
+#include <QTimer>
+#include <HbColorScheme>
+#include <HbEvent>
+#include <HbSwipeGesture>
+#include <HbDeviceProfile>
+#include <QDebug>
+
+// User includes
+#include "radiofrequencystripbase.h"
+#include "radiofrequencystripdef.h"
+#include "radiofrequencyitem.h"
+
+/*!
+ * Convenience function to check signal-slot connections
+ */
+//#define CHECK_SIGNAL_CONNECTIONS
+static bool connectAndCheck( const QObject* sender, const char* signal,
+ const QObject* receiver, const char* member,
+ Qt::ConnectionType type = Qt::AutoConnection )
+{
+ bool connected = QObject::connect( sender, signal, receiver, member, type );
+
+ #ifdef CHECK_SIGNAL_CONNECTIONS
+
+ if ( !connected ) {
+ qDebug() << "Failed to make a signal-slot connection!";
+ qDebug() << "sender: " << sender->metaObject()->className();
+ qDebug() << "signal: " << signal;
+ qDebug() << "receiver: " << receiver->metaObject()->className();
+ qDebug() << "slot/signal: " << signal;
+
+ Q_ASSERT( false );
+
+ // ----------------------------------------------------------------
+ // SIGNAL-SLOT CONNECT FAILED!
+ // ----------------------------------------------------------------
+ }
+
+ #endif // CHECK_SIGNAL_CONNECTIONS
+
+ return connected;
+}
+
+/*!
+ *
+ */
+RadioFrequencyStripBase::RadioFrequencyStripBase( QGraphicsItem* parent ) :
+ RadioStripBase( parent ),
+ mItemHeight( 8 ),
+ mMinFrequency( 87500000 ),
+ mMaxFrequency( 108000000 ),
+ mFrequencyStepSize( 100000 ),
+ mFrequency( 87500000 ),
+ mSelectorImage( new QGraphicsPixmapItem( this ) ),
+ mSeparatorPos( 0.0 ),
+ mMaxWidth( 0 ),
+ mSelectorPos( 0.0 ),
+ mLeftButton( 0 ),
+ mRightButton( 0 ),
+ mManualSeekTimer( NULL ),
+ mManualSeekMode( false ),
+ mLastReportedFrequency( 0 ),
+ mManualSeekTimerId( 0 ),
+ mForegroundColor( Qt::white )//HbColorScheme::color( FrequencyStrip::TEXT_COLOR_ATTRIBUTE ) )
+{
+ setScrollingStyle( HbScrollArea::PanWithFollowOn );
+ setItemSize( QSizeF( FrequencyStrip::ITEM_WIDTH + FrequencyStrip::PIXMAP_OVERLAP / 2, mItemHeight ) );
+ setOverlap( FrequencyStrip::PIXMAP_OVERLAP / 2 );
+}
+
+/*!
+ * Property
+ */
+void RadioFrequencyStripBase::setItemHeight( int itemHeight )
+{
+ mItemHeight = itemHeight;
+}
+
+/*!
+ * Property
+ */
+int RadioFrequencyStripBase::itemHeight() const
+{
+ return mItemHeight;
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::initbase( uint minFrequency, uint maxFrequency, uint stepSize, uint frequency )
+{
+ mMinFrequency = minFrequency;
+ mMaxFrequency = maxFrequency;
+ mFrequencyStepSize = stepSize;
+ mFrequency = frequency;
+
+ initModel();
+ initEmptyItems();
+ initPositions();
+
+ HbDeviceProfile deviceProfile;
+ mItemHeight = static_cast<int>( mItemHeight * deviceProfile.unitValue() );
+
+ mManualSeekTimer = new QTimer( this );
+ mManualSeekTimer->setInterval( FrequencyStrip::MANUALSEEK_START_TIMEOUT );
+ mManualSeekTimer->setSingleShot( true );
+ connectAndCheck( mManualSeekTimer, SIGNAL(timeout()),
+ this, SLOT(toggleManualSeek()) );
+
+ connectAndCheck( this, SIGNAL(scrollingEnded()),
+ this, SLOT(handleScrollingEnd()) );
+
+ grabGesture( Qt::SwipeGesture );
+
+ //TODO: Remove. Stepsize temporarily hardcoded to 100 Khz in europe region
+ if ( mFrequencyStepSize < FrequencyStrip::ONE_HUNDRED_KHZ ) {
+ mFrequencyStepSize = FrequencyStrip::ONE_HUNDRED_KHZ;
+ }
+
+ updateAllItems();
+
+ showButtons();
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::createButtonsFromDocml( HbDocumentLoader& uiLoader, const QString& leftButtonName, const QString& rightButtonName )
+{
+ Q_ASSERT( !mLeftButton && !mRightButton );
+ mLeftButton = qobject_cast<HbPushButton*>( uiLoader.findWidget( leftButtonName ) );
+ mRightButton = qobject_cast<HbPushButton*>( uiLoader.findWidget( rightButtonName ) );
+
+ initButtons();
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::createButtons()
+{
+ Q_ASSERT( !mLeftButton && !mRightButton );
+ mLeftButton = new HbPushButton( this );
+ mRightButton = new HbPushButton( this );
+
+ mLeftButton->setIcon( HbIcon( "qtg_mono_previous" ) );
+ mRightButton->setIcon( HbIcon( "qtg_mono_next" ) );
+
+ initButtons();
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::setFrequency( const uint frequency, int reason, Scroll::Direction direction )
+{
+ if ( mFrequencies.contains( frequency ) ) {
+ scrollToFrequency( frequency, direction, mAutoScrollTime );
+ }
+}
+
+/*!
+ *
+ */
+uint RadioFrequencyStripBase::frequency() const
+{
+ return mFrequency;
+}
+
+/*!
+ *
+ */
+bool RadioFrequencyStripBase::isInManualSeekMode() const
+{
+ return mManualSeekMode;
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::cancelManualSeek()
+{
+ mManualSeekTimer->stop();
+ if ( mManualSeekMode ) {
+ toggleManualSeek();
+ }
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::addScannedStation( uint frequency )
+{
+ FrequencyPos pos = mFrequencies.value( frequency );
+ updateItem( pos.mItem, frequency );
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::updateFavorite( uint frequency )
+{
+ FrequencyPos pos = mFrequencies.value( frequency );
+ updateItem( pos.mItem );
+}
+
+/*!
+ * Public slot
+ *
+ */
+void RadioFrequencyStripBase::setScanningMode( bool isScanning )
+{
+ mManualSeekTimer->stop();
+ if ( isScanning ) {
+ initEmptyItems();
+ hideButtons();
+ scrollToFrequency( mMinFrequency, Scroll::Shortest, mAutoScrollTime );
+ } else {
+ showButtons();
+ }
+ setEnabled( !isScanning );
+}
+
+/*!
+ * Private slot
+ *
+ */
+void RadioFrequencyStripBase::initEmptyItems()
+{
+ //TODO: Remove the weird hack of checking the sender
+ if ( !sender() || !isScanning() ) {
+ QList<FrequencyStrip::StationMarker> emptyList;
+ foreach ( RadioFrequencyItem* item, mFrequencyItems ) {
+ QPixmap pixmap = drawPixmap( item->frequency(), emptyList, item );
+ item->setPixmap( pixmap );
+ }
+ }
+}
+
+/*!
+ * Private slot
+ *
+ */
+void RadioFrequencyStripBase::removeStation( const QModelIndex& parent, int first, int last )
+{
+ Q_UNUSED( parent );
+ updateStationsInRange( first, last, true );
+}
+
+/*!
+ * Private slot
+ *
+ */
+void RadioFrequencyStripBase::updateStation( const QModelIndex& parent, int first, int last )
+{
+ Q_UNUSED( parent );
+ updateStationsInRange( first, last );
+}
+
+/*!
+ * Private slot
+ */
+void RadioFrequencyStripBase::handleLeftButton()
+{
+ skipToPreviousFavorite();
+}
+
+/*!
+ * Private slot
+ */
+void RadioFrequencyStripBase::handleRightButton()
+{
+ skipToNextFavorite();
+}
+
+/*!
+ * Private slot
+ */
+void RadioFrequencyStripBase::handleLongLeftButton()
+{
+ seekDown();
+}
+
+/*!
+ * Private slot
+ */
+void RadioFrequencyStripBase::handleLongRightButton()
+{
+ seekUp();
+}
+
+/*!
+ * Private slot
+ *
+ */
+void RadioFrequencyStripBase::toggleManualSeek()
+{
+ mManualSeekMode = !mManualSeekMode;
+ emit manualSeekChanged( mManualSeekMode );
+
+ if ( mManualSeekMode ) {
+ grabMouse();
+ hideButtons();
+ mManualSeekTimerId = startTimer( FrequencyStrip::MANUALSEEK_SIGNAL_DELAY );
+ } else {
+ ungrabMouse();
+ showButtons();
+ killTimer( mManualSeekTimerId );
+ mManualSeekTimerId = 0;
+ }
+}
+
+/*!
+ * Private slot
+ */
+void RadioFrequencyStripBase::handleScrollingEnd()
+{
+ // Check if the selector is in the invalid area where the strip loops around
+ const int selectorPosition = selectorPos();
+ if ( mManualSeekMode ) {
+ if ( !mPositions.contains( selectorPosition ) ) {
+ if ( selectorPosition < mMaxWidth - FrequencyStrip::ITEM_WIDTH + mSeparatorPos ) {
+ scrollToFrequency( mMaxFrequency, Scroll::Shortest, 500 );
+ emitFrequencyChanged( mMaxFrequency, FrequencyStrip::ManualSeekUpdate, Scroll::Shortest );
+ } else {
+ scrollToFrequency( mMinFrequency, Scroll::Shortest, 500 );
+ emitFrequencyChanged( mMinFrequency, FrequencyStrip::ManualSeekUpdate, Scroll::Shortest );
+ }
+ }
+
+ mManualSeekTimer->start( FrequencyStrip::MANUALSEEK_END_TIMEOUT );
+ }
+}
+
+/*!
+ * \reimp
+ */
+void RadioFrequencyStripBase::updateItemPrimitive( QGraphicsItem* itemToUpdate, int itemIndex )
+{
+ QGraphicsPixmapItem* item = static_cast<QGraphicsPixmapItem*>( itemToUpdate );
+ if ( itemIndex < mFrequencyItems.count() ) {
+ item->setPixmap( mFrequencyItems.at( itemIndex )->updatePrimitive( item ) );
+ }
+}
+
+/*!
+ * \reimp
+ */
+QGraphicsItem* RadioFrequencyStripBase::createItemPrimitive( QGraphicsItem* parent )
+{
+ return new QGraphicsPixmapItem( parent );
+}
+
+/*!
+ * \reimp
+ */
+void RadioFrequencyStripBase::scrollPosChanged()
+{
+ if ( mManualSeekMode ) {
+ const int pos = selectorPos();
+ const uint frequency = mPositions.value( pos );
+ if ( frequency > 0 ) {
+ mFrequency = mPositions.value( pos );
+ emitFrequencyChanged( mFrequency, FrequencyStrip::ManualSeekUpdate, Scroll::Shortest );
+ }
+ }
+}
+
+/*!
+ * \reimp
+ */
+void RadioFrequencyStripBase::resizeEvent ( QGraphicsSceneResizeEvent* event )
+{
+ RadioStripBase::resizeEvent( event );
+
+ initSelector();
+
+ const qreal height = event->newSize().height();
+ const qreal width = event->newSize().width();
+
+ mSelectorPos = width / 2;
+ mSelectorImage->setOffset( mSelectorPos - ( FrequencyStrip::INDICATOR_WIDTH / 2 ), 0.0 );
+
+ if ( mLeftButton && mRightButton ) {
+ mLeftButton->resize( height, height );
+ mRightButton->resize( height, height );
+ mRightButton->setPos( QPointF( width - height, 0 ) );
+ }
+
+ scrollToFrequency( mFrequency );
+}
+
+/*!
+ * \reimp
+ */
+void RadioFrequencyStripBase::changeEvent( QEvent* event )
+{
+ if ( event->type() == HbEvent::ThemeChanged ) {
+ // Update the foreground color and redraw each item
+ mForegroundColor = Qt::white;// HbColorScheme::color( FrequencyStrip::TEXT_COLOR_ATTRIBUTE );
+ updateAllItems();
+ }
+
+ return RadioStripBase::changeEvent(event);
+}
+
+/*!
+ * \reimp
+ */
+void RadioFrequencyStripBase::mousePressEvent( QGraphicsSceneMouseEvent* event )
+{
+ RadioStripBase::mousePressEvent( event );
+
+ mManualSeekTimer->stop();
+ if ( mManualSeekMode ) {
+ const bool insideStrip = rect().contains( event->pos() );
+ if ( !insideStrip ) {
+ toggleManualSeek();
+ }
+ } else {
+ mManualSeekTimer->start( FrequencyStrip::MANUALSEEK_START_TIMEOUT );
+ }
+}
+
+/*!
+ * \reimp
+ */
+void RadioFrequencyStripBase::mouseReleaseEvent( QGraphicsSceneMouseEvent* event )
+{
+ RadioStripBase::mouseReleaseEvent( event );
+
+ mManualSeekTimer->stop();
+ if ( mManualSeekMode && !isScrolling() ) {
+ mManualSeekTimer->start( FrequencyStrip::MANUALSEEK_END_TIMEOUT );
+ }
+}
+
+/*!
+ * \reimp
+ */
+void RadioFrequencyStripBase::gestureEvent( QGestureEvent* event )
+{
+ HbSwipeGesture* swipeGesture = static_cast<HbSwipeGesture*>( event->gesture( Qt::SwipeGesture ) );
+ if ( swipeGesture && !mManualSeekMode ) {
+ if ( swipeGesture->state() == Qt::GestureFinished ) {
+ if ( swipeGesture->horizontalDirection() == QSwipeGesture::Left ) {
+ skipToNext();
+ } else if ( swipeGesture->horizontalDirection() == QSwipeGesture::Right ) {
+ skipToPrevious();
+ }
+ }
+ } else if ( mManualSeekMode ) {
+ RadioStripBase::gestureEvent( event );
+ }
+}
+
+/*!
+ * \reimp
+ */
+void RadioFrequencyStripBase::timerEvent( QTimerEvent* event )
+{
+ Q_UNUSED( event );
+ if ( mLastReportedFrequency != mFrequency ) {
+ mLastReportedFrequency = mFrequency;
+ emitFrequencyChanged( mFrequency, FrequencyStrip::ManualSeekTune, Scroll::Shortest );
+ }
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::initModel()
+{
+ const uint minFreq = uint( qreal(mMinFrequency) / FrequencyStrip::ONE_HERTZ + FrequencyStrip::ROUNDER );
+ const uint maxFreq = uint( qreal(mMaxFrequency) / FrequencyStrip::ONE_HERTZ + 0.9 ); // always round up
+
+ QStringList list;
+ QString freqText;
+ for ( uint i = minFreq; i <= maxFreq; ++i ) {
+ freqText = QString::number( i );
+ list.append( freqText );
+ mFrequencyItems.append( new RadioFrequencyItem( freqText ) );
+ }
+ mFrequencyItems.append( new RadioFrequencyItem( "" ) );
+ list.append( "" );
+
+ mMaxWidth = list.count() * FrequencyStrip::ITEM_WIDTH;
+
+ mSeparatorPos = qreal(FrequencyStrip::ITEM_WIDTH) / 2;
+ const uint minDrawableFreq = minFreq * FrequencyStrip::ONE_HERTZ - FrequencyStrip::HALF_HERTZ;;
+ const uint maxDrawableFreq = maxFreq * FrequencyStrip::ONE_HERTZ + FrequencyStrip::HALF_HERTZ;
+ mSeparatorPos += qreal( ( mMinFrequency - minDrawableFreq ) / 2 ) / FrequencyStrip::PIXEL_IN_HZ;
+ mSeparatorPos -= qreal( ( maxDrawableFreq - mMaxFrequency ) / 2 ) / FrequencyStrip::PIXEL_IN_HZ;
+
+ setModel( new QStringListModel( list, this ) );
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::initSelector()
+{
+ QPixmap selectorPixmap = QPixmap( QSize( FrequencyStrip::SELECTOR_WIDTH, (int)size().height() ) );
+ selectorPixmap.fill( Qt::red );
+ mSelectorImage->setPixmap( selectorPixmap );
+ mSelectorImage->setZValue( FrequencyStrip::SELECTOR_Z_POS );
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::initPositions()
+{
+ int prevPos = 0;
+ int nextPos = 0;
+ const int lastPos = mFrequencies.value( mMaxFrequency ).mPosition;
+ for ( int i = mFrequencies.value( mMinFrequency ).mPosition; i < lastPos; ++i ) {
+ if ( mPositions.contains( i ) ) {
+ prevPos = i;
+ const uint freq = mPositions.value( prevPos ) + mFrequencyStepSize;
+ if ( mFrequencies.contains( freq ) ) {
+ nextPos = mFrequencies.value( freq ).mPosition;
+ } else {
+ nextPos = prevPos;
+ }
+ } else {
+ const int nearestHit = ( i - prevPos ) < ( nextPos - i ) ? prevPos : nextPos;
+ mPositions.insert( i, mPositions.value( nearestHit ) );
+ }
+ }
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::initButtons()
+{
+ Q_ASSERT( mLeftButton && mRightButton );
+ connectAndCheck( mLeftButton, SIGNAL(clicked()),
+ this, SLOT(handleLeftButton()) );
+ connectAndCheck( mRightButton, SIGNAL(clicked()),
+ this, SLOT(handleRightButton()) );
+ connectAndCheck( mLeftButton, SIGNAL(longPress(QPointF)),
+ this, SLOT(handleLongLeftButton()) );
+ connectAndCheck( mRightButton, SIGNAL(longPress(QPointF)),
+ this, SLOT(handleLongRightButton()) );
+
+ mLeftButton->setZValue( FrequencyStrip::SELECTOR_Z_POS );
+ mLeftButton->setObjectName( FrequencyStrip::LEFT_BUTTON );
+ mRightButton->setZValue( FrequencyStrip::SELECTOR_Z_POS );
+ mRightButton->setObjectName( FrequencyStrip::RIGHT_BUTTON );
+
+ const qreal height = size().height();
+ const qreal width = size().width();
+ mLeftButton->resize( height, height );
+ mRightButton->resize( height, height );
+ mRightButton->setPos( QPointF( width - height, 0 ) );
+
+ // Add left button effects
+ QStringList pathList;
+ pathList << ":/effects/slide_to_left.fxml" << ":/effects/slide_from_left.fxml";
+ QStringList eventList;
+ eventList << FrequencyStrip::SLIDE_TO_LEFT << FrequencyStrip::SLIDE_FROM_LEFT;
+ HbEffect::add( mLeftButton, pathList, eventList );
+
+ // Add right button effects
+ pathList.clear();
+ pathList << ":/effects/slide_to_right.fxml" << ":/effects/slide_from_right.fxml";
+ eventList.clear();
+ eventList << FrequencyStrip::SLIDE_TO_RIGHT << FrequencyStrip::SLIDE_FROM_RIGHT;
+ HbEffect::add( mRightButton, pathList, eventList );
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::addFrequencyPos( int pos, uint frequency, RadioFrequencyItem* item )
+{
+ mFrequencies.insert( frequency, FrequencyPos( pos, item ) );
+ mPositions.insert( pos, frequency );
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::updateStationsInRange( int first, int last, bool stationRemoved )
+{
+ if ( !isScanning() ) {
+ uint frequency = 0;
+ for ( int i = first; i <= last; ++i ) {
+ frequency = frequencyAtIndex( i );
+ if ( mFrequencies.contains( frequency ) ) {
+ FrequencyPos pos = mFrequencies.value( frequency );
+ updateItem( pos.mItem, 0, stationRemoved ? frequency : 0 );
+ }
+ }
+ }
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::updateItem( RadioFrequencyItem* item, uint upperRange, uint ignoredFrequency )
+{
+ if ( item ) {
+ uint frequency = item->frequency();
+ QList<FrequencyStrip::StationMarker> markers;
+
+ if ( upperRange == 0 ) {
+ upperRange = frequency + FrequencyStrip::HALF_HERTZ;
+ }
+
+ if ( isInitialized() ) {
+ markers = stationsInRange( frequency - FrequencyStrip::HALF_HERTZ, upperRange );
+ for ( int i = markers.count() - 1; ignoredFrequency > 0 && i >= 0; --i ) {
+ if ( markers[i].mFrequency == ignoredFrequency ) {
+ markers.removeAt( i );
+ break;
+ }
+ }
+ }
+
+ QPixmap pixmap = drawPixmap( frequency, markers, item );
+ item->setPixmap( pixmap );
+
+ foreach ( const FrequencyStrip::StationMarker& marker, markers ) {
+ FrequencyPos pos = mFrequencies.value( marker.mFrequency );
+ mFrequencies.insert( marker.mFrequency, pos );
+ }
+ }
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::updateAllItems()
+{
+ foreach ( RadioFrequencyItem* item, mFrequencyItems ) {
+ updateItem( item );
+ }
+}
+
+/*!
+ *
+ */
+QPixmap RadioFrequencyStripBase::drawPixmap( uint frequency, QList<FrequencyStrip::StationMarker> stations, RadioFrequencyItem* item )
+{
+ QPixmap pixmap( FrequencyStrip::PIXMAP_WIDTH, mItemHeight );
+ pixmap.fill( Qt::transparent );
+ QPainter painter( &pixmap );
+ QPen normalPen = painter.pen();
+ QPen favoritePen = normalPen;
+ normalPen.setColor( mForegroundColor );
+ painter.setPen( normalPen );
+
+ if ( frequency == 0 ) {
+ painter.drawLine( makeTab( mSeparatorPos - 1 + FrequencyStrip::ROUNDER, mItemHeight ) );
+ painter.drawLine( makeTab( mSeparatorPos + FrequencyStrip::ROUNDER, mItemHeight ) );
+ return pixmap;
+ }
+
+ const QString itemText = QString::number( frequency / FrequencyStrip::ONE_HERTZ );
+ const uint startFrequency = frequency - FrequencyStrip::HALF_HERTZ;
+ const uint endFrequency = startFrequency + FrequencyStrip::ONE_HERTZ;
+ const uint roundedMin = int( qreal(mMinFrequency) / FrequencyStrip::ONE_HERTZ + FrequencyStrip::ROUNDER );
+ const uint freq = frequency / FrequencyStrip::ONE_HERTZ;
+ const int diff = freq - roundedMin;
+ const qreal startPixel = diff * FrequencyStrip::ITEM_WIDTH;
+ qreal pixels = 0.0;
+ const qreal leftOverlap = FrequencyStrip::PIXMAP_OVERLAP / 2;
+
+ for ( uint frequency = startFrequency; frequency <= endFrequency; frequency += mFrequencyStepSize ) {
+
+ if ( frequency < mMinFrequency || frequency > mMaxFrequency ) {
+ continue;
+ }
+
+ pixels = qreal( frequency - startFrequency ) / FrequencyStrip::PIXEL_IN_HZ;
+ if ( frequency % FrequencyStrip::ONE_HERTZ == 0 ) {
+
+ // Draw the high frequency tab and the frequency text for the even number
+ normalPen.setWidth( 3 );
+ painter.setPen( normalPen );
+ painter.drawLine( makeTab( pixels + leftOverlap - 1, FrequencyStrip::TAB_HEIGHT_BIG ) );
+ normalPen.setWidth( 1 );
+ painter.setPen( normalPen );
+
+ // Draw the frequency text and its 00 decimals
+ painter.setFont( FrequencyStrip::DECIMAL_FONT );
+ const int decimalWidth = painter.fontMetrics().width( FrequencyStrip::DECIMAL_TEXT );
+ const int decimalSpace = painter.fontMetrics().leftBearing( '.' );
+ painter.setFont( FrequencyStrip::FREQUENCY_FONT );
+ const int frequencyWidth = painter.fontMetrics().width( itemText );
+ const int textPosX = int( pixels + leftOverlap - ( frequencyWidth + decimalSpace + decimalWidth ) / 2 );
+ painter.drawText( QPoint( textPosX, FrequencyStrip::FREQUENCY_TEXT_Y_POS ), itemText );
+ painter.setFont( FrequencyStrip::DECIMAL_FONT );
+ painter.drawText( QPoint( textPosX + frequencyWidth + decimalSpace, FrequencyStrip::FREQUENCY_TEXT_Y_POS ), FrequencyStrip::DECIMAL_TEXT );
+
+ } else if ( frequency % FrequencyStrip::ONE_TAB_IN_HZ == 0 ) {
+
+ // Draw the low frequency tab for the uneven number
+ painter.drawLine( makeTab( pixels + leftOverlap, FrequencyStrip::TAB_HEIGHT_SMALL ) );
+
+ }
+
+ addFrequencyPos( int( startPixel + pixels + FrequencyStrip::ROUNDER ), frequency, item );
+ }
+
+ // Draw favorites and local stations
+ favoritePen.setColor( Qt::yellow );
+
+ foreach ( const FrequencyStrip::StationMarker& station, stations ) {
+ const uint frequency = station.mFrequency;
+ pixels = qreal( frequency - startFrequency ) / FrequencyStrip::PIXEL_IN_HZ;
+
+ if ( station.mIsFavorite ) {
+ favoritePen.setWidth( FrequencyStrip::PEN_WIDTH_FAVORITE );
+ painter.setPen( favoritePen );
+ painter.drawEllipse( int( pixels + leftOverlap - 3 ), FrequencyStrip::STATION_MARKER_Y_POS - 3, 6, 6 );
+ } else {
+ favoritePen.setWidth( 1 );
+ painter.setPen( favoritePen );
+ painter.drawEllipse( int( pixels + leftOverlap - 4 ), FrequencyStrip::STATION_MARKER_Y_POS - 4, 8, 8 );
+ }
+ }
+
+ return pixmap;
+}
+
+/*!
+ *
+ */
+QLineF RadioFrequencyStripBase::makeTab( qreal pos, int height )
+{
+ return QLineF( pos, mItemHeight - height, pos, mItemHeight );
+}
+
+/*!
+ *
+ */
+int RadioFrequencyStripBase::selectorPos() const
+{
+ const int pos = int( -contentWidget()->x() + mSelectorPos + FrequencyStrip::ROUNDER );
+ return pos % mMaxWidth;
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::scrollToFrequency( uint frequency, Scroll::Direction direction, int time )
+{
+ int targetFreqPos = mFrequencies.value( frequency ).mPosition;
+ const int currentFreqPos = mFrequencies.value( mFrequency ).mPosition;
+ const int currentPos = int( -contentWidget()->x() + mSelectorPos + FrequencyStrip::ROUNDER );
+ const bool isInSecondHalf = currentPos >= mMaxWidth - FrequencyStrip::ITEM_WIDTH + mSeparatorPos;
+
+ // Special case: When there is only one favorite and the user presses skip
+ // the strip must scroll around to the same frequency.
+ if ( mFrequency == frequency && direction != Scroll::Shortest ) {
+ if ( direction == Scroll::Left ) {
+ targetFreqPos += mMaxWidth;
+ } else {
+ targetFreqPos -= mMaxWidth;
+ }
+ }
+
+ mFrequency = frequency;
+
+ qreal newPos = targetFreqPos;
+ if ( direction == Scroll::Left ) {
+
+ if ( currentFreqPos > targetFreqPos ) {
+ newPos += mMaxWidth;
+ }
+
+ } else if ( direction == Scroll::Right ) {
+
+ if ( currentFreqPos < targetFreqPos ) {
+ newPos -= mMaxWidth;
+ }
+
+ }
+
+ if ( isInSecondHalf ) {
+ newPos += mMaxWidth;
+ }
+
+ newPos -= mSelectorPos - FrequencyStrip::ROUNDER;
+
+// scrollContentsTo( QPointF( newPos, 0 ), time );
+// TODO: Remove this and uncomment the above line. This is a temporary workaround to get the strip to move
+ scrollContentsTo( QPointF( newPos, 0 ), 0 );
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::hideButtons()
+{
+ HbEffect::start( mLeftButton, FrequencyStrip::SLIDE_TO_LEFT );
+ HbEffect::start( mRightButton, FrequencyStrip::SLIDE_TO_RIGHT );
+}
+
+/*!
+ *
+ */
+void RadioFrequencyStripBase::showButtons()
+{
+ HbEffect::start( mLeftButton, FrequencyStrip::SLIDE_FROM_LEFT );
+ HbEffect::start( mRightButton, FrequencyStrip::SLIDE_FROM_RIGHT );
+}
--- a/radioapp/radiowidgets/src/radiohistoryview.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/src/radiohistoryview.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -265,6 +265,8 @@
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 );
mAllSongsButton = mUiLoader->findObject<HbAction>( DOCML::HV_NAME_ALL_SONGS_BUTTON );
mTaggedSongsButton = mUiLoader->findObject<HbAction>( DOCML::HV_NAME_TAGGED_SONGS_BUTTON );
--- a/radioapp/radiowidgets/src/radiomainview.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/src/radiomainview.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -88,8 +88,7 @@
updateFavoriteButton();
mFrequencyScanner.take();
-// const bool firsTimeStart = mUiEngine->isFirstTimeStart();
- const bool firsTimeStart = false; // TODO! RadioServer terminates. Fix available in NCP 25 or 27.
+ const bool firsTimeStart = mUiEngine->isFirstTimeStart();
const int rowCount = mUiEngine->stationModel().rowCount();
if ( firsTimeStart && rowCount != 0 ) {
mUiEngine->setFirstTimeStartPerformed( true );
@@ -120,6 +119,7 @@
mCarousel = mUiLoader->findObject<RadioStationCarousel>( DOCML::MV_NAME_STATION_CAROUSEL );
mCarousel->init( *mUiLoader, mUiEngine.data() );
+ mCarousel->setLandscape( mMainWindow->orientation() == Qt::Horizontal );
mFrequencyStrip = mUiLoader->findObject<RadioFrequencyStrip>( DOCML::MV_NAME_FREQUENCY_STRIP );
mFrequencyStrip->init( mUiEngine.data(), *mUiLoader );
@@ -189,8 +189,7 @@
#endif // BUILD_WIN32
setNavigationAction( backAction );
-// const bool firsTimeStart = mUiEngine->isFirstTimeStart();
- const bool firsTimeStart = false; // TODO! RadioServer terminates. Fix available in NCP 25 or 27.
+ const bool firsTimeStart = mUiEngine->isFirstTimeStart();
const int rowCount = mUiEngine->stationModel().rowCount();
if ( firsTimeStart && rowCount == 0 ){
QTimer::singleShot( 100, this, SLOT(toggleScanning()) );
@@ -211,6 +210,7 @@
loadSection( DOCML::FILE_MAINVIEW, mMainWindow->orientationSection() );
if ( mCarousel && mFrequencyStrip ) {
mCarousel->setFrequency( mFrequencyStrip->frequency(), TuneReason::Unspecified );
+ mCarousel->setLandscape( mMainWindow->orientation() == Qt::Horizontal );
}
}
@@ -420,7 +420,7 @@
*/
void RadioMainView::handleFavoriteChange( const RadioStation& station )
{
- mFrequencyStrip->updateFavorite( station );
+ mFrequencyStrip->updateFavorite( station.frequency() );
updateFavoriteButton();
}
--- a/radioapp/radiowidgets/src/radiostationcarousel.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/src/radiostationcarousel.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -441,6 +441,14 @@
}
/*!
+ *
+ */
+void RadioStationCarousel::setLandscape( bool landscape )
+{
+ CALL_TO_ALL_ITEMS( setLandscape( landscape ) );
+}
+
+/*!
* TODO: Remove this! This is test code
*/
void RadioStationCarousel::setAlternateSkippingMode( bool alternateSkipping )
@@ -552,8 +560,8 @@
{
QColor color = Qt::green;
if ( !available && mUiEngine ) {
- LOG_FORMAT( "No RDS signal: Station has sent RDS earlier: %d", mUiEngine.model().currentStation().hasRds() );
- color = mUiEngine.model().currentStation().hasRds() ? Qt::yellow : Qt::gray;
+ LOG_FORMAT( "No RDS signal: Station has sent RDS earlier: %d", mUiEngine.model().currentStation().hasSentRds() );
+ color = mUiEngine.model().currentStation().hasSentRds() ? Qt::yellow : Qt::gray;
mRdsLabel->setText( "RDS" );
} else {
mRdsLabel->setText( "-RDS-" );
--- a/radioapp/radiowidgets/src/radiostationsview.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/src/radiostationsview.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -394,4 +394,6 @@
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 );
}
--- a/radioapp/radiowidgets/src/radiostripbase.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/src/radiostripbase.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -20,7 +20,6 @@
// User includes
#include "radiostripbase.h"
-#include "radiologger.h"
// Constants
@@ -181,7 +180,7 @@
*/
void RadioStripBase::resizeEvent( QGraphicsSceneResizeEvent* event )
{
- Q_UNUSED( event );
+ HbScrollArea::resizeEvent( event );
populateAndLayout();
}
--- a/radioapp/radiowidgets/src/radioviewbase.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/src/radioviewbase.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -227,7 +227,7 @@
*/
void RadioViewBase::askQuestion( const QString& question )
{
- HbMessageBox::question( question, this, SLOT(handleUserAnswer(HbAction*)) );
+ HbMessageBox::question( question, this, SLOT(handleUserAnswer(HbAction*)), HbMessageBox::Yes | HbMessageBox::No );
}
/*!
--- a/radioapp/radiowidgets/src/radiowindow.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioapp/radiowidgets/src/radiowindow.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -68,14 +68,10 @@
/*!
*
*/
-void RadioWindow::init( QSystemDeviceInfo* deviceInfo )
+void RadioWindow::init()
{
- mDeviceInfo.reset( deviceInfo );
-
Radio::connect( this, SIGNAL(viewReady()),
this, SLOT(initView()) );
- Radio::connect( mDeviceInfo.data(), SIGNAL(currentProfileChanged(QSystemDeviceInfo::Profile)),
- this, SLOT(queryOfflineUsage(QSystemDeviceInfo::Profile)) );
activateMainView();
}
@@ -211,28 +207,6 @@
}
/*!
- * Private slot
- *
- */
-void RadioWindow::queryOfflineUsage( QSystemDeviceInfo::Profile profile )
-{
- if ( profile == QSystemDeviceInfo::OfflineProfile ) {
- bool okToContinue = false;
- HbDeviceMessageBox box( hbTrId( "txt_rad_info_continue_using_the_radio_in_offline" ), HbMessageBox::MessageTypeQuestion );
- box.setTimeout( HbPopup::NoTimeout );
- box.exec();
-
- okToContinue = box.isAcceptAction( box.triggeredAction() );
-
- if ( okToContinue ) {
- // Radio stays on
- } else {
- qApp->quit(); // Close radio
- }
- } // other profiles are not interesting
-}
-
-/*!
*
*/
void RadioWindow::activateView( RadioViewBase* aMember, const QString& docmlFile, Hb::ViewSwitchFlags flags )
--- a/radioengine/engine/inc/cradioengineimp.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/engine/inc/cradioengineimp.h Wed Aug 18 09:49:03 2010 +0300
@@ -30,7 +30,6 @@
#include "radioenginedef.h"
// Forward declarations
-class CRadioPubSub;
class CRadioRdsReceiverBase;
class CRadioNetworkInfoListener;
class MRadioEngineSettings;
@@ -111,27 +110,11 @@
ERadioEventFmTransmitter
};
- /**
- * Possible radio scan events.
- */
- enum TRadioScanEvent
- {
- /**
- * Scanning found a valid frequency.
- */
- ERadioEventFrequencyScanned,
-
- /**
- * Scanning is completed.
- */
- ERadioEventScanCompleted
-
- };
-
enum TRadioInitialisationState
{
ERadioNotInitialized,
ERadioUtilitiesConstructed,
+ ERadioTunerControlRequested,
ERadioTunerControlGranted
};
@@ -172,6 +155,11 @@
void PowerOff();
/**
+ * Requests tuner control from tuner utility
+ */
+ void RequestTunerControl();
+
+ /**
* Converts region code used internally by Visual Radio
* in to a frequency range by tuner ( TFmRadioFrequencyRange )
*
--- a/radioengine/engine/src/cradioengineimp.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/engine/src/cradioengineimp.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -51,7 +51,7 @@
const TInt KRadioVolumeStepsDivider = 500;
/** amount of volume steps used previously */
#if defined __WINS__
-const TInt KRadioVolumeStepsOld = 10;
+const TInt KRadioVolumeStepsWins = 20;
#endif // defined __WINS__
/** KRadioRadioSwitchDelay value must not be too small, otherwise problems with
@@ -232,6 +232,7 @@
LEVEL3( LOG_METHOD_AUTO );
TRadioRegion region = ERadioRegionNone;
+ //TODO: Reimplement in QT side and remove the mobile network functionality
MRadioEngineSettings& engineSettings = iSettings->EngineSettings();
if ( iSystemEventCollector->IsMobileNetworkCoverage() )
{
@@ -300,9 +301,7 @@
// Utilities have been created now
iRadioInitializationState = ERadioUtilitiesConstructed;
- // Before first RequestTunerControl() call it is ok to enable offline mode without checking capabilities
- iTunerUtility->EnableTunerInOfflineMode( ETrue );
- iTunerUtility->RequestTunerControl();
+ RequestTunerControl();
}
// ---------------------------------------------------------------------------
@@ -335,7 +334,7 @@
iRadioEnabled &&
OkToPlay( iSettings->EngineSettings().TunedFrequency() ) )
{
- iTunerUtility->RequestTunerControl();
+ RequestTunerControl();
}
else
{
@@ -486,7 +485,7 @@
iRadioEnabled &&
OkToPlay( iSettings->EngineSettings().TunedFrequency() ) )
{
- iTunerUtility->RequestTunerControl();
+ RequestTunerControl();
}
else
{
@@ -593,6 +592,29 @@
}
// ---------------------------------------------------------------------------
+// Requests tuner control from tuner utility
+// ---------------------------------------------------------------------------
+//
+void CRadioEngineImp::RequestTunerControl()
+ {
+ LOG_METHOD_AUTO;
+
+ if ( iRadioInitializationState < ERadioTunerControlRequested )
+ {
+ LOG( "Requesting tuner control" );
+ // Before first RequestTunerControl() say that it is ok to enable offline mode without checking capabilities
+ iTunerUtility->EnableTunerInOfflineMode( ETrue );
+ iTunerUtility->RequestTunerControl();
+
+ iRadioInitializationState = ERadioTunerControlRequested;
+ }
+ else
+ {
+ LOG( "Tuner control already requested" );
+ }
+ }
+
+// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
@@ -923,10 +945,8 @@
}
// ---------------------------------------------------------------------------
-// If CRadioPlayerUtility has 10 steps, CAknVolumeControl has also 10 steps and also
-// the maximum volume level of Visual radio is 10. Otherwise CRadioPlayerUtility has
-// 200 steps, and CAknVolumeControl has 20 steps, so maximum volume level of Visual radio
-// is 20.
+// Determine the meximum volume level by dividing the maximum volume setting
+// received from player utility to get the desired 20 volume steps
// ---------------------------------------------------------------------------
//
TInt CRadioEngineImp::MaxVolumeLevel() const
@@ -935,7 +955,7 @@
TInt maxLevel = 0;
#if defined __WINS__
- maxLevel = KRadioVolumeStepsOld;
+ maxLevel = KRadioVolumeStepsWins;
#else
if ( RadioInitialized() )
{
@@ -1003,9 +1023,9 @@
LOG_METHOD_AUTO;
TInt count = iObservers.Count();
- for ( TInt i = 0; i<count; i++)
+ for ( TInt i = 0; i < count; ++i )
{
- MRadioEngineObserver * observer = iObservers[i];
+ MRadioEngineObserver* observer = iObservers[i];
switch ( aRadioEvent )
{
@@ -1251,23 +1271,10 @@
iSeekingState = RadioEngine::ERadioNotSeeking;
- if ( aFrequency == 0 ) {
+ if ( aFrequency == 0 )
+ {
NotifyRadioEvent( ERadioEventFrequency, aError );
- }
-
-// if ( aError != KErrNone )
-// {
-// iFreqEventReason = RadioEngine::ERadioFrequencyEventReasonImplicit;
-// NotifyRadioEvent( ERadioEventFrequency, KErrNone ); // Frequency change is not otherwise notified when seeking fails.
-// }
-// else
-// {
-// // sometimes frequency change is not reported even if seeking succeeds
-// if ( !iFrequencySetByRdsAf )
-// {
-// NotifyRadioEvent( ERadioEventFrequency, KErrNone );
-// }
-// }
+ }
}
// ---------------------------------------------------------------------------
@@ -1412,12 +1419,14 @@
void CRadioEngineImp::MrpoMuteChange( TBool aMute )
{
LEVEL3( LOG_METHOD_AUTO );
- TBool muted = iSettings->EngineSettings().IsVolMuted();
- if ( !aMute != !muted )
- {
- iSettings->RadioSetter().SetVolMuted( aMute );
- NotifyRadioEvent( ERadioEventMute );
- }
+ LOG_FORMAT( "CRadioEngineImp::MrpoMuteChange muted: %d", aMute );
+
+// TBool muted = iSettings->EngineSettings().IsVolMuted();
+// if ( !aMute != !muted )
+// {
+// iSettings->RadioSetter().SetVolMuted( aMute );
+// NotifyRadioEvent( ERadioEventMute );
+// }
}
// ---------------------------------------------------------------------------
@@ -1638,13 +1647,13 @@
}
}
- if ( !iSettings->EngineSettings().IsPowerOn() )
+ if ( !aPowerOn )
{
CancelSeek();
}
// If we are seeking, power event starts seeking
- if ( iSeekingState != RadioEngine::ERadioNotSeeking && iSettings->EngineSettings().IsPowerOn() )
+ if ( iSeekingState != RadioEngine::ERadioNotSeeking && aPowerOn )
{
// Reset seeking state to enable seeking start
LOG( "PowerOn event in seekingstate. Restart seeking" );
--- a/radioengine/engine/src/cradionetworkinfolistener.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/engine/src/cradionetworkinfolistener.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -119,7 +119,7 @@
// Get phone info of first legal phone.
TInt legalPhoneIndex = KErrNotFound;
RTelServer::TPhoneInfo phoneInfo;
- for ( TInt i=0; i<phones && legalPhoneIndex == KErrNotFound; i++)
+ for ( TInt i=0; i<phones && legalPhoneIndex == KErrNotFound; ++i )
{
if ( telServer.GetPhoneInfo( i, phoneInfo ) == KErrNone )
{
--- a/radioengine/engine/src/cradiordsreceiverbase.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/engine/src/cradiordsreceiverbase.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -130,7 +130,7 @@
{
LEVEL3( LOG_METHOD_AUTO );
iAfEnabled = aEnable;
- for ( TInt i = 0 ; i < iObservers.Count(); i++ )
+ for ( TInt i = 0; i < iObservers.Count(); ++i )
{
iObservers[i]->RdsAfSearchStateChange( iAfEnabled );
}
--- a/radioengine/settings/src/cradioenginesettings.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/settings/src/cradioenginesettings.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -675,6 +675,7 @@
//User::LeaveIfError( iRadioSettingsImp.FsSession().Connect() );
+ //TODO: Remove the ResolveDriveL
iRadioSettingsImp.ResolveDriveL( resourceFileName, KDC_RESOURCE_FILES_DIR );
BaflUtils::NearestLanguageFile( iRadioSettingsImp.FsSession(), resourceFileName);
@@ -685,7 +686,7 @@
reader.SetBuffer(readBuffer);
TInt regionCount = reader.ReadInt16();
- for ( TInt i = 0 ; i < regionCount; i++ )
+ for ( TInt i = 0; i < regionCount; ++i )
{
TInt resId = reader.ReadInt32(); // The next resource ID to read.
HBufC8* regionBuffer = iResFile.AllocReadLC(resId);
--- a/radioengine/settings/src/cradioregion.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/settings/src/cradioregion.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -50,7 +50,7 @@
iDecimalCount = aRr.ReadInt16();
TInt countryCodeCount = aRr.ReadInt16();
- for ( TInt i = 0 ; i < countryCodeCount ; i++)
+ for ( TInt i = 0; i < countryCodeCount; ++i )
{
TPtrC code;
code.Set( aRr.ReadTPtrC());
--- a/radioengine/settings/src/cradiosettingsimp.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/settings/src/cradiosettingsimp.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -81,12 +81,9 @@
delete iApplicationSettings;
if ( iFsSession )
{
- if ( iFsSession->Handle() )
- {
- iFsSession->Close();
- }
- delete iFsSession;
+ iFsSession->Close();
}
+ delete iFsSession;
}
// ---------------------------------------------------------------------------
@@ -137,7 +134,7 @@
{
LEVEL3( LOG_METHOD_AUTO );
LEVEL3( LOG_FORMAT( "aFileName = %S, aPath = %S", &aFileName, &aPath ) );
-
+
TFileName fileName;
TFileName baseResource;
TFindFile finder( *iFsSession );
@@ -235,4 +232,3 @@
LEVEL3( LOG_METHOD_AUTO );
return *iFsSession;
}
-
--- a/radioengine/settings/stub/group/radioenginesettings_stub.mmp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/settings/stub/group/radioenginesettings_stub.mmp Wed Aug 18 09:49:03 2010 +0300
@@ -56,7 +56,6 @@
USERINCLUDE /sf/mw/mmmw/inc
APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/internal
SOURCEPATH ../../src
SOURCE cradioregion.cpp
--- a/radioengine/settings/tsrc/group/SettingsTestModule.mmp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/settings/tsrc/group/SettingsTestModule.mmp Wed Aug 18 09:49:03 2010 +0300
@@ -39,7 +39,6 @@
USERINCLUDE ../../../utils/inc
APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/internal
SOURCEPATH ../src
--- a/radioengine/settings/tsrc/group/SettingsTestModule_nrm.mmp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/settings/tsrc/group/SettingsTestModule_nrm.mmp Wed Aug 18 09:49:03 2010 +0300
@@ -39,7 +39,6 @@
USERINCLUDE ../../../utils/inc
APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/internal
SOURCEPATH ../src
--- a/radioengine/settings/tsrc/src/SettingsTestModuleBlocks.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/settings/tsrc/src/SettingsTestModuleBlocks.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -194,7 +194,7 @@
{
TestModuleIf().Printf( i, KSettingsTestModule,
KParam, i, &string );
- i++;
+ ++i;
}
return KErrNone;
--- a/radioengine/utils/api/cradioaudiorouter.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/api/cradioaudiorouter.h Wed Aug 18 09:49:03 2010 +0300
@@ -29,8 +29,6 @@
/**
* CRadioAudioRouter
*
- * Contains functionality for playing and routing startup sound
- *
*/
NONSHARABLE_CLASS( CRadioAudioRouter ) : public CBase
{
--- a/radioengine/utils/api/cradiorepositoryentity.h Tue Jul 06 14:16:27 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +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:
-*
-*/
-
-#ifndef C_RADIOREPOSITORYENTITY_H
-#define C_RADIOREPOSITORYENTITY_H
-
-// User includes
-#include "cradiorepositoryentitybase.h"
-#include "mradiorepositoryentityobserver.h"
-#include "cradioenginelogger.h"
-
-// Forward declarations
-class CRepository;
-
-/**
- * Templated class to listen to a single key within the central repository.
- *
- * Notifies the observer of changes in the key, and provides caching for the key's value.
- */
-template <typename T>
-NONSHARABLE_CLASS( CRadioRepositoryEntity ) : public CRadioRepositoryEntityBase
- {
-
-public:
-
- IMPORT_C static CRadioRepositoryEntity<T>* NewL( const TUid& aUid,
- TUint32 aKey,
- MRadioRepositoryEntityObserver& aObserver,
- CActive::TPriority aPriority = CActive::EPriorityStandard );
-
- IMPORT_C ~CRadioRepositoryEntity();
-
- /**
- * Sets the value of the entity.
- * The value is written into the central repository immediately.
- *
- * @param aValue The value to set.
- * @param aSavingEnabled If ETrue, saving to central repository file is enabled
- */
- TInt SetValue( const T& aValue, TBool aSavingEnabled );
-
- /**
- * Returns a cached reference to the value of the entity.
- *
- * @return The cached value of the entity.
- */
- const T& Value() const;
-
- /**
- * Forcibly updates the key's value from the central repository and caches it.
- */
- void UpdateL();
-
-// from base class CActive
-
- void RunL();
- void DoCancel();
-
-private:
-
- CRadioRepositoryEntity( const TUid& aUid,
- TUint32 aKey,
- MRadioRepositoryEntityObserver& aObserver,
- CActive::TPriority aPriority );
-
- void ConstructL();
-
-protected:
-
- /** The central repository client. */
- CRepository* iRepository;
-
- /** The cached value of the key. */
- T iValue;
-
- };
-
-#include "cradiorepositoryentity.inl"
-
-#endif // C_RADIOREPOSITORYENTITY_H
--- a/radioengine/utils/api/cradiorepositoryentity.inl Tue Jul 06 14:16:27 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +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:
-*
-*/
-
-// System includes
-#include <centralrepository.h>
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-template <typename T>
-EXPORT_C CRadioRepositoryEntity<T>* CRadioRepositoryEntity<T>::NewL( const TUid& aUid,
- TUint32 aKey,
- MRadioRepositoryEntityObserver& aObserver,
- CActive::TPriority aPriority )
- {
- LEVEL3( LOG_METHOD_AUTO );
- CRadioRepositoryEntity<T>* self = new ( ELeave ) CRadioRepositoryEntity<T>( aUid, aKey, aObserver, aPriority );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-template <typename T>
-CRadioRepositoryEntity<T>::CRadioRepositoryEntity( const TUid& aUid,
- TUint32 aKey,
- MRadioRepositoryEntityObserver& aObserver,
- CActive::TPriority aPriority )
- : CRadioRepositoryEntityBase( aUid, aKey, aObserver, aPriority )
- {
- LEVEL3( LOG_METHOD_AUTO );
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-template <typename T>
-void CRadioRepositoryEntity<T>::ConstructL()
- {
- LEVEL3( LOG_METHOD_AUTO );
- iRepository = CRepository::NewL( iUid );
-
- CActiveScheduler::Add( this );
- iRepository->Get( iKey, iValue );
- User::LeaveIfError( iRepository->NotifyRequest( iKey, iStatus ) );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-template <typename T>
-EXPORT_C CRadioRepositoryEntity<T>::~CRadioRepositoryEntity()
- {
- LEVEL3( LOG_METHOD_AUTO );
- Cancel();
- delete iRepository;
- }
-
-// -----------------------------------------------------------------------------
-// Sets the value of the key.
-// -----------------------------------------------------------------------------
-//
-template <typename T>
-TInt CRadioRepositoryEntity<T>::SetValue( const T& aValue, TBool aSavingEnabled )
- {
- LEVEL3( LOG_METHOD_AUTO );
- iValue = aValue;
- if ( aSavingEnabled )
- {
- return iRepository->Set( iKey, aValue );
- }
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// Returns the cached copy of the key's value.
-// -----------------------------------------------------------------------------
-//
-template <typename T>
-const T& CRadioRepositoryEntity<T>::Value() const
- {
- LEVEL3( LOG_METHOD_AUTO );
- return iValue;
- }
-
-// -----------------------------------------------------------------------------
-// Forcibly updates the cached value from the repository.
-// -----------------------------------------------------------------------------
-//
-template <typename T>
-void CRadioRepositoryEntity<T>::UpdateL()
- {
- LEVEL3( LOG_METHOD_AUTO );
- User::LeaveIfError( iRepository->Get( iKey, iValue ) );
- }
-
-// -----------------------------------------------------------------------------
-// Executed when the key's value is changed.
-// -----------------------------------------------------------------------------
-//
-template <typename T>
-void CRadioRepositoryEntity<T>::RunL()
- {
- LEVEL3( LOG_METHOD_AUTO );
- User::LeaveIfError( iRepository->NotifyRequest( iKey, iStatus ) );
- SetActive();
-
- TInt err = iRepository->Get( iKey, iValue );
- iObserver.HandleRepositoryValueChangeL( iUid, iKey, iValue, err );
- }
-
-// -----------------------------------------------------------------------------
-// Cancels all pending notifications.
-// -----------------------------------------------------------------------------
-//
-template <typename T>
-void CRadioRepositoryEntity<T>::DoCancel()
- {
- LEVEL3( LOG_METHOD_AUTO );
- iRepository->NotifyCancel( iKey );
- }
--- a/radioengine/utils/api/cradiorepositoryentitybase.h Tue Jul 06 14:16:27 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +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:
-*
-*/
-
-#ifndef C_RADIOREPOSITORYENTITYBASE_H
-#define C_RADIOREPOSITORYENTITYBASE_H
-
-#include <e32base.h>
-
-class MRadioRepositoryEntityObserver;
-
-/**
- * Base class for a central repository entity.
- *
- * All instantiable central repository entities must be derived from this class.
- * The class is provided so that a heterogenous array of templated objects can be created, and to
- * provide common data fields for the said purpose.
- */
-class CRadioRepositoryEntityBase : public CActive
- {
-
-public:
-
- IMPORT_C ~CRadioRepositoryEntityBase();
-
- /**
- * Returns the UID of the repository the entity is bound to.
- *
- * @return The UID of the repository the entity is bound to.
- */
- const TUid& Uid() const;
-
- /**
- * Returns the key the entity is bound to.
- *
- * @return The key the entity is bound to.
- */
- TUint32 Key() const;
-
-protected:
-
- /**
- * Constructor.
- *
- * @param aUid The UID of the repository that this entity will be bound to.
- * @param aKey The key within the repository that this entity will be bound to.
- * @param aObserver The observer that is notified whenever the value of the key within the repository changes.
- * @param aPriority The priority of the active object.
- */
- IMPORT_C CRadioRepositoryEntityBase( const TUid& aUid, TUint32 aKey, MRadioRepositoryEntityObserver& aObserver, CActive::TPriority aPriority );
-
-protected:
-
- /** The observer that is notified of changes in the key. */
- MRadioRepositoryEntityObserver& iObserver;
-
- /** The UID of the repository the entity is bound to. */
- TUid iUid;
-
- /** The key the entity is bound to.. */
- TUint32 iKey;
-
- };
-
-#endif // C_RADIOREPOSITORYENTITYBASE_H
--- a/radioengine/utils/api/cradiorepositorymanager.h Tue Jul 06 14:16:27 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,255 +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:
-*
-*/
-
-#ifndef C_RADIOREPOSITORYMANAGER_H
-#define C_RADIOREPOSITORYMANAGER_H
-
-// System includes
-#include <e32base.h>
-
-// Forward declarations
-class MRadioRepositoryEntityObserver;
-
-/** The maximum length of a string buffer. */
-const TInt KRadioEntityBuf16Length = 256; // Maximum: NCentralRepositoryConstants::KMaxUnicodeStringLength;
-/** The maximum length of a binary buffer. */
-const TInt KRadioEntityBuf8Length = KRadioEntityBuf16Length * 2; // Maximum: NCentralRepositoryConstants::KMaxBinaryLength;
-
-/** Maximum length binary buffer. */
-typedef TBuf8<KRadioEntityBuf8Length> TRadioEntityBuf8;
-/** Maximum length string buffer. */
-typedef TBuf16<KRadioEntityBuf16Length> TRadioEntityBuf16;
-
-/**
- * Central repository entity manager.
- *
- * Manages central repository entities that listen to specific repository and a key within it, notifying the observer
- * whenever the key's value changes.
- *
- * Also a set of static methods are provided that wrap the common use case of central repository where the user
- * is only interested to read or write the value of a key and then discard the repository object.
- */
-NONSHARABLE_CLASS( CRadioRepositoryManager ) : public CBase
- {
-
-public:
-
- /**
- * Possible entity types.
- */
- enum TRadioEntityType
- {
- ERadioEntityInt, /**< The entity is an integer. */
- ERadioEntityReal, /**< The entity is a floating point number. */
- ERadioEntityDes8, /**< The entity is a binary value. */
- ERadioEntityDes16 /**< The entity is a string. */
- };
-
- IMPORT_C static CRadioRepositoryManager* NewL( TInt aGranularity );
-
- IMPORT_C ~CRadioRepositoryManager();
-
- /**
- * Adds observer
- *
- * @param aObserver The observer that is notified of all the changes in the observed keys' values.
- */
- virtual void AddObserverL( MRadioRepositoryEntityObserver* aObserver ) = 0;
-
- /**
- * Removes observer
- *
- * @param aObserver The observer that is to be removed
- */
- virtual void RemoveObserver( MRadioRepositoryEntityObserver* aObserver ) = 0;
-
- /**
- * Enables or disables the writing of entities' values to the repository.
- *
- * Disabling the save functionality is important when the free disk space reaches critical level.
- *
- * @param aEnable <code>ETrue</code> if the entities are allowed to write their value to the repository, <code>EFalse</code> otherwise.
- */
- virtual void EnableSave( TBool aEnable ) = 0;
-
- /**
- * Adds an entity to the manager.
- *
- * @param aUid The UID of the repository.
- * @param aKey The key within the repository.
- * @param aType The type of the key within the repository.
- */
- virtual void AddEntityL( const TUid& aUid, TUint32 aKey, TRadioEntityType aType ) = 0;
-
- /**
- * Removes an entity from the manager.
- *
- * Entities should only be removed when they are no longer needed. The destructor of the repository manager
- * deletes all the remaining entities.
- *
- * @param aUid The UID of the entity to be removed.
- * @param aKey The key of the entity to be removed.
- */
- virtual void RemoveEntity( const TUid& aUid, TUint32 aKey ) = 0;
-
- /**
- * Sets the value of an integer entity.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @param aValue The value to set.
- */
- virtual TInt SetEntityValue( const TUid& aUid, TUint32 aKey, TInt aValue ) = 0;
-
- /**
- * Sets the value of a floating point entity.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @param aValue The value to set.
- */
- virtual TInt SetEntityValue( const TUid& aUid, TUint32 aKey, const TReal& aValue ) = 0;
-
- /**
- * Sets the value of a binary entity.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @param aValue The value to set.
- */
- virtual TInt SetEntityValue( const TUid& aUid, TUint32 aKey, const TDesC8& aValue ) = 0;
-
- /**
- * Sets the value of a string entity.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @param aValue The value to set.
- */
- virtual TInt SetEntityValue( const TUid& aUid, TUint32 aKey, const TDesC16& aValue ) = 0;
-
- /**
- * Returns the cached value of an integer entity.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @return The cached value of the entity.
- */
- virtual TInt EntityValueInt( const TUid& aUid, TUint32 aKey ) const = 0;
-
- /**
- * Returns the cached value of a floating point entity.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @return The cached value of the entity.
- */
- virtual const TReal& EntityValueReal( const TUid& aUid, TUint32 aKey ) const = 0;
-
- /**
- * Returns the cached value of a binary entity.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @return The cached value of the entity.
- */
- virtual const TDesC8& EntityValueDes8( const TUid& aUid, TUint32 aKey ) const = 0;
-
- /**
- * Returns the cached value of a string entity.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @return The cached value of the entity.
- */
- virtual const TDesC16& EntityValueDes16( const TUid& aUid, TUint32 aKey ) const = 0;
-
- /**
- * Sets the value of an integer key in the repository.
- *
- * @param aUid The UID of the repository.
- * @param aKey The key within the repository.
- * @param aValue The value to set.
- */
- IMPORT_C static void SetRepositoryValueL( const TUid& aUid, TUint32 aKey, TInt aValue );
-
- /**
- * Sets the value of a floating point key in the repository.
- *
- * @param aUid The UID of the repository.
- * @param aKey The key within the repository.
- * @param aValue The value to set.
- */
- IMPORT_C static void SetRepositoryValueL( const TUid& aUid, TUint32 aKey, const TReal& aValue );
-
- /**
- * Sets the value of a binary key in the repository.
- *
- * @param aUid The UID of the repository.
- * @param aKey The key within the repository.
- * @param aValue The value to set.
- */
- IMPORT_C static void SetRepositoryValueL( const TUid& aUid, TUint32 aKey, const TDesC8& aValue );
-
- /**
- * Sets the value of a string key in the repository.
- *
- * @param aUid The UID of the repository.
- * @param aKey The key within the repository.
- * @param aValue The value to set.
- */
- IMPORT_C static void SetRepositoryValueL( const TUid& aUid, TUint32 aKey, const TDesC16& aValue );
-
- /**
- * Gets the value of an integer key in the repository.
- *
- * @param aUid The UID of the repository.
- * @param aKey The key within the repository.
- * @param aValue On return, the value of the key within the repository.
- */
- IMPORT_C static void GetRepositoryValueL( const TUid& aUid, TUint32 aKey, TInt& aValue );
-
- /**
- * Gets the value of a floating point key in the repository.
- *
- * @param aUid The UID of the repository.
- * @param aKey The key within the repository.
- * @param aValue On return, the value of the key within the repository.
- */
- IMPORT_C static void GetRepositoryValueL( const TUid& aUid, TUint32 aKey, TReal& aValue );
-
- /**
- * Gets the value of a binary key in the repository.
- *
- * @param aUid The UID of the repository.
- * @param aKey The key within the repository.
- * @param aValue On return, the value of the key within the repository.
- */
- IMPORT_C static void GetRepositoryValueL( const TUid& aUid, TUint32 aKey, TDes8& aValue );
-
- /**
- * Gets the value of a string key in the repository.
- *
- * @param aUid The UID of the repository.
- * @param aKey The key within the repository.
- * @param aValue On return, the value of the key within the repository.
- */
- IMPORT_C static void GetRepositoryValueL( const TUid& aUid, TUint32 aKey, TDes16& aValue );
-
- };
-
-#endif // C_RADIOREPOSITORYMANAGER_H
--- a/radioengine/utils/api/mradiorepositoryentityobserver.h Tue Jul 06 14:16:27 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +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:
-*
-*/
-
-#ifndef M_RADIOREPOSITORYENTITYOBSERVER_H
-#define M_RADIOREPOSITORYENTITYOBSERVER_H
-
-/**
- * Entity observer interface.
- */
-NONSHARABLE_CLASS( MRadioRepositoryEntityObserver )
- {
-
-public:
-
- /**
- * Invoked when the observed entity's value is changed.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @param aValue The new value of the entity.
- * @param aError One of the standard system error codes.
- */
- virtual void HandleRepositoryValueChangeL( const TUid& aUid, TUint32 aKey, TInt aValue, TInt aError ) = 0;
-
- /**
- * Invoked when the observed entity's value is changed.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @param aValue The new value of the entity.
- * @param aError One of the standard system error codes.
- */
- virtual void HandleRepositoryValueChangeL( const TUid& aUid, TUint32 aKey, const TReal& aValue, TInt aError ) = 0;
-
- /**
- * Invoked when the observed entity's value is changed.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @param aValue The new value of the entity.
- * @param aError One of the standard system error codes.
- */
- virtual void HandleRepositoryValueChangeL( const TUid& aUid, TUint32 aKey, const TDesC8& aValue, TInt aError ) = 0;
-
- /**
- * Invoked when the observed entity's value is changed.
- *
- * @param aUid The UID of the entity.
- * @param aKey The key of the entity.
- * @param aValue The new value of the entity.
- * @param aError One of the standard system error codes.
- */
- virtual void HandleRepositoryValueChangeL( const TUid& aUid, TUint32 aKey, const TDesC16& aValue, TInt aError ) = 0;
-
- };
-
-#endif // M_RADIOREPOSITORYENTITYOBSERVER_H
-
--- a/radioengine/utils/api/radioengineutils.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/api/radioengineutils.h Wed Aug 18 09:49:03 2010 +0300
@@ -49,27 +49,6 @@
*/
IMPORT_C static RFs& FsSession();
- /**
- * Converts a frequency to a descriptor format.
- * Returned descriptor is left in CleanupStack.
- *
- * @param aFreq Frequency, in kilohertz, to convert.
- * @param aDecimalCount Decimal count to use.
- * @param aResourceId Resource ID of the format string, or <code>KErrNotFound</code> if no such resource is to be used.
- * @return The formatted descriptor. Ownership is transferred.
- */
- IMPORT_C static HBufC* ReadFrequencyStringLC( TUint32 aFreq, TInt aDecimalCount, TInt aResourceId = KErrNotFound );
-
- /**
- * Writes formatted frequency to a give descriptor.
- *
- * @param aDest Destination descriptor.
- * @param aFreq Frequency, in kilohertz, to convert.
- * @param aDecimalCount Decimal count to use.
- * @param aFormat Format read from resource.
- */
- IMPORT_C static void FormatFrequencyString( TDes& aDest, TUint32 aFreq, TInt aDecimalCount, TDesC& aFormat );
-
};
#endif // RADIOENGINEUTILS_H
--- a/radioengine/utils/bwins/fmradioengineutilsu.def Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/bwins/fmradioengineutilsu.def Wed Aug 18 09:49:03 2010 +0300
@@ -4,29 +4,25 @@
??0CRadioRoutableAudio@@QAE@PAVCRadioAudioRouter@@@Z @ 3 NONAME ; CRadioRoutableAudio::CRadioRoutableAudio(class CRadioAudioRouter *)
?InitializeL@RadioEngineUtils@@SAXXZ @ 4 NONAME ; void RadioEngineUtils::InitializeL(void)
?NewL@CRadioRemConTarget@@SAPAV1@XZ @ 5 NONAME ; class CRadioRemConTarget * CRadioRemConTarget::NewL(void)
- ??1CRadioRepositoryEntityBase@@UAE@XZ @ 6 NONAME ; CRadioRepositoryEntityBase::~CRadioRepositoryEntityBase(void)
- ??1TRadioMethodLogger@@QAE@XZ @ 7 NONAME ; TRadioMethodLogger::~TRadioMethodLogger(void)
- ??1CRadioRoutableAudio@@UAE@XZ @ 8 NONAME ; CRadioRoutableAudio::~CRadioRoutableAudio(void)
- ?SetAudioOutput@CRadioRoutableAudio@@IAEXPAVCAudioOutput@@@Z @ 9 NONAME ; void CRadioRoutableAudio::SetAudioOutput(class CAudioOutput *)
- ?RegisterRoutableAudio@CRadioAudioRouter@@QAEXPAVCRadioRoutableAudio@@@Z @ 10 NONAME ; void CRadioAudioRouter::RegisterRoutableAudio(class CRadioRoutableAudio *)
- ?ReadFrequencyStringLC@RadioEngineUtils@@SAPAVHBufC16@@KHH@Z @ 11 NONAME ; class HBufC16 * RadioEngineUtils::ReadFrequencyStringLC(unsigned long, int, int)
- ?ValueDes@CRadioPropertyObserver@@QBEABVTDesC16@@XZ @ 12 NONAME ; class TDesC16 const & CRadioPropertyObserver::ValueDes(void) const
- ??0CRadioRepositoryEntityBase@@IAE@ABVTUid@@KAAVMRadioRepositoryEntityObserver@@W4TPriority@CActive@@@Z @ 13 NONAME ; CRadioRepositoryEntityBase::CRadioRepositoryEntityBase(class TUid const &, unsigned long, class MRadioRepositoryEntityObserver &, enum CActive::TPriority)
- ??1CRadioSystemEventCollector@@UAE@XZ @ 14 NONAME ; CRadioSystemEventCollector::~CRadioSystemEventCollector(void)
- ??1CRadioAudioRouter@@UAE@XZ @ 15 NONAME ; CRadioAudioRouter::~CRadioAudioRouter(void)
- ?ActivateL@CRadioPropertyObserver@@QAEXXZ @ 16 NONAME ; void CRadioPropertyObserver::ActivateL(void)
- ?Logger@RadioEngineUtils@@SAPAVMRadioEngineLogger@@XZ @ 17 NONAME ; class MRadioEngineLogger * RadioEngineUtils::Logger(void)
- ?NewL@CRadioSystemEventCollector@@SAPAV1@XZ @ 18 NONAME ; class CRadioSystemEventCollector * CRadioSystemEventCollector::NewL(void)
- ?Logger@MRadioEngineLogger@@SAPAV1@XZ @ 19 NONAME ; class MRadioEngineLogger * MRadioEngineLogger::Logger(void)
- ?Release@RadioEngineUtils@@SAXXZ @ 20 NONAME ; void RadioEngineUtils::Release(void)
- ?DeleteAudioOutput@CRadioRoutableAudio@@IAEXXZ @ 21 NONAME ; void CRadioRoutableAudio::DeleteAudioOutput(void)
- ?FormatFrequencyString@RadioEngineUtils@@SAXAAVTDes16@@KHAAVTDesC16@@@Z @ 22 NONAME ; void RadioEngineUtils::FormatFrequencyString(class TDes16 &, unsigned long, int, class TDesC16 &)
- ?ValueInt@CRadioPropertyObserver@@QBEHXZ @ 23 NONAME ; int CRadioPropertyObserver::ValueInt(void) const
- ?SetAudioRouteL@CRadioAudioRouter@@QAEXW4TRadioAudioRoute@RadioEngine@@@Z @ 24 NONAME ; void CRadioAudioRouter::SetAudioRouteL(enum RadioEngine::TRadioAudioRoute)
- ?NewL@CRadioAudioRouter@@SAPAV1@AAVMRadioAudioRoutingObserver@@@Z @ 25 NONAME ; class CRadioAudioRouter * CRadioAudioRouter::NewL(class MRadioAudioRoutingObserver &)
- ?FsSession@RadioEngineUtils@@SAAAVRFs@@XZ @ 26 NONAME ; class RFs & RadioEngineUtils::FsSession(void)
- ?UnRegisterRoutableAudio@CRadioAudioRouter@@QAEXPAVCRadioRoutableAudio@@@Z @ 27 NONAME ; void CRadioAudioRouter::UnRegisterRoutableAudio(class CRadioRoutableAudio *)
- ?AudioRoutingSupported@CRadioRoutableAudio@@QBEHXZ @ 28 NONAME ; int CRadioRoutableAudio::AudioRoutingSupported(void) const
- ?NewL@CRadioPropertyObserver@@SAPAV1@AAVMRadioPropertyChangeObserver@@ABVTUid@@IW4TRadioPropertyType@1@@Z @ 29 NONAME ; class CRadioPropertyObserver * CRadioPropertyObserver::NewL(class MRadioPropertyChangeObserver &, class TUid const &, unsigned int, enum CRadioPropertyObserver::TRadioPropertyType)
- ??0TRadioMethodLogger@@QAE@PBG0@Z @ 30 NONAME ; TRadioMethodLogger::TRadioMethodLogger(unsigned short const *, unsigned short const *)
+ ??1TRadioMethodLogger@@QAE@XZ @ 6 NONAME ; TRadioMethodLogger::~TRadioMethodLogger(void)
+ ??1CRadioRoutableAudio@@UAE@XZ @ 7 NONAME ; CRadioRoutableAudio::~CRadioRoutableAudio(void)
+ ?SetAudioOutput@CRadioRoutableAudio@@IAEXPAVCAudioOutput@@@Z @ 8 NONAME ; void CRadioRoutableAudio::SetAudioOutput(class CAudioOutput *)
+ ?RegisterRoutableAudio@CRadioAudioRouter@@QAEXPAVCRadioRoutableAudio@@@Z @ 9 NONAME ; void CRadioAudioRouter::RegisterRoutableAudio(class CRadioRoutableAudio *)
+ ?ValueDes@CRadioPropertyObserver@@QBEABVTDesC16@@XZ @ 10 NONAME ; class TDesC16 const & CRadioPropertyObserver::ValueDes(void) const
+ ??1CRadioSystemEventCollector@@UAE@XZ @ 11 NONAME ; CRadioSystemEventCollector::~CRadioSystemEventCollector(void)
+ ??1CRadioAudioRouter@@UAE@XZ @ 12 NONAME ; CRadioAudioRouter::~CRadioAudioRouter(void)
+ ?ActivateL@CRadioPropertyObserver@@QAEXXZ @ 13 NONAME ; void CRadioPropertyObserver::ActivateL(void)
+ ?Logger@RadioEngineUtils@@SAPAVMRadioEngineLogger@@XZ @ 14 NONAME ; class MRadioEngineLogger * RadioEngineUtils::Logger(void)
+ ?NewL@CRadioSystemEventCollector@@SAPAV1@XZ @ 15 NONAME ; class CRadioSystemEventCollector * CRadioSystemEventCollector::NewL(void)
+ ?Logger@MRadioEngineLogger@@SAPAV1@XZ @ 16 NONAME ; class MRadioEngineLogger * MRadioEngineLogger::Logger(void)
+ ?Release@RadioEngineUtils@@SAXXZ @ 17 NONAME ; void RadioEngineUtils::Release(void)
+ ?DeleteAudioOutput@CRadioRoutableAudio@@IAEXXZ @ 18 NONAME ; void CRadioRoutableAudio::DeleteAudioOutput(void)
+ ?ValueInt@CRadioPropertyObserver@@QBEHXZ @ 19 NONAME ; int CRadioPropertyObserver::ValueInt(void) const
+ ?SetAudioRouteL@CRadioAudioRouter@@QAEXW4TRadioAudioRoute@RadioEngine@@@Z @ 20 NONAME ; void CRadioAudioRouter::SetAudioRouteL(enum RadioEngine::TRadioAudioRoute)
+ ?FsSession@RadioEngineUtils@@SAAAVRFs@@XZ @ 21 NONAME ; class RFs & RadioEngineUtils::FsSession(void)
+ ?NewL@CRadioAudioRouter@@SAPAV1@AAVMRadioAudioRoutingObserver@@@Z @ 22 NONAME ; class CRadioAudioRouter * CRadioAudioRouter::NewL(class MRadioAudioRoutingObserver &)
+ ?UnRegisterRoutableAudio@CRadioAudioRouter@@QAEXPAVCRadioRoutableAudio@@@Z @ 23 NONAME ; void CRadioAudioRouter::UnRegisterRoutableAudio(class CRadioRoutableAudio *)
+ ?AudioRoutingSupported@CRadioRoutableAudio@@QBEHXZ @ 24 NONAME ; int CRadioRoutableAudio::AudioRoutingSupported(void) const
+ ??0TRadioMethodLogger@@QAE@PBG0@Z @ 25 NONAME ; TRadioMethodLogger::TRadioMethodLogger(unsigned short const *, unsigned short const *)
+ ?NewL@CRadioPropertyObserver@@SAPAV1@AAVMRadioPropertyChangeObserver@@ABVTUid@@IW4TRadioPropertyType@1@@Z @ 26 NONAME ; class CRadioPropertyObserver * CRadioPropertyObserver::NewL(class MRadioPropertyChangeObserver &, class TUid const &, unsigned int, enum CRadioPropertyObserver::TRadioPropertyType)
--- a/radioengine/utils/eabi/fmradioengineutilsu.def Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/eabi/fmradioengineutilsu.def Wed Aug 18 09:49:03 2010 +0300
@@ -1,49 +1,41 @@
EXPORTS
_ZN16RadioEngineUtils11InitializeLEv @ 1 NONAME
- _ZN16RadioEngineUtils21FormatFrequencyStringER6TDes16miR7TDesC16 @ 2 NONAME
- _ZN16RadioEngineUtils21ReadFrequencyStringLCEmii @ 3 NONAME
- _ZN16RadioEngineUtils6LoggerEv @ 4 NONAME
- _ZN16RadioEngineUtils7ReleaseEv @ 5 NONAME
- _ZN16RadioEngineUtils9FsSessionEv @ 6 NONAME
- _ZN17CRadioAudioRouter14SetAudioRouteLEN11RadioEngine16TRadioAudioRouteE @ 7 NONAME
- _ZN17CRadioAudioRouter21RegisterRoutableAudioEP19CRadioRoutableAudio @ 8 NONAME
- _ZN17CRadioAudioRouter23UnRegisterRoutableAudioEP19CRadioRoutableAudio @ 9 NONAME
- _ZN17CRadioAudioRouter4NewLER26MRadioAudioRoutingObserver @ 10 NONAME
- _ZN17CRadioAudioRouterD0Ev @ 11 NONAME
- _ZN17CRadioAudioRouterD1Ev @ 12 NONAME
- _ZN17CRadioAudioRouterD2Ev @ 13 NONAME
- _ZN18CRadioRemConTarget4NewLEv @ 14 NONAME
- _ZN18MRadioEngineLogger6LoggerEv @ 15 NONAME
- _ZN18TRadioMethodLoggerC1EPKtS1_ @ 16 NONAME
- _ZN18TRadioMethodLoggerC2EPKtS1_ @ 17 NONAME
- _ZN18TRadioMethodLoggerD1Ev @ 18 NONAME
- _ZN18TRadioMethodLoggerD2Ev @ 19 NONAME
- _ZN19CRadioRoutableAudio14SetAudioOutputEP12CAudioOutput @ 20 NONAME
- _ZN19CRadioRoutableAudio14SetAudioRouteLEN11RadioEngine16TRadioAudioRouteE @ 21 NONAME
- _ZN19CRadioRoutableAudio17DeleteAudioOutputEv @ 22 NONAME
- _ZN19CRadioRoutableAudioC1EP17CRadioAudioRouter @ 23 NONAME
- _ZN19CRadioRoutableAudioC2EP17CRadioAudioRouter @ 24 NONAME
- _ZN19CRadioRoutableAudioD0Ev @ 25 NONAME
- _ZN19CRadioRoutableAudioD1Ev @ 26 NONAME
- _ZN19CRadioRoutableAudioD2Ev @ 27 NONAME
- _ZN22CRadioPropertyObserver4NewLER28MRadioPropertyChangeObserverRK4TUidjNS_18TRadioPropertyTypeE @ 28 NONAME
- _ZN22CRadioPropertyObserver9ActivateLEv @ 29 NONAME
- _ZN26CRadioRepositoryEntityBaseC2ERK4TUidmR30MRadioRepositoryEntityObserverN7CActive9TPriorityE @ 30 NONAME
- _ZN26CRadioRepositoryEntityBaseD0Ev @ 31 NONAME
- _ZN26CRadioRepositoryEntityBaseD1Ev @ 32 NONAME
- _ZN26CRadioRepositoryEntityBaseD2Ev @ 33 NONAME
- _ZN26CRadioSystemEventCollector4NewLEv @ 34 NONAME
- _ZN26CRadioSystemEventCollectorD0Ev @ 35 NONAME
- _ZN26CRadioSystemEventCollectorD1Ev @ 36 NONAME
- _ZN26CRadioSystemEventCollectorD2Ev @ 37 NONAME
- _ZNK19CRadioRoutableAudio21AudioRoutingSupportedEv @ 38 NONAME
- _ZNK22CRadioPropertyObserver8ValueDesEv @ 39 NONAME
- _ZNK22CRadioPropertyObserver8ValueIntEv @ 40 NONAME
- _ZNK22CRadioPropertyObserver9ValueDes8Ev @ 41 NONAME
- _ZTI15CRadioEngineTls @ 42 NONAME
- _ZTI19CRadioRoutableAudio @ 43 NONAME
- _ZTI26CRadioRepositoryEntityBase @ 44 NONAME
- _ZTV15CRadioEngineTls @ 45 NONAME
- _ZTV19CRadioRoutableAudio @ 46 NONAME
- _ZTV26CRadioRepositoryEntityBase @ 47 NONAME
+ _ZN16RadioEngineUtils6LoggerEv @ 2 NONAME
+ _ZN16RadioEngineUtils7ReleaseEv @ 3 NONAME
+ _ZN16RadioEngineUtils9FsSessionEv @ 4 NONAME
+ _ZN17CRadioAudioRouter14SetAudioRouteLEN11RadioEngine16TRadioAudioRouteE @ 5 NONAME
+ _ZN17CRadioAudioRouter21RegisterRoutableAudioEP19CRadioRoutableAudio @ 6 NONAME
+ _ZN17CRadioAudioRouter23UnRegisterRoutableAudioEP19CRadioRoutableAudio @ 7 NONAME
+ _ZN17CRadioAudioRouter4NewLER26MRadioAudioRoutingObserver @ 8 NONAME
+ _ZN17CRadioAudioRouterD0Ev @ 9 NONAME
+ _ZN17CRadioAudioRouterD1Ev @ 10 NONAME
+ _ZN17CRadioAudioRouterD2Ev @ 11 NONAME
+ _ZN18CRadioRemConTarget4NewLEv @ 12 NONAME
+ _ZN18MRadioEngineLogger6LoggerEv @ 13 NONAME
+ _ZN18TRadioMethodLoggerC1EPKtS1_ @ 14 NONAME
+ _ZN18TRadioMethodLoggerC2EPKtS1_ @ 15 NONAME
+ _ZN18TRadioMethodLoggerD1Ev @ 16 NONAME
+ _ZN18TRadioMethodLoggerD2Ev @ 17 NONAME
+ _ZN19CRadioRoutableAudio14SetAudioOutputEP12CAudioOutput @ 18 NONAME
+ _ZN19CRadioRoutableAudio14SetAudioRouteLEN11RadioEngine16TRadioAudioRouteE @ 19 NONAME
+ _ZN19CRadioRoutableAudio17DeleteAudioOutputEv @ 20 NONAME
+ _ZN19CRadioRoutableAudioC1EP17CRadioAudioRouter @ 21 NONAME
+ _ZN19CRadioRoutableAudioC2EP17CRadioAudioRouter @ 22 NONAME
+ _ZN19CRadioRoutableAudioD0Ev @ 23 NONAME
+ _ZN19CRadioRoutableAudioD1Ev @ 24 NONAME
+ _ZN19CRadioRoutableAudioD2Ev @ 25 NONAME
+ _ZN22CRadioPropertyObserver4NewLER28MRadioPropertyChangeObserverRK4TUidjNS_18TRadioPropertyTypeE @ 26 NONAME
+ _ZN22CRadioPropertyObserver9ActivateLEv @ 27 NONAME
+ _ZN26CRadioSystemEventCollector4NewLEv @ 28 NONAME
+ _ZN26CRadioSystemEventCollectorD0Ev @ 29 NONAME
+ _ZN26CRadioSystemEventCollectorD1Ev @ 30 NONAME
+ _ZN26CRadioSystemEventCollectorD2Ev @ 31 NONAME
+ _ZNK19CRadioRoutableAudio21AudioRoutingSupportedEv @ 32 NONAME
+ _ZNK22CRadioPropertyObserver8ValueDesEv @ 33 NONAME
+ _ZNK22CRadioPropertyObserver8ValueIntEv @ 34 NONAME
+ _ZNK22CRadioPropertyObserver9ValueDes8Ev @ 35 NONAME
+ _ZTI15CRadioEngineTls @ 36 NONAME
+ _ZTI19CRadioRoutableAudio @ 37 NONAME
+ _ZTV15CRadioEngineTls @ 38 NONAME
+ _ZTV19CRadioRoutableAudio @ 39 NONAME
--- a/radioengine/utils/group/radioengineutils.mmp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/group/radioengineutils.mmp Wed Aug 18 09:49:03 2010 +0300
@@ -36,7 +36,6 @@
APP_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE /epoc32/include/remcon
-SYSTEMINCLUDE /epoc32/include/internal
SYSTEMINCLUDE /epoc32/include/mmf/common
SYSTEMINCLUDE /epoc32/include/platform/mw
@@ -49,7 +48,6 @@
SOURCE cradiopropertyobserver.cpp
SOURCE cradioremcontarget.cpp
SOURCE cradioremcontargetimp.cpp
-SOURCE cradiorepositoryentitybase.cpp
SOURCE cradiosystemeventdetector.cpp
SOURCE cradiosystemeventcollector.cpp
SOURCE cradiosystemeventcollectorimp.cpp
@@ -66,4 +64,3 @@
LIBRARY remconcoreapi.lib
LIBRARY remconextensionapi.lib
LIBRARY remconinterfacebase.lib
-LIBRARY featmgr.lib
--- a/radioengine/utils/inc/cradiopropertyobserver.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/inc/cradiopropertyobserver.h Wed Aug 18 09:49:03 2010 +0300
@@ -201,42 +201,42 @@
/**
* Value of a subscribed category property of type int.
*/
- TInt iValueInt;
+ TInt iValueInt;
/**
* Value of a subscribed category property of type byte array.
*/
- HBufC8* iValueByteArray;
+ HBufC8* iValueByteArray;
/**
* Value of a subscribed category property of type text.
*/
- HBufC* iValueText;
+ HBufC* iValueText;
/**
* Handle to Publish And Subscribe component
*/
- RProperty iProperty;
+ RProperty iProperty;
/**
* Observer to be notified when particular Property value has changed
*/
- MRadioPropertyChangeObserver& iObserver;
+ MRadioPropertyChangeObserver& iObserver;
/**
* UID of Publish And Subscribe category
*/
- TUid iCategory;
+ TUid iCategory;
/**
* Subkey to be used with Publish And Subscribe
*/
- TUint iKey;
+ TUint iKey;
/**
* Type of the observed property.
*/
- TRadioPropertyType iPropertyType;
+ TRadioPropertyType iPropertyType;
};
--- a/radioengine/utils/inc/cradiosystemeventdetector.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/inc/cradiosystemeventdetector.h Wed Aug 18 09:49:03 2010 +0300
@@ -100,7 +100,7 @@
/**Indicator for the call status*/
TBool iIsCallActive;
- /** Array of audio policy categories that VR must not resume after. */
+ /** Array of audio policy categories that radio must not resume after. */
RArray<TInt> iNoAutoResumeAudioCategories;
/** Indicator for audio resource status. */
--- a/radioengine/utils/src/cradioaccessoryobserver.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/src/cradioaccessoryobserver.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -24,15 +24,18 @@
#include "cradioenginelogger.h"
#ifdef ASW_CORE_AUDIO_PLATFORM_VERSION // Nokia specific adaptation
-#include <accpolpropgenericid.h>
+//#include <accpolpropgenericid.h>
+#include <AccPolGenericIdDefinitions.h>
#ifndef __WINS__
-
-const TUint KPhysicalConnectionBitmask = KPCNokiaAV | KPCWired;
+// See accpolpropgenericid.h definitions KPCNokiaAV == 0x20000,
+// Forced to use hard coded value here to avoid including from epoc32/include/internal
+const TUint KPhysicalConnectionBitmask = 0x20000 | KPCWired;
#else
-
-const TUint KPhysicalConnectionBitmask = 0x20000 | 0x1;
+// See accpolpropgenericid.h definitions KPCNokiaAV == 0x20000,
+// Forced to use hard coded value here to avoid including from epoc32/include/internal
+const TUint KPhysicalConnectionBitmask = 0x20000 | KPCWired;
#endif // __WINS__
@@ -116,7 +119,7 @@
TBool accessoryFound = EFalse;
LOG_FORMAT( "Connected accessories count = %d", iAccPolGenIdArr.Count());
- for ( TInt i = 0; i < iAccPolGenIdArr.Count() && !accessoryFound; i++ )
+ for ( TInt i = 0; i < iAccPolGenIdArr.Count() && !accessoryFound; ++i )
{
TAccPolGenericID accPolGenId = iAccPolGenIdArr.GetGenericIDL( i );
@@ -237,7 +240,7 @@
iSavedAccessories.Reset();
- for ( TInt i = 0; i < iAccPolGenIdArr.Count(); i++ )
+ for ( TInt i = 0; i < iAccPolGenIdArr.Count(); ++i )
{
iSavedAccessories.AppendL( iAccPolGenIdArr.GetGenericIDL( i ) );
LOG_FORMAT( "- accessory in slot %d: %d",
@@ -255,7 +258,7 @@
LEVEL2( LOG_METHOD_AUTO );
TInt removedAccessories( 0 );
- for ( TInt i = 0; i < iSavedAccessories.Count(); i++ )
+ for ( TInt i = 0; i < iSavedAccessories.Count(); ++i )
{
TAccPolGenericID savedAcc = iSavedAccessories[i];
@@ -293,7 +296,7 @@
LEVEL2( LOG_METHOD_AUTO );
TInt addedAccessories( 0 );
- for ( TInt i = 0; i < iAccPolGenIdArr.Count(); i++ )
+ for ( TInt i = 0; i < iAccPolGenIdArr.Count(); ++i )
{
TAccPolGenericID freshAcc = iAccPolGenIdArr.GetGenericIDL( i );
--- a/radioengine/utils/src/cradioaudiorouter.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/src/cradioaudiorouter.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -79,7 +79,7 @@
{
LEVEL3( LOG_METHOD_AUTO );
- for ( TInt i = 0 ; i < iRoutableAudios.Count(); i++ )
+ for ( TInt i = 0; i < iRoutableAudios.Count(); ++i )
{
iRoutableAudios[i]->SetAudioRouteL( aAudioRoute );
}
--- a/radioengine/utils/src/cradioremcontargetimp.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/src/cradioremcontargetimp.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -81,10 +81,6 @@
CRadioRemConTargetImp::~CRadioRemConTargetImp()
{
LEVEL3( LOG_METHOD_AUTO );
- if ( iRepeatTimer )
- {
- iRepeatTimer->Cancel();
- }
delete iRepeatTimer;
delete iInterfaceSelector; //deletes also iCallTarget and iCoreTarget
iCoreTarget = NULL;
--- a/radioengine/utils/src/cradiorepositoryentitybase.cpp Tue Jul 06 14:16:27 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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:
-*
-*/
-
-#include "cradiorepositoryentitybase.h"
-#include "cradioenginelogger.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CRadioRepositoryEntityBase::CRadioRepositoryEntityBase( const TUid& aUid,
- TUint32 aKey,
- MRadioRepositoryEntityObserver& aObserver,
- CActive::TPriority aPriority )
- : CActive( aPriority ), iObserver( aObserver ), iUid( aUid ), iKey( aKey )
- {
- LEVEL3( LOG_METHOD_AUTO );
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CRadioRepositoryEntityBase::~CRadioRepositoryEntityBase()
- {
- LEVEL3( LOG_METHOD_AUTO );
- }
-
-// ---------------------------------------------------------------------------
-// Returns the UID of this entity.
-// ---------------------------------------------------------------------------
-//
-const TUid& CRadioRepositoryEntityBase::Uid() const
- {
- return iUid;
- }
-
-// ---------------------------------------------------------------------------
-// Returns the key of this entity.
-// ---------------------------------------------------------------------------
-//
-TUint32 CRadioRepositoryEntityBase::Key() const
- {
- LEVEL3( LOG_METHOD_AUTO );
- return iKey;
- }
--- a/radioengine/utils/src/cradiosystemeventcollectorimp.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/src/cradiosystemeventcollectorimp.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -20,7 +20,6 @@
// User includes
#include "cradioaccessoryobserver.h"
-#include "cradiorepositorymanager.h"
#include "cradiosystemeventcollectorimp.h"
#include "cradiosystemeventdetector.h"
#include "radioengineutils.h"
--- a/radioengine/utils/src/cradiosystemeventdetector.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/src/cradiosystemeventdetector.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -21,8 +21,9 @@
#ifndef __WINS__
-#include <audiopolicypubsubdata.h>
-#include <audiosw_pubsubkeys.h>
+//#include <audiopolicypubsubdata.h>
+//#include <audiosw_pubsubkeys.h>
+#include <AudioClientsListPSKeys.h>
#endif //__WINS__
@@ -36,7 +37,7 @@
#include "mradiosystemeventdetectorobserver.h"
/** Granularity for audio category arrays. */
-const TInt KVRAudioCategoryArrayGranularity = 3;
+//const TInt KVRAudioCategoryArrayGranularity = 3;
// This has to be the last include.
#ifdef STUB_CONSTELLATION
@@ -84,9 +85,10 @@
CRadioPropertyObserver::ERadioPropertyInt );
iCallStatusObserver->ActivateL();
iIsCallActive = iCallStatusObserver->ValueInt() != EPSCTsyCallStateNone;
-
+/*
#ifndef __WINS__
// Define audio types for not resuming.
+ //TODO: Check these audio resume categories!
iNoAutoResumeAudioCategories = RArray<TInt>( KVRAudioCategoryArrayGranularity );
iNoAutoResumeAudioCategories.AppendL( ECatMediaPlayer );
iNoAutoResumeAudioCategories.AppendL( ECatMobileTv );
@@ -96,6 +98,7 @@
iAudioPolicyObserver = CRadioPropertyObserver::NewL( *this, KPSUidMMFAudioServer, KAudioPolicyAudioClients, CRadioPropertyObserver::ERadioPropertyByteArray );
iAudioPolicyObserver->ActivateL();
#endif
+*/
}
// ---------------------------------------------------------------------------
@@ -176,7 +179,7 @@
TAudioClientList audioClients;
audioClients.Copy( aValue );
// Check all playing audios!
- for ( TInt i = 0; i < audioClients().iNumOfProcesses ; i++ )
+ for ( TInt i = 0; i < audioClients().iNumOfProcesses ; ++i )
{
TInt cat = audioClients().iClientCategoryList[i];
LOG_FORMAT( "Check audio cat %x", cat );
--- a/radioengine/utils/src/radioengineutils.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/src/radioengineutils.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -17,7 +17,6 @@
// System includes
#include <StringLoader.h>
-#include <utf.h>
// User includes
#include "radioengineutils.h"
@@ -59,56 +58,3 @@
{
return CRadioEngineTls::Instance().FsSession();
}
-
-// ---------------------------------------------------------------------------
-// Utility method for frequency formatting.
-// Frequency is assumed to be in kilohertz format.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* RadioEngineUtils::ReadFrequencyStringLC( TUint32 aFreq,
- TInt aDecimalCount,
- TInt aResourceId )
- {
- TBuf<KDefaultRealWidth> freqText;
- freqText.AppendNum( static_cast<TReal>( aFreq ) / 1000.0f, TRealFormat( KDefaultRealWidth, aDecimalCount ) ); // Converts kilohertz to megahertz.
-
- // Converts the numbers to the proper display mode.
-
- HBufC* channelFreq = NULL;
-
- if ( aResourceId == KErrNotFound ) // No resource string.
- {
- channelFreq = freqText.AllocLC();
- }
- else
- {
- channelFreq = StringLoader::LoadLC( aResourceId, freqText );
- }
-
- return channelFreq;
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RadioEngineUtils::FormatFrequencyString( TDes& aDest,
- TUint32 aFreq,
- TInt aDecimalCount,
- TDesC& aFormat )
- {
- TBuf<KDefaultRealWidth> freqText;
- freqText.AppendNum( static_cast<TReal>( aFreq ) / 1000.0f, TRealFormat( KDefaultRealWidth, aDecimalCount ) ); // Converts kilohertz to megahertz.
-
- // Converts the numbers to the proper display mode.
-
- if ( aFormat.Length() <= 0 || freqText.Length() > aDest.MaxLength() ) // No format.
- {
- aDest.Copy( freqText.Left( aDest.Length() ) );
- }
- else
- {
- StringLoader::Format( aDest, aFormat, KErrNotFound, freqText );
- }
- }
-
--- a/radioengine/utils/stub/bwins/fmradioengineutils_stubu.def Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/stub/bwins/fmradioengineutils_stubu.def Wed Aug 18 09:49:03 2010 +0300
@@ -4,29 +4,25 @@
??0CRadioRoutableAudio@@QAE@PAVCRadioAudioRouter@@@Z @ 3 NONAME ; CRadioRoutableAudio::CRadioRoutableAudio(class CRadioAudioRouter *)
?InitializeL@RadioEngineUtils@@SAXXZ @ 4 NONAME ; void RadioEngineUtils::InitializeL(void)
?NewL@CRadioRemConTarget@@SAPAV1@XZ @ 5 NONAME ; class CRadioRemConTarget * CRadioRemConTarget::NewL(void)
- ??1CRadioRepositoryEntityBase@@UAE@XZ @ 6 NONAME ; CRadioRepositoryEntityBase::~CRadioRepositoryEntityBase(void)
- ??1TRadioMethodLogger@@QAE@XZ @ 7 NONAME ; TRadioMethodLogger::~TRadioMethodLogger(void)
- ??1CRadioRoutableAudio@@UAE@XZ @ 8 NONAME ; CRadioRoutableAudio::~CRadioRoutableAudio(void)
- ?SetAudioOutput@CRadioRoutableAudio@@IAEXPAVCAudioOutput@@@Z @ 9 NONAME ; void CRadioRoutableAudio::SetAudioOutput(class CAudioOutput *)
- ?RegisterRoutableAudio@CRadioAudioRouter@@QAEXPAVCRadioRoutableAudio@@@Z @ 10 NONAME ; void CRadioAudioRouter::RegisterRoutableAudio(class CRadioRoutableAudio *)
- ?ReadFrequencyStringLC@RadioEngineUtils@@SAPAVHBufC16@@KHH@Z @ 11 NONAME ; class HBufC16 * RadioEngineUtils::ReadFrequencyStringLC(unsigned long, int, int)
- ?ValueDes@CRadioPropertyObserver@@QBEABVTDesC16@@XZ @ 12 NONAME ; class TDesC16 const & CRadioPropertyObserver::ValueDes(void) const
- ??0CRadioRepositoryEntityBase@@IAE@ABVTUid@@KAAVMRadioRepositoryEntityObserver@@W4TPriority@CActive@@@Z @ 13 NONAME ; CRadioRepositoryEntityBase::CRadioRepositoryEntityBase(class TUid const &, unsigned long, class MRadioRepositoryEntityObserver &, enum CActive::TPriority)
- ??1CRadioSystemEventCollector@@UAE@XZ @ 14 NONAME ; CRadioSystemEventCollector::~CRadioSystemEventCollector(void)
- ??1CRadioAudioRouter@@UAE@XZ @ 15 NONAME ; CRadioAudioRouter::~CRadioAudioRouter(void)
- ?ActivateL@CRadioPropertyObserver@@QAEXXZ @ 16 NONAME ; void CRadioPropertyObserver::ActivateL(void)
- ?Logger@RadioEngineUtils@@SAPAVMRadioEngineLogger@@XZ @ 17 NONAME ; class MRadioEngineLogger * RadioEngineUtils::Logger(void)
- ?NewL@CRadioSystemEventCollector@@SAPAV1@XZ @ 18 NONAME ; class CRadioSystemEventCollector * CRadioSystemEventCollector::NewL(void)
- ?Logger@MRadioEngineLogger@@SAPAV1@XZ @ 19 NONAME ; class MRadioEngineLogger * MRadioEngineLogger::Logger(void)
- ?Release@RadioEngineUtils@@SAXXZ @ 20 NONAME ; void RadioEngineUtils::Release(void)
- ?DeleteAudioOutput@CRadioRoutableAudio@@IAEXXZ @ 21 NONAME ; void CRadioRoutableAudio::DeleteAudioOutput(void)
- ?FormatFrequencyString@RadioEngineUtils@@SAXAAVTDes16@@KHAAVTDesC16@@@Z @ 22 NONAME ; void RadioEngineUtils::FormatFrequencyString(class TDes16 &, unsigned long, int, class TDesC16 &)
- ?ValueInt@CRadioPropertyObserver@@QBEHXZ @ 23 NONAME ; int CRadioPropertyObserver::ValueInt(void) const
- ?SetAudioRouteL@CRadioAudioRouter@@QAEXW4TRadioAudioRoute@RadioEngine@@@Z @ 24 NONAME ; void CRadioAudioRouter::SetAudioRouteL(enum RadioEngine::TRadioAudioRoute)
- ?NewL@CRadioAudioRouter@@SAPAV1@AAVMRadioAudioRoutingObserver@@@Z @ 25 NONAME ; class CRadioAudioRouter * CRadioAudioRouter::NewL(class MRadioAudioRoutingObserver &)
- ?FsSession@RadioEngineUtils@@SAAAVRFs@@XZ @ 26 NONAME ; class RFs & RadioEngineUtils::FsSession(void)
- ?UnRegisterRoutableAudio@CRadioAudioRouter@@QAEXPAVCRadioRoutableAudio@@@Z @ 27 NONAME ; void CRadioAudioRouter::UnRegisterRoutableAudio(class CRadioRoutableAudio *)
- ?AudioRoutingSupported@CRadioRoutableAudio@@QBEHXZ @ 28 NONAME ; int CRadioRoutableAudio::AudioRoutingSupported(void) const
- ?NewL@CRadioPropertyObserver@@SAPAV1@AAVMRadioPropertyChangeObserver@@ABVTUid@@IW4TRadioPropertyType@1@@Z @ 29 NONAME ; class CRadioPropertyObserver * CRadioPropertyObserver::NewL(class MRadioPropertyChangeObserver &, class TUid const &, unsigned int, enum CRadioPropertyObserver::TRadioPropertyType)
- ??0TRadioMethodLogger@@QAE@PBG0@Z @ 30 NONAME ; TRadioMethodLogger::TRadioMethodLogger(unsigned short const *, unsigned short const *)
+ ??1TRadioMethodLogger@@QAE@XZ @ 6 NONAME ; TRadioMethodLogger::~TRadioMethodLogger(void)
+ ??1CRadioRoutableAudio@@UAE@XZ @ 7 NONAME ; CRadioRoutableAudio::~CRadioRoutableAudio(void)
+ ?SetAudioOutput@CRadioRoutableAudio@@IAEXPAVCAudioOutput@@@Z @ 8 NONAME ; void CRadioRoutableAudio::SetAudioOutput(class CAudioOutput *)
+ ?RegisterRoutableAudio@CRadioAudioRouter@@QAEXPAVCRadioRoutableAudio@@@Z @ 9 NONAME ; void CRadioAudioRouter::RegisterRoutableAudio(class CRadioRoutableAudio *)
+ ?ValueDes@CRadioPropertyObserver@@QBEABVTDesC16@@XZ @ 10 NONAME ; class TDesC16 const & CRadioPropertyObserver::ValueDes(void) const
+ ??1CRadioSystemEventCollector@@UAE@XZ @ 11 NONAME ; CRadioSystemEventCollector::~CRadioSystemEventCollector(void)
+ ??1CRadioAudioRouter@@UAE@XZ @ 12 NONAME ; CRadioAudioRouter::~CRadioAudioRouter(void)
+ ?ActivateL@CRadioPropertyObserver@@QAEXXZ @ 13 NONAME ; void CRadioPropertyObserver::ActivateL(void)
+ ?Logger@RadioEngineUtils@@SAPAVMRadioEngineLogger@@XZ @ 14 NONAME ; class MRadioEngineLogger * RadioEngineUtils::Logger(void)
+ ?NewL@CRadioSystemEventCollector@@SAPAV1@XZ @ 15 NONAME ; class CRadioSystemEventCollector * CRadioSystemEventCollector::NewL(void)
+ ?Logger@MRadioEngineLogger@@SAPAV1@XZ @ 16 NONAME ; class MRadioEngineLogger * MRadioEngineLogger::Logger(void)
+ ?Release@RadioEngineUtils@@SAXXZ @ 17 NONAME ; void RadioEngineUtils::Release(void)
+ ?DeleteAudioOutput@CRadioRoutableAudio@@IAEXXZ @ 18 NONAME ; void CRadioRoutableAudio::DeleteAudioOutput(void)
+ ?ValueInt@CRadioPropertyObserver@@QBEHXZ @ 19 NONAME ; int CRadioPropertyObserver::ValueInt(void) const
+ ?SetAudioRouteL@CRadioAudioRouter@@QAEXW4TRadioAudioRoute@RadioEngine@@@Z @ 20 NONAME ; void CRadioAudioRouter::SetAudioRouteL(enum RadioEngine::TRadioAudioRoute)
+ ?FsSession@RadioEngineUtils@@SAAAVRFs@@XZ @ 21 NONAME ; class RFs & RadioEngineUtils::FsSession(void)
+ ?NewL@CRadioAudioRouter@@SAPAV1@AAVMRadioAudioRoutingObserver@@@Z @ 22 NONAME ; class CRadioAudioRouter * CRadioAudioRouter::NewL(class MRadioAudioRoutingObserver &)
+ ?UnRegisterRoutableAudio@CRadioAudioRouter@@QAEXPAVCRadioRoutableAudio@@@Z @ 23 NONAME ; void CRadioAudioRouter::UnRegisterRoutableAudio(class CRadioRoutableAudio *)
+ ?AudioRoutingSupported@CRadioRoutableAudio@@QBEHXZ @ 24 NONAME ; int CRadioRoutableAudio::AudioRoutingSupported(void) const
+ ??0TRadioMethodLogger@@QAE@PBG0@Z @ 25 NONAME ; TRadioMethodLogger::TRadioMethodLogger(unsigned short const *, unsigned short const *)
+ ?NewL@CRadioPropertyObserver@@SAPAV1@AAVMRadioPropertyChangeObserver@@ABVTUid@@IW4TRadioPropertyType@1@@Z @ 26 NONAME ; class CRadioPropertyObserver * CRadioPropertyObserver::NewL(class MRadioPropertyChangeObserver &, class TUid const &, unsigned int, enum CRadioPropertyObserver::TRadioPropertyType)
--- a/radioengine/utils/stub/eabi/fmradioengineutils_stubu.def Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/stub/eabi/fmradioengineutils_stubu.def Wed Aug 18 09:49:03 2010 +0300
@@ -1,49 +1,41 @@
EXPORTS
_ZN16RadioEngineUtils11InitializeLEv @ 1 NONAME
- _ZN16RadioEngineUtils21FormatFrequencyStringER6TDes16miR7TDesC16 @ 2 NONAME
- _ZN16RadioEngineUtils21ReadFrequencyStringLCEmii @ 3 NONAME
- _ZN16RadioEngineUtils6LoggerEv @ 4 NONAME
- _ZN16RadioEngineUtils7ReleaseEv @ 5 NONAME
- _ZN16RadioEngineUtils9FsSessionEv @ 6 NONAME
- _ZN17CRadioAudioRouter14SetAudioRouteLEN11RadioEngine16TRadioAudioRouteE @ 7 NONAME
- _ZN17CRadioAudioRouter21RegisterRoutableAudioEP19CRadioRoutableAudio @ 8 NONAME
- _ZN17CRadioAudioRouter23UnRegisterRoutableAudioEP19CRadioRoutableAudio @ 9 NONAME
- _ZN17CRadioAudioRouter4NewLER26MRadioAudioRoutingObserver @ 10 NONAME
- _ZN17CRadioAudioRouterD0Ev @ 11 NONAME
- _ZN17CRadioAudioRouterD1Ev @ 12 NONAME
- _ZN17CRadioAudioRouterD2Ev @ 13 NONAME
- _ZN18CRadioRemConTarget4NewLEv @ 14 NONAME
- _ZN18MRadioEngineLogger6LoggerEv @ 15 NONAME
- _ZN18TRadioMethodLoggerC1EPKtS1_ @ 16 NONAME
- _ZN18TRadioMethodLoggerC2EPKtS1_ @ 17 NONAME
- _ZN18TRadioMethodLoggerD1Ev @ 18 NONAME
- _ZN18TRadioMethodLoggerD2Ev @ 19 NONAME
- _ZN19CRadioRoutableAudio14SetAudioOutputEP12CAudioOutput @ 20 NONAME
- _ZN19CRadioRoutableAudio14SetAudioRouteLEN11RadioEngine16TRadioAudioRouteE @ 21 NONAME
- _ZN19CRadioRoutableAudio17DeleteAudioOutputEv @ 22 NONAME
- _ZN19CRadioRoutableAudioC1EP17CRadioAudioRouter @ 23 NONAME
- _ZN19CRadioRoutableAudioC2EP17CRadioAudioRouter @ 24 NONAME
- _ZN19CRadioRoutableAudioD0Ev @ 25 NONAME
- _ZN19CRadioRoutableAudioD1Ev @ 26 NONAME
- _ZN19CRadioRoutableAudioD2Ev @ 27 NONAME
- _ZN22CRadioPropertyObserver4NewLER28MRadioPropertyChangeObserverRK4TUidjNS_18TRadioPropertyTypeE @ 28 NONAME
- _ZN22CRadioPropertyObserver9ActivateLEv @ 29 NONAME
- _ZN26CRadioRepositoryEntityBaseC2ERK4TUidmR30MRadioRepositoryEntityObserverN7CActive9TPriorityE @ 30 NONAME
- _ZN26CRadioRepositoryEntityBaseD0Ev @ 31 NONAME
- _ZN26CRadioRepositoryEntityBaseD1Ev @ 32 NONAME
- _ZN26CRadioRepositoryEntityBaseD2Ev @ 33 NONAME
- _ZN26CRadioSystemEventCollector4NewLEv @ 34 NONAME
- _ZN26CRadioSystemEventCollectorD0Ev @ 35 NONAME
- _ZN26CRadioSystemEventCollectorD1Ev @ 36 NONAME
- _ZN26CRadioSystemEventCollectorD2Ev @ 37 NONAME
- _ZNK19CRadioRoutableAudio21AudioRoutingSupportedEv @ 38 NONAME
- _ZNK22CRadioPropertyObserver8ValueDesEv @ 39 NONAME
- _ZNK22CRadioPropertyObserver8ValueIntEv @ 40 NONAME
- _ZNK22CRadioPropertyObserver9ValueDes8Ev @ 41 NONAME
- _ZTI15CRadioEngineTls @ 42 NONAME
- _ZTI19CRadioRoutableAudio @ 43 NONAME
- _ZTI26CRadioRepositoryEntityBase @ 44 NONAME
- _ZTV15CRadioEngineTls @ 45 NONAME
- _ZTV19CRadioRoutableAudio @ 46 NONAME
- _ZTV26CRadioRepositoryEntityBase @ 47 NONAME
+ _ZN16RadioEngineUtils6LoggerEv @ 2 NONAME
+ _ZN16RadioEngineUtils7ReleaseEv @ 3 NONAME
+ _ZN16RadioEngineUtils9FsSessionEv @ 4 NONAME
+ _ZN17CRadioAudioRouter14SetAudioRouteLEN11RadioEngine16TRadioAudioRouteE @ 5 NONAME
+ _ZN17CRadioAudioRouter21RegisterRoutableAudioEP19CRadioRoutableAudio @ 6 NONAME
+ _ZN17CRadioAudioRouter23UnRegisterRoutableAudioEP19CRadioRoutableAudio @ 7 NONAME
+ _ZN17CRadioAudioRouter4NewLER26MRadioAudioRoutingObserver @ 8 NONAME
+ _ZN17CRadioAudioRouterD0Ev @ 9 NONAME
+ _ZN17CRadioAudioRouterD1Ev @ 10 NONAME
+ _ZN17CRadioAudioRouterD2Ev @ 11 NONAME
+ _ZN18CRadioRemConTarget4NewLEv @ 12 NONAME
+ _ZN18MRadioEngineLogger6LoggerEv @ 13 NONAME
+ _ZN18TRadioMethodLoggerC1EPKtS1_ @ 14 NONAME
+ _ZN18TRadioMethodLoggerC2EPKtS1_ @ 15 NONAME
+ _ZN18TRadioMethodLoggerD1Ev @ 16 NONAME
+ _ZN18TRadioMethodLoggerD2Ev @ 17 NONAME
+ _ZN19CRadioRoutableAudio14SetAudioOutputEP12CAudioOutput @ 18 NONAME
+ _ZN19CRadioRoutableAudio14SetAudioRouteLEN11RadioEngine16TRadioAudioRouteE @ 19 NONAME
+ _ZN19CRadioRoutableAudio17DeleteAudioOutputEv @ 20 NONAME
+ _ZN19CRadioRoutableAudioC1EP17CRadioAudioRouter @ 21 NONAME
+ _ZN19CRadioRoutableAudioC2EP17CRadioAudioRouter @ 22 NONAME
+ _ZN19CRadioRoutableAudioD0Ev @ 23 NONAME
+ _ZN19CRadioRoutableAudioD1Ev @ 24 NONAME
+ _ZN19CRadioRoutableAudioD2Ev @ 25 NONAME
+ _ZN22CRadioPropertyObserver4NewLER28MRadioPropertyChangeObserverRK4TUidjNS_18TRadioPropertyTypeE @ 26 NONAME
+ _ZN22CRadioPropertyObserver9ActivateLEv @ 27 NONAME
+ _ZN26CRadioSystemEventCollector4NewLEv @ 28 NONAME
+ _ZN26CRadioSystemEventCollectorD0Ev @ 29 NONAME
+ _ZN26CRadioSystemEventCollectorD1Ev @ 30 NONAME
+ _ZN26CRadioSystemEventCollectorD2Ev @ 31 NONAME
+ _ZNK19CRadioRoutableAudio21AudioRoutingSupportedEv @ 32 NONAME
+ _ZNK22CRadioPropertyObserver8ValueDesEv @ 33 NONAME
+ _ZNK22CRadioPropertyObserver8ValueIntEv @ 34 NONAME
+ _ZNK22CRadioPropertyObserver9ValueDes8Ev @ 35 NONAME
+ _ZTI15CRadioEngineTls @ 36 NONAME
+ _ZTI19CRadioRoutableAudio @ 37 NONAME
+ _ZTV15CRadioEngineTls @ 38 NONAME
+ _ZTV19CRadioRoutableAudio @ 39 NONAME
--- a/radioengine/utils/stub/group/radioengineutils_stub.mmp Tue Jul 06 14:16:27 2010 +0300
+++ b/radioengine/utils/stub/group/radioengineutils_stub.mmp Wed Aug 18 09:49:03 2010 +0300
@@ -40,7 +40,6 @@
APP_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE /epoc32/include/remcon
-SYSTEMINCLUDE /epoc32/include/internal
SYSTEMINCLUDE /epoc32/include/mmf/common
SYSTEMINCLUDE /epoc32/include/platform/mw
@@ -51,7 +50,6 @@
SOURCE cradioaudiorouter.cpp
SOURCE cradiopropertyobserver.cpp
SOURCE cradioremcontarget.cpp
-SOURCE cradiorepositoryentitybase.cpp
SOURCE cradiosystemeventcollector.cpp
SOURCE cradiosystemeventcollectorimp.cpp
SOURCE cradiosystemeventdetector.cpp
--- a/radiohswidget/inc/radiohswidgetprofilereader.h Tue Jul 06 14:16:27 2010 +0300
+++ b/radiohswidget/inc/radiohswidgetprofilereader.h Wed Aug 18 09:49:03 2010 +0300
@@ -37,7 +37,7 @@
void startMonitoringRadioRunningStatus();
- bool isCurrentProfileOffline();
+ bool isInOfflineMode();
public slots:
void handleDeletedItem(const XQSettingsKey &key);
--- a/radiohswidget/src/radiohswidget.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radiohswidget/src/radiohswidget.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -209,6 +209,7 @@
switch (status) {
case RadioStatus::Playing:
LOG("Playing");
+ handleRadioStateChange(FmRadio::StateRunning);
break;
case RadioStatus::Muted:
LOG("Muted");
@@ -240,11 +241,9 @@
// TODO: Remove comment when localisation is working on device.
//frequencyString = hbTrId("txt_fmradiohswidget_rad_list_l1_mhz").arg(freqString);
bool frequencyCleared = false;
- // If widget has some frequency information and new frequency
- // differs from that
- if (mRadioInformation.contains(Frequency)
- && mRadioInformation[Frequency].compare(information.toString()) != 0) {
- // Clear all infromation from widget because station has changed.
+
+ if (mRadioInformation.contains(Frequency)) {
+ // Clear all infromation.
clearRadioInformation();
frequencyCleared = true;
}
@@ -254,6 +253,7 @@
if (frequencyCleared || frequencyUpdated) {
// Information changed, update the UI.
changeInRadioInformation();
+ mFmRadioState = FmRadio::StateRunning;
}
}
break;
@@ -339,6 +339,7 @@
// Stop timer if it is running because radio is now running.
mRadioServiceClient->startMonitoring(
FmRadio::VisibiltyDoNotChange);
+ changeInRadioInformation();
changePowerButtonOn(true);
enableStationButtons();
changeInformationAreaLayout(OneRow);
@@ -346,7 +347,6 @@
case FmRadio::StateSeeking:
LOG("FmRadio::StateSeeking");
mFmRadioState = FmRadio::StateSeeking;
- mFavoriteStationCount = FAVORITE_STATION_COUNT_UNDEFINED;
mCurrentStationIsFavorite = false;
enableStationButtons();
changeInformationAreaLayout(Animation);
@@ -354,7 +354,6 @@
case FmRadio::StateAntennaNotConnected:
LOG("FmRadio::StateAntennaNotConnected");
mFmRadioState = FmRadio::StateAntennaNotConnected;
- mFavoriteStationCount = FAVORITE_STATION_COUNT_UNDEFINED;
mCurrentStationIsFavorite = false;
enableStationButtons();
mInformationFirstRowLabel->setPlainText("");
@@ -909,7 +908,12 @@
void RadioHsWidget::enableStationButtons()
{
LEVEL2(LOG_METHOD_ENTER);
- if ((mFavoriteStationCount > 1) || (mFavoriteStationCount == 1
+ LOG_FORMAT("RadioHsWidget::enableStationButtons count: %d", mFavoriteStationCount);
+ if (mFmRadioState == FmRadio::StateAntennaNotConnected){
+ changeButtonToDisabled(Next);
+ changeButtonToDisabled(Previous);
+ }
+ else if ((mFavoriteStationCount > 1) || (mFavoriteStationCount == 1
&& !mCurrentStationIsFavorite)) {
changeButtonToEnabled(Next);
changeButtonToEnabled(Previous);
@@ -1081,7 +1085,7 @@
// starting the radio is allowed in other profiles without asking a
// permission.
bool radioStartPermssion = true;
- if (mProfileMonitor->isCurrentProfileOffline()) {
+ if (mProfileMonitor->isInOfflineMode()) {
// Device is in offline profile, ask the user for permission to start
HbDeviceMessageBox box(hbTrId(
"txt_fmradiohswidget_rad_info_activate_radio_in_offline_mode_hs"),
--- a/radiohswidget/src/radiohswidgetprofilereader.cpp Tue Jul 06 14:16:27 2010 +0300
+++ b/radiohswidget/src/radiohswidgetprofilereader.cpp Wed Aug 18 09:49:03 2010 +0300
@@ -17,9 +17,6 @@
// System includes
#include <QDateTime>
-// TODO: Profile information should be accessed from QtMobility when it is
-// ready.
-#include <ProfileEngineSDKCRKeys.h>
#include "xqsettingsmanager.h"
#include "xqsettingskey.h"
#include "xqpublishandsubscribeutils.h"
@@ -28,13 +25,12 @@
#include "radiohswidgetprofilereader.h"
#include "radiohswidget.h"
#include "radioservicedef.h"
+#include "radio_global.h"
#include "radiologger.h"
// Constants
/** Constant for radio running undefined status. */
const int RADIO_RUNNING_STATUS_UNDEFINED(-1);
-/** Constant for Off-line profile. */
-const int OFFLINE_PROFILE(5);
/*!
\class RadioHsWidgetProfileReader
@@ -92,19 +88,21 @@
}
/*!
- Reads the current profile of the device and \returns \c true if the
- current profile is offline, \c false otherwise.
+ Checks if device is in offline mode and \returns \c true if it is
+ and \c false if not.
*/
-bool RadioHsWidgetProfileReader::isCurrentProfileOffline()
+bool RadioHsWidgetProfileReader::isInOfflineMode()
{
LOG_METHOD_RET("%d");
- XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository,
- KCRUidProfileEngine.iUid, KProEngActiveProfile);
+ XQSettingsKey connectionKey( XQSettingsKey::TargetCentralRepository,
+ CENREP_CORE_APPLICATION_UIS, ID_NETWORK_CONNECTION_ALLOWED );
+
// Read current value.
- QVariant profile(mSettingsManager->readItemValue(profileKey));
- if (profile.canConvert(QVariant::Int) && profile.toInt() == OFFLINE_PROFILE) {
+ const QVariant connectionAllowed = mSettingsManager->readItemValue( connectionKey );
+ if ( connectionAllowed.canConvert( QVariant::Int ) && connectionAllowed.toInt() == NetworkNotAllowed ) {
return true;
}
+
return false;
}
--- a/rom/bld.inf Tue Jul 06 14:16:27 2010 +0300
+++ b/rom/bld.inf Wed Aug 18 09:49:03 2010 +0300
@@ -25,6 +25,6 @@
#ifdef MARM
START EXTENSION app-services/buildstubsis
OPTION SRCDIR .
- OPTION SISNAME qtfmradio_stub
+ OPTION SISNAME fmradio_stub
END
#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rom/fmradio_stub.pkg Wed Aug 18 09:49:03 2010 +0300
@@ -0,0 +1,27 @@
+;
+; 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: Stub package file for FMRadio
+;
+
+; Languages
+&EN
+
+; Header
+#{"fmradio"}, (0x2002FF53), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
\ No newline at end of file
--- a/rom/qtfmradio_stub.pkg Tue Jul 06 14:16:27 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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: Stub package file for FMRadio
-;
-
-; Languages
-&EN
-
-; Header
-#{"fmradio"}, (0x2002FF53), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
\ No newline at end of file