--- a/common/radio_global.h Fri Jul 23 10:16:59 2010 +0300
+++ b/common/radio_global.h Fri Aug 06 09:29:48 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
*/
@@ -113,16 +111,6 @@
};
}
-namespace Scroll
-{
- enum Direction
- {
- Shortest,
- Left,
- Right
- };
-}
-
namespace StationSkip
{
enum Mode
--- a/radioapp/bwins/fmradiowidgetsu.def Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/bwins/fmradiowidgetsu.def Fri Aug 06 09:29:48 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 &)
- ?makeTab@RadioFrequencyStrip@@AAE?AVQLineF@@MH@Z @ 30 NONAME ; class QLineF RadioFrequencyStrip::makeTab(float, int)
- ?frequencyChanged@RadioFrequencyStrip@@IAEXIHH@Z @ 31 NONAME ; void RadioFrequencyStrip::frequencyChanged(unsigned int, int, int)
- ?setAutoScrollTime@RadioStationCarousel@@QAEXH@Z @ 32 NONAME ; void RadioStationCarousel::setAutoScrollTime(int)
- ?prevIndex@RadioStationCarousel@@AAEHH@Z @ 33 NONAME ; int RadioStationCarousel::prevIndex(int)
- ?trUtf8@RadioStationCarousel@@SA?AVQString@@PBD0@Z @ 34 NONAME ; class QString RadioStationCarousel::trUtf8(char const *, char const *)
- ?tr@RadioStationCarousel@@SA?AVQString@@PBD0@Z @ 35 NONAME ; class QString RadioStationCarousel::tr(char const *, char const *)
- ?skip@RadioStationCarousel@@AAEXW4Mode@StationSkip@@@Z @ 36 NONAME ; void RadioStationCarousel::skip(enum StationSkip::Mode)
- ?selectorPos@RadioFrequencyStrip@@ABEHXZ @ 37 NONAME ; int RadioFrequencyStrip::selectorPos(void) const
- ??1RadioWindow@@UAE@XZ @ 38 NONAME ; RadioWindow::~RadioWindow(void)
- ?skipRequested@RadioFrequencyStrip@@IAEXH@Z @ 39 NONAME ; void RadioFrequencyStrip::skipRequested(int)
- ?setText@RadioFadingLabel@@QAEXABVQString@@@Z @ 40 NONAME ; void RadioFadingLabel::setText(class QString const &)
- ?showEvent@RadioStationCarousel@@EAEXPAVQShowEvent@@@Z @ 41 NONAME ; void RadioStationCarousel::showEvent(class QShowEvent *)
- ?mousePressEvent@RadioStationCarousel@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 42 NONAME ; void RadioStationCarousel::mousePressEvent(class QGraphicsSceneMouseEvent *)
- ?trUtf8@RadioFrequencyStrip@@SA?AVQString@@PBD0@Z @ 43 NONAME ; class QString RadioFrequencyStrip::trUtf8(char const *, char const *)
- ?handleScrollingEnd@RadioFrequencyStrip@@AAEXXZ @ 44 NONAME ; void RadioFrequencyStrip::handleScrollingEnd(void)
- ?activateView@RadioWindow@@AAEXPAVRadioViewBase@@ABVQString@@V?$QFlags@W4ViewSwitchFlag@Hb@@@@@Z @ 45 NONAME ; void RadioWindow::activateView(class RadioViewBase *, class QString const &, class QFlags<enum Hb::ViewSwitchFlag>)
- ?calculateDifference@RadioStationCarousel@@AAEHHAAW4Direction@Scroll@@@Z @ 46 NONAME ; int RadioStationCarousel::calculateDifference(int, enum Scroll::Direction &)
- ?orientationSection@RadioWindow@@QAE?AVQString@@XZ @ 47 NONAME ; class QString RadioWindow::orientationSection(void)
- ?updateStation@RadioFrequencyStrip@@AAEXABVQModelIndex@@HH@Z @ 48 NONAME ; void RadioFrequencyStrip::updateStation(class QModelIndex const &, int, int)
- ??1RadioFrequencyStrip@@UAE@XZ @ 49 NONAME ; RadioFrequencyStrip::~RadioFrequencyStrip(void)
- ?setItemHeight@RadioFrequencyStrip@@QAEXH@Z @ 50 NONAME ; void RadioFrequencyStrip::setItemHeight(int)
- ?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)
- ?showButtons@RadioFrequencyStrip@@AAEXXZ @ 130 NONAME ; void RadioFrequencyStrip::showButtons(void)
- ?uiEngine@RadioStationCarousel@@QAEPAVRadioUiEngine@@XZ @ 131 NONAME ; class RadioUiEngine * RadioStationCarousel::uiEngine(void)
- ?trUtf8@RadioFadingLabel@@SA?AVQString@@PBD0H@Z @ 132 NONAME ; class QString RadioFadingLabel::trUtf8(char const *, char const *, int)
- ?activateMainView@RadioWindow@@QAEXXZ @ 133 NONAME ; void RadioWindow::activateMainView(void)
- ?setScanningMode@RadioStationCarousel@@QAEX_N@Z @ 134 NONAME ; void RadioStationCarousel::setScanningMode(bool)
- ??1RadioFadingLabel@@UAE@XZ @ 135 NONAME ; RadioFadingLabel::~RadioFadingLabel(void)
- ?setNonFavoriteIcon@RadioStationCarousel@@QAEXABVHbIcon@@@Z @ 136 NONAME ; void RadioStationCarousel::setNonFavoriteIcon(class HbIcon const &)
- ?isInScanningMode@RadioStationCarousel@@QBE_NXZ @ 137 NONAME ; bool RadioStationCarousel::isInScanningMode(void) const
- ?isAntennaAttached@RadioStationCarousel@@QBE_NXZ @ 138 NONAME ; bool RadioStationCarousel::isAntennaAttached(void) const
- ?activateStationsView@RadioWindow@@QAEXXZ @ 139 NONAME ; void RadioWindow::activateStationsView(void)
- ?removeStation@RadioFrequencyStrip@@AAEXABVQModelIndex@@HH@Z @ 140 NONAME ; void RadioFrequencyStrip::removeStation(class QModelIndex const &, int, int)
- ?tr@RadioStationCarousel@@SA?AVQString@@PBD0H@Z @ 141 NONAME ; class QString RadioStationCarousel::tr(char const *, char const *, int)
- ?trimIndex@RadioStationCarousel@@AAEHH@Z @ 142 NONAME ; int RadioStationCarousel::trimIndex(int)
- ?frequencyChanged@RadioStationCarousel@@IAEXIHH@Z @ 143 NONAME ; void RadioStationCarousel::frequencyChanged(unsigned int, int, int)
- ?setAlternateSkippingMode@RadioStationCarousel@@QAEX_N@Z @ 144 NONAME ; void RadioStationCarousel::setAlternateSkippingMode(bool)
- ?initView@RadioWindow@@AAEXXZ @ 145 NONAME ; void RadioWindow::initView(void)
- ?gestureEvent@RadioFrequencyStrip@@EAEXPAVQGestureEvent@@@Z @ 146 NONAME ; void RadioFrequencyStrip::gestureEvent(class QGestureEvent *)
- ?trUtf8@RadioStationCarousel@@SA?AVQString@@PBD0H@Z @ 147 NONAME ; class QString RadioStationCarousel::trUtf8(char const *, char const *, int)
- ?handleLongLeftButton@RadioFrequencyStrip@@AAEXXZ @ 148 NONAME ; void RadioFrequencyStrip::handleLongLeftButton(void)
- ?hideButtons@RadioFrequencyStrip@@AAEXXZ @ 149 NONAME ; void RadioFrequencyStrip::hideButtons(void)
- ?emitFrequencyChanged@RadioFrequencyStrip@@AAEXI@Z @ 150 NONAME ; void RadioFrequencyStrip::emitFrequencyChanged(unsigned int)
- ?handleLeftButton@RadioFrequencyStrip@@AAEXXZ @ 151 NONAME ; void RadioFrequencyStrip::handleLeftButton(void)
- ??_ERadioFadingLabel@@UAE@I@Z @ 152 NONAME ; RadioFadingLabel::~RadioFadingLabel(unsigned int)
- ?cancelManualSeek@RadioFrequencyStrip@@QAEXXZ @ 153 NONAME ; void RadioFrequencyStrip::cancelManualSeek(void)
- ?init@RadioWindow@@QAEXXZ @ 154 NONAME ; void RadioWindow::init(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)
- ?setLandscape@RadioStationCarousel@@QAEX_N@Z @ 163 NONAME ; void RadioStationCarousel::setLandscape(bool)
+ ?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/fmradiowidgetsu.def Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/eabi/fmradiowidgetsu.def Fri Aug 06 09:29:48 2010 +0300
@@ -31,139 +31,106 @@
_ZN16RadioFadingLabel8trimHtmlERK7QString @ 30 NONAME
_ZN16RadioFadingLabelC1EP13QGraphicsItem @ 31 NONAME
_ZN16RadioFadingLabelC2EP13QGraphicsItem @ 32 NONAME
- _ZN19RadioFrequencyStrip10drawPixmapEj5QListI12RadioStationEP18RadioFrequencyItem @ 33 NONAME
- _ZN19RadioFrequencyStrip10timerEventEP11QTimerEvent @ 34 NONAME
- _ZN19RadioFrequencyStrip10updateItemEP18RadioFrequencyItemjj @ 35 NONAME
- _ZN19RadioFrequencyStrip11changeEventEP6QEvent @ 36 NONAME
- _ZN19RadioFrequencyStrip11hideButtonsEv @ 37 NONAME
- _ZN19RadioFrequencyStrip11initButtonsEv @ 38 NONAME
- _ZN19RadioFrequencyStrip11qt_metacallEN11QMetaObject4CallEiPPv @ 39 NONAME
- _ZN19RadioFrequencyStrip11qt_metacastEPKc @ 40 NONAME
- _ZN19RadioFrequencyStrip11resizeEventEP25QGraphicsSceneResizeEvent @ 41 NONAME
- _ZN19RadioFrequencyStrip11showButtonsEv @ 42 NONAME
- _ZN19RadioFrequencyStrip12gestureEventEP13QGestureEvent @ 43 NONAME
- _ZN19RadioFrequencyStrip12initSelectorEv @ 44 NONAME
- _ZN19RadioFrequencyStrip12setFrequencyEjiN6Scroll9DirectionE @ 45 NONAME
- _ZN19RadioFrequencyStrip13initPositionsEv @ 46 NONAME
- _ZN19RadioFrequencyStrip13removeStationERK11QModelIndexii @ 47 NONAME
- _ZN19RadioFrequencyStrip13seekRequestedEi @ 48 NONAME
- _ZN19RadioFrequencyStrip13setItemHeightEi @ 49 NONAME
- _ZN19RadioFrequencyStrip13skipRequestedEi @ 50 NONAME
- _ZN19RadioFrequencyStrip13updateStationERK11QModelIndexii @ 51 NONAME
- _ZN19RadioFrequencyStrip14initEmptyItemsEv @ 52 NONAME
- _ZN19RadioFrequencyStrip14updateAllItemsEv @ 53 NONAME
- _ZN19RadioFrequencyStrip14updateFavoriteERK12RadioStation @ 54 NONAME
- _ZN19RadioFrequencyStrip15addFrequencyPosEijP18RadioFrequencyItem @ 55 NONAME
- _ZN19RadioFrequencyStrip15mousePressEventEP24QGraphicsSceneMouseEvent @ 56 NONAME
- _ZN19RadioFrequencyStrip15setScanningModeEb @ 57 NONAME
- _ZN19RadioFrequencyStrip16cancelManualSeekEv @ 58 NONAME
- _ZN19RadioFrequencyStrip16frequencyChangedEjii @ 59 NONAME
- _ZN19RadioFrequencyStrip16handleLeftButtonEv @ 60 NONAME
- _ZN19RadioFrequencyStrip16scrollPosChangedEv @ 61 NONAME
- _ZN19RadioFrequencyStrip16staticMetaObjectE @ 62 NONAME DATA 16
- _ZN19RadioFrequencyStrip16toggleManualSeekEv @ 63 NONAME
- _ZN19RadioFrequencyStrip17addScannedStationERK12RadioStation @ 64 NONAME
- _ZN19RadioFrequencyStrip17handleRightButtonEv @ 65 NONAME
- _ZN19RadioFrequencyStrip17manualSeekChangedEb @ 66 NONAME
- _ZN19RadioFrequencyStrip17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 67 NONAME
- _ZN19RadioFrequencyStrip17scrollToFrequencyEjN6Scroll9DirectionEiN10TuneReason6ReasonE @ 68 NONAME
- _ZN19RadioFrequencyStrip18handleScrollingEndEv @ 69 NONAME
- _ZN19RadioFrequencyStrip19createItemPrimitiveEP13QGraphicsItem @ 70 NONAME
- _ZN19RadioFrequencyStrip19getStaticMetaObjectEv @ 71 NONAME
- _ZN19RadioFrequencyStrip19updateItemPrimitiveEP13QGraphicsItemi @ 72 NONAME
- _ZN19RadioFrequencyStrip20emitFrequencyChangedEj @ 73 NONAME
- _ZN19RadioFrequencyStrip20handleLongLeftButtonEv @ 74 NONAME
- _ZN19RadioFrequencyStrip21handleLongRightButtonEv @ 75 NONAME
- _ZN19RadioFrequencyStrip21updateStationsInRangeEiib @ 76 NONAME
- _ZN19RadioFrequencyStrip4initEP13RadioUiEngineR13RadioUiLoader @ 77 NONAME
- _ZN19RadioFrequencyStrip7makeTabEfi @ 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
- _ZN20RadioStationCarousel12setLandscapeEb @ 167 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/radiowidgets/inc/radiofrequencyitem.h Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiofrequencyitem.h Fri Aug 06 09:29:48 2010 +0300
@@ -22,7 +22,6 @@
#include <QPixmap>
// Forward declarations
-class RadioFrequencyStrip;
class QGraphicsPixmapItem;
// Class declaration
--- a/radioapp/radiowidgets/inc/radiofrequencystrip.h Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiofrequencystrip.h Fri Aug 06 09:29:48 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 Fri Aug 06 09:29:48 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 Fri Aug 06 09:29:48 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 Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/radiowidgets/inc/radiostationcarousel.h Fri Aug 06 09:29:48 2010 +0300
@@ -26,6 +26,7 @@
// User includes
#include "radiocarouselitemobserver.h"
#include "radiowidgetsexport.h"
+#include "radiofrequencystripdef.h"
#include "radio_global.h"
// Forward declarations
--- a/radioapp/radiowidgets/inc/radioutil.h Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/radiowidgets/inc/radioutil.h Fri Aug 06 09:29:48 2010 +0300
@@ -23,6 +23,7 @@
// User includes
#include "radio_global.h"
+#include "radiofrequencystripdef.h"
// Forward declarations
class RadioFrequencyStrip;
--- a/radioapp/radiowidgets/radiowidgets.pro Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/radiowidgets/radiowidgets.pro Fri Aug 06 09:29:48 2010 +0300
@@ -43,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
@@ -60,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/src/radiofrequencyitem.cpp Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/radiowidgets/src/radiofrequencyitem.cpp Fri Aug 06 09:29:48 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 Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/radiowidgets/src/radiofrequencyscanner.cpp Fri Aug 06 09:29:48 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 Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/radiowidgets/src/radiofrequencystrip.cpp Fri Aug 06 09:29:48 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,685 +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 );
-// TODO: Remove this and uncomment the above line. This is a temporary workaround to get the strip to move
- scrollContentsTo( QPointF( newPos, 0 ), 0 );
+ 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 Fri Aug 06 09:29:48 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/radiomainview.cpp Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/radiowidgets/src/radiomainview.cpp Fri Aug 06 09:29:48 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 );
@@ -190,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()) );
@@ -422,7 +420,7 @@
*/
void RadioMainView::handleFavoriteChange( const RadioStation& station )
{
- mFrequencyStrip->updateFavorite( station );
+ mFrequencyStrip->updateFavorite( station.frequency() );
updateFavoriteButton();
}
--- a/radioapp/radiowidgets/src/radiostripbase.cpp Fri Jul 23 10:16:59 2010 +0300
+++ b/radioapp/radiowidgets/src/radiostripbase.cpp Fri Aug 06 09:29:48 2010 +0300
@@ -20,7 +20,6 @@
// User includes
#include "radiostripbase.h"
-#include "radiologger.h"
// Constants
--- a/radioengine/settings/stub/group/radioenginesettings_stub.mmp Fri Jul 23 10:16:59 2010 +0300
+++ b/radioengine/settings/stub/group/radioenginesettings_stub.mmp Fri Aug 06 09:29:48 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 Fri Jul 23 10:16:59 2010 +0300
+++ b/radioengine/settings/tsrc/group/SettingsTestModule.mmp Fri Aug 06 09:29:48 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 Fri Jul 23 10:16:59 2010 +0300
+++ b/radioengine/settings/tsrc/group/SettingsTestModule_nrm.mmp Fri Aug 06 09:29:48 2010 +0300
@@ -39,7 +39,6 @@
USERINCLUDE ../../../utils/inc
APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/internal
SOURCEPATH ../src
--- a/radioengine/utils/group/radioengineutils.mmp Fri Jul 23 10:16:59 2010 +0300
+++ b/radioengine/utils/group/radioengineutils.mmp Fri Aug 06 09:29:48 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
--- a/radioengine/utils/src/cradioaccessoryobserver.cpp Fri Jul 23 10:16:59 2010 +0300
+++ b/radioengine/utils/src/cradioaccessoryobserver.cpp Fri Aug 06 09:29:48 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__
--- a/radioengine/utils/src/cradiosystemeventdetector.cpp Fri Jul 23 10:16:59 2010 +0300
+++ b/radioengine/utils/src/cradiosystemeventdetector.cpp Fri Aug 06 09:29:48 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,7 +85,7 @@
CRadioPropertyObserver::ERadioPropertyInt );
iCallStatusObserver->ActivateL();
iIsCallActive = iCallStatusObserver->ValueInt() != EPSCTsyCallStateNone;
-
+/*
#ifndef __WINS__
// Define audio types for not resuming.
//TODO: Check these audio resume categories!
@@ -97,6 +98,7 @@
iAudioPolicyObserver = CRadioPropertyObserver::NewL( *this, KPSUidMMFAudioServer, KAudioPolicyAudioClients, CRadioPropertyObserver::ERadioPropertyByteArray );
iAudioPolicyObserver->ActivateL();
#endif
+*/
}
// ---------------------------------------------------------------------------
--- a/radioengine/utils/stub/bwins/fmradioengineutils_stubu.def Fri Jul 23 10:16:59 2010 +0300
+++ b/radioengine/utils/stub/bwins/fmradioengineutils_stubu.def Fri Aug 06 09:29:48 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 Fri Jul 23 10:16:59 2010 +0300
+++ b/radioengine/utils/stub/eabi/fmradioengineutils_stubu.def Fri Aug 06 09:29:48 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 Fri Jul 23 10:16:59 2010 +0300
+++ b/radioengine/utils/stub/group/radioengineutils_stub.mmp Fri Aug 06 09:29:48 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