# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1271419135 -10800 # Node ID 63aabac4416dfca334180beeb104d8b75818edc0 # Parent 46974bebc79860a9c0a45a353f505ce18a10df0b Revision: 201011 Kit: 201015 diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/buildflags.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/buildflags.pri Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,23 @@ +# +# 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: +# + +# $$_PRO_FILE_PWD_ points to the directory of the pro file +MOC_DIR = $$_PRO_FILE_PWD_/tmp +RCC_DIR = $$_PRO_FILE_PWD_/tmp +OBJECTS_DIR = $$_PRO_FILE_PWD_/tmp +UI_DIR = $$_PRO_FILE_PWD_/tmp +UI_HEADERS_DIR = $$_PRO_FILE_PWD_/tmp +UI_SOURCES_DIR = $$_PRO_FILE_PWD_/tmp diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/fmradiohswidgetplugin.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/fmradiohswidgetplugin.pro Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,80 @@ +# +# Copyright (c) 2010 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: Example of home screen widget +# + +include(../buildflags.pri) + +TEMPLATE = lib +CONFIG += plugin mobility hb +MOBILITY = serviceframework + +LIBS += -lxqsettingsmanager \ + -lxqservice \ + -lxqserviceutil + +HEADERS += ./inc/*.h +SOURCES += ./src/*.cpp + +INCLUDEPATH += ./inc + +UID = E0022EEE + +RESOURCES = resources.qrc +#exportResources(./resource/$${TARGET}_icon*.png, $$PLUGIN_SUBDIR) + +symbian: { + + DESTDIR = /private/20022F35/import/widgetregistry/$${UID} + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + + TARGET.UID3 = 0x$${UID} + TARGET.EPOCALLOWDLLDATA=1 + TARGET.CAPABILITY = ALL -TCB + + plugins.path = $${DESTDIR} + plugins.sources = $${TARGET}.dll + + widgetResources.path = $${DESTDIR} +# commented out +# widgetResources.sources += resource/$${TARGET}.s60xml +# Use this in emulator instead of xml in resources directory. +# widgetResources.sources += $${TARGET}.xml + widgetResources.sources += resource/$${TARGET}.xml + widgetResources.sources += resource/$${TARGET}.manifest +# icon is now removed to be able to unistall the widget more easily. +# widgetResources.sources += resource/$${TARGET}_icon*.png + + DEPLOYMENT += plugins \ + widgetResources +} + +win32: { + + CONFIG(debug, debug|release) { + SUBDIRPART = debug + } else { + SUBDIRPART = release + } + + PLUGIN_SUBDIR = /hsresources/import/widgetregistry/$${UID} + + DESTDIR = $$PWD/../../../../../bin/$${SUBDIRPART}/$${PLUGIN_SUBDIR} + + manifest.path = $${DESTDIR} + manifest.files = ./resource/*.manifest ./resource/*.xml #./resource/*.png + + INSTALLS += manifest + +} diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/fmradiohswidgetplugin.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/fmradiohswidgetplugin.xml Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,14 @@ + + + fmradiohswidgetplugin + c:/private/20022F35/import/widgetregistry/E0022EEE/fmradiohswidgetplugin.qtplugin + FM Radio homescreen widget + + com.nokia.IHomeScreenWidget + 1.0 + FM Radio homescreen widget + + fmradiohswidgetplugin_icon.png + FM Radio Widget + + diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/inc/fmradiohswidget.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/inc/fmradiohswidget.h Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,188 @@ +/* +* Copyright (c) 2010 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: FM Radio home screen widget +* +*/ + +#ifndef FMRADIOHSWIDGET_H +#define FMRADIOHSWIDGET_H + +// Defines +#define DOCML_WIDGET ":/gfx/resource/fmradiohswidget.docml" + +// System includes +#include + +// User includes +#include "fmradiohswidgetradioserviceclient.h" + +// Forward declarations +class HbLabel; +class HbPushButton; +class XQSettingsManager; +class XQSettingsKey; +class FmRadioHsWidgetProcessHandler; +class FmRadioHsWidgetProfileReader; + +// Constants +/** Key for radio information hash. */ +const QString KRadioInformationStationName = "stationName"; +/** Key for radio information hash. */ +const QString KRadioInformationCallSign = "callSign"; +/** Key for radio information hash. */ +const QString KRadioInformationFrequency = "frequency"; +/** Key for radio information hash. */ +const QString KRadioInformationRt = "rt"; +/** Key for radio information hash. */ +const QString KRadioInformationDynamicPsName = "dynamicPsName"; +/** Key for radio information hash. */ +const QString KRadioInformationPty = "pty"; +/** Text to display in widget. */ +const QString KFmRadioText = "FM Radio"; +/** Information text to connect headset. */ +const QString KConnectHeadsetText = "Connect wired headset."; +/** Mhz text. */ +const QString KMhzText = "Mhz"; +/** DOCML object name for mainLayout */ +const QString KDocmlObjectNameMainLayout = "mainLayout"; +/** DOCML object name for */ +const QString KDocmlObjectNameRadioIconPushButton = "radioIconPushButton"; +/** DOCML object name for */ +const QString KDocmlObjectNamePreviousPushButton = "previousPushButton"; +/** DOCML object name for */ +const QString KDocmlObjectNamePlayPushButton = "playPushButton"; +/** DOCML object name for */ +const QString KDocmlObjectNameNextPushButton = "nextPushButton"; +/** DOCML object name for */ +const QString KDocmlObjectNameTwoRowsLayout = "twoRowsLayout"; +/** DOCML object name for */ +const QString KDocmlObjectNameOneRowLayout = "oneRowLayout"; +/** DOCML object name for */ +const QString KDocmlObjectNameAnimationLayout = "animationLayout"; +/** DOCML object name for */ +const QString KDocmlObjectNameFirstRowLabel = "firstRowLabel"; +/** DOCML object name for */ +const QString KDocmlObjectNameSecondRowLabel = "secondRowLabel"; +/** DOCML object name for */ +const QString KDocmlObjectNameLonelyRowLabel = "lonelyRowLabel"; +/** DOCML object name for */ +const QString KDocmlObjectNameAnimationIcon = "animationIcon"; + +class FmRadioHsWidget : public HbWidget +{ + Q_OBJECT + +public: + FmRadioHsWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0); + ~FmRadioHsWidget(); + + // enum for commands controlling FM Radio + enum FmRadioControlCommand + { + Mute, + Unmute, + PreviousChannel, + NextChannel + }; + + // enum for FM Radio states + enum FmRadioState + { + Undefined, + NotRunning, + Starting, + Running, + ControllingAudio, + NotControllingAudio, + AutoScanning, + ConnectType1Headset, + ConnectType2Headset, + ConnectType3Headset + }; + + // enum for information area layout states + enum InformationAreaLayout + { + OneRow, + TwoRows, + Animation + }; + + // enum for control button states + enum ControlButtonState + { + AllDisabledPlay, + AllDisabledStop, + ChannelsDisabledPlay, + ChannelsDisabledStop, + ChannelsEnabledPlay, + ChannelsEnabledStop + }; + +public slots: + //void onInitialize(); // Can be used in future to get on intialize event. + void onShow(); + void onHide(); + //void onUninitialize(); // Can be used in future to get on unintialize event. + + bool eventFilter(QObject *target, QEvent *event); + +private slots: + void load(QString docml); + + void mute(); + void unMute(); + void previousChannel(); + void nextChannel(); + void radioToForeground(); + void radioToBackground(); + + void handleRadioInformationChange(int notificationId, QVariant value); + bool updateRadioInformation(const QString informationType, QString information); + void radioInformationChanged(); + void clearRadioInformation(); + void handleRadioStateChange(QVariant value); + + void changeInformationAreaLayout(InformationAreaLayout layout); + void changeControlButtonState(ControlButtonState buttonState); + +private: + // Data + Q_DISABLE_COPY(FmRadioHsWidget) + + HbPushButton *mRadioPushButton; + HbPushButton *mPreviousPushButton; + HbPushButton *mPlayPushButton; + HbPushButton *mNextPushButton; + QGraphicsWidget *mInformationAreaOneRowLayout; + QGraphicsWidget *mInformationAreaTwoRowsLayout; + QGraphicsWidget *mInformationAreaAnimationLayout; + HbLabel *mInformationFirstRowLabel; // This should be maybe a HbLineEdit for displaying and receiving click on url's. + HbLabel *mInformationSecondRowLabel;// HbLineEdit may also support marquee/scrolling. + HbLabel *mInformationLonelyRowLabel; + HbLabel *mAnimatioIcon; + + FmRadioState mFmRadioState; + + QHash mRadioInformation; // Stores the radio information + QString mRadioInformationFirstRow; + QString mRadioInformationSecondRow; + + FmRadioHsWidgetProcessHandler *mProcessHandler; // For launching the FM Radio application + + FmRadioHsWidgetRadioServiceClient *mRadioServiceClient; // For communicating with the FM Radio through Qt Highway + +}; + +#endif // FMRADIOHSWIDGET_H diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/inc/fmradiohswidgetplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/inc/fmradiohswidgetplugin.h Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,36 @@ +/* +* Copyright (c) 2010 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: FM Radio home screen widget plugin +* +*/ + +#ifndef FMRADIOHSWIDGETPLUGIN_H +#define FMRADIOHSWIDGETPLUGIN_H + +#include +#include + +QTM_USE_NAMESPACE +class FmRadioHsWidgetPlugin : public QObject, public QServicePluginInterface +{ + Q_OBJECT + Q_INTERFACES(QtMobility::QServicePluginInterface) + +public: + QObject *createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, + QAbstractSecuritySession *session); +}; + +#endif // FMRADIOHSWIDGETPLUGIN_H diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/inc/fmradiohswidgetprocesshandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/inc/fmradiohswidgetprocesshandler.h Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,60 @@ +/* +* 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: FM Radio widget process handler +* +*/ + +#ifndef FMRADIOHSWIDGETPROCESSHANDLER_H_ +#define FMRADIOHSWIDGETPROCESSHANDLER_H_ + +// System includes +#include +#include + +// User includes + +// Forward declarations +#include + +// Constants +/** FM Radio application executable. */ +const QString KRadioExecutablePath = "/sys/bin/qtfmradio.exe"; // TODO: Remove the hard coded path and use some util to determine the path instead. +/** Arguments for FM Radio application executable. */ +const QString KRadioExecutableArguments = ""; + +class FmRadioHsWidgetProcessHandler : public QObject +{ +Q_OBJECT + +public: + FmRadioHsWidgetProcessHandler(QObject *parent = 0); + ~FmRadioHsWidgetProcessHandler(); + +public: + void startFmRadioApplication(); + +signals: + void fmRadioApplicationStateChanged(QVariant state); + +public slots: + void handleStateChange(QProcess::ProcessState state); + void handleError(QProcess::ProcessError error); + void handleFinish(int exitCode, QProcess::ExitStatus exitStatus); + +private: + QProcess* mProcess; + +}; + +#endif /* FMRADIOHSWIDGETPROCESSHANDLER_H_ */ diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/inc/fmradiohswidgetprofilereader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/inc/fmradiohswidgetprofilereader.h Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,52 @@ +/* +* 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: FM Radio widget profile reader +* +*/ + +#ifndef FMRADIOHSWIDGETPROFILEREADER_H_ +#define FMRADIOHSWIDGETPROFILEREADER_H_ + +// System includes +#include +#include + +// Forward declarations +class XQSettingsManager; +class XQSettingsKey; + +class FmRadioHsWidgetProfileReader : public QObject +{ +Q_OBJECT + +public: + FmRadioHsWidgetProfileReader(QObject *parent = 0); + virtual ~FmRadioHsWidgetProfileReader(); + +signals: + void profileChanged(int profile); + +public slots: + void itemDeleted(const XQSettingsKey& key); + void handleChanges(const XQSettingsKey& key, const QVariant& value); + +private slots: + void currentProfileStatus(QVariant value); + +private: // data + XQSettingsManager *mSettingsManager; // For getting and P&S notifications + +}; + +#endif /* FMRADIOHSWIDGETPROFILEREADER_H_ */ diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/inc/fmradiohswidgetradioserviceclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/inc/fmradiohswidgetradioserviceclient.h Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,110 @@ +/* +* 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: FM Radio widget radio service client +* +*/ + +#ifndef FMRADIOHSWIDGETRADIOSERVICECLIENT_H_ +#define FMRADIOHSWIDGETRADIOSERVICECLIENT_H_ + +// System includes +#include +#include +#include + +// Constants +/** Radio service name. */ +const QString KRadioServiceName = "com.nokia.services.Radio"; +/** Radio control interface name. */ +const QString KRadioServiceControlInterfaceName = "IRadioControl"; +/** Radio monitor interface name. */ +const QString KRadioServiceControlOperation = "command(int)"; +/** Radio monitor interface name. */ +const QString KRadioServiceMonitorInterfaceName = "IRadioMonitor"; +/** Radio monitor interface name. */ +const QString KRadioServiceMonitorOperation = "requestNotifications()"; + +class FmRadioHsWidgetRadioServiceClient : public QObject +{ +Q_OBJECT + +public: + FmRadioHsWidgetRadioServiceClient(QObject *parent = 0); + virtual ~FmRadioHsWidgetRadioServiceClient(); + + enum FmRadioStartupState + { + StartForeground, + StartBackground + }; + enum FmRadioChannelChangeCommand + { + PreviousFavouriteChannel, + NextFavouriteChannel + }; + enum FmRadioAudioControlCommand + { + Mute, + Unmute + }; + enum FmRadioInformationType + { + InformationTypeStationName, + InformationTypeCallSign, + InformationTypeFrequency, + InformationTypeRt, + InformationTypeDynamicPsName, + InformationTypePty + }; + + +signals: + void radioInformationChanged(int notificationId, QVariant value); + void radioStateChanged(QVariant value); + +public slots: + void doStartFmRadio(FmRadioStartupState startupState); + void doBringFmRadioToForeground(bool toForeground); + void test(); + void doChangeFmRadioChannel(FmRadioChannelChangeCommand command); + void doControlFmRadioAudio(FmRadioAudioControlCommand command); + void handleFmRadioInformationChange(const QVariant& value); + void handleFmRadioControlRequestComplete(const QVariant& value); + void handleRequestError(int error); + void handleRequestError2(int error); + void handleFmRadioStateChange(QVariant& value); + void startMonitoring(); + void stopMonitoring(); + +protected slots: + void requestCompleted(const QVariant& value); + +private slots: + void handleOk(const QVariant &result); + void handleError(int errorCode, const QString& errorMessage); + + void createControlServiceRequest(); + void createMonitorServiceRequest(); + + void doGetFmRadioInformation(); + +private: // data + XQServiceRequest* mRadioInformationServiceRequest; + XQServiceRequest* mRadioControlServiceRequest; + + XQApplicationManager mApplicationManager; + +}; + +#endif /* FMRADIOHSWIDGETRADIOSERVICECLIENT_H_ */ diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/qmakepluginstubs/fmradiohswidgetplugin.qtplugin --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/qmakepluginstubs/fmradiohswidgetplugin.qtplugin Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,1 @@ +This file is a Qt plugin stub file. The real Qt plugin is located in /sys/bin. Created:2010-03-16T15:35:35 diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/resource/fmradiohswidgetplugin.manifest --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/resource/fmradiohswidgetplugin.manifest Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,8 @@ + + + + diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/resource/fmradiohswidgetplugin.s60xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/resource/fmradiohswidgetplugin.s60xml Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,14 @@ + + + fmradiohswidgetplugin + c:/private/20022F35/import/widgetregistry/E0022EEE/fmradiohswidgetplugin.qtplugin + FM Radio homescreen widget + + com.nokia.IHomeScreenWidget + 1.0 + FM Radio homescreen widget + + fmradiohswidgetplugin_icon.png + FM Radio Widget + + diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/resource/fmradiohswidgetplugin.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/resource/fmradiohswidgetplugin.xml Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,14 @@ + + + fmradiohswidgetplugin + fmradiohswidgetplugin + FM Radio homescreen widget + + com.nokia.IHomeScreenWidget + 1.0 + FM Radio homescreen widget + + fmradiohswidgetplugin_icon.png + FM Radio Widget + + diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/resource/fmradiohswidgetplugin_icon.png Binary file hswidgetplugin/fmradiohswidgetplugin/resource/fmradiohswidgetplugin_icon.png has changed diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/resources.qrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/resources.qrc Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,5 @@ + + + resource/fmradiohswidget.docml + + diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/src/fmradiohswidget.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/src/fmradiohswidget.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,593 @@ +/* +* Copyright (c) 2010 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: FM Radio home screen widget +* +*/ + +// System includes +#include +#include +#include +#include + +// User includes +#include "fmradiohswidget.h" +#include "fmradiohswidgetprocesshandler.h" +#include "fmradiohswidgetprofilereader.h" +#include "fmradiohswidgetradioserviceclient.h" + +/*! + \ingroup group_fmradiohs_widget + \class FmRadioHsWidget + \brief Example implementation for home screen widget. + + FmRadioHsWidget derived from the HbWidget and implements + needed functions for the home screen widget. +*/ + +// ======== MEMBER FUNCTIONS ======== + +/*! + Constructs a widget which is a child of \a parent, with widget flags set to \a flags. +*/ +FmRadioHsWidget::FmRadioHsWidget(QGraphicsItem* parent, Qt::WindowFlags flags) + : HbWidget(parent, flags), + mRadioPushButton(0), + mPreviousPushButton(0), + mPlayPushButton(0), + mNextPushButton(0), + mInformationFirstRowLabel(0), + mInformationSecondRowLabel(0), + mFmRadioState(Undefined), + mRadioInformation(QHash()), + mRadioInformationFirstRow(0), + mRadioInformationSecondRow(0), + mProcessHandler(0), + mRadioServiceClient(new FmRadioHsWidgetRadioServiceClient(this)) +{ + connect(mRadioServiceClient, SIGNAL(radioInformationChanged(int, QVariant)), this, + SLOT(handleRadioInformationChange(int, QVariant))); + connect(mRadioServiceClient, SIGNAL(radioStateChanged(QVariant)), this, + SLOT(handleRadioStateChange(QVariant))); + + load(DOCML_WIDGET); + + handleRadioStateChange(QVariant(NotRunning)); +} + +/*! + Destructor +*/ +FmRadioHsWidget::~FmRadioHsWidget() +{ +} + +/*! + Called when widget is shown in the home screen +*/ +void FmRadioHsWidget::onShow() +{ +} + +/*! + Called when widget is hidden from the home screen +*/ +void FmRadioHsWidget::onHide() +{ +} + +/*! + Loads docml files. +*/ +void FmRadioHsWidget::load(QString DOCML) +{ + bool loaded = false; + + HbDocumentLoader *documentLoader = new HbDocumentLoader(); + documentLoader->reset(); + documentLoader->load(DOCML, &loaded); + + if (loaded) { + HbWidget *widget = qobject_cast (documentLoader->findWidget(QString(KDocmlObjectNameMainLayout))); + if (widget) { + //HbWidget *view = qobject_cast (widget); + QGraphicsLinearLayout *mWidgetLayout = new QGraphicsLinearLayout(Qt::Vertical, this); + mWidgetLayout->addItem(widget); + setLayout(mWidgetLayout); + } + + mRadioPushButton = qobject_cast (documentLoader->findObject(QString(KDocmlObjectNameRadioIconPushButton))); + if (mRadioPushButton) { + // Invalid icon for the mRadioPushButton to make it look not like a button. + mRadioPushButton->setBackground(HbIcon(" ")); + mRadioPushButton->setIcon(HbIcon("qtg_large_radio")); + QObject::connect(mRadioPushButton, SIGNAL(clicked()), this, SLOT(radioToForeground())); + } + + mPreviousPushButton = qobject_cast (documentLoader->findObject(QString( + KDocmlObjectNamePreviousPushButton))); + if (mPreviousPushButton) { + mPreviousPushButton->setIcon(HbIcon("qtg_mono_previous")); + QObject::connect(mPreviousPushButton, SIGNAL(clicked()), this, SLOT(previousChannel())); + } + + mPlayPushButton = qobject_cast (documentLoader->findObject(QString( + KDocmlObjectNamePlayPushButton))); + if (mPlayPushButton) { + QObject::connect(mPlayPushButton, SIGNAL(clicked()), this, SLOT(radioToBackground())); + } + + mNextPushButton = qobject_cast (documentLoader->findObject(QString( + KDocmlObjectNameNextPushButton))); + if (mNextPushButton) { + mNextPushButton->setIcon(HbIcon("qtg_mono_next")); + QObject::connect(mNextPushButton, SIGNAL(clicked()), this, SLOT(nextChannel())); + } + + mInformationAreaTwoRowsLayout = qobject_cast ( + documentLoader->findObject(QString(KDocmlObjectNameTwoRowsLayout))); + if (mInformationAreaTwoRowsLayout) { + } + + mInformationAreaOneRowLayout = qobject_cast (documentLoader->findObject( + QString(KDocmlObjectNameOneRowLayout))); + if (mInformationAreaOneRowLayout) { + } + + mInformationAreaAnimationLayout = qobject_cast ( + documentLoader->findObject(QString(KDocmlObjectNameAnimationLayout))); + if (mInformationAreaAnimationLayout) { + } + + mInformationFirstRowLabel = qobject_cast (documentLoader->findObject(QString( + KDocmlObjectNameFirstRowLabel))); + if (mInformationFirstRowLabel) { + mInformationFirstRowLabel->setTextColor("qtc_hs_list_item_title"); + } + + mInformationSecondRowLabel = qobject_cast (documentLoader->findObject(QString( + KDocmlObjectNameSecondRowLabel))); + if (mInformationSecondRowLabel) { + mInformationSecondRowLabel->setTextColor("qtc_hs_list_item_content"); + } + + mInformationLonelyRowLabel = qobject_cast (documentLoader->findObject(QString( + KDocmlObjectNameLonelyRowLabel))); + if (mInformationLonelyRowLabel) { + mInformationLonelyRowLabel->setTextColor("qtc_hs_list_item_title"); + } + + mAnimatioIcon = qobject_cast (documentLoader->findObject( + QString())); + if (mAnimatioIcon) { + mAnimatioIcon->setIcon(HbIcon("qtg_anim_loading_0")); + } + + } + delete documentLoader; +} + +/*! + Slot for grouping events. + */ +bool FmRadioHsWidget::eventFilter(QObject */*target*/, QEvent */*event*/) + { +// This event filter is used to get events from information area layout and from it's components. +// Not yet implemented. +/* + if (target == mFrequencyLabel) { + if (event->type() == QEvent::MouseButtonRelease) { + qDebug() << "MouseButtonRelease"; + return true; + } + else if (event->type() == QEvent::MouseButtonPress) { + qDebug() << "MouseButtonPress"; + return true; + } + else if (event->type() == QEvent::KeyPress) { + qDebug() << "KeyPress"; + return true; + } + else { + return false; + } + } + else { + // pass the event on to the parent class + return HbWidget::eventFilter(target, event); + } +*/ + return false; +} + +/*! + Mute FM Radio audio. + */ +void FmRadioHsWidget::mute() +{ + mRadioServiceClient->doControlFmRadioAudio(FmRadioHsWidgetRadioServiceClient::Mute); + handleRadioStateChange(QVariant(NotControllingAudio)); +} + +/*! + Unmute FM Radio audio. + */ +void FmRadioHsWidget::unMute() +{ + mRadioServiceClient->doControlFmRadioAudio(FmRadioHsWidgetRadioServiceClient::Unmute); + handleRadioStateChange(QVariant(ControllingAudio)); +} + +/*! + Slot for previous button clicked. + */ +void FmRadioHsWidget::previousChannel() +{ + mRadioServiceClient->doChangeFmRadioChannel(FmRadioHsWidgetRadioServiceClient::PreviousFavouriteChannel); + clearRadioInformation(); +} + +/*! + Slot for next button clicked. + */ +void FmRadioHsWidget::nextChannel() +{ + mRadioServiceClient->doChangeFmRadioChannel(FmRadioHsWidgetRadioServiceClient::NextFavouriteChannel); + clearRadioInformation(); +} + +/*! + Slot for radio button clicked. + */ +void FmRadioHsWidget::radioToForeground() +{ + if (mFmRadioState == NotRunning) { + mRadioServiceClient->startMonitoring(); + handleRadioStateChange(QVariant(Running)); + } + mRadioServiceClient->doBringFmRadioToForeground(true); +} + +/*! + Slot for radio button clicked. + */ +void FmRadioHsWidget::radioToBackground() +{ + if (mFmRadioState == NotRunning) { + mRadioServiceClient->startMonitoring(); + handleRadioStateChange(QVariant(Running)); + } +} + + +/*! + Handles changes in FM Radio information. + + /param type Type of changed information. + /param value Information content. + */ +void FmRadioHsWidget::handleRadioInformationChange( + int notificationId, QVariant value) +{ + QString informationText; + if (value.canConvert(QVariant::String)) { + informationText = value.toString(); + } else { + return; + } + + switch (notificationId) { + /* + Name = 0, + Genre, + RadioText, + Homepage, + Song + */ + case 0: // Name + if (updateRadioInformation(KRadioInformationStationName, + informationText)) { + radioInformationChanged(); + } + break; +/* case FmRadioHsWidgetRadioServiceClient::InformationTypeCallSign: + if (updateRadioInformation(KRadioInformationCallSign, informationText)) { + + } + break; + case FmRadioHsWidgetRadioServiceClient::InformationTypeFrequency: + if (updateRadioInformation(KRadioInformationFrequency, + informationText)) { + + } + break; + */ case 2: // RadioText + if (updateRadioInformation(KRadioInformationRt, informationText)) { + radioInformationChanged(); + } + break; +/* case FmRadioHsWidgetRadioServiceClient::InformationTypeDynamicPsName: + if (updateRadioInformation(KRadioInformationDynamicPsName, + informationText)) { + + } + break; +*/ case 1: // Genre + if (updateRadioInformation(KRadioInformationPty, informationText)) { + radioInformationChanged(); + } + break; + default: + break; + } +} + +/*! + Check if the the radio information is changed. If it is changed update it. + + /param informationType Type of the information. + /param information Information text. + + /return bool If information is updated, return true. Return false otherwise. + */ +bool FmRadioHsWidget::updateRadioInformation(const QString informationType, + QString information) +{ + if (!information.isEmpty()) { + // Check if new information differs from the old one + if (!(mRadioInformation[informationType].compare(information) == 0)) { + // Update the information + mRadioInformation[informationType] = information; + // Return true to indicate change + return true; + } + } else { + // Information is empty, lets remove it from the hash + int removeCount = mRadioInformation.remove(informationType); + // If some key or keys were removed + if (removeCount > 0) { + // Return true to indicate change + return true; + } + } + // Return false because nothing changed + return false; +} + +/*! + Formatting radio information texts after change. + */ +void FmRadioHsWidget::radioInformationChanged() +{ + mRadioInformationFirstRow = ""; + mRadioInformationSecondRow = ""; + + // Lets formulate the first row, first station name + if (mRadioInformation.contains(KRadioInformationStationName)) { + mRadioInformationFirstRow.append(mRadioInformation.value(KRadioInformationStationName)); + } + // Second call sign + if (mRadioInformation.contains(KRadioInformationCallSign)) { + mRadioInformationFirstRow.append(" " + mRadioInformation.value(KRadioInformationCallSign)); + } + // Third frequency + if (mRadioInformation.contains(KRadioInformationFrequency)) { + mRadioInformationFirstRow.append(" " + mRadioInformation.value(KRadioInformationFrequency) + + " " + KMhzText); + } + // Second row of information contains first rt + if (mRadioInformation.contains(KRadioInformationRt)) { + mRadioInformationSecondRow.append(mRadioInformation.value(KRadioInformationRt)); + } + // Second is dynamic ps name + if (mRadioInformation.contains(KRadioInformationDynamicPsName)) { + mRadioInformationSecondRow.append(" " + mRadioInformation.value( + KRadioInformationDynamicPsName)); + } + // Third is pty + if (mRadioInformation.contains(KRadioInformationPty)) { + mRadioInformationSecondRow.append(" " + mRadioInformation.value(KRadioInformationPty)); + } + + if (mRadioInformationSecondRow.isEmpty()) { + mInformationLonelyRowLabel->setPlainText(mRadioInformationFirstRow); + changeInformationAreaLayout(OneRow); + } + else { + mInformationFirstRowLabel->setPlainText(mRadioInformationFirstRow); + mInformationSecondRowLabel->setPlainText(mRadioInformationSecondRow); + changeInformationAreaLayout(TwoRows); + } +} + +/*! + Clears the radio station information. For example, when the channel is + changed, old information should be cleared. + */ +void FmRadioHsWidget::clearRadioInformation() +{ + if (!mRadioInformation.isEmpty()) { + mRadioInformation.clear(); + } +} + +/*! + Handles changes in FM Radio state. + + /param value Information content. + */ +void FmRadioHsWidget::handleRadioStateChange(QVariant value) +{ + int state; + if (value.canConvert(QVariant::Int)) { + state = value.toInt(); + } else { + return; + } + + if (state == mFmRadioState) { + // State did not change, so return. + return; + } + + switch (state) { + case Undefined: + // TODO: Some error occured because we do not have the state information. Handle this. + mFmRadioState = Undefined; + break; + case NotRunning: + mFmRadioState = NotRunning; + //mRadioServiceClient->stopMonitoring(); + changeControlButtonState(ChannelsDisabledPlay); + mInformationFirstRowLabel->setPlainText(KFmRadioText); + mInformationSecondRowLabel->setPlainText(""); + mInformationLonelyRowLabel->setPlainText(KFmRadioText); + changeInformationAreaLayout(OneRow); + break; + case Starting: + mFmRadioState = Starting; + changeControlButtonState(ChannelsDisabledStop); + changeInformationAreaLayout(Animation); + break; + case Running: + mFmRadioState = Running; + changeControlButtonState(ChannelsEnabledStop); + changeInformationAreaLayout(OneRow); + break; + case ControllingAudio: + // TODO: Implement + changeControlButtonState(ChannelsEnabledStop); + break; + case NotControllingAudio: + // TODO: Implement + changeControlButtonState(ChannelsEnabledPlay); + break; + case AutoScanning: + // TODO: Implement + break; + case ConnectType1Headset: + // TODO: Implement + break; + case ConnectType2Headset: + // TODO: Implement + break; + case ConnectType3Headset: + // TODO: Implement + break; + default: + break; + } +} + +/*! + Changes visible layout of information area. + + /param InformationAreaLayout The layout to switch visible. + */ +void FmRadioHsWidget::changeInformationAreaLayout(InformationAreaLayout layout) +{ + switch (layout) { + case OneRow: + mInformationAreaOneRowLayout->show(); + mInformationAreaTwoRowsLayout->hide(); + mInformationAreaAnimationLayout->hide(); + break; + case TwoRows: + mInformationAreaOneRowLayout->hide(); + mInformationAreaTwoRowsLayout->show(); + mInformationAreaAnimationLayout->hide(); + break; + case Animation: + mInformationAreaOneRowLayout->hide(); + mInformationAreaTwoRowsLayout->hide(); + mInformationAreaAnimationLayout->show(); + break; + default: + break; + } +} + +/*! + Changes state of the control buttons. + + /param ControlButtonState State of the control buttons. + */ +void FmRadioHsWidget::changeControlButtonState(ControlButtonState buttonState) +{ + QString iconName; + switch (buttonState) { + case AllDisabledPlay: + mPreviousPushButton->setEnabled(false); + iconName.append("qtg_mono_play"); + mPlayPushButton->setIcon(HbIcon(iconName)); + mPlayPushButton->setEnabled(false); + mNextPushButton->setEnabled(false); + break; + case AllDisabledStop: + mPreviousPushButton->setEnabled(false); + iconName.append("qtg_mono_stop"); + mPlayPushButton->setIcon(HbIcon(iconName)); + mPlayPushButton->setEnabled(false); + mNextPushButton->setEnabled(false); + break; + case ChannelsDisabledPlay: + mPreviousPushButton->setEnabled(false); + QObject::disconnect(mPlayPushButton, SIGNAL(clicked()), this, + SLOT(unMute())); + QObject::disconnect(mPlayPushButton, SIGNAL(clicked()), this, + SLOT(mute())); + QObject::connect(mPlayPushButton, SIGNAL(clicked()), this, + SLOT(radioToBackground())); + iconName.append("qtg_mono_play"); + mPlayPushButton->setIcon(HbIcon(iconName)); + mPlayPushButton->setEnabled(true); + mNextPushButton->setEnabled(false); + break; + case ChannelsDisabledStop: + mPreviousPushButton->setEnabled(false); + iconName.append("qtg_mono_stop"); + mPlayPushButton->setIcon(HbIcon(iconName)); + mPlayPushButton->setEnabled(true); + mNextPushButton->setEnabled(false); + break; + case ChannelsEnabledPlay: + mPreviousPushButton->setEnabled(true); + QObject::disconnect(mPlayPushButton, SIGNAL(clicked()), this, + SLOT(radioToBackground())); + QObject::disconnect(mPlayPushButton, SIGNAL(clicked()), this, + SLOT(mute())); + QObject::connect(mPlayPushButton, SIGNAL(clicked()), this, + SLOT(unMute())); + iconName.append("qtg_mono_play"); + mPlayPushButton->setIcon(HbIcon(iconName)); + mPlayPushButton->setEnabled(true); + mNextPushButton->setEnabled(true); + break; + case ChannelsEnabledStop: + mPreviousPushButton->setEnabled(true); + QObject::disconnect(mPlayPushButton, SIGNAL(clicked()), this, + SLOT(radioToBackground())); + QObject::disconnect(mPlayPushButton, SIGNAL(clicked()), this, + SLOT(unMute())); + QObject::connect(mPlayPushButton, SIGNAL(clicked()), this, + SLOT(mute())); + iconName.append("qtg_mono_stop"); + mPlayPushButton->setIcon(HbIcon(iconName)); + mPlayPushButton->setEnabled(true); + mNextPushButton->setEnabled(true); + break; + default: + break; + } +} diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/src/fmradiohswidgetplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/src/fmradiohswidgetplugin.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,44 @@ +/* +* Copyright (c) 2010 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: FM Radio home screen widget plugin +* +*/ + +#include +#include +#include + +#include "fmradiohswidgetplugin.h" +#include "fmradiohswidget.h" + + +/*! + Initialize plugin for FM Radio home screen widget. Contains necessary information about + the fm radio widget that it can be loaded through QT Service Framework. +*/ +QObject *FmRadioHsWidgetPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, + QAbstractSecuritySession *session) +{ + Q_UNUSED(context); + Q_UNUSED(session); + + if (descriptor.interfaceName() == QLatin1String("com.nokia.IHomeScreenWidget")) { + return new FmRadioHsWidget(); + } else { + return 0; + } +} + +Q_EXPORT_PLUGIN2(fmradiohswidgetplugin, FmRadioHsWidgetPlugin) diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/src/fmradiohswidgetprocesshandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/src/fmradiohswidgetprocesshandler.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,119 @@ +/* +* 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: FM Radio widget process handler +* +*/ + +// System includes + +// User includes +#include "fmradiohswidgetprocesshandler.h" +#include "fmradiohswidget.h" + +/*! + Constructor + */ +FmRadioHsWidgetProcessHandler::FmRadioHsWidgetProcessHandler(QObject *parent) : + QObject(parent), mProcess(new QProcess(this)) +{ + QObject::connect(mProcess, SIGNAL(stateChanged(QProcess::ProcessState)), + this, SLOT(handleStateChange(QProcess::ProcessState))); + QObject::connect(mProcess, SIGNAL(error(QProcess::ProcessError error)), + this, SLOT(handleError(QProcess::ProcessError error))); + QObject::connect(mProcess, + SIGNAL(finished(int exitCode, QProcess::ExitStatus exitStatus)), + this, + SLOT(handleFinish(int exitCode, QProcess::ExitStatus exitStatus))); +} + +/*! + Destructor + */ +FmRadioHsWidgetProcessHandler::~FmRadioHsWidgetProcessHandler() +{ +} + +/*! + Launching of FM Radio application process. + */ +void FmRadioHsWidgetProcessHandler::startFmRadioApplication() +{ + if (mProcess->pid() == qint64(0)) { + QString executablePath = KRadioExecutablePath; + QStringList arguments; + arguments << KRadioExecutableArguments; + mProcess->start(executablePath, arguments); + } +} + +/*! + Handles state change notifications from FM Radio application process. + */ +void FmRadioHsWidgetProcessHandler::handleStateChange( + QProcess::ProcessState state) +{ + switch (state) { + case QProcess::NotRunning: + emit fmRadioApplicationStateChanged(QVariant(FmRadioHsWidget::NotRunning)); + break; + case QProcess::Starting: + emit fmRadioApplicationStateChanged(QVariant(FmRadioHsWidget::Starting)); + break; + case QProcess::Running: + emit fmRadioApplicationStateChanged(QVariant(FmRadioHsWidget::Running)); + break; + default: + break; + } +} + +/*! + Handles error notifications from FM Radio application process. + */ +void FmRadioHsWidgetProcessHandler::handleError( + QProcess::ProcessError error) +{ + switch (error) { + case QProcess::FailedToStart: + break; + case QProcess::Crashed: + break; + case QProcess::Timedout: + break; + case QProcess::WriteError: + break; + case QProcess::ReadError: + break; + case QProcess::UnknownError: + break; + default: + break; + } +} + +/*! + Handles finished process notifications from FM Radio application process. + */ +void FmRadioHsWidgetProcessHandler::handleFinish(int /*exitCode*/, + QProcess::ExitStatus exitStatus) +{ + switch (exitStatus) { + case QProcess::NormalExit: + break; + case QProcess::CrashExit: + break; + default: + break; + } +} diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/src/fmradiohswidgetprofilereader.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/src/fmradiohswidgetprofilereader.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,94 @@ +/* +* 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: FM Radio widget process handler +* +*/ + +// System includes +#include + +// User includes +#include "fmradiohswidgetprofilereader.h" +#include "xqsettingsmanager.h" +#include "xqsettingskey.h" +#include "xqpublishandsubscribeutils.h" + +/*! + Constructor + */ +FmRadioHsWidgetProfileReader::FmRadioHsWidgetProfileReader(QObject *parent) : + QObject(parent), + mSettingsManager(new XQSettingsManager(this)) +{ + // Monitors devices profile. + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidProfileEngine.iUid, KProEngActiveProfile); + mSettingsManager->startMonitoring(profileKey); + currentProfileStatus(mSettingsManager->readItemValue(profileKey)); + + connect(mSettingsManager, SIGNAL(itemDeleted(XQSettingsKey)), this, + SLOT(itemDeleted(XQSettingsKey))); + connect(mSettingsManager, SIGNAL(valueChanged(XQSettingsKey, QVariant)), + this, SLOT(handleChanges(XQSettingsKey, QVariant))); +} + +/*! + Destructor + */ +FmRadioHsWidgetProfileReader::~FmRadioHsWidgetProfileReader() +{ +} + + +/*! + Handling of deletion of listened P&S key. + + \param key Deleted key. + */ +void FmRadioHsWidgetProfileReader::itemDeleted(const XQSettingsKey& key) +{ + if (key.uid() == KCRUidProfileEngine.iUid && key.key() + == KProEngActiveProfile) { + } +} + +/*! + Notifications from settings manager are handled and routed to appropriate + private slots. + + \param key Changed key. + \param value Value of changed key. + */ +void FmRadioHsWidgetProfileReader::handleChanges(const XQSettingsKey& key, + const QVariant& value) +{ + if (key.uid() == KCRUidProfileEngine.iUid && key.key() + == KProEngActiveProfile) { + currentProfileStatus(value); + } +} + +/*! + Handling changes in profile information. + + \param value Originally information is of int type. Valid values after + conversion are described by KProEngActiveProfile in ProfileEngineSDKCRKeys.h. + */ +void FmRadioHsWidgetProfileReader::currentProfileStatus(QVariant value) +{ + if (value.canConvert(QVariant::Int)) { + emit profileChanged(value.toInt()); + } +} + diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin/src/fmradiohswidgetradioserviceclient.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin/src/fmradiohswidgetradioserviceclient.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,500 @@ +/* +* 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: FM Radio widget radio service client +* +*/ + +// System includes +#include + +// User includes +#include "fmradiohswidgetradioserviceclient.h" +#include "fmradiohswidget.h" + +/*! + Constructor + */ +FmRadioHsWidgetRadioServiceClient::FmRadioHsWidgetRadioServiceClient(QObject *parent) : + QObject(parent), + mRadioInformationServiceRequest(0), + mRadioControlServiceRequest(0) +{ +} + +/*! + Destructor + */ +FmRadioHsWidgetRadioServiceClient::~FmRadioHsWidgetRadioServiceClient() +{ + stopMonitoring(); +} + +/*! + Starting of FM Radio. + + /param startupState + */ +void FmRadioHsWidgetRadioServiceClient::doStartFmRadio(FmRadioStartupState startupState) +{ + if (!mRadioControlServiceRequest) { + createControlServiceRequest(); + } + + int commandId = 0; + + switch (startupState) { + case StartForeground: + // TODO: Include header and remove comment. + commandId = /*RadioServiceCommand::Foreground*/ 6; + break; + case StartBackground: + // TODO: Include header and remove comment. + commandId = /*RadioServiceCommand::Background*/ 7; + break; + default: + break; + } + + QVariant commandArgument; + commandArgument.setValue(commandId); + QList arguments; + arguments.append(commandArgument); + mRadioControlServiceRequest->setArguments(arguments); + + bool res = mRadioControlServiceRequest->send(); +} + +/*! + Bring FM Radio to foreground. + + */ +void FmRadioHsWidgetRadioServiceClient::doBringFmRadioToForeground(bool toForeground) +{ + if (!mRadioControlServiceRequest) { + createControlServiceRequest(); + } + QVariant commandArgument; + if (toForeground) { + // TODO: Include header and remove comment. + commandArgument.setValue(/*RadioServiceCommand::Foreground*/ 6); + } else { + // TODO: Include header and remove comment. + commandArgument.setValue(/*RadioServiceCommand::Background*/ 7); + } + QList arguments; + arguments.append(commandArgument); + mRadioControlServiceRequest->setArguments(arguments); + QList args = mRadioControlServiceRequest->arguments(); + + bool res = mRadioControlServiceRequest->send(); + + if (!res) { + int error = mRadioControlServiceRequest->latestError(); + handleRequestError(error); + // TODO: Handle error + } + stopMonitoring(); + startMonitoring(); +} + +void FmRadioHsWidgetRadioServiceClient::test() +{ + // Test is kept for example. We have to switch to use the XQAiwRequest and this includes workin example code. + //XQAiwRequest* req; +/* + QUrl uri("application://101FF976"); + QString a = "Uri=" + uri.toString(); + if (uri.isValid()) { + QString b = "isValid"; + } + QString c = "Uri authority=" + uri.authority(); +*/ +/* + QList list = mApplicationManager.list(KRadioServiceName, KRadioServiceMonitorInterfaceName); + foreach (XQAiwInterfaceDescriptor d, list) { + QString in = d.interfaceName(); + QString sn = d.serviceName(); + } + + list = mApplicationManager.list(KRadioServiceName, KRadioServiceMonitorInterfaceName, ""); + foreach (XQAiwInterfaceDescriptor d, list) { + QString in = d.interfaceName(); + QString sn = d.serviceName(); + } + + list = mApplicationManager.list(KRadioServiceMonitorInterfaceName, ""); + foreach (XQAiwInterfaceDescriptor d, list) { + QString in = d.interfaceName(); + QString sn = d.serviceName(); + } +*/ + //req = mApplicationManager.create(uri, false); + + /*req = mApplicationManager.create(KRadioServiceMonitorInterfaceName, KRadioServiceMonitorOperation, + false);*/ + + if (!mRadioInformationServiceRequest) { + createMonitorServiceRequest(); + } + bool res = mRadioInformationServiceRequest->send(); + + /*if (req) {*/ +/* + // Connect signals once + bool a = connect(req, SIGNAL(requestOk(const QVariant&)), this, + SLOT(handleOk(const QVariant&))); + bool b = connect(req, SIGNAL(requestError(int,const QString&)), this, + SLOT(handleError(int,const QString&))); +*/ + /*bool b = connect(req, SIGNAL(requestOk(const QVariant&)), this, + SLOT(handleFmRadioInformationChange(QVariant))); + bool c = connect(req, SIGNAL(requestError(int,const QString&)), this, + SLOT(handleError(int,const QString&)));*/ +/* + QList arg; + arg << ""; + req->setArguments(arg); +*/ +/* + QString op = req->operation(); + req->setOperation(KRadioServiceMonitorOperation); + op = req->operation(); +*/ + /*bool res = req->send();*/ + + /*if (res) { + //QTimer::singleShot(40000, this, SLOT(doGetFmRadioInformation())); + } + else { + // Request failed. + int x = 2; + } + + } + else { + int r; + r = 5; + }*/ +} + +/*! + Changing of FM Radio channel. + + /param command Command to execute. + */ +void FmRadioHsWidgetRadioServiceClient::doChangeFmRadioChannel( + FmRadioChannelChangeCommand command) +{ + if (!mRadioControlServiceRequest) { + createControlServiceRequest(); } + int commandId; + + switch (command) { + case PreviousFavouriteChannel: + // TODO: Include header and remove comment. + commandId = /*RadioServiceCommand::Previous*/ 2; + break; + case NextFavouriteChannel: + // TODO: Include header and remove comment. + commandId = /*RadioServiceCommand::Next*/ 3; + break; + default: + break; + } + + QVariant commandArgument; + commandArgument.setValue(commandId); + QList arguments; + arguments.append(commandArgument); + mRadioControlServiceRequest->setArguments(arguments); + + bool res = mRadioControlServiceRequest->send(); + + if (!res) { + int error = mRadioControlServiceRequest->latestError(); + handleRequestError(error); + } + + stopMonitoring(); + startMonitoring(); +} + +/*! + Changing of FM Radio channel. + + /param command Command to execute. + */ +void FmRadioHsWidgetRadioServiceClient::doControlFmRadioAudio( + FmRadioAudioControlCommand command) +{ + if (!mRadioControlServiceRequest) { + createControlServiceRequest(); } + + int commandId; + + switch (command) { + case Mute: + // TODO: Include header and remove comment. + commandId = /*RadioServiceCommand::Pause*/ 1; + break; + case Unmute: + // TODO: Include header and remove comment. + commandId = /*RadioServiceCommand::Play*/ 0; + break; + default: + break; + } + + QVariant commandArgument; + commandArgument.setValue(commandId); + QList arguments; + arguments.append(commandArgument); + mRadioControlServiceRequest->setArguments(arguments); + + bool res = mRadioControlServiceRequest->send(); + stopMonitoring(); + startMonitoring(); +} + +/*! + Start FM Radio information listening. + */ +void FmRadioHsWidgetRadioServiceClient::doGetFmRadioInformation() +{ + mRadioInformationServiceRequest->send(); +} + +/*! + Handle changes in FM Radio information texts. + + /param value + */ +void FmRadioHsWidgetRadioServiceClient::handleFmRadioInformationChange(const QVariant& value) +{ + startMonitoring(); + if (value.isValid() && value.canConvert(QVariant::String)) { + QString str = value.toString(); + // Extract the number from the beginning of the string. + int i = str.indexOf(" "); + QString notificationIdStr = str.left(i); + bool conversionOk; + int notificationId = notificationIdStr.toInt(&conversionOk); + // Rest is the actual string. + QString msg = str.mid(i); + + // If the type was converted ok + if (conversionOk) { + emit radioInformationChanged(notificationId, msg); + } + } +} + +/*! + Handle control command completion of FM Radio. + + /param value + */ +void FmRadioHsWidgetRadioServiceClient::handleFmRadioControlRequestComplete(const QVariant& value) +{ + if (value.isValid() && value.canConvert(QVariant::String)) { + QString str = value.toString(); + } + startMonitoring(); +} + +/*! + Handles request error. + + /param int Error value. + */ +void FmRadioHsWidgetRadioServiceClient::handleRequestError(int error) +{ + QString errorStr; + QVariant var(FmRadioHsWidget::NotRunning); + switch (error) { + case XQService::ENoError: + errorStr = "No error"; + break; + case XQService::EConnectionError: + // TODO close connection gracefully. Maybe try to esblish it again. + errorStr = "(/*!< Error in IPC Connection */"; + break; + case XQService::EConnectionClosed: + // TODO close connection gracefully. Maybe try to esblish it again. + errorStr = "/*!< IPC Connection is closed */"; + stopMonitoring(); + handleFmRadioStateChange(var); + break; + case XQService::EServerNotFound: + errorStr = "/*!< Can not find server */"; + break; + case XQService::EIPCError: + errorStr = "/*!< Known IPC error defined by SDK */"; + break; + case XQService::EUnknownError: + errorStr = "/*!< Unknown IPC error */"; + break; + case XQService::ERequestPending: + errorStr = "/*!< Already pending request */"; + stopMonitoring(); + startMonitoring(); + break; + default: + break; + } +} + +/*! + Handles request error. + + /param int Error value. + */ +void FmRadioHsWidgetRadioServiceClient::handleRequestError2(int error) +{ + QString errorStr; + switch (error) { + case XQService::ENoError: + errorStr = "No error"; + break; + case XQService::EConnectionError: + // TODO close connection gracefully. Maybe try to esblish it again. + errorStr = "(/*!< Error in IPC Connection */"; + break; + case XQService::EConnectionClosed: + errorStr = "/*!< IPC Connection is closed */"; + stopMonitoring(); + startMonitoring(); + break; + case XQService::EServerNotFound: + errorStr = "/*!< Can not find server */"; + break; + case XQService::EIPCError: + errorStr = "/*!< Known IPC error defined by SDK */"; + break; + case XQService::EUnknownError: + errorStr = "/*!< Unknown IPC error */"; + break; + case XQService::ERequestPending: + errorStr = "/*!< Already pending request */"; + stopMonitoring(); + startMonitoring(); + break; + default: + break; + } +} + +/*! + Handle changes in FM Radio state. + + /param value New state of FM Radio. + */ +void FmRadioHsWidgetRadioServiceClient::handleFmRadioStateChange(QVariant& value) +{ + if (value.isValid()) { + emit radioStateChanged(value); + } +} + +/*! + Handle request completion. + + /param value + */ +void FmRadioHsWidgetRadioServiceClient::requestCompleted(const QVariant& value) +{ + if (value.isValid()) { + } +} + +/*! + Handle ok. + + /param result + */ +void FmRadioHsWidgetRadioServiceClient::handleOk(const QVariant& result) +{ + if (!result.isNull() && result.isValid() && result.toBool()) { + } +} + +/*! + Handle error. + + /param errorCode + /param errorMessage + */ +void FmRadioHsWidgetRadioServiceClient::handleError(int /*errorCode*/, const QString& /*errorMessage*/) +{ + //int e = errorCode; + //QString em = errorMessage; +} + +/*! + Creates control service request object. + */ +void FmRadioHsWidgetRadioServiceClient::createControlServiceRequest() +{ + if (!mRadioControlServiceRequest) { + QString fullServiceName = KRadioServiceName + "." + KRadioServiceControlInterfaceName; + mRadioControlServiceRequest = new XQServiceRequest(fullServiceName, + KRadioServiceControlOperation, false); + bool a = connect(mRadioControlServiceRequest, SIGNAL(requestCompleted(QVariant)), this, + SLOT(requestCompleted(QVariant))); + bool b = connect(mRadioControlServiceRequest, SIGNAL(requestError(int)), this, + SLOT(handleRequestError2(int))); + } +} + +/*! + Creates monitor service request object. + */ +void FmRadioHsWidgetRadioServiceClient::createMonitorServiceRequest() +{ + if (!mRadioInformationServiceRequest) { + QString fullServiceName = KRadioServiceName + "." + KRadioServiceMonitorInterfaceName; + mRadioInformationServiceRequest = new XQServiceRequest(fullServiceName, + KRadioServiceMonitorOperation, false); + bool a = connect(mRadioInformationServiceRequest, SIGNAL(requestCompleted(QVariant)), this, + SLOT(handleFmRadioInformationChange(QVariant))); + bool b = connect(mRadioInformationServiceRequest, SIGNAL(requestError(int)), this, + SLOT(handleRequestError(int))); + } +} + +/*! + Start radio monitoring. + */ +void FmRadioHsWidgetRadioServiceClient::startMonitoring() +{ + if (!mRadioInformationServiceRequest) { + createMonitorServiceRequest(); + } + doGetFmRadioInformation(); +} + +/*! + Stops radio monitoring. + */ +void FmRadioHsWidgetRadioServiceClient::stopMonitoring() +{ + if (mRadioInformationServiceRequest) { + delete mRadioInformationServiceRequest; + mRadioInformationServiceRequest = NULL; + } + if (mRadioControlServiceRequest) { + delete mRadioControlServiceRequest; + mRadioControlServiceRequest = NULL; + } +} diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugin_exports_to_rom.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugin_exports_to_rom.pri Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,30 @@ +# +# 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: +# + +BLD_INF_RULES.prj_exports += \ +"$${LITERAL_HASH}include " + +#iby exports to core +BLD_INF_RULES.prj_exports += \ +"rom/fmradiohswidgetplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(fmradiohswidgetplugin.iby)" + +#iby exports to installe +BLD_INF_RULES.prj_exports += \ +"rom/fmradiohswidgetplugininstaller.iby CORE_APP_LAYER_IBY_EXPORT_PATH(fmradiohswidgetplugininstaller.iby)" + +#iby exports to language +#BLD_INF_RULES.prj_exports += \ +#"rom/homescreenapp_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(homescreenapp_resources.iby)" diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugininstaller/fmradiohswidgetplugininstaller.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugininstaller/fmradiohswidgetplugininstaller.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,37 @@ +/* +* Copyright (c) 2010 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: Example of home screen widget +* +*/ + +#include +#include +#include + +QTM_USE_NAMESPACE + +const QString KXml = "c:/private/20022F35/import/widgetregistry/E0022EEE/fmradiohswidgetplugin.xml"; + +int main(int argc, char *argv[]) +{ + QCoreApplication app(argc, argv); + + QServiceManager s; + + if (QFile::exists(KXml)) { + s.addService(KXml); + } else { + s.removeService("fmradiohswidgetplugin"); + } +} diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/fmradiohswidgetplugininstaller/fmradiohswidgetplugininstaller.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/fmradiohswidgetplugininstaller/fmradiohswidgetplugininstaller.pro Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,31 @@ +# +# Copyright (c) 2010 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: Example of home screen widget +# + +include(../buildflags.pri) + +TEMPLATE = app + +QT = core +CONFIG += no_icon + +CONFIG += mobility +MOBILITY = serviceframework + +SOURCES += fmradiohswidgetplugininstaller.cpp + +symbian { + TARGET.CAPABILITY = ALL -TCB +} diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/hswidgetplugin.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/hswidgetplugin.pro Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,21 @@ +# +# Copyright (c) 2010 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: Example of home screen widget +# + +TEMPLATE = subdirs +SUBDIRS = fmradiohswidgetplugin \ + fmradiohswidgetplugininstaller + +symbian:include(fmradiohswidgetplugin_exports_to_rom.pri) diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/rom/fmradiohswidgetplugin.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/rom/fmradiohswidgetplugin.iby Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,27 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef __FMRADIOHSWIDGETPLUGIN_IBY__ +#define __FMRADIOHSWIDGETPLUGIN_IBY__ + +file=ABI_DIR\BUILD_DIR\fmradiohswidgetplugin.dll SHARED_LIB_DIR\fmradiohswidgetplugin.dll +data=ZPRIVATE\20022f35\import\widgetregistry\E0022EEE\fmradiohswidgetplugin.qtplugin private\20022f35\import\widgetregistry\E0022EEE\fmradiohswidgetplugin.qtplugin +data=ZPRIVATE\20022f35\import\widgetregistry\E0022EEE\fmradiohswidgetplugin.manifest private\20022f35\import\widgetregistry\E0022EEE\fmradiohswidgetplugin.manifest +data=ZPRIVATE\20022f35\import\widgetregistry\E0022EEE\fmradiohswidgetplugin.xml private\20022f35\import\widgetregistry\E0022EEE\fmradiohswidgetplugin.xml + + +#endif //__FMRADIOHSWIDGETPLUGIN_IBY__ diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/rom/fmradiohswidgetplugininstaller.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/rom/fmradiohswidgetplugininstaller.iby Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,23 @@ +/* +* 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 __FMRADIOHSWIDGETPLUGININSTALLER_IBY__ +#define __FMRADIOHSWIDGETPLUGININSTALLER_IBY__ + +S60_APP_EXE(fmradiohswidgetplugininstaller) + +#endif //__FMRADIOHSWIDGETPLUGININSTALLER_IBY__ diff -r 46974bebc798 -r 63aabac4416d hswidgetplugin/sis/fmradiohswidgetplugin.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hswidgetplugin/sis/fmradiohswidgetplugin.pkg Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,44 @@ +; +; Copyright (c) 2010 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: +; + +; Language +&EN + +; SIS header: name, uid, version +#{"fmradiohswidgetplugin"},(0xE0022EEE),1,0,0 + +; Localised Vendor name +%{"Vendor"} + +; Unique Vendor name +:"Vendor" + +; Manual PKG pre-rules from PRO files +; Default HW/platform dependencies +[0x101F7961],0,0,0,{"S60ProductID"} +[0x102032BE],0,0,0,{"S60ProductID"} +[0x102752AE],0,0,0,{"S60ProductID"} +[0x1028315F],0,0,0,{"S60ProductID"} + +"/epoc32/release/armv5/urel/fmradiohswidgetplugin.dll" - "c:/sys/bin/fmradiohswidgetplugin.dll" +"../fmradiohswidgetplugin/qmakepluginstubs/fmradiohswidgetplugin.qtplugin" - "c:/private/20022F35/import/widgetregistry/E0022EEE/fmradiohswidgetplugin.qtplugin" +"../fmradiohswidgetplugin/resource/fmradiohswidgetplugin.manifest" - "c:/private/20022F35/import/widgetregistry/E0022EEE/fmradiohswidgetplugin.manifest" +"../fmradiohswidgetplugin/resource/fmradiohswidgetplugin.s60xml" - "c:/private/20022F35/import/widgetregistry/E0022EEE/fmradiohswidgetplugin.xml" +;"/epoc32/data/z/private/20022F35/import/widgetregistry/E0022EEE/fmradiohswidgetplugin.s60xml" - "c:/private/20022F35/import/widgetregistry/E0022EEE/fmradiohswidgetplugin.xml" +;"../fmradiohswidgetplugin/resource/fmradiohswidgetplugin.xml" - "c:/private/20022F35/import/widgetregistry/E0022EEE/fmradiohswidgetplugin.xml" +;"../fmradiohswidgetplugin/resource/fmradiohswidgetplugin_icon.png" - "!:\private\20022F35\import\widgetregistry\E0022EEE\fmradiohswidgetplugin_icon.png" + +"/epoc32/release/armv5/urel/fmradiohswidgetplugininstaller.exe" - "c:/sys/bin/fmradiohswidgetplugininstaller.exe", FR, RB, RW diff -r 46974bebc798 -r 63aabac4416d package_definition.xml --- a/package_definition.xml Fri Mar 19 09:29:04 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 46974bebc798 -r 63aabac4416d radio.pro --- a/radio.pro Fri Mar 19 09:29:04 2010 +0200 +++ b/radio.pro Fri Apr 16 14:58:55 2010 +0300 @@ -20,4 +20,5 @@ symbian: { BLD_INF_RULES.prj_mmpfiles += $$LITERAL_HASH"include \"radioengine/group/bld.inf\"" SUBDIRS += radioapp + SUBDIRS += hswidgetplugin } \ No newline at end of file diff -r 46974bebc798 -r 63aabac4416d radioapp/bwins/radiouiengineu.def --- a/radioapp/bwins/radiouiengineu.def Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/bwins/radiouiengineu.def Fri Apr 16 14:58:55 2010 +0300 @@ -5,227 +5,236 @@ ?currentStation@RadioStationModel@@QBEABVRadioStation@@XZ @ 4 NONAME ; class RadioStation const & RadioStationModel::currentStation(void) const ?qt_metacast@RadioUiEngine@@UAEPAXPBD@Z @ 5 NONAME ; void * RadioUiEngine::qt_metacast(char const *) ?parseFrequency@RadioUiEngine@@SA?AVQString@@I@Z @ 6 NONAME ; class QString RadioUiEngine::parseFrequency(unsigned int) - ?d_func@RadioPlayLogModel@@ABEPBVRadioPlayLogModelPrivate@@XZ @ 7 NONAME ; class RadioPlayLogModelPrivate const * RadioPlayLogModel::d_func(void) const - ?index@RadioStationFilterModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 8 NONAME ; class QModelIndex RadioStationFilterModel::index(int, int, class QModelIndex const &) const - ?parseFrequency@RadioStation@@SA?AVQString@@I@Z @ 9 NONAME ; class QString RadioStation::parseFrequency(unsigned int) - ??0RadioStation@@QAE@ABV0@@Z @ 10 NONAME ; RadioStation::RadioStation(class RadioStation const &) - ?region@RadioUiEngine@@QBE?AW4Region@RadioRegion@@XZ @ 11 NONAME ; enum RadioRegion::Region RadioUiEngine::region(void) const - ?frequency@RadioStation@@QBEIXZ @ 12 NONAME ; unsigned int RadioStation::frequency(void) const - ?skipPrevious@RadioUiEngine@@QAEXXZ @ 13 NONAME ; void RadioUiEngine::skipPrevious(void) - ?setFavoriteByFrequency@RadioStationModel@@QAEXI_N@Z @ 14 NONAME ; void RadioStationModel::setFavoriteByFrequency(unsigned int, bool) - ?findFrequency@RadioStationModel@@QAE_NIAAVRadioStation@@@Z @ 15 NONAME ; bool RadioStationModel::findFrequency(unsigned int, class RadioStation &) - ??4RadioPlayLogItem@@QAEAAV0@ABV0@@Z @ 16 NONAME ; class RadioPlayLogItem & RadioPlayLogItem::operator=(class RadioPlayLogItem const &) - ??0RadioPlayLogItem@@QAE@ABV0@@Z @ 17 NONAME ; RadioPlayLogItem::RadioPlayLogItem(class RadioPlayLogItem const &) - ?staticMetaObject@RadioUiEngine@@2UQMetaObject@@B @ 18 NONAME ; struct QMetaObject const RadioUiEngine::staticMetaObject - ?qt_metacast@RadioPlayLogModel@@UAEPAXPBD@Z @ 19 NONAME ; void * RadioPlayLogModel::qt_metacast(char const *) - ?stationsInRange@RadioStationModel@@QAE?AV?$QList@VRadioStation@@@@II@Z @ 20 NONAME ; class QList RadioStationModel::stationsInRange(unsigned int, unsigned int) - ?seekDown@RadioUiEngine@@QAEXXZ @ 21 NONAME ; void RadioUiEngine::seekDown(void) - ?removeAll@RadioPlayLogModel@@QAEXXZ @ 22 NONAME ; void RadioPlayLogModel::removeAll(void) - ?tuneWithDelay@RadioUiEngine@@QAEXIH@Z @ 23 NONAME ; void RadioUiEngine::tuneWithDelay(unsigned int, int) - ?trUtf8@RadioPlayLogModel@@SA?AVQString@@PBD0@Z @ 24 NONAME ; class QString RadioPlayLogModel::trUtf8(char const *, char const *) - ?hasPiCode@RadioStation@@QBE_NXZ @ 25 NONAME ; bool RadioStation::hasPiCode(void) const - ?addRadioTextPlus@RadioPlayLogModel@@AAEXHABVQString@@@Z @ 26 NONAME ; void RadioPlayLogModel::addRadioTextPlus(int, class QString const &) - ?setFavoriteByPreset@RadioStationModel@@QAEXH_N@Z @ 27 NONAME ; void RadioStationModel::setFavoriteByPreset(int, bool) - ?scanAndSaveFinished@RadioUiEngine@@IAEXXZ @ 28 NONAME ; void RadioUiEngine::scanAndSaveFinished(void) - ?rdsAvailabilityChanged@RadioUiEngine@@IAEX_N@Z @ 29 NONAME ; void RadioUiEngine::rdsAvailabilityChanged(bool) - ?findPresetIndex@RadioStationModel@@QAEHHAAVRadioStation@@@Z @ 30 NONAME ; int RadioStationModel::findPresetIndex(int, class RadioStation &) - ?stationHandlerIf@RadioStationModel@@QAEAAVRadioStationHandlerIf@@XZ @ 31 NONAME ; class RadioStationHandlerIf & RadioStationModel::stationHandlerIf(void) - ?resetCurrentSong@RadioPlayLogModel@@QAEXXZ @ 32 NONAME ; void RadioPlayLogModel::resetCurrentSong(void) - ?emitVolumeChanged@RadioUiEngine@@AAEXH@Z @ 33 NONAME ; void RadioUiEngine::emitVolumeChanged(int) - ?seekUp@RadioUiEngine@@QAEXXZ @ 34 NONAME ; void RadioUiEngine::seekUp(void) - ?qt_metacall@RadioUiEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 35 NONAME ; int RadioUiEngine::qt_metacall(enum QMetaObject::Call, int, void * *) - ?emitSeekingStarted@RadioUiEngine@@AAEXW4Direction@Seeking@@@Z @ 36 NONAME ; void RadioUiEngine::emitSeekingStarted(enum Seeking::Direction) - ?reset@RadioStation@@AAEXXZ @ 37 NONAME ; void RadioStation::reset(void) - ?isFavorite@RadioPlayLogItem@@QBE_NXZ @ 38 NONAME ; bool RadioPlayLogItem::isFavorite(void) const - ??1RadioStationFilterModel@@UAE@XZ @ 39 NONAME ; RadioStationFilterModel::~RadioStationFilterModel(void) - ?emitAudioRouteChanged@RadioUiEngine@@AAEX_N@Z @ 40 NONAME ; void RadioUiEngine::emitAudioRouteChanged(bool) - ??_ERadioPlayLogModel@@UAE@I@Z @ 41 NONAME ; RadioPlayLogModel::~RadioPlayLogModel(unsigned int) - ??4RadioStation@@QAEAAV0@ABV0@@Z @ 42 NONAME ; class RadioStation & RadioStation::operator=(class RadioStation const &) - ?toggleAudioRoute@RadioUiEngine@@QAEXXZ @ 43 NONAME ; void RadioUiEngine::toggleAudioRoute(void) - ?unsetType@RadioStation@@QAEXV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 44 NONAME ; void RadioStation::unsetType(class QFlags) - ?muteChanged@RadioUiEngine@@IAEX_N@Z @ 45 NONAME ; void RadioUiEngine::muteChanged(bool) - ?maxFrequency@RadioUiEngine@@QBEIXZ @ 46 NONAME ; unsigned int RadioUiEngine::maxFrequency(void) const - ?setIcons@RadioStationModel@@QAEXABVQIcon@@0@Z @ 47 NONAME ; void RadioStationModel::setIcons(class QIcon const &, class QIcon const &) - ?saveStation@RadioStationModel@@QAEXAAVRadioStation@@@Z @ 48 NONAME ; void RadioStationModel::saveStation(class RadioStation &) - ?findUnusedPresetIndex@RadioStationModel@@AAEHXZ @ 49 NONAME ; int RadioStationModel::findUnusedPresetIndex(void) - ?hasChanged@RadioStation@@QBE_NXZ @ 50 NONAME ; bool RadioStation::hasChanged(void) const - ?isScanning@RadioUiEngine@@QBE_NXZ @ 51 NONAME ; bool RadioUiEngine::isScanning(void) const - ?dynamicPsCheckEnded@RadioStationModel@@AAEXXZ @ 52 NONAME ; void RadioStationModel::dynamicPsCheckEnded(void) - ?itemAdded@RadioPlayLogModel@@IAEXXZ @ 53 NONAME ; void RadioPlayLogModel::itemAdded(void) - ??0RadioPlayLogModel@@AAE@AAVRadioUiEngine@@@Z @ 54 NONAME ; RadioPlayLogModel::RadioPlayLogModel(class RadioUiEngine &) - ?setFrequency@RadioStation@@AAEXI@Z @ 55 NONAME ; void RadioStation::setFrequency(unsigned int) - ?piCodeToCallSign@RadioStation@@AAE?AVQString@@I@Z @ 56 NONAME ; class QString RadioStation::piCodeToCallSign(unsigned int) - ?hasLooped@RadioStationFilterModel@@QBE_NABVQModelIndex@@@Z @ 57 NONAME ; bool RadioStationFilterModel::hasLooped(class QModelIndex const &) const - ?setFavorite@RadioPlayLogItem@@QAEXXZ @ 58 NONAME ; void RadioPlayLogItem::setFavorite(void) - ?favoriteChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 59 NONAME ; void RadioStationModel::favoriteChanged(class RadioStation const &) - ?radioStatusChanged@RadioUiEngine@@IAEX_N@Z @ 60 NONAME ; void RadioUiEngine::radioStatusChanged(bool) - ?playCount@RadioPlayLogItem@@QBEHXZ @ 61 NONAME ; int RadioPlayLogItem::playCount(void) const - ?addStation@RadioStationModel@@QAEXABVRadioStation@@@Z @ 62 NONAME ; void RadioStationModel::addStation(class RadioStation const &) - ?tr@RadioPlayLogModel@@SA?AVQString@@PBD0H@Z @ 63 NONAME ; class QString RadioPlayLogModel::tr(char const *, char const *, int) - ?emitheadsetStatusChanged@RadioUiEngine@@AAEX_N@Z @ 64 NONAME ; void RadioUiEngine::emitheadsetStatusChanged(bool) - ?createNewFilterModel@RadioUiEngine@@QAEPAVRadioStationFilterModel@@PAVQObject@@@Z @ 65 NONAME ; class RadioStationFilterModel * RadioUiEngine::createNewFilterModel(class QObject *) - ?tunedToFrequency@RadioUiEngine@@IAEXIH@Z @ 66 NONAME ; void RadioUiEngine::tunedToFrequency(unsigned int, int) - ?tr@RadioUiEngine@@SA?AVQString@@PBD0H@Z @ 67 NONAME ; class QString RadioUiEngine::tr(char const *, char const *, int) - ?startRadio@RadioUiEngine@@QAE_NXZ @ 68 NONAME ; bool RadioUiEngine::startRadio(void) - ?tunePreset@RadioUiEngine@@QAEXH@Z @ 69 NONAME ; void RadioUiEngine::tunePreset(int) - ?emitDataChanged@RadioStationModel@@AAEXABVRadioStation@@@Z @ 70 NONAME ; void RadioStationModel::emitDataChanged(class RadioStation const &) - ?decrementReferenceCount@RadioPlayLogItem@@AAEXXZ @ 71 NONAME ; void RadioPlayLogItem::decrementReferenceCount(void) - ?isRadioOn@RadioUiEngine@@QBE_NXZ @ 72 NONAME ; bool RadioUiEngine::isRadioOn(void) const - ?increasePlayCount@RadioPlayLogItem@@QAEXXZ @ 73 NONAME ; void RadioPlayLogItem::increasePlayCount(void) - ?modelIndexFromFrequency@RadioStationModel@@QAE?AVQModelIndex@@I@Z @ 74 NONAME ; class QModelIndex RadioStationModel::modelIndexFromFrequency(unsigned int) - ?data@RadioStationFilterModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 75 NONAME ; class QVariant RadioStationFilterModel::data(class QModelIndex const &, int) const - ?list@RadioStationModel@@QBEABV?$QMap@IVRadioStation@@@@XZ @ 76 NONAME ; class QMap const & RadioStationModel::list(void) const - ?tr@RadioStationModel@@SA?AVQString@@PBD0@Z @ 77 NONAME ; class QString RadioStationModel::tr(char const *, char const *) - ?hasRds@RadioStation@@QBE_NXZ @ 78 NONAME ; bool RadioStation::hasRds(void) const - ?flags@RadioStationModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 79 NONAME ; class QFlags RadioStationModel::flags(class QModelIndex const &) const - ?detach@RadioStation@@QAEXXZ @ 80 NONAME ; void RadioStation::detach(void) - ?getStaticMetaObject@RadioPlayLogModel@@SAABUQMetaObject@@XZ @ 81 NONAME ; struct QMetaObject const & RadioPlayLogModel::getStaticMetaObject(void) - ?stationsInRange@RadioUiEngine@@QAE?AV?$QList@VRadioStation@@@@II@Z @ 82 NONAME ; class QList RadioUiEngine::stationsInRange(unsigned int, unsigned int) - ?trUtf8@RadioUiEngine@@SA?AVQString@@PBD0@Z @ 83 NONAME ; class QString RadioUiEngine::trUtf8(char const *, char const *) - ?setPiCode@RadioStation@@AAE_NHW4Region@RadioRegion@@@Z @ 84 NONAME ; bool RadioStation::setPiCode(int, enum RadioRegion::Region) - ?radioText@RadioStation@@QBE?AVQString@@XZ @ 85 NONAME ; class QString RadioStation::radioText(void) const - ?setData@RadioStationModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 86 NONAME ; bool RadioStationModel::setData(class QModelIndex const &, class QVariant const &, int) - ??_ERadioPlayLogItem@@UAE@I@Z @ 87 NONAME ; RadioPlayLogItem::~RadioPlayLogItem(unsigned int) - ?setVolume@RadioUiEngine@@QAEXH@Z @ 88 NONAME ; void RadioUiEngine::setVolume(int) - ?setFavorite@RadioStation@@QAEX_N@Z @ 89 NONAME ; void RadioStation::setFavorite(bool) - ?setFavorite@RadioPlayLogModel@@QAEXXZ @ 90 NONAME ; void RadioPlayLogModel::setFavorite(void) - ?addRecognizedSong@RadioUiEngine@@QAEXABVQString@@0@Z @ 91 NONAME ; void RadioUiEngine::addRecognizedSong(class QString const &, class QString const &) - ?d_func@RadioStationModel@@ABEPBVRadioStationModelPrivate@@XZ @ 92 NONAME ; class RadioStationModelPrivate const * RadioStationModel::d_func(void) const - ?emitChangeSignals@RadioStationModel@@AAEXABVRadioStation@@V?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 93 NONAME ; void RadioStationModel::emitChangeSignals(class RadioStation const &, class QFlags) - ?tr@RadioStationModel@@SA?AVQString@@PBD0H@Z @ 94 NONAME ; class QString RadioStationModel::tr(char const *, char const *, int) - ?setCyclic@RadioStationFilterModel@@QAEX_N@Z @ 95 NONAME ; void RadioStationFilterModel::setCyclic(bool) - ??1RadioStationModel@@UAE@XZ @ 96 NONAME ; RadioStationModel::~RadioStationModel(void) - ?isMuted@RadioUiEngine@@QBE_NXZ @ 97 NONAME ; bool RadioUiEngine::isMuted(void) const - ?renameStation@RadioStationModel@@QAEXHABVQString@@@Z @ 98 NONAME ; void RadioStationModel::renameStation(int, class QString const &) - ?genreToString@RadioUiEngine@@QAE?AVQString@@H@Z @ 99 NONAME ; class QString RadioUiEngine::genreToString(int) - ?currentFrequency@RadioUiEngine@@QBEIXZ @ 100 NONAME ; unsigned int RadioUiEngine::currentFrequency(void) const - ?d_func@RadioPlayLogModel@@AAEPAVRadioPlayLogModelPrivate@@XZ @ 101 NONAME ; class RadioPlayLogModelPrivate * RadioPlayLogModel::d_func(void) - ?setUserDefinedName@RadioStation@@QAEXABVQString@@@Z @ 102 NONAME ; void RadioStation::setUserDefinedName(class QString const &) - ?data@RadioPlayLogModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 103 NONAME ; class QVariant RadioPlayLogModel::data(class QModelIndex const &, int) const - ?setUrl@RadioStation@@AAEXABVQString@@@Z @ 104 NONAME ; void RadioStation::setUrl(class QString const &) - ?setArtist@RadioPlayLogItem@@QAEXABVQString@@@Z @ 105 NONAME ; void RadioPlayLogItem::setArtist(class QString const &) - ??1RadioStation@@UAE@XZ @ 106 NONAME ; RadioStation::~RadioStation(void) - ?isCurrentSongRecognized@RadioPlayLogModel@@QBE_NXZ @ 107 NONAME ; bool RadioPlayLogModel::isCurrentSongRecognized(void) const - ?callSignString@RadioStation@@AAE?AVQString@@I@Z @ 108 NONAME ; class QString RadioStation::callSignString(unsigned int) - ?isValid@RadioStation@@QBE_NXZ @ 109 NONAME ; bool RadioStation::isValid(void) const - ?isEqual@RadioStationFilterModel@@QBE_NABVQModelIndex@@0@Z @ 110 NONAME ; bool RadioStationFilterModel::isEqual(class QModelIndex const &, class QModelIndex const &) const - ?setTitle@RadioPlayLogItem@@QAEXABVQString@@@Z @ 111 NONAME ; void RadioPlayLogItem::setTitle(class QString const &) - ??1RadioPlayLogModel@@EAE@XZ @ 112 NONAME ; RadioPlayLogModel::~RadioPlayLogModel(void) - ?decrementReferenceCount@RadioStation@@AAEXXZ @ 113 NONAME ; void RadioStation::decrementReferenceCount(void) - ?trUtf8@RadioUiEngine@@SA?AVQString@@PBD0H@Z @ 114 NONAME ; class QString RadioUiEngine::trUtf8(char const *, char const *, int) - ??0RadioPlayLogItem@@QAE@ABVQString@@0@Z @ 115 NONAME ; RadioPlayLogItem::RadioPlayLogItem(class QString const &, class QString const &) - ?trUtf8@RadioStationModel@@SA?AVQString@@PBD0@Z @ 116 NONAME ; class QString RadioStationModel::trUtf8(char const *, char const *) - ?cancelScanFrequencyBand@RadioUiEngine@@QAEXXZ @ 117 NONAME ; void RadioUiEngine::cancelScanFrequencyBand(void) - ?setRadioTextPlus@RadioStation@@AAEXHABVQString@@@Z @ 118 NONAME ; void RadioStation::setRadioTextPlus(int, class QString const &) - ?setChangeFlags@RadioStation@@AAEXV?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 119 NONAME ; void RadioStation::setChangeFlags(class QFlags) - ?modelIndexFromFrequency@RadioStationFilterModel@@QAE?AVQModelIndex@@I@Z @ 120 NONAME ; class QModelIndex RadioStationFilterModel::modelIndexFromFrequency(unsigned int) - ?tuneFrequency@RadioUiEngine@@QAEXIH@Z @ 121 NONAME ; void RadioUiEngine::tuneFrequency(unsigned int, int) - ?stationDataChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 122 NONAME ; void RadioStationModel::stationDataChanged(class RadioStation const &) - ?model@RadioUiEngine@@QAEAAVRadioStationModel@@XZ @ 123 NONAME ; class RadioStationModel & RadioUiEngine::model(void) - ?headsetStatusChanged@RadioUiEngine@@IAEX_N@Z @ 124 NONAME ; void RadioUiEngine::headsetStatusChanged(bool) - ?currentStation@RadioStationModel@@QAEAAVRadioStation@@XZ @ 125 NONAME ; class RadioStation & RadioStationModel::currentStation(void) - ?genre@RadioStation@@QBEHXZ @ 126 NONAME ; int RadioStation::genre(void) const - ?emitTunedToFrequency@RadioUiEngine@@AAEXIH@Z @ 127 NONAME ; void RadioUiEngine::emitTunedToFrequency(unsigned int, int) - ?updateItem@RadioPlayLogModel@@AAEXHABVRadioPlayLogItem@@_N@Z @ 128 NONAME ; void RadioPlayLogModel::updateItem(int, class RadioPlayLogItem const &, bool) - ?flags@RadioPlayLogModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 129 NONAME ; class QFlags RadioPlayLogModel::flags(class QModelIndex const &) const - ??0RadioStation@@QAE@XZ @ 130 NONAME ; RadioStation::RadioStation(void) - ?metaObject@RadioPlayLogModel@@UBEPBUQMetaObject@@XZ @ 131 NONAME ; struct QMetaObject const * RadioPlayLogModel::metaObject(void) const - ?psType@RadioStation@@QBE?AV?$QFlags@W4PsTypeFlag@RadioStation@@@@XZ @ 132 NONAME ; class QFlags RadioStation::psType(void) const - ?d_func@RadioUiEngine@@ABEPBVRadioUiEnginePrivate@@XZ @ 133 NONAME ; class RadioUiEnginePrivate const * RadioUiEngine::d_func(void) const - ?qt_metacall@RadioPlayLogModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 134 NONAME ; int RadioPlayLogModel::qt_metacall(enum QMetaObject::Call, int, void * *) - ?addItem@RadioPlayLogModel@@AAEXABVQString@@0@Z @ 135 NONAME ; void RadioPlayLogModel::addItem(class QString const &, class QString const &) - ?isSongRecognitionAppAvailable@RadioUiEngine@@QAE_NXZ @ 136 NONAME ; bool RadioUiEngine::isSongRecognitionAppAvailable(void) - ?clearRadioTextPlus@RadioPlayLogModel@@AAEXXZ @ 137 NONAME ; void RadioPlayLogModel::clearRadioTextPlus(void) - ?findCurrentStation@RadioStationModel@@AAE?AVRadioStation@@I@Z @ 138 NONAME ; class RadioStation RadioStationModel::findCurrentStation(unsigned int) - ?setPsType@RadioStation@@AAEXV?$QFlags@W4PsTypeFlag@RadioStation@@@@@Z @ 139 NONAME ; void RadioStation::setPsType(class QFlags) - ?realIndex@RadioStationFilterModel@@QBE?AVQModelIndex@@ABV2@@Z @ 140 NONAME ; class QModelIndex RadioStationFilterModel::realIndex(class QModelIndex const &) const - ?url@RadioStation@@QBE?AVQString@@XZ @ 141 NONAME ; class QString RadioStation::url(void) const - ?setData@RadioPlayLogModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 142 NONAME ; bool RadioPlayLogModel::setData(class QModelIndex const &, class QVariant const &, int) - ?emitRdsAvailabilityChanged@RadioUiEngine@@AAEX_N@Z @ 143 NONAME ; void RadioUiEngine::emitRdsAvailabilityChanged(bool) - ?frequencyMhz@RadioStation@@QBE?AVQString@@XZ @ 144 NONAME ; class QString RadioStation::frequencyMhz(void) const - ?isAntennaAttached@RadioUiEngine@@QBE_NXZ @ 145 NONAME ; bool RadioUiEngine::isAntennaAttached(void) const - ?qt_metacast@RadioStationModel@@UAEPAXPBD@Z @ 146 NONAME ; void * RadioStationModel::qt_metacast(char const *) - ?emitScanAndSaveFinished@RadioUiEngine@@AAEXXZ @ 147 NONAME ; void RadioUiEngine::emitScanAndSaveFinished(void) - ??0RadioStationFilterModel@@QAE@AAVRadioUiEngine@@PAVQObject@@@Z @ 148 NONAME ; RadioStationFilterModel::RadioStationFilterModel(class RadioUiEngine &, class QObject *) - ?filterAcceptsRow@RadioStationFilterModel@@EBE_NHABVQModelIndex@@@Z @ 149 NONAME ; bool RadioStationFilterModel::filterAcceptsRow(int, class QModelIndex const &) const - ?presetIndex@RadioStation@@QBEHXZ @ 150 NONAME ; int RadioStation::presetIndex(void) const - ?staticMetaObject@RadioStationModel@@2UQMetaObject@@B @ 151 NONAME ; struct QMetaObject const RadioStationModel::staticMetaObject - ?emitMuteChanged@RadioUiEngine@@AAEX_N@Z @ 152 NONAME ; void RadioUiEngine::emitMuteChanged(bool) - ?setDynamicPsText@RadioStation@@AAEXABVQString@@@Z @ 153 NONAME ; void RadioStation::setDynamicPsText(class QString const &) - ?removeByPresetIndex@RadioStationModel@@QAEXH@Z @ 154 NONAME ; void RadioStationModel::removeByPresetIndex(int) - ?isRenamed@RadioStation@@QBE_NXZ @ 155 NONAME ; bool RadioStation::isRenamed(void) const - ?stationAt@RadioStationModel@@QBE?AVRadioStation@@H@Z @ 156 NONAME ; class RadioStation RadioStationModel::stationAt(int) const - ?removeStation@RadioStationModel@@QAEXABVRadioStation@@@Z @ 157 NONAME ; void RadioStationModel::removeStation(class RadioStation const &) - ?metaObject@RadioUiEngine@@UBEPBUQMetaObject@@XZ @ 158 NONAME ; struct QMetaObject const * RadioUiEngine::metaObject(void) const - ?dynamicPsChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 159 NONAME ; void RadioStationModel::dynamicPsChanged(class RadioStation const &) - ?setType@RadioStation@@QAEXV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 160 NONAME ; void RadioStation::setType(class QFlags) - ?removeByFrequency@RadioStationModel@@QAEXI@Z @ 161 NONAME ; void RadioStationModel::removeByFrequency(unsigned int) - ?removeAll@RadioStationModel@@QAEXXZ @ 162 NONAME ; void RadioStationModel::removeAll(void) - ?isUsingLoudspeaker@RadioUiEngine@@QBE_NXZ @ 163 NONAME ; bool RadioUiEngine::isUsingLoudspeaker(void) const - ?findPresetIndex@RadioStationModel@@QAEHH@Z @ 164 NONAME ; int RadioStationModel::findPresetIndex(int) - ?getStaticMetaObject@RadioStationModel@@SAABUQMetaObject@@XZ @ 165 NONAME ; struct QMetaObject const & RadioStationModel::getStaticMetaObject(void) - ?metaObject@RadioStationModel@@UBEPBUQMetaObject@@XZ @ 166 NONAME ; struct QMetaObject const * RadioStationModel::metaObject(void) const - ?audioRouteChanged@RadioUiEngine@@IAEX_N@Z @ 167 NONAME ; void RadioUiEngine::audioRouteChanged(bool) - ?dynamicPsText@RadioStation@@QBE?AVQString@@XZ @ 168 NONAME ; class QString RadioStation::dynamicPsText(void) const - ?isFirstTimeStart@RadioUiEngine@@QAE_NXZ @ 169 NONAME ; bool RadioUiEngine::isFirstTimeStart(void) - ?setGenre@RadioStation@@AAEXH@Z @ 170 NONAME ; void RadioStation::setGenre(int) - ?scanFrequencyBand@RadioUiEngine@@QAEXXZ @ 171 NONAME ; void RadioUiEngine::scanFrequencyBand(void) - ?rowCount@RadioPlayLogModel@@UBEHABVQModelIndex@@@Z @ 172 NONAME ; int RadioPlayLogModel::rowCount(class QModelIndex const &) const - ?stationAdded@RadioStationModel@@IAEXABVRadioStation@@@Z @ 173 NONAME ; void RadioStationModel::stationAdded(class RadioStation const &) - ?data_ptr@RadioPlayLogItem@@QAEAAPAVRadioPlayLogItemPrivate@@XZ @ 174 NONAME ; class RadioPlayLogItemPrivate * & RadioPlayLogItem::data_ptr(void) - ?emitRadioStatusChanged@RadioUiEngine@@AAEX_N@Z @ 175 NONAME ; void RadioUiEngine::emitRadioStatusChanged(bool) - ??_ERadioUiEngine@@UAE@I@Z @ 176 NONAME ; RadioUiEngine::~RadioUiEngine(unsigned int) - ??0RadioStationModel@@QAE@AAVRadioUiEngine@@@Z @ 177 NONAME ; RadioStationModel::RadioStationModel(class RadioUiEngine &) - ?setRadioText@RadioStation@@AAEXABVQString@@@Z @ 178 NONAME ; void RadioStation::setRadioText(class QString const &) - ?changeFlags@RadioStation@@QBE?AV?$QFlags@W4ChangeFlag@RadioStation@@@@XZ @ 179 NONAME ; class QFlags RadioStation::changeFlags(void) const - ?d_func@RadioStationModel@@AAEPAVRadioStationModelPrivate@@XZ @ 180 NONAME ; class RadioStationModelPrivate * RadioStationModel::d_func(void) - ?skipNext@RadioUiEngine@@QAEXXZ @ 181 NONAME ; void RadioUiEngine::skipNext(void) - ?setDetail@RadioStationModel@@QAEXV?$QFlags@W4DetailFlag@RadioStationModel@@@@@Z @ 182 NONAME ; void RadioStationModel::setDetail(class QFlags) - ?nameOrFrequency@RadioUiEngine@@SA?AVQString@@ABVRadioStation@@I@Z @ 183 NONAME ; class QString RadioUiEngine::nameOrFrequency(class RadioStation const &, unsigned int) - ?rowCount@RadioStationFilterModel@@UBEHABVQModelIndex@@@Z @ 184 NONAME ; int RadioStationFilterModel::rowCount(class QModelIndex const &) const - ??1RadioUiEngine@@UAE@XZ @ 185 NONAME ; RadioUiEngine::~RadioUiEngine(void) - ?findItem@RadioPlayLogModel@@AAEHABVQString@@0AAVRadioPlayLogItem@@@Z @ 186 NONAME ; int RadioPlayLogModel::findItem(class QString const &, class QString const &, class RadioPlayLogItem &) - ?initialize@RadioStationModel@@QAEXPAVRadioPresetStorage@@PAVRadioEngineWrapper@@@Z @ 187 NONAME ; void RadioStationModel::initialize(class RadioPresetStorage *, class RadioEngineWrapper *) - ?playLogModel@RadioUiEngine@@QAEAAVRadioPlayLogModel@@XZ @ 188 NONAME ; class RadioPlayLogModel & RadioUiEngine::playLogModel(void) - ?isType@RadioStation@@QBE_NV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 189 NONAME ; bool RadioStation::isType(class QFlags) const - ?trUtf8@RadioPlayLogModel@@SA?AVQString@@PBD0H@Z @ 190 NONAME ; class QString RadioPlayLogModel::trUtf8(char const *, char const *, int) - ?setTypeFilter@RadioStationFilterModel@@QAEXV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 191 NONAME ; void RadioStationFilterModel::setTypeFilter(class QFlags) - ?isDetached@RadioPlayLogItem@@QBE_NXZ @ 192 NONAME ; bool RadioPlayLogItem::isDetached(void) const - ?volumeChanged@RadioUiEngine@@IAEXH@Z @ 193 NONAME ; void RadioUiEngine::volumeChanged(int) - ??0RadioPlayLogItem@@QAE@XZ @ 194 NONAME ; RadioPlayLogItem::RadioPlayLogItem(void) - ?resetChangeFlags@RadioStation@@QAEXXZ @ 195 NONAME ; void RadioStation::resetChangeFlags(void) - ??_ERadioStationFilterModel@@UAE@I@Z @ 196 NONAME ; RadioStationFilterModel::~RadioStationFilterModel(unsigned int) - ?data_ptr@RadioStation@@QAEAAPAVRadioStationPrivate@@XZ @ 197 NONAME ; class RadioStationPrivate * & RadioStation::data_ptr(void) - ?artist@RadioPlayLogItem@@QBE?AVQString@@XZ @ 198 NONAME ; class QString RadioPlayLogItem::artist(void) const - ?callSignChar@RadioStation@@AAEDI@Z @ 199 NONAME ; char RadioStation::callSignChar(unsigned int) - ??_ERadioStation@@UAE@I@Z @ 200 NONAME ; RadioStation::~RadioStation(unsigned int) - ?title@RadioPlayLogItem@@QBE?AVQString@@XZ @ 201 NONAME ; class QString RadioPlayLogItem::title(void) const - ??0RadioStation@@AAE@HI@Z @ 202 NONAME ; RadioStation::RadioStation(int, unsigned int) - ?qt_metacall@RadioStationModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 203 NONAME ; int RadioStationModel::qt_metacall(enum QMetaObject::Call, int, void * *) - ?isDetached@RadioStation@@QBE_NXZ @ 204 NONAME ; bool RadioStation::isDetached(void) const - ?hasDataChanged@RadioStation@@QBE_NV?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 205 NONAME ; bool RadioStation::hasDataChanged(class QFlags) const - ?name@RadioStation@@QBE?AVQString@@XZ @ 206 NONAME ; class QString RadioStation::name(void) const - ?data@RadioStationModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 207 NONAME ; class QVariant RadioStationModel::data(class QModelIndex const &, int) const - ?getStaticMetaObject@RadioUiEngine@@SAABUQMetaObject@@XZ @ 208 NONAME ; struct QMetaObject const & RadioUiEngine::getStaticMetaObject(void) - ?launchSongRecognition@RadioUiEngine@@QAEXXZ @ 209 NONAME ; void RadioUiEngine::launchSongRecognition(void) - ?staticMetaObject@RadioPlayLogModel@@2UQMetaObject@@B @ 210 NONAME ; struct QMetaObject const RadioPlayLogModel::staticMetaObject - ?rowCount@RadioStationModel@@UBEHABVQModelIndex@@@Z @ 211 NONAME ; int RadioStationModel::rowCount(class QModelIndex const &) const - ?iterateCallSign@RadioStation@@AAE?AVQString@@HH@Z @ 212 NONAME ; class QString RadioStation::iterateCallSign(int, int) - ?toggleMute@RadioUiEngine@@QAEXXZ @ 213 NONAME ; void RadioUiEngine::toggleMute(void) - ??0RadioUiEngine@@QAE@PAVQObject@@@Z @ 214 NONAME ; RadioUiEngine::RadioUiEngine(class QObject *) - ?tr@RadioPlayLogModel@@SA?AVQString@@PBD0@Z @ 215 NONAME ; class QString RadioPlayLogModel::tr(char const *, char const *) - ?d_func@RadioUiEngine@@AAEPAVRadioUiEnginePrivate@@XZ @ 216 NONAME ; class RadioUiEnginePrivate * RadioUiEngine::d_func(void) - ?currentSongReset@RadioPlayLogModel@@IAEXXZ @ 217 NONAME ; void RadioPlayLogModel::currentSongReset(void) - ?minFrequency@RadioUiEngine@@QBEIXZ @ 218 NONAME ; unsigned int RadioUiEngine::minFrequency(void) const - ?setPresetIndex@RadioStation@@AAEXH@Z @ 219 NONAME ; void RadioStation::setPresetIndex(int) - ?setName@RadioStation@@AAEXABVQString@@@Z @ 220 NONAME ; void RadioStation::setName(class QString const &) - ?frequencyStepSize@RadioUiEngine@@QBEIXZ @ 221 NONAME ; unsigned int RadioUiEngine::frequencyStepSize(void) const - ?trUtf8@RadioStationModel@@SA?AVQString@@PBD0H@Z @ 222 NONAME ; class QString RadioStationModel::trUtf8(char const *, char const *, int) - ?radioTextReceived@RadioStationModel@@IAEXABVRadioStation@@@Z @ 223 NONAME ; void RadioStationModel::radioTextReceived(class RadioStation const &) - ?isFavorite@RadioStation@@QBE_NXZ @ 224 NONAME ; bool RadioStation::isFavorite(void) const - ?settings@RadioUiEngine@@QAEAAVRadioSettings@@XZ @ 225 NONAME ; class RadioSettings & RadioUiEngine::settings(void) - ?seekingStarted@RadioUiEngine@@IAEXH@Z @ 226 NONAME ; void RadioUiEngine::seekingStarted(int) - ?setFavorites@RadioStationModel@@QAEXABV?$QList@VQModelIndex@@@@@Z @ 227 NONAME ; void RadioStationModel::setFavorites(class QList const &) - ??_ERadioStationModel@@UAE@I@Z @ 228 NONAME ; RadioStationModel::~RadioStationModel(unsigned int) - ??1RadioPlayLogItem@@UAE@XZ @ 229 NONAME ; RadioPlayLogItem::~RadioPlayLogItem(void) + ?setStation@RadioPlayLogItem@@QAEXABVQString@@@Z @ 7 NONAME ; void RadioPlayLogItem::setStation(class QString const &) + ?d_func@RadioPlayLogModel@@ABEPBVRadioPlayLogModelPrivate@@XZ @ 8 NONAME ; class RadioPlayLogModelPrivate const * RadioPlayLogModel::d_func(void) const + ?index@RadioStationFilterModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 9 NONAME ; class QModelIndex RadioStationFilterModel::index(int, int, class QModelIndex const &) const + ?parseFrequency@RadioStation@@SA?AVQString@@I@Z @ 10 NONAME ; class QString RadioStation::parseFrequency(unsigned int) + ??0RadioStation@@QAE@ABV0@@Z @ 11 NONAME ; RadioStation::RadioStation(class RadioStation const &) + ?region@RadioUiEngine@@QBE?AW4Region@RadioRegion@@XZ @ 12 NONAME ; enum RadioRegion::Region RadioUiEngine::region(void) const + ?frequency@RadioStation@@QBEIXZ @ 13 NONAME ; unsigned int RadioStation::frequency(void) const + ?skipPrevious@RadioUiEngine@@QAEXXZ @ 14 NONAME ; void RadioUiEngine::skipPrevious(void) + ?setFavoriteByFrequency@RadioStationModel@@QAEXI_N@Z @ 15 NONAME ; void RadioStationModel::setFavoriteByFrequency(unsigned int, bool) + ?findFrequency@RadioStationModel@@QAE_NIAAVRadioStation@@@Z @ 16 NONAME ; bool RadioStationModel::findFrequency(unsigned int, class RadioStation &) + ??4RadioPlayLogItem@@QAEAAV0@ABV0@@Z @ 17 NONAME ; class RadioPlayLogItem & RadioPlayLogItem::operator=(class RadioPlayLogItem const &) + ??0RadioPlayLogItem@@QAE@ABV0@@Z @ 18 NONAME ; RadioPlayLogItem::RadioPlayLogItem(class RadioPlayLogItem const &) + ?staticMetaObject@RadioUiEngine@@2UQMetaObject@@B @ 19 NONAME ; struct QMetaObject const RadioUiEngine::staticMetaObject + ?qt_metacast@RadioPlayLogModel@@UAEPAXPBD@Z @ 20 NONAME ; void * RadioPlayLogModel::qt_metacast(char const *) + ?stationsInRange@RadioStationModel@@QAE?AV?$QList@VRadioStation@@@@II@Z @ 21 NONAME ; class QList RadioStationModel::stationsInRange(unsigned int, unsigned int) + ?seekDown@RadioUiEngine@@QAEXXZ @ 22 NONAME ; void RadioUiEngine::seekDown(void) + ?setCurrentTime@RadioPlayLogItem@@QAEXXZ @ 23 NONAME ; void RadioPlayLogItem::setCurrentTime(void) + ?removeAll@RadioPlayLogModel@@QAEXXZ @ 24 NONAME ; void RadioPlayLogModel::removeAll(void) + ?tuneWithDelay@RadioUiEngine@@QAEXIH@Z @ 25 NONAME ; void RadioUiEngine::tuneWithDelay(unsigned int, int) + ?trUtf8@RadioPlayLogModel@@SA?AVQString@@PBD0@Z @ 26 NONAME ; class QString RadioPlayLogModel::trUtf8(char const *, char const *) + ?hasPiCode@RadioStation@@QBE_NXZ @ 27 NONAME ; bool RadioStation::hasPiCode(void) const + ?setFavoriteByPreset@RadioStationModel@@QAEXH_N@Z @ 28 NONAME ; void RadioStationModel::setFavoriteByPreset(int, bool) + ?scanAndSaveFinished@RadioUiEngine@@IAEXXZ @ 29 NONAME ; void RadioUiEngine::scanAndSaveFinished(void) + ?rdsAvailabilityChanged@RadioUiEngine@@IAEX_N@Z @ 30 NONAME ; void RadioUiEngine::rdsAvailabilityChanged(bool) + ?findPresetIndex@RadioStationModel@@QAEHHAAVRadioStation@@@Z @ 31 NONAME ; int RadioStationModel::findPresetIndex(int, class RadioStation &) + ?stationHandlerIf@RadioStationModel@@QAEAAVRadioStationHandlerIf@@XZ @ 32 NONAME ; class RadioStationHandlerIf & RadioStationModel::stationHandlerIf(void) + ?resetCurrentSong@RadioPlayLogModel@@QAEXXZ @ 33 NONAME ; void RadioPlayLogModel::resetCurrentSong(void) + ?emitVolumeChanged@RadioUiEngine@@AAEXH@Z @ 34 NONAME ; void RadioUiEngine::emitVolumeChanged(int) + ?seekUp@RadioUiEngine@@QAEXXZ @ 35 NONAME ; void RadioUiEngine::seekUp(void) + ?qt_metacall@RadioUiEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 36 NONAME ; int RadioUiEngine::qt_metacall(enum QMetaObject::Call, int, void * *) + ?emitSeekingStarted@RadioUiEngine@@AAEXW4Direction@Seeking@@@Z @ 37 NONAME ; void RadioUiEngine::emitSeekingStarted(enum Seeking::Direction) + ?reset@RadioStation@@AAEXXZ @ 38 NONAME ; void RadioStation::reset(void) + ?isFavorite@RadioPlayLogItem@@QBE_NXZ @ 39 NONAME ; bool RadioPlayLogItem::isFavorite(void) const + ??1RadioStationFilterModel@@UAE@XZ @ 40 NONAME ; RadioStationFilterModel::~RadioStationFilterModel(void) + ?emitAudioRouteChanged@RadioUiEngine@@AAEX_N@Z @ 41 NONAME ; void RadioUiEngine::emitAudioRouteChanged(bool) + ??_ERadioPlayLogModel@@UAE@I@Z @ 42 NONAME ; RadioPlayLogModel::~RadioPlayLogModel(unsigned int) + ??4RadioStation@@QAEAAV0@ABV0@@Z @ 43 NONAME ; class RadioStation & RadioStation::operator=(class RadioStation const &) + ?toggleAudioRoute@RadioUiEngine@@QAEXXZ @ 44 NONAME ; void RadioUiEngine::toggleAudioRoute(void) + ?unsetType@RadioStation@@QAEXV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 45 NONAME ; void RadioStation::unsetType(class QFlags) + ?muteChanged@RadioUiEngine@@IAEX_N@Z @ 46 NONAME ; void RadioUiEngine::muteChanged(bool) + ?maxFrequency@RadioUiEngine@@QBEIXZ @ 47 NONAME ; unsigned int RadioUiEngine::maxFrequency(void) const + ?setIcons@RadioStationModel@@QAEXABVQIcon@@0@Z @ 48 NONAME ; void RadioStationModel::setIcons(class QIcon const &, class QIcon const &) + ?saveStation@RadioStationModel@@QAEXAAVRadioStation@@@Z @ 49 NONAME ; void RadioStationModel::saveStation(class RadioStation &) + ?findUnusedPresetIndex@RadioStationModel@@AAEHXZ @ 50 NONAME ; int RadioStationModel::findUnusedPresetIndex(void) + ?hasChanged@RadioStation@@QBE_NXZ @ 51 NONAME ; bool RadioStation::hasChanged(void) const + ?isScanning@RadioUiEngine@@QBE_NXZ @ 52 NONAME ; bool RadioUiEngine::isScanning(void) const + ?dynamicPsCheckEnded@RadioStationModel@@AAEXXZ @ 53 NONAME ; void RadioStationModel::dynamicPsCheckEnded(void) + ?itemAdded@RadioPlayLogModel@@IAEXXZ @ 54 NONAME ; void RadioPlayLogModel::itemAdded(void) + ??0RadioPlayLogModel@@AAE@AAVRadioUiEngine@@@Z @ 55 NONAME ; RadioPlayLogModel::RadioPlayLogModel(class RadioUiEngine &) + ?setFrequency@RadioStation@@AAEXI@Z @ 56 NONAME ; void RadioStation::setFrequency(unsigned int) + ?piCodeToCallSign@RadioStation@@AAE?AVQString@@I@Z @ 57 NONAME ; class QString RadioStation::piCodeToCallSign(unsigned int) + ?hasLooped@RadioStationFilterModel@@QBE_NABVQModelIndex@@@Z @ 58 NONAME ; bool RadioStationFilterModel::hasLooped(class QModelIndex const &) const + ?setFavorite@RadioPlayLogItem@@QAEXXZ @ 59 NONAME ; void RadioPlayLogItem::setFavorite(void) + ?favoriteChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 60 NONAME ; void RadioStationModel::favoriteChanged(class RadioStation const &) + ?radioStatusChanged@RadioUiEngine@@IAEX_N@Z @ 61 NONAME ; void RadioUiEngine::radioStatusChanged(bool) + ?playCount@RadioPlayLogItem@@QBEHXZ @ 62 NONAME ; int RadioPlayLogItem::playCount(void) const + ?addStation@RadioStationModel@@QAEXABVRadioStation@@@Z @ 63 NONAME ; void RadioStationModel::addStation(class RadioStation const &) + ?tr@RadioPlayLogModel@@SA?AVQString@@PBD0H@Z @ 64 NONAME ; class QString RadioPlayLogModel::tr(char const *, char const *, int) + ?emitheadsetStatusChanged@RadioUiEngine@@AAEX_N@Z @ 65 NONAME ; void RadioUiEngine::emitheadsetStatusChanged(bool) + ?createNewFilterModel@RadioUiEngine@@QAEPAVRadioStationFilterModel@@PAVQObject@@@Z @ 66 NONAME ; class RadioStationFilterModel * RadioUiEngine::createNewFilterModel(class QObject *) + ?tunedToFrequency@RadioUiEngine@@IAEXIH@Z @ 67 NONAME ; void RadioUiEngine::tunedToFrequency(unsigned int, int) + ?tr@RadioUiEngine@@SA?AVQString@@PBD0H@Z @ 68 NONAME ; class QString RadioUiEngine::tr(char const *, char const *, int) + ?startRadio@RadioUiEngine@@QAE_NXZ @ 69 NONAME ; bool RadioUiEngine::startRadio(void) + ?tunePreset@RadioUiEngine@@QAEXH@Z @ 70 NONAME ; void RadioUiEngine::tunePreset(int) + ?emitDataChanged@RadioStationModel@@AAEXABVRadioStation@@@Z @ 71 NONAME ; void RadioStationModel::emitDataChanged(class RadioStation const &) + ?decrementReferenceCount@RadioPlayLogItem@@AAEXXZ @ 72 NONAME ; void RadioPlayLogItem::decrementReferenceCount(void) + ?isRadioOn@RadioUiEngine@@QBE_NXZ @ 73 NONAME ; bool RadioUiEngine::isRadioOn(void) const + ?increasePlayCount@RadioPlayLogItem@@QAEXXZ @ 74 NONAME ; void RadioPlayLogItem::increasePlayCount(void) + ?modelIndexFromFrequency@RadioStationModel@@QAE?AVQModelIndex@@I@Z @ 75 NONAME ; class QModelIndex RadioStationModel::modelIndexFromFrequency(unsigned int) + ?data@RadioStationFilterModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 76 NONAME ; class QVariant RadioStationFilterModel::data(class QModelIndex const &, int) const + ?list@RadioStationModel@@QBEABV?$QMap@IVRadioStation@@@@XZ @ 77 NONAME ; class QMap const & RadioStationModel::list(void) const + ?addRadioTextPlus@RadioPlayLogModel@@AAEXHABVQString@@ABVRadioStation@@@Z @ 78 NONAME ; void RadioPlayLogModel::addRadioTextPlus(int, class QString const &, class RadioStation const &) + ?tr@RadioStationModel@@SA?AVQString@@PBD0@Z @ 79 NONAME ; class QString RadioStationModel::tr(char const *, char const *) + ?hasRds@RadioStation@@QBE_NXZ @ 80 NONAME ; bool RadioStation::hasRds(void) const + ?flags@RadioStationModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 81 NONAME ; class QFlags RadioStationModel::flags(class QModelIndex const &) const + ?detach@RadioStation@@QAEXXZ @ 82 NONAME ; void RadioStation::detach(void) + ?getStaticMetaObject@RadioPlayLogModel@@SAABUQMetaObject@@XZ @ 83 NONAME ; struct QMetaObject const & RadioPlayLogModel::getStaticMetaObject(void) + ?stationsInRange@RadioUiEngine@@QAE?AV?$QList@VRadioStation@@@@II@Z @ 84 NONAME ; class QList RadioUiEngine::stationsInRange(unsigned int, unsigned int) + ?trUtf8@RadioUiEngine@@SA?AVQString@@PBD0@Z @ 85 NONAME ; class QString RadioUiEngine::trUtf8(char const *, char const *) + ?setFrequency@RadioPlayLogItem@@QAEXI@Z @ 86 NONAME ; void RadioPlayLogItem::setFrequency(unsigned int) + ?setPiCode@RadioStation@@AAE_NHW4Region@RadioRegion@@@Z @ 87 NONAME ; bool RadioStation::setPiCode(int, enum RadioRegion::Region) + ?radioText@RadioStation@@QBE?AVQString@@XZ @ 88 NONAME ; class QString RadioStation::radioText(void) const + ?setData@RadioStationModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 89 NONAME ; bool RadioStationModel::setData(class QModelIndex const &, class QVariant const &, int) + ??_ERadioPlayLogItem@@UAE@I@Z @ 90 NONAME ; RadioPlayLogItem::~RadioPlayLogItem(unsigned int) + ?setVolume@RadioUiEngine@@QAEXH@Z @ 91 NONAME ; void RadioUiEngine::setVolume(int) + ?setFavorite@RadioStation@@QAEX_N@Z @ 92 NONAME ; void RadioStation::setFavorite(bool) + ?setFavorite@RadioPlayLogModel@@QAEXXZ @ 93 NONAME ; void RadioPlayLogModel::setFavorite(void) + ?d_func@RadioStationModel@@ABEPBVRadioStationModelPrivate@@XZ @ 94 NONAME ; class RadioStationModelPrivate const * RadioStationModel::d_func(void) const + ?emitChangeSignals@RadioStationModel@@AAEXABVRadioStation@@V?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 95 NONAME ; void RadioStationModel::emitChangeSignals(class RadioStation const &, class QFlags) + ?tr@RadioStationModel@@SA?AVQString@@PBD0H@Z @ 96 NONAME ; class QString RadioStationModel::tr(char const *, char const *, int) + ?setCyclic@RadioStationFilterModel@@QAEX_N@Z @ 97 NONAME ; void RadioStationFilterModel::setCyclic(bool) + ??1RadioStationModel@@UAE@XZ @ 98 NONAME ; RadioStationModel::~RadioStationModel(void) + ?isMuted@RadioUiEngine@@QBE_NXZ @ 99 NONAME ; bool RadioUiEngine::isMuted(void) const + ?renameStation@RadioStationModel@@QAEXHABVQString@@@Z @ 100 NONAME ; void RadioStationModel::renameStation(int, class QString const &) + ?genreToString@RadioUiEngine@@QAE?AVQString@@H@Z @ 101 NONAME ; class QString RadioUiEngine::genreToString(int) + ?currentFrequency@RadioUiEngine@@QBEIXZ @ 102 NONAME ; unsigned int RadioUiEngine::currentFrequency(void) const + ?d_func@RadioPlayLogModel@@AAEPAVRadioPlayLogModelPrivate@@XZ @ 103 NONAME ; class RadioPlayLogModelPrivate * RadioPlayLogModel::d_func(void) + ?setUserDefinedName@RadioStation@@QAEXABVQString@@@Z @ 104 NONAME ; void RadioStation::setUserDefinedName(class QString const &) + ?data@RadioPlayLogModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 105 NONAME ; class QVariant RadioPlayLogModel::data(class QModelIndex const &, int) const + ?setUrl@RadioStation@@AAEXABVQString@@@Z @ 106 NONAME ; void RadioStation::setUrl(class QString const &) + ?setArtist@RadioPlayLogItem@@QAEXABVQString@@@Z @ 107 NONAME ; void RadioPlayLogItem::setArtist(class QString const &) + ??1RadioStation@@UAE@XZ @ 108 NONAME ; RadioStation::~RadioStation(void) + ?isCurrentSongRecognized@RadioPlayLogModel@@QBE_NXZ @ 109 NONAME ; bool RadioPlayLogModel::isCurrentSongRecognized(void) const + ?callSignString@RadioStation@@AAE?AVQString@@I@Z @ 110 NONAME ; class QString RadioStation::callSignString(unsigned int) + ?isValid@RadioStation@@QBE_NXZ @ 111 NONAME ; bool RadioStation::isValid(void) const + ?isEqual@RadioStationFilterModel@@QBE_NABVQModelIndex@@0@Z @ 112 NONAME ; bool RadioStationFilterModel::isEqual(class QModelIndex const &, class QModelIndex const &) const + ?setTitle@RadioPlayLogItem@@QAEXABVQString@@@Z @ 113 NONAME ; void RadioPlayLogItem::setTitle(class QString const &) + ??1RadioPlayLogModel@@EAE@XZ @ 114 NONAME ; RadioPlayLogModel::~RadioPlayLogModel(void) + ?decrementReferenceCount@RadioStation@@AAEXXZ @ 115 NONAME ; void RadioStation::decrementReferenceCount(void) + ?trUtf8@RadioUiEngine@@SA?AVQString@@PBD0H@Z @ 116 NONAME ; class QString RadioUiEngine::trUtf8(char const *, char const *, int) + ??0RadioPlayLogItem@@QAE@ABVQString@@0@Z @ 117 NONAME ; RadioPlayLogItem::RadioPlayLogItem(class QString const &, class QString const &) + ?trUtf8@RadioStationModel@@SA?AVQString@@PBD0@Z @ 118 NONAME ; class QString RadioStationModel::trUtf8(char const *, char const *) + ?cancelScanFrequencyBand@RadioUiEngine@@QAEXXZ @ 119 NONAME ; void RadioUiEngine::cancelScanFrequencyBand(void) + ?setRadioTextPlus@RadioStation@@AAEXHABVQString@@@Z @ 120 NONAME ; void RadioStation::setRadioTextPlus(int, class QString const &) + ?setChangeFlags@RadioStation@@AAEXV?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 121 NONAME ; void RadioStation::setChangeFlags(class QFlags) + ?modelIndexFromFrequency@RadioStationFilterModel@@QAE?AVQModelIndex@@I@Z @ 122 NONAME ; class QModelIndex RadioStationFilterModel::modelIndexFromFrequency(unsigned int) + ?tuneFrequency@RadioUiEngine@@QAEXIH@Z @ 123 NONAME ; void RadioUiEngine::tuneFrequency(unsigned int, int) + ?stationDataChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 124 NONAME ; void RadioStationModel::stationDataChanged(class RadioStation const &) + ?model@RadioUiEngine@@QAEAAVRadioStationModel@@XZ @ 125 NONAME ; class RadioStationModel & RadioUiEngine::model(void) + ?headsetStatusChanged@RadioUiEngine@@IAEX_N@Z @ 126 NONAME ; void RadioUiEngine::headsetStatusChanged(bool) + ?currentStation@RadioStationModel@@QAEAAVRadioStation@@XZ @ 127 NONAME ; class RadioStation & RadioStationModel::currentStation(void) + ?genre@RadioStation@@QBEHXZ @ 128 NONAME ; int RadioStation::genre(void) const + ?emitTunedToFrequency@RadioUiEngine@@AAEXIH@Z @ 129 NONAME ; void RadioUiEngine::emitTunedToFrequency(unsigned int, int) + ?updateItem@RadioPlayLogModel@@AAEXHABVRadioPlayLogItem@@_N@Z @ 130 NONAME ; void RadioPlayLogModel::updateItem(int, class RadioPlayLogItem const &, bool) + ?flags@RadioPlayLogModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 131 NONAME ; class QFlags RadioPlayLogModel::flags(class QModelIndex const &) const + ??0RadioStation@@QAE@XZ @ 132 NONAME ; RadioStation::RadioStation(void) + ?metaObject@RadioPlayLogModel@@UBEPBUQMetaObject@@XZ @ 133 NONAME ; struct QMetaObject const * RadioPlayLogModel::metaObject(void) const + ?psType@RadioStation@@QBE?AV?$QFlags@W4PsTypeFlag@RadioStation@@@@XZ @ 134 NONAME ; class QFlags RadioStation::psType(void) const + ?d_func@RadioUiEngine@@ABEPBVRadioUiEnginePrivate@@XZ @ 135 NONAME ; class RadioUiEnginePrivate const * RadioUiEngine::d_func(void) const + ?qt_metacall@RadioPlayLogModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 136 NONAME ; int RadioPlayLogModel::qt_metacall(enum QMetaObject::Call, int, void * *) + ?isSongRecognitionAppAvailable@RadioUiEngine@@QAE_NXZ @ 137 NONAME ; bool RadioUiEngine::isSongRecognitionAppAvailable(void) + ?clearRadioTextPlus@RadioPlayLogModel@@AAEXXZ @ 138 NONAME ; void RadioPlayLogModel::clearRadioTextPlus(void) + ?findCurrentStation@RadioStationModel@@AAE?AVRadioStation@@I@Z @ 139 NONAME ; class RadioStation RadioStationModel::findCurrentStation(unsigned int) + ?setPsType@RadioStation@@AAEXV?$QFlags@W4PsTypeFlag@RadioStation@@@@@Z @ 140 NONAME ; void RadioStation::setPsType(class QFlags) + ?realIndex@RadioStationFilterModel@@QBE?AVQModelIndex@@ABV2@@Z @ 141 NONAME ; class QModelIndex RadioStationFilterModel::realIndex(class QModelIndex const &) const + ?url@RadioStation@@QBE?AVQString@@XZ @ 142 NONAME ; class QString RadioStation::url(void) const + ?setData@RadioPlayLogModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 143 NONAME ; bool RadioPlayLogModel::setData(class QModelIndex const &, class QVariant const &, int) + ?emitRdsAvailabilityChanged@RadioUiEngine@@AAEX_N@Z @ 144 NONAME ; void RadioUiEngine::emitRdsAvailabilityChanged(bool) + ?frequencyMhz@RadioStation@@QBE?AVQString@@XZ @ 145 NONAME ; class QString RadioStation::frequencyMhz(void) const + ?isAntennaAttached@RadioUiEngine@@QBE_NXZ @ 146 NONAME ; bool RadioUiEngine::isAntennaAttached(void) const + ?qt_metacast@RadioStationModel@@UAEPAXPBD@Z @ 147 NONAME ; void * RadioStationModel::qt_metacast(char const *) + ?emitScanAndSaveFinished@RadioUiEngine@@AAEXXZ @ 148 NONAME ; void RadioUiEngine::emitScanAndSaveFinished(void) + ??0RadioStationFilterModel@@QAE@AAVRadioUiEngine@@PAVQObject@@@Z @ 149 NONAME ; RadioStationFilterModel::RadioStationFilterModel(class RadioUiEngine &, class QObject *) + ?filterAcceptsRow@RadioStationFilterModel@@EBE_NHABVQModelIndex@@@Z @ 150 NONAME ; bool RadioStationFilterModel::filterAcceptsRow(int, class QModelIndex const &) const + ?presetIndex@RadioStation@@QBEHXZ @ 151 NONAME ; int RadioStation::presetIndex(void) const + ?staticMetaObject@RadioStationModel@@2UQMetaObject@@B @ 152 NONAME ; struct QMetaObject const RadioStationModel::staticMetaObject + ?addRecognizedSong@RadioUiEngine@@QAEXABVQString@@0ABVRadioStation@@@Z @ 153 NONAME ; void RadioUiEngine::addRecognizedSong(class QString const &, class QString const &, class RadioStation const &) + ?emitMuteChanged@RadioUiEngine@@AAEX_N@Z @ 154 NONAME ; void RadioUiEngine::emitMuteChanged(bool) + ?setDynamicPsText@RadioStation@@AAEXABVQString@@@Z @ 155 NONAME ; void RadioStation::setDynamicPsText(class QString const &) + ?removeByPresetIndex@RadioStationModel@@QAEXH@Z @ 156 NONAME ; void RadioStationModel::removeByPresetIndex(int) + ?isRenamed@RadioStation@@QBE_NXZ @ 157 NONAME ; bool RadioStation::isRenamed(void) const + ?stationAt@RadioStationModel@@QBE?AVRadioStation@@H@Z @ 158 NONAME ; class RadioStation RadioStationModel::stationAt(int) const + ?removeStation@RadioStationModel@@QAEXABVRadioStation@@@Z @ 159 NONAME ; void RadioStationModel::removeStation(class RadioStation const &) + ?metaObject@RadioUiEngine@@UBEPBUQMetaObject@@XZ @ 160 NONAME ; struct QMetaObject const * RadioUiEngine::metaObject(void) const + ?addItem@RadioPlayLogModel@@AAEXABVQString@@0ABVRadioStation@@@Z @ 161 NONAME ; void RadioPlayLogModel::addItem(class QString const &, class QString const &, class RadioStation const &) + ?dynamicPsChanged@RadioStationModel@@IAEXABVRadioStation@@@Z @ 162 NONAME ; void RadioStationModel::dynamicPsChanged(class RadioStation const &) + ?frequency@RadioPlayLogItem@@QBEIXZ @ 163 NONAME ; unsigned int RadioPlayLogItem::frequency(void) const + ?setType@RadioStation@@QAEXV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 164 NONAME ; void RadioStation::setType(class QFlags) + ?removeByFrequency@RadioStationModel@@QAEXI@Z @ 165 NONAME ; void RadioStationModel::removeByFrequency(unsigned int) + ?removeAll@RadioStationModel@@QAEXXZ @ 166 NONAME ; void RadioStationModel::removeAll(void) + ?isUsingLoudspeaker@RadioUiEngine@@QBE_NXZ @ 167 NONAME ; bool RadioUiEngine::isUsingLoudspeaker(void) const + ?findPresetIndex@RadioStationModel@@QAEHH@Z @ 168 NONAME ; int RadioStationModel::findPresetIndex(int) + ?getStaticMetaObject@RadioStationModel@@SAABUQMetaObject@@XZ @ 169 NONAME ; struct QMetaObject const & RadioStationModel::getStaticMetaObject(void) + ?metaObject@RadioStationModel@@UBEPBUQMetaObject@@XZ @ 170 NONAME ; struct QMetaObject const * RadioStationModel::metaObject(void) const + ?audioRouteChanged@RadioUiEngine@@IAEX_N@Z @ 171 NONAME ; void RadioUiEngine::audioRouteChanged(bool) + ?dynamicPsText@RadioStation@@QBE?AVQString@@XZ @ 172 NONAME ; class QString RadioStation::dynamicPsText(void) const + ?isFirstTimeStart@RadioUiEngine@@QAE_NXZ @ 173 NONAME ; bool RadioUiEngine::isFirstTimeStart(void) + ?setGenre@RadioStation@@AAEXH@Z @ 174 NONAME ; void RadioStation::setGenre(int) + ?scanFrequencyBand@RadioUiEngine@@QAEXXZ @ 175 NONAME ; void RadioUiEngine::scanFrequencyBand(void) + ?rowCount@RadioPlayLogModel@@UBEHABVQModelIndex@@@Z @ 176 NONAME ; int RadioPlayLogModel::rowCount(class QModelIndex const &) const + ?stationAdded@RadioStationModel@@IAEXABVRadioStation@@@Z @ 177 NONAME ; void RadioStationModel::stationAdded(class RadioStation const &) + ?data_ptr@RadioPlayLogItem@@QAEAAPAVRadioPlayLogItemPrivate@@XZ @ 178 NONAME ; class RadioPlayLogItemPrivate * & RadioPlayLogItem::data_ptr(void) + ?emitRadioStatusChanged@RadioUiEngine@@AAEX_N@Z @ 179 NONAME ; void RadioUiEngine::emitRadioStatusChanged(bool) + ??_ERadioUiEngine@@UAE@I@Z @ 180 NONAME ; RadioUiEngine::~RadioUiEngine(unsigned int) + ??0RadioStationModel@@QAE@AAVRadioUiEngine@@@Z @ 181 NONAME ; RadioStationModel::RadioStationModel(class RadioUiEngine &) + ?setRadioText@RadioStation@@AAEXABVQString@@@Z @ 182 NONAME ; void RadioStation::setRadioText(class QString const &) + ?setShowDetails@RadioPlayLogModel@@QAEX_N@Z @ 183 NONAME ; void RadioPlayLogModel::setShowDetails(bool) + ?changeFlags@RadioStation@@QBE?AV?$QFlags@W4ChangeFlag@RadioStation@@@@XZ @ 184 NONAME ; class QFlags RadioStation::changeFlags(void) const + ?d_func@RadioStationModel@@AAEPAVRadioStationModelPrivate@@XZ @ 185 NONAME ; class RadioStationModelPrivate * RadioStationModel::d_func(void) + ?skipNext@RadioUiEngine@@QAEXXZ @ 186 NONAME ; void RadioUiEngine::skipNext(void) + ?setDetail@RadioStationModel@@QAEXV?$QFlags@W4DetailFlag@RadioStationModel@@@@@Z @ 187 NONAME ; void RadioStationModel::setDetail(class QFlags) + ?nameOrFrequency@RadioUiEngine@@SA?AVQString@@ABVRadioStation@@I@Z @ 188 NONAME ; class QString RadioUiEngine::nameOrFrequency(class RadioStation const &, unsigned int) + ?rowCount@RadioStationFilterModel@@UBEHABVQModelIndex@@@Z @ 189 NONAME ; int RadioStationFilterModel::rowCount(class QModelIndex const &) const + ??1RadioUiEngine@@UAE@XZ @ 190 NONAME ; RadioUiEngine::~RadioUiEngine(void) + ?findItem@RadioPlayLogModel@@AAEHABVQString@@0AAVRadioPlayLogItem@@@Z @ 191 NONAME ; int RadioPlayLogModel::findItem(class QString const &, class QString const &, class RadioPlayLogItem &) + ?initialize@RadioStationModel@@QAEXPAVRadioPresetStorage@@PAVRadioEngineWrapper@@@Z @ 192 NONAME ; void RadioStationModel::initialize(class RadioPresetStorage *, class RadioEngineWrapper *) + ?playLogModel@RadioUiEngine@@QAEAAVRadioPlayLogModel@@XZ @ 193 NONAME ; class RadioPlayLogModel & RadioUiEngine::playLogModel(void) + ?isType@RadioStation@@QBE_NV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 194 NONAME ; bool RadioStation::isType(class QFlags) const + ?trUtf8@RadioPlayLogModel@@SA?AVQString@@PBD0H@Z @ 195 NONAME ; class QString RadioPlayLogModel::trUtf8(char const *, char const *, int) + ?setTypeFilter@RadioStationFilterModel@@QAEXV?$QFlags@W4TypeFlag@RadioStation@@@@@Z @ 196 NONAME ; void RadioStationFilterModel::setTypeFilter(class QFlags) + ?isDetached@RadioPlayLogItem@@QBE_NXZ @ 197 NONAME ; bool RadioPlayLogItem::isDetached(void) const + ?volumeChanged@RadioUiEngine@@IAEXH@Z @ 198 NONAME ; void RadioUiEngine::volumeChanged(int) + ??0RadioPlayLogItem@@QAE@XZ @ 199 NONAME ; RadioPlayLogItem::RadioPlayLogItem(void) + ?resetChangeFlags@RadioStation@@QAEXXZ @ 200 NONAME ; void RadioStation::resetChangeFlags(void) + ??_ERadioStationFilterModel@@UAE@I@Z @ 201 NONAME ; RadioStationFilterModel::~RadioStationFilterModel(unsigned int) + ?data_ptr@RadioStation@@QAEAAPAVRadioStationPrivate@@XZ @ 202 NONAME ; class RadioStationPrivate * & RadioStation::data_ptr(void) + ?time@RadioPlayLogItem@@QBE?AVQString@@XZ @ 203 NONAME ; class QString RadioPlayLogItem::time(void) const + ?artist@RadioPlayLogItem@@QBE?AVQString@@XZ @ 204 NONAME ; class QString RadioPlayLogItem::artist(void) const + ?callSignChar@RadioStation@@AAEDI@Z @ 205 NONAME ; char RadioStation::callSignChar(unsigned int) + ??_ERadioStation@@UAE@I@Z @ 206 NONAME ; RadioStation::~RadioStation(unsigned int) + ?stationRemoved@RadioStationModel@@IAEXABVRadioStation@@@Z @ 207 NONAME ; void RadioStationModel::stationRemoved(class RadioStation const &) + ?title@RadioPlayLogItem@@QBE?AVQString@@XZ @ 208 NONAME ; class QString RadioPlayLogItem::title(void) const + ??0RadioStation@@AAE@HI@Z @ 209 NONAME ; RadioStation::RadioStation(int, unsigned int) + ?qt_metacall@RadioStationModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 210 NONAME ; int RadioStationModel::qt_metacall(enum QMetaObject::Call, int, void * *) + ?isDetached@RadioStation@@QBE_NXZ @ 211 NONAME ; bool RadioStation::isDetached(void) const + ?hasDataChanged@RadioStation@@QBE_NV?$QFlags@W4ChangeFlag@RadioStation@@@@@Z @ 212 NONAME ; bool RadioStation::hasDataChanged(class QFlags) const + ?name@RadioStation@@QBE?AVQString@@XZ @ 213 NONAME ; class QString RadioStation::name(void) const + ?data@RadioStationModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 214 NONAME ; class QVariant RadioStationModel::data(class QModelIndex const &, int) const + ?getStaticMetaObject@RadioUiEngine@@SAABUQMetaObject@@XZ @ 215 NONAME ; struct QMetaObject const & RadioUiEngine::getStaticMetaObject(void) + ?launchSongRecognition@RadioUiEngine@@QAEXXZ @ 216 NONAME ; void RadioUiEngine::launchSongRecognition(void) + ?staticMetaObject@RadioPlayLogModel@@2UQMetaObject@@B @ 217 NONAME ; struct QMetaObject const RadioPlayLogModel::staticMetaObject + ?rowCount@RadioStationModel@@UBEHABVQModelIndex@@@Z @ 218 NONAME ; int RadioStationModel::rowCount(class QModelIndex const &) const + ?iterateCallSign@RadioStation@@AAE?AVQString@@HH@Z @ 219 NONAME ; class QString RadioStation::iterateCallSign(int, int) + ?toggleMute@RadioUiEngine@@QAEXXZ @ 220 NONAME ; void RadioUiEngine::toggleMute(void) + ??0RadioUiEngine@@QAE@PAVQObject@@@Z @ 221 NONAME ; RadioUiEngine::RadioUiEngine(class QObject *) + ?tr@RadioPlayLogModel@@SA?AVQString@@PBD0@Z @ 222 NONAME ; class QString RadioPlayLogModel::tr(char const *, char const *) + ?d_func@RadioUiEngine@@AAEPAVRadioUiEnginePrivate@@XZ @ 223 NONAME ; class RadioUiEnginePrivate * RadioUiEngine::d_func(void) + ?currentSongReset@RadioPlayLogModel@@IAEXXZ @ 224 NONAME ; void RadioPlayLogModel::currentSongReset(void) + ?minFrequency@RadioUiEngine@@QBEIXZ @ 225 NONAME ; unsigned int RadioUiEngine::minFrequency(void) const + ?setPresetIndex@RadioStation@@AAEXH@Z @ 226 NONAME ; void RadioStation::setPresetIndex(int) + ?setName@RadioStation@@AAEXABVQString@@@Z @ 227 NONAME ; void RadioStation::setName(class QString const &) + ?frequencyStepSize@RadioUiEngine@@QBEIXZ @ 228 NONAME ; unsigned int RadioUiEngine::frequencyStepSize(void) const + ?trUtf8@RadioStationModel@@SA?AVQString@@PBD0H@Z @ 229 NONAME ; class QString RadioStationModel::trUtf8(char const *, char const *, int) + ?radioTextReceived@RadioStationModel@@IAEXABVRadioStation@@@Z @ 230 NONAME ; void RadioStationModel::radioTextReceived(class RadioStation const &) + ?isFavorite@RadioStation@@QBE_NXZ @ 231 NONAME ; bool RadioStation::isFavorite(void) const + ?station@RadioPlayLogItem@@QBE?AVQString@@XZ @ 232 NONAME ; class QString RadioPlayLogItem::station(void) const + ?settings@RadioUiEngine@@QAEAAVRadioSettings@@XZ @ 233 NONAME ; class RadioSettings & RadioUiEngine::settings(void) + ?seekingStarted@RadioUiEngine@@IAEXH@Z @ 234 NONAME ; void RadioUiEngine::seekingStarted(int) + ?setFavorites@RadioStationModel@@QAEXABV?$QList@VQModelIndex@@@@@Z @ 235 NONAME ; void RadioStationModel::setFavorites(class QList const &) + ??_ERadioStationModel@@UAE@I@Z @ 236 NONAME ; RadioStationModel::~RadioStationModel(unsigned int) + ??1RadioPlayLogItem@@UAE@XZ @ 237 NONAME ; RadioPlayLogItem::~RadioPlayLogItem(void) + ?monitor@RadioUiEngine@@QAEAAVRadioMonitorService@@XZ @ 238 NONAME ; class RadioMonitorService & RadioUiEngine::monitor(void) diff -r 46974bebc798 -r 63aabac4416d radioapp/bwins/radiowidgetsu.def --- a/radioapp/bwins/radiowidgetsu.def Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/bwins/radiowidgetsu.def Fri Apr 16 14:58:55 2010 +0300 @@ -3,102 +3,107 @@ ?engineStatusChanged@RadioWizardView@@AAEX_N@Z @ 2 NONAME ; void RadioWizardView::engineStatusChanged(bool) ?startScanning@RadioWizardView@@AAEXXZ @ 3 NONAME ; void RadioWizardView::startScanning(void) ??1RadioWizardView@@UAE@XZ @ 4 NONAME ; RadioWizardView::~RadioWizardView(void) - ?initSecondarySoftkey@RadioTuningView@@EAEXXZ @ 5 NONAME ; void RadioTuningView::initSecondarySoftkey(void) - ?tr@RadioTuningView@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString RadioTuningView::tr(char const *, char const *, int) - ?qt_metacast@RadioWizardView@@UAEPAXPBD@Z @ 7 NONAME ; void * RadioWizardView::qt_metacast(char const *) - ?prepareToShowDialog@RadioMainWindow@@AAE?AV?$QSharedPointer@VHbView@@@@XZ @ 8 NONAME ; class QSharedPointer RadioMainWindow::prepareToShowDialog(void) - ?trUtf8@RadioPlayLogView@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString RadioPlayLogView::trUtf8(char const *, char const *, int) - ?headsetStatusChanged@RadioMainWindow@@AAEX_N@Z @ 10 NONAME ; void RadioMainWindow::headsetStatusChanged(bool) - ?init@RadioStationsView@@EAEXPAVRadioMainWindow@@PAVRadioStationModel@@@Z @ 11 NONAME ; void RadioStationsView::init(class RadioMainWindow *, class RadioStationModel *) + ?tr@RadioTuningView@@SA?AVQString@@PBD0H@Z @ 5 NONAME ; class QString RadioTuningView::tr(char const *, char const *, int) + ?qt_metacast@RadioWizardView@@UAEPAXPBD@Z @ 6 NONAME ; void * RadioWizardView::qt_metacast(char const *) + ?prepareToShowDialog@RadioMainWindow@@AAE?AV?$QSharedPointer@VHbView@@@@XZ @ 7 NONAME ; class QSharedPointer RadioMainWindow::prepareToShowDialog(void) + ?trUtf8@RadioPlayLogView@@SA?AVQString@@PBD0H@Z @ 8 NONAME ; class QString RadioPlayLogView::trUtf8(char const *, char const *, int) + ?headsetStatusChanged@RadioMainWindow@@AAEX_N@Z @ 9 NONAME ; void RadioMainWindow::headsetStatusChanged(bool) + ?init@RadioStationsView@@EAEXPAVRadioMainWindow@@PAVRadioStationModel@@@Z @ 10 NONAME ; void RadioStationsView::init(class RadioMainWindow *, class RadioStationModel *) + ?listItemLongPressed@RadioPlayLogView@@AAEXPAVHbAbstractViewItem@@ABVQPointF@@@Z @ 11 NONAME ; void RadioPlayLogView::listItemLongPressed(class HbAbstractViewItem *, class QPointF const &) ??_ERadioWizardView@@UAE@I@Z @ 12 NONAME ; RadioWizardView::~RadioWizardView(unsigned int) ??_ERadioStationsView@@UAE@I@Z @ 13 NONAME ; RadioStationsView::~RadioStationsView(unsigned int) ?activateStationsView@RadioMainWindow@@QAEXXZ @ 14 NONAME ; void RadioMainWindow::activateStationsView(void) - ??0RadioWizardView@@QAE@PAVRadioXmlUiLoader@@@Z @ 15 NONAME ; RadioWizardView::RadioWizardView(class RadioXmlUiLoader *) - ?getStaticMetaObject@RadioMainWindow@@SAABUQMetaObject@@XZ @ 16 NONAME ; struct QMetaObject const & RadioMainWindow::getStaticMetaObject(void) - ??0RadioMainWindow@@QAE@PAVQWidget@@@Z @ 17 NONAME ; RadioMainWindow::RadioMainWindow(class QWidget *) - ?startScanAndSavePresets@RadioStationsView@@AAEXXZ @ 18 NONAME ; void RadioStationsView::startScanAndSavePresets(void) - ?activateWizardView@RadioMainWindow@@QAEXXZ @ 19 NONAME ; void RadioMainWindow::activateWizardView(void) - ?tr@RadioMainWindow@@SA?AVQString@@PBD0H@Z @ 20 NONAME ; class QString RadioMainWindow::tr(char const *, char const *, int) - ?isOfflineUsageAllowed@RadioMainWindow@@QAE_NXZ @ 21 NONAME ; bool RadioMainWindow::isOfflineUsageAllowed(void) - ?getStaticMetaObject@RadioStationsView@@SAABUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const & RadioStationsView::getStaticMetaObject(void) - ??1RadioPlayLogView@@UAE@XZ @ 23 NONAME ; RadioPlayLogView::~RadioPlayLogView(void) - ?listItemClicked@RadioStationsView@@AAEXABVQModelIndex@@@Z @ 24 NONAME ; void RadioStationsView::listItemClicked(class QModelIndex const &) - ?qt_metacall@RadioPlayLogView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 25 NONAME ; int RadioPlayLogView::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacall@RadioTuningView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 26 NONAME ; int RadioTuningView::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacall@RadioMainWindow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 27 NONAME ; int RadioMainWindow::qt_metacall(enum QMetaObject::Call, int, void * *) - ?staticMetaObject@RadioMainWindow@@2UQMetaObject@@B @ 28 NONAME ; struct QMetaObject const RadioMainWindow::staticMetaObject - ??_ERadioPlayLogView@@UAE@I@Z @ 29 NONAME ; RadioPlayLogView::~RadioPlayLogView(unsigned int) - ??1RadioTuningView@@UAE@XZ @ 30 NONAME ; RadioTuningView::~RadioTuningView(void) - ?updateHeading@RadioStationsView@@AAEXXZ @ 31 NONAME ; void RadioStationsView::updateHeading(void) - ?showEvent@RadioWizardView@@EAEXPAVQShowEvent@@@Z @ 32 NONAME ; void RadioWizardView::showEvent(class QShowEvent *) - ?metaObject@RadioWizardView@@UBEPBUQMetaObject@@XZ @ 33 NONAME ; struct QMetaObject const * RadioWizardView::metaObject(void) const - ??0RadioTuningView@@QAE@PAVRadioXmlUiLoader@@@Z @ 34 NONAME ; RadioTuningView::RadioTuningView(class RadioXmlUiLoader *) - ?init@RadioPlayLogView@@EAEXPAVRadioMainWindow@@PAVRadioStationModel@@@Z @ 35 NONAME ; void RadioPlayLogView::init(class RadioMainWindow *, class RadioStationModel *) - ?trUtf8@RadioTuningView@@SA?AVQString@@PBD0H@Z @ 36 NONAME ; class QString RadioTuningView::trUtf8(char const *, char const *, int) - ?tr@RadioStationsView@@SA?AVQString@@PBD0H@Z @ 37 NONAME ; class QString RadioStationsView::tr(char const *, char const *, int) - ?dialogShown@RadioMainWindow@@AAEXV?$QSharedPointer@VHbView@@@@@Z @ 38 NONAME ; void RadioMainWindow::dialogShown(class QSharedPointer) - ?saveSelectedAsFavorites@RadioWizardView@@AAEXXZ @ 39 NONAME ; void RadioWizardView::saveSelectedAsFavorites(void) - ?updateHeadsetStatus@RadioStationsView@@AAEX_N@Z @ 40 NONAME ; void RadioStationsView::updateHeadsetStatus(bool) - ?setNowPlayingIcon@RadioStationsView@@QAEXABVHbIcon@@@Z @ 41 NONAME ; void RadioStationsView::setNowPlayingIcon(class HbIcon const &) - ?tr@RadioStationsView@@SA?AVQString@@PBD0@Z @ 42 NONAME ; class QString RadioStationsView::tr(char const *, char const *) - ?trUtf8@RadioWizardView@@SA?AVQString@@PBD0@Z @ 43 NONAME ; class QString RadioWizardView::trUtf8(char const *, char const *) - ?trUtf8@RadioMainWindow@@SA?AVQString@@PBD0H@Z @ 44 NONAME ; class QString RadioMainWindow::trUtf8(char const *, char const *, int) - ?tr@RadioWizardView@@SA?AVQString@@PBD0@Z @ 45 NONAME ; class QString RadioWizardView::tr(char const *, char const *) - ?showErrorMessage@RadioMainWindow@@QAEXABVQString@@@Z @ 46 NONAME ; void RadioMainWindow::showErrorMessage(class QString const &) - ??0RadioStationsView@@QAE@PAVRadioXmlUiLoader@@@Z @ 47 NONAME ; RadioStationsView::RadioStationsView(class RadioXmlUiLoader *) - ?favoriteIcon@RadioStationsView@@QBE?AVHbIcon@@XZ @ 48 NONAME ; class HbIcon RadioStationsView::favoriteIcon(void) const - ?setFavoriteIcon@RadioStationsView@@QAEXABVHbIcon@@@Z @ 49 NONAME ; void RadioStationsView::setFavoriteIcon(class HbIcon const &) - ?showVolumeLevel@RadioMainWindow@@AAEXH@Z @ 50 NONAME ; void RadioMainWindow::showVolumeLevel(int) - ?trUtf8@RadioStationsView@@SA?AVQString@@PBD0H@Z @ 51 NONAME ; class QString RadioStationsView::trUtf8(char const *, char const *, int) - ?updateCurrentStation@RadioStationsView@@AAEXXZ @ 52 NONAME ; void RadioStationsView::updateCurrentStation(void) - ?activateView@RadioMainWindow@@AAEXAAV?$QPointer@VRadioViewBase@@@@ABVQString@@@Z @ 53 NONAME ; void RadioMainWindow::activateView(class QPointer &, class QString const &) - ?qt_metacast@RadioMainWindow@@UAEPAXPBD@Z @ 54 NONAME ; void * RadioMainWindow::qt_metacast(char const *) - ?tr@RadioPlayLogView@@SA?AVQString@@PBD0@Z @ 55 NONAME ; class QString RadioPlayLogView::tr(char const *, char const *) - ?getStaticMetaObject@RadioPlayLogView@@SAABUQMetaObject@@XZ @ 56 NONAME ; struct QMetaObject const & RadioPlayLogView::getStaticMetaObject(void) - ?init@RadioWizardView@@EAEXPAVRadioMainWindow@@PAVRadioStationModel@@@Z @ 57 NONAME ; void RadioWizardView::init(class RadioMainWindow *, class RadioStationModel *) - ??_ERadioMainWindow@@UAE@I@Z @ 58 NONAME ; RadioMainWindow::~RadioMainWindow(unsigned int) - ?trUtf8@RadioTuningView@@SA?AVQString@@PBD0@Z @ 59 NONAME ; class QString RadioTuningView::trUtf8(char const *, char const *) - ?tr@RadioWizardView@@SA?AVQString@@PBD0H@Z @ 60 NONAME ; class QString RadioWizardView::tr(char const *, char const *, int) - ?init@RadioTuningView@@EAEXPAVRadioMainWindow@@PAVRadioStationModel@@@Z @ 61 NONAME ; void RadioTuningView::init(class RadioMainWindow *, class RadioStationModel *) - ?tr@RadioTuningView@@SA?AVQString@@PBD0@Z @ 62 NONAME ; class QString RadioTuningView::tr(char const *, char const *) - ??_ERadioTuningView@@UAE@I@Z @ 63 NONAME ; RadioTuningView::~RadioTuningView(unsigned int) - ?staticMetaObject@RadioStationsView@@2UQMetaObject@@B @ 64 NONAME ; struct QMetaObject const RadioStationsView::staticMetaObject - ?nowPlayingIcon@RadioStationsView@@QBE?AVHbIcon@@XZ @ 65 NONAME ; class HbIcon RadioStationsView::nowPlayingIcon(void) const - ?uiEngine@RadioMainWindow@@QAEAAVRadioUiEngine@@XZ @ 66 NONAME ; class RadioUiEngine & RadioMainWindow::uiEngine(void) - ?qt_metacast@RadioTuningView@@UAEPAXPBD@Z @ 67 NONAME ; void * RadioTuningView::qt_metacast(char const *) - ?qt_metacall@RadioWizardView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 68 NONAME ; int RadioWizardView::qt_metacall(enum QMetaObject::Call, int, void * *) - ?staticMetaObject@RadioPlayLogView@@2UQMetaObject@@B @ 69 NONAME ; struct QMetaObject const RadioPlayLogView::staticMetaObject - ??0RadioPlayLogView@@QAE@PAVRadioXmlUiLoader@@@Z @ 70 NONAME ; RadioPlayLogView::RadioPlayLogView(class RadioXmlUiLoader *) - ??1RadioStationsView@@UAE@XZ @ 71 NONAME ; RadioStationsView::~RadioStationsView(void) - ?showEvent@RadioStationsView@@EAEXPAVQShowEvent@@@Z @ 72 NONAME ; void RadioStationsView::showEvent(class QShowEvent *) - ?getStaticMetaObject@RadioWizardView@@SAABUQMetaObject@@XZ @ 73 NONAME ; struct QMetaObject const & RadioWizardView::getStaticMetaObject(void) - ?qt_metacast@RadioStationsView@@UAEPAXPBD@Z @ 74 NONAME ; void * RadioStationsView::qt_metacast(char const *) - ?metaObject@RadioTuningView@@UBEPBUQMetaObject@@XZ @ 75 NONAME ; struct QMetaObject const * RadioTuningView::metaObject(void) const - ?trUtf8@RadioStationsView@@SA?AVQString@@PBD0@Z @ 76 NONAME ; class QString RadioStationsView::trUtf8(char const *, char const *) - ?tr@RadioPlayLogView@@SA?AVQString@@PBD0H@Z @ 77 NONAME ; class QString RadioPlayLogView::tr(char const *, char const *, int) - ?qt_metacast@RadioPlayLogView@@UAEPAXPBD@Z @ 78 NONAME ; void * RadioPlayLogView::qt_metacast(char const *) - ?qt_metacall@RadioStationsView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 79 NONAME ; int RadioStationsView::qt_metacall(enum QMetaObject::Call, int, void * *) - ?initSecondarySoftkey@RadioWizardView@@EAEXXZ @ 80 NONAME ; void RadioWizardView::initSecondarySoftkey(void) - ?staticMetaObject@RadioWizardView@@2UQMetaObject@@B @ 81 NONAME ; struct QMetaObject const RadioWizardView::staticMetaObject - ?updateControlVisibilities@RadioStationsView@@AAEXXZ @ 82 NONAME ; void RadioStationsView::updateControlVisibilities(void) - ?listItemLongPressed@RadioStationsView@@AAEXPAVHbAbstractViewItem@@ABVQPointF@@@Z @ 83 NONAME ; void RadioStationsView::listItemLongPressed(class HbAbstractViewItem *, class QPointF const &) - ?trUtf8@RadioPlayLogView@@SA?AVQString@@PBD0@Z @ 84 NONAME ; class QString RadioPlayLogView::trUtf8(char const *, char const *) - ?init@RadioMainWindow@@QAEXPAVRadioUiEngine@@@Z @ 85 NONAME ; void RadioMainWindow::init(class RadioUiEngine *) - ?activatePlayLogView@RadioMainWindow@@QAEXXZ @ 86 NONAME ; void RadioMainWindow::activatePlayLogView(void) - ?listItemClicked@RadioWizardView@@AAEXABVQModelIndex@@@Z @ 87 NONAME ; void RadioWizardView::listItemClicked(class QModelIndex const &) - ?setOrientation@RadioTuningView@@EAEXXZ @ 88 NONAME ; void RadioTuningView::setOrientation(void) - ?staticMetaObject@RadioTuningView@@2UQMetaObject@@B @ 89 NONAME ; struct QMetaObject const RadioTuningView::staticMetaObject - ??1RadioMainWindow@@UAE@XZ @ 90 NONAME ; RadioMainWindow::~RadioMainWindow(void) - ?metaObject@RadioMainWindow@@UBEPBUQMetaObject@@XZ @ 91 NONAME ; struct QMetaObject const * RadioMainWindow::metaObject(void) const - ?deckButtonPressed@RadioStationsView@@AAEXXZ @ 92 NONAME ; void RadioStationsView::deckButtonPressed(void) - ?metaObject@RadioPlayLogView@@UBEPBUQMetaObject@@XZ @ 93 NONAME ; struct QMetaObject const * RadioPlayLogView::metaObject(void) const - ?trUtf8@RadioMainWindow@@SA?AVQString@@PBD0@Z @ 94 NONAME ; class QString RadioMainWindow::trUtf8(char const *, char const *) - ?getStaticMetaObject@RadioTuningView@@SAABUQMetaObject@@XZ @ 95 NONAME ; struct QMetaObject const & RadioTuningView::getStaticMetaObject(void) - ?trUtf8@RadioWizardView@@SA?AVQString@@PBD0H@Z @ 96 NONAME ; class QString RadioWizardView::trUtf8(char const *, char const *, int) - ?activateTuningView@RadioMainWindow@@QAEXXZ @ 97 NONAME ; void RadioMainWindow::activateTuningView(void) - ?tr@RadioMainWindow@@SA?AVQString@@PBD0@Z @ 98 NONAME ; class QString RadioMainWindow::tr(char const *, char const *) - ?metaObject@RadioStationsView@@UBEPBUQMetaObject@@XZ @ 99 NONAME ; struct QMetaObject const * RadioStationsView::metaObject(void) const - ?orientationSection@RadioMainWindow@@QAE?AVQString@@XZ @ 100 NONAME ; class QString RadioMainWindow::orientationSection(void) - ?toggleFavorite@RadioTuningView@@AAEXXZ @ 101 NONAME ; void RadioTuningView::toggleFavorite(void) - ?updateOrientation@RadioMainWindow@@AAEXW4Orientation@Qt@@@Z @ 102 NONAME ; void RadioMainWindow::updateOrientation(enum Qt::Orientation) + ?activateView@RadioMainWindow@@AAEXAAV?$QPointer@VRadioViewBase@@@@ABVQString@@V?$QFlags@W4ViewSwitchFlag@Hb@@@@@Z @ 15 NONAME ; void RadioMainWindow::activateView(class QPointer &, class QString const &, class QFlags) + ??0RadioWizardView@@QAE@PAVRadioXmlUiLoader@@@Z @ 16 NONAME ; RadioWizardView::RadioWizardView(class RadioXmlUiLoader *) + ?getStaticMetaObject@RadioMainWindow@@SAABUQMetaObject@@XZ @ 17 NONAME ; struct QMetaObject const & RadioMainWindow::getStaticMetaObject(void) + ??0RadioMainWindow@@QAE@PAVQWidget@@@Z @ 18 NONAME ; RadioMainWindow::RadioMainWindow(class QWidget *) + ?updateVisibilities@RadioPlayLogView@@AAEXXZ @ 19 NONAME ; void RadioPlayLogView::updateVisibilities(void) + ?startScanAndSavePresets@RadioStationsView@@AAEXXZ @ 20 NONAME ; void RadioStationsView::startScanAndSavePresets(void) + ?activateWizardView@RadioMainWindow@@QAEXXZ @ 21 NONAME ; void RadioMainWindow::activateWizardView(void) + ?tr@RadioMainWindow@@SA?AVQString@@PBD0H@Z @ 22 NONAME ; class QString RadioMainWindow::tr(char const *, char const *, int) + ?isOfflineUsageAllowed@RadioMainWindow@@QAE_NXZ @ 23 NONAME ; bool RadioMainWindow::isOfflineUsageAllowed(void) + ?getStaticMetaObject@RadioStationsView@@SAABUQMetaObject@@XZ @ 24 NONAME ; struct QMetaObject const & RadioStationsView::getStaticMetaObject(void) + ??1RadioPlayLogView@@UAE@XZ @ 25 NONAME ; RadioPlayLogView::~RadioPlayLogView(void) + ?listItemClicked@RadioStationsView@@AAEXABVQModelIndex@@@Z @ 26 NONAME ; void RadioStationsView::listItemClicked(class QModelIndex const &) + ?qt_metacall@RadioPlayLogView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 27 NONAME ; int RadioPlayLogView::qt_metacall(enum QMetaObject::Call, int, void * *) + ?clearList@RadioPlayLogView@@AAEXXZ @ 28 NONAME ; void RadioPlayLogView::clearList(void) + ?qt_metacall@RadioTuningView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 29 NONAME ; int RadioTuningView::qt_metacall(enum QMetaObject::Call, int, void * *) + ?qt_metacall@RadioMainWindow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 30 NONAME ; int RadioMainWindow::qt_metacall(enum QMetaObject::Call, int, void * *) + ?staticMetaObject@RadioMainWindow@@2UQMetaObject@@B @ 31 NONAME ; struct QMetaObject const RadioMainWindow::staticMetaObject + ??_ERadioPlayLogView@@UAE@I@Z @ 32 NONAME ; RadioPlayLogView::~RadioPlayLogView(unsigned int) + ??1RadioTuningView@@UAE@XZ @ 33 NONAME ; RadioTuningView::~RadioTuningView(void) + ?updateHeading@RadioStationsView@@AAEXXZ @ 34 NONAME ; void RadioStationsView::updateHeading(void) + ?showEvent@RadioWizardView@@EAEXPAVQShowEvent@@@Z @ 35 NONAME ; void RadioWizardView::showEvent(class QShowEvent *) + ?metaObject@RadioWizardView@@UBEPBUQMetaObject@@XZ @ 36 NONAME ; struct QMetaObject const * RadioWizardView::metaObject(void) const + ??0RadioTuningView@@QAE@PAVRadioXmlUiLoader@@@Z @ 37 NONAME ; RadioTuningView::RadioTuningView(class RadioXmlUiLoader *) + ?init@RadioPlayLogView@@EAEXPAVRadioMainWindow@@PAVRadioStationModel@@@Z @ 38 NONAME ; void RadioPlayLogView::init(class RadioMainWindow *, class RadioStationModel *) + ?trUtf8@RadioTuningView@@SA?AVQString@@PBD0H@Z @ 39 NONAME ; class QString RadioTuningView::trUtf8(char const *, char const *, int) + ?tr@RadioStationsView@@SA?AVQString@@PBD0H@Z @ 40 NONAME ; class QString RadioStationsView::tr(char const *, char const *, int) + ?dialogShown@RadioMainWindow@@AAEXV?$QSharedPointer@VHbView@@@@@Z @ 41 NONAME ; void RadioMainWindow::dialogShown(class QSharedPointer) + ?saveSelectedAsFavorites@RadioWizardView@@AAEXXZ @ 42 NONAME ; void RadioWizardView::saveSelectedAsFavorites(void) + ?deckButtonPressed@RadioPlayLogView@@AAEXXZ @ 43 NONAME ; void RadioPlayLogView::deckButtonPressed(void) + ?updateHeadsetStatus@RadioStationsView@@AAEX_N@Z @ 44 NONAME ; void RadioStationsView::updateHeadsetStatus(bool) + ?setNowPlayingIcon@RadioStationsView@@QAEXABVHbIcon@@@Z @ 45 NONAME ; void RadioStationsView::setNowPlayingIcon(class HbIcon const &) + ?tr@RadioStationsView@@SA?AVQString@@PBD0@Z @ 46 NONAME ; class QString RadioStationsView::tr(char const *, char const *) + ?trUtf8@RadioWizardView@@SA?AVQString@@PBD0@Z @ 47 NONAME ; class QString RadioWizardView::trUtf8(char const *, char const *) + ?trUtf8@RadioMainWindow@@SA?AVQString@@PBD0H@Z @ 48 NONAME ; class QString RadioMainWindow::trUtf8(char const *, char const *, int) + ?tr@RadioWizardView@@SA?AVQString@@PBD0@Z @ 49 NONAME ; class QString RadioWizardView::tr(char const *, char const *) + ?showErrorMessage@RadioMainWindow@@QAEXABVQString@@@Z @ 50 NONAME ; void RadioMainWindow::showErrorMessage(class QString const &) + ??0RadioStationsView@@QAE@PAVRadioXmlUiLoader@@@Z @ 51 NONAME ; RadioStationsView::RadioStationsView(class RadioXmlUiLoader *) + ?favoriteIcon@RadioStationsView@@QBE?AVHbIcon@@XZ @ 52 NONAME ; class HbIcon RadioStationsView::favoriteIcon(void) const + ?setFavoriteIcon@RadioStationsView@@QAEXABVHbIcon@@@Z @ 53 NONAME ; void RadioStationsView::setFavoriteIcon(class HbIcon const &) + ?showVolumeLevel@RadioMainWindow@@AAEXH@Z @ 54 NONAME ; void RadioMainWindow::showVolumeLevel(int) + ?trUtf8@RadioStationsView@@SA?AVQString@@PBD0H@Z @ 55 NONAME ; class QString RadioStationsView::trUtf8(char const *, char const *, int) + ?updateCurrentStation@RadioStationsView@@AAEXXZ @ 56 NONAME ; void RadioStationsView::updateCurrentStation(void) + ?qt_metacast@RadioMainWindow@@UAEPAXPBD@Z @ 57 NONAME ; void * RadioMainWindow::qt_metacast(char const *) + ?tr@RadioPlayLogView@@SA?AVQString@@PBD0@Z @ 58 NONAME ; class QString RadioPlayLogView::tr(char const *, char const *) + ?getStaticMetaObject@RadioPlayLogView@@SAABUQMetaObject@@XZ @ 59 NONAME ; struct QMetaObject const & RadioPlayLogView::getStaticMetaObject(void) + ?init@RadioWizardView@@EAEXPAVRadioMainWindow@@PAVRadioStationModel@@@Z @ 60 NONAME ; void RadioWizardView::init(class RadioMainWindow *, class RadioStationModel *) + ?showContextMenu@RadioPlayLogView@@AAEXABVQModelIndex@@@Z @ 61 NONAME ; void RadioPlayLogView::showContextMenu(class QModelIndex const &) + ??_ERadioMainWindow@@UAE@I@Z @ 62 NONAME ; RadioMainWindow::~RadioMainWindow(unsigned int) + ?trUtf8@RadioTuningView@@SA?AVQString@@PBD0@Z @ 63 NONAME ; class QString RadioTuningView::trUtf8(char const *, char const *) + ?tr@RadioWizardView@@SA?AVQString@@PBD0H@Z @ 64 NONAME ; class QString RadioWizardView::tr(char const *, char const *, int) + ?init@RadioTuningView@@EAEXPAVRadioMainWindow@@PAVRadioStationModel@@@Z @ 65 NONAME ; void RadioTuningView::init(class RadioMainWindow *, class RadioStationModel *) + ?tr@RadioTuningView@@SA?AVQString@@PBD0@Z @ 66 NONAME ; class QString RadioTuningView::tr(char const *, char const *) + ??_ERadioTuningView@@UAE@I@Z @ 67 NONAME ; RadioTuningView::~RadioTuningView(unsigned int) + ?staticMetaObject@RadioStationsView@@2UQMetaObject@@B @ 68 NONAME ; struct QMetaObject const RadioStationsView::staticMetaObject + ?nowPlayingIcon@RadioStationsView@@QBE?AVHbIcon@@XZ @ 69 NONAME ; class HbIcon RadioStationsView::nowPlayingIcon(void) const + ?uiEngine@RadioMainWindow@@QAEAAVRadioUiEngine@@XZ @ 70 NONAME ; class RadioUiEngine & RadioMainWindow::uiEngine(void) + ?qt_metacast@RadioTuningView@@UAEPAXPBD@Z @ 71 NONAME ; void * RadioTuningView::qt_metacast(char const *) + ?qt_metacall@RadioWizardView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 72 NONAME ; int RadioWizardView::qt_metacall(enum QMetaObject::Call, int, void * *) + ?staticMetaObject@RadioPlayLogView@@2UQMetaObject@@B @ 73 NONAME ; struct QMetaObject const RadioPlayLogView::staticMetaObject + ??0RadioPlayLogView@@QAE@PAVRadioXmlUiLoader@@@Z @ 74 NONAME ; RadioPlayLogView::RadioPlayLogView(class RadioXmlUiLoader *) + ??1RadioStationsView@@UAE@XZ @ 75 NONAME ; RadioStationsView::~RadioStationsView(void) + ?listItemClicked@RadioPlayLogView@@AAEXABVQModelIndex@@@Z @ 76 NONAME ; void RadioPlayLogView::listItemClicked(class QModelIndex const &) + ?showEvent@RadioStationsView@@EAEXPAVQShowEvent@@@Z @ 77 NONAME ; void RadioStationsView::showEvent(class QShowEvent *) + ?getStaticMetaObject@RadioWizardView@@SAABUQMetaObject@@XZ @ 78 NONAME ; struct QMetaObject const & RadioWizardView::getStaticMetaObject(void) + ?qt_metacast@RadioStationsView@@UAEPAXPBD@Z @ 79 NONAME ; void * RadioStationsView::qt_metacast(char const *) + ?metaObject@RadioTuningView@@UBEPBUQMetaObject@@XZ @ 80 NONAME ; struct QMetaObject const * RadioTuningView::metaObject(void) const + ?trUtf8@RadioStationsView@@SA?AVQString@@PBD0@Z @ 81 NONAME ; class QString RadioStationsView::trUtf8(char const *, char const *) + ?tr@RadioPlayLogView@@SA?AVQString@@PBD0H@Z @ 82 NONAME ; class QString RadioPlayLogView::tr(char const *, char const *, int) + ?qt_metacast@RadioPlayLogView@@UAEPAXPBD@Z @ 83 NONAME ; void * RadioPlayLogView::qt_metacast(char const *) + ?qt_metacall@RadioStationsView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 84 NONAME ; int RadioStationsView::qt_metacall(enum QMetaObject::Call, int, void * *) + ?staticMetaObject@RadioWizardView@@2UQMetaObject@@B @ 85 NONAME ; struct QMetaObject const RadioWizardView::staticMetaObject + ?updateControlVisibilities@RadioStationsView@@AAEXXZ @ 86 NONAME ; void RadioStationsView::updateControlVisibilities(void) + ?listItemLongPressed@RadioStationsView@@AAEXPAVHbAbstractViewItem@@ABVQPointF@@@Z @ 87 NONAME ; void RadioStationsView::listItemLongPressed(class HbAbstractViewItem *, class QPointF const &) + ?trUtf8@RadioPlayLogView@@SA?AVQString@@PBD0@Z @ 88 NONAME ; class QString RadioPlayLogView::trUtf8(char const *, char const *) + ?setOrientation@RadioPlayLogView@@EAEXXZ @ 89 NONAME ; void RadioPlayLogView::setOrientation(void) + ?activatePlayLogView@RadioMainWindow@@QAEXXZ @ 90 NONAME ; void RadioMainWindow::activatePlayLogView(void) + ?init@RadioMainWindow@@QAEXPAVRadioUiEngine@@@Z @ 91 NONAME ; void RadioMainWindow::init(class RadioUiEngine *) + ?setOrientation@RadioTuningView@@EAEXXZ @ 92 NONAME ; void RadioTuningView::setOrientation(void) + ?listItemClicked@RadioWizardView@@AAEXABVQModelIndex@@@Z @ 93 NONAME ; void RadioWizardView::listItemClicked(class QModelIndex const &) + ?staticMetaObject@RadioTuningView@@2UQMetaObject@@B @ 94 NONAME ; struct QMetaObject const RadioTuningView::staticMetaObject + ??1RadioMainWindow@@UAE@XZ @ 95 NONAME ; RadioMainWindow::~RadioMainWindow(void) + ?metaObject@RadioMainWindow@@UBEPBUQMetaObject@@XZ @ 96 NONAME ; struct QMetaObject const * RadioMainWindow::metaObject(void) const + ?deckButtonPressed@RadioStationsView@@AAEXXZ @ 97 NONAME ; void RadioStationsView::deckButtonPressed(void) + ?metaObject@RadioPlayLogView@@UBEPBUQMetaObject@@XZ @ 98 NONAME ; struct QMetaObject const * RadioPlayLogView::metaObject(void) const + ?trUtf8@RadioMainWindow@@SA?AVQString@@PBD0@Z @ 99 NONAME ; class QString RadioMainWindow::trUtf8(char const *, char const *) + ?getStaticMetaObject@RadioTuningView@@SAABUQMetaObject@@XZ @ 100 NONAME ; struct QMetaObject const & RadioTuningView::getStaticMetaObject(void) + ?trUtf8@RadioWizardView@@SA?AVQString@@PBD0H@Z @ 101 NONAME ; class QString RadioWizardView::trUtf8(char const *, char const *, int) + ?activateTuningView@RadioMainWindow@@QAEXXZ @ 102 NONAME ; void RadioMainWindow::activateTuningView(void) + ?tr@RadioMainWindow@@SA?AVQString@@PBD0@Z @ 103 NONAME ; class QString RadioMainWindow::tr(char const *, char const *) + ?metaObject@RadioStationsView@@UBEPBUQMetaObject@@XZ @ 104 NONAME ; struct QMetaObject const * RadioStationsView::metaObject(void) const + ?orientationSection@RadioMainWindow@@QAE?AVQString@@XZ @ 105 NONAME ; class QString RadioMainWindow::orientationSection(void) + ?toggleFavorite@RadioTuningView@@AAEXXZ @ 106 NONAME ; void RadioTuningView::toggleFavorite(void) + ?updateOrientation@RadioMainWindow@@AAEXW4Orientation@Qt@@@Z @ 107 NONAME ; void RadioMainWindow::updateOrientation(enum Qt::Orientation) diff -r 46974bebc798 -r 63aabac4416d radioapp/eabi/radioenginewrapperu.def --- a/radioapp/eabi/radioenginewrapperu.def Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/eabi/radioenginewrapperu.def Fri Apr 16 14:58:55 2010 +0300 @@ -33,4 +33,8 @@ _ZNK18RadioEngineWrapper6regionEv @ 32 NONAME _ZNK18RadioEngineWrapper7isMutedEv @ 33 NONAME _ZNK18RadioEngineWrapper9isRadioOnEv @ 34 NONAME + _ZN12MethodLoggerC1EPKcS1_ @ 35 NONAME + _ZN12MethodLoggerC2EPKcS1_ @ 36 NONAME + _ZN12MethodLoggerD1Ev @ 37 NONAME + _ZN12MethodLoggerD2Ev @ 38 NONAME diff -r 46974bebc798 -r 63aabac4416d radioapp/eabi/radiouiengineu.def --- a/radioapp/eabi/radiouiengineu.def Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/eabi/radiouiengineu.def Fri Apr 16 14:58:55 2010 +0300 @@ -55,7 +55,7 @@ _ZN13RadioUiEngine16staticMetaObjectE @ 54 NONAME DATA 16 _ZN13RadioUiEngine16toggleAudioRouteEv @ 55 NONAME _ZN13RadioUiEngine16tunedToFrequencyEji @ 56 NONAME - _ZN13RadioUiEngine17addRecognizedSongERK7QStringS2_ @ 57 NONAME + _ZN13RadioUiEngine17addRecognizedSongERK7QStringS2_RK12RadioStation @ 57 NONAME _ZN13RadioUiEngine17audioRouteChangedEb @ 58 NONAME _ZN13RadioUiEngine17emitVolumeChangedEi @ 59 NONAME _ZN13RadioUiEngine17scanFrequencyBandEv @ 60 NONAME @@ -86,154 +86,163 @@ _ZN13RadioUiEngineD0Ev @ 85 NONAME _ZN13RadioUiEngineD1Ev @ 86 NONAME _ZN13RadioUiEngineD2Ev @ 87 NONAME - _ZN16RadioPlayLogItem11setFavoriteEv @ 88 NONAME - _ZN16RadioPlayLogItem17increasePlayCountEv @ 89 NONAME - _ZN16RadioPlayLogItem23decrementReferenceCountEv @ 90 NONAME - _ZN16RadioPlayLogItem6detachEv @ 91 NONAME - _ZN16RadioPlayLogItem8setTitleERK7QString @ 92 NONAME - _ZN16RadioPlayLogItem9setArtistERK7QString @ 93 NONAME - _ZN16RadioPlayLogItemC1ERK7QStringS2_ @ 94 NONAME - _ZN16RadioPlayLogItemC1ERKS_ @ 95 NONAME - _ZN16RadioPlayLogItemC1Ev @ 96 NONAME - _ZN16RadioPlayLogItemC2ERK7QStringS2_ @ 97 NONAME - _ZN16RadioPlayLogItemC2ERKS_ @ 98 NONAME - _ZN16RadioPlayLogItemC2Ev @ 99 NONAME - _ZN16RadioPlayLogItemD0Ev @ 100 NONAME - _ZN16RadioPlayLogItemD1Ev @ 101 NONAME - _ZN16RadioPlayLogItemD2Ev @ 102 NONAME - _ZN16RadioPlayLogItemaSERKS_ @ 103 NONAME - _ZN17RadioPlayLogModel10updateItemEiRK16RadioPlayLogItemb @ 104 NONAME - _ZN17RadioPlayLogModel11qt_metacallEN11QMetaObject4CallEiPPv @ 105 NONAME - _ZN17RadioPlayLogModel11qt_metacastEPKc @ 106 NONAME - _ZN17RadioPlayLogModel11setFavoriteEv @ 107 NONAME - _ZN17RadioPlayLogModel16addRadioTextPlusEiRK7QString @ 108 NONAME - _ZN17RadioPlayLogModel16currentSongResetEv @ 109 NONAME - _ZN17RadioPlayLogModel16resetCurrentSongEv @ 110 NONAME - _ZN17RadioPlayLogModel16staticMetaObjectE @ 111 NONAME DATA 16 - _ZN17RadioPlayLogModel18clearRadioTextPlusEv @ 112 NONAME - _ZN17RadioPlayLogModel19getStaticMetaObjectEv @ 113 NONAME - _ZN17RadioPlayLogModel7addItemERK7QStringS2_ @ 114 NONAME - _ZN17RadioPlayLogModel7setDataERK11QModelIndexRK8QVarianti @ 115 NONAME - _ZN17RadioPlayLogModel8findItemERK7QStringS2_R16RadioPlayLogItem @ 116 NONAME - _ZN17RadioPlayLogModel9itemAddedEv @ 117 NONAME - _ZN17RadioPlayLogModel9removeAllEv @ 118 NONAME - _ZN17RadioPlayLogModelC1ER13RadioUiEngine @ 119 NONAME - _ZN17RadioPlayLogModelC2ER13RadioUiEngine @ 120 NONAME - _ZN17RadioPlayLogModelD0Ev @ 121 NONAME - _ZN17RadioPlayLogModelD1Ev @ 122 NONAME - _ZN17RadioPlayLogModelD2Ev @ 123 NONAME - _ZN17RadioStationModel10addStationERK12RadioStation @ 124 NONAME - _ZN17RadioStationModel10initializeEP18RadioPresetStorageP18RadioEngineWrapper @ 125 NONAME - _ZN17RadioStationModel11qt_metacallEN11QMetaObject4CallEiPPv @ 126 NONAME - _ZN17RadioStationModel11qt_metacastEPKc @ 127 NONAME - _ZN17RadioStationModel11saveStationER12RadioStation @ 128 NONAME - _ZN17RadioStationModel12setFavoritesERK5QListI11QModelIndexE @ 129 NONAME - _ZN17RadioStationModel12stationAddedERK12RadioStation @ 130 NONAME - _ZN17RadioStationModel13findFrequencyEjR12RadioStation @ 131 NONAME - _ZN17RadioStationModel13removeStationERK12RadioStation @ 132 NONAME - _ZN17RadioStationModel13renameStationEiRK7QString @ 133 NONAME - _ZN17RadioStationModel14currentStationEv @ 134 NONAME - _ZN17RadioStationModel15emitDataChangedERK12RadioStation @ 135 NONAME - _ZN17RadioStationModel15favoriteChangedERK12RadioStation @ 136 NONAME - _ZN17RadioStationModel15findPresetIndexEi @ 137 NONAME - _ZN17RadioStationModel15findPresetIndexEiR12RadioStation @ 138 NONAME - _ZN17RadioStationModel15stationsInRangeEjj @ 139 NONAME - _ZN17RadioStationModel16dynamicPsChangedERK12RadioStation @ 140 NONAME - _ZN17RadioStationModel16staticMetaObjectE @ 141 NONAME DATA 16 - _ZN17RadioStationModel16stationHandlerIfEv @ 142 NONAME - _ZN17RadioStationModel17emitChangeSignalsERK12RadioStation6QFlagsINS0_10ChangeFlagEE @ 143 NONAME - _ZN17RadioStationModel17radioTextReceivedERK12RadioStation @ 144 NONAME - _ZN17RadioStationModel17removeByFrequencyEj @ 145 NONAME - _ZN17RadioStationModel18findCurrentStationEj @ 146 NONAME - _ZN17RadioStationModel18stationDataChangedERK12RadioStation @ 147 NONAME - _ZN17RadioStationModel19dynamicPsCheckEndedEv @ 148 NONAME - _ZN17RadioStationModel19getStaticMetaObjectEv @ 149 NONAME - _ZN17RadioStationModel19removeByPresetIndexEi @ 150 NONAME - _ZN17RadioStationModel19setFavoriteByPresetEib @ 151 NONAME - _ZN17RadioStationModel21findUnusedPresetIndexEv @ 152 NONAME - _ZN17RadioStationModel22setFavoriteByFrequencyEjb @ 153 NONAME - _ZN17RadioStationModel23modelIndexFromFrequencyEj @ 154 NONAME - _ZN17RadioStationModel7setDataERK11QModelIndexRK8QVarianti @ 155 NONAME - _ZN17RadioStationModel8setIconsERK5QIconS2_ @ 156 NONAME - _ZN17RadioStationModel9removeAllEv @ 157 NONAME - _ZN17RadioStationModel9setDetailE6QFlagsINS_10DetailFlagEE @ 158 NONAME - _ZN17RadioStationModelC1ER13RadioUiEngine @ 159 NONAME - _ZN17RadioStationModelC2ER13RadioUiEngine @ 160 NONAME - _ZN17RadioStationModelD0Ev @ 161 NONAME - _ZN17RadioStationModelD1Ev @ 162 NONAME - _ZN17RadioStationModelD2Ev @ 163 NONAME - _ZN23RadioStationFilterModel13setTypeFilterE6QFlagsIN12RadioStation8TypeFlagEE @ 164 NONAME - _ZN23RadioStationFilterModel23modelIndexFromFrequencyEj @ 165 NONAME - _ZN23RadioStationFilterModel9setCyclicEb @ 166 NONAME - _ZN23RadioStationFilterModelC1ER13RadioUiEngineP7QObject @ 167 NONAME - _ZN23RadioStationFilterModelC2ER13RadioUiEngineP7QObject @ 168 NONAME - _ZN23RadioStationFilterModelD0Ev @ 169 NONAME - _ZN23RadioStationFilterModelD1Ev @ 170 NONAME - _ZN23RadioStationFilterModelD2Ev @ 171 NONAME - _ZNK12RadioStation10hasChangedEv @ 172 NONAME - _ZNK12RadioStation10isDetachedEv @ 173 NONAME - _ZNK12RadioStation10isFavoriteEv @ 174 NONAME - _ZNK12RadioStation11changeFlagsEv @ 175 NONAME - _ZNK12RadioStation11presetIndexEv @ 176 NONAME - _ZNK12RadioStation12frequencyMhzEv @ 177 NONAME - _ZNK12RadioStation13dynamicPsTextEv @ 178 NONAME - _ZNK12RadioStation14hasDataChangedE6QFlagsINS_10ChangeFlagEE @ 179 NONAME - _ZNK12RadioStation3urlEv @ 180 NONAME - _ZNK12RadioStation4nameEv @ 181 NONAME - _ZNK12RadioStation5genreEv @ 182 NONAME - _ZNK12RadioStation6hasRdsEv @ 183 NONAME - _ZNK12RadioStation6isTypeE6QFlagsINS_8TypeFlagEE @ 184 NONAME - _ZNK12RadioStation6psTypeEv @ 185 NONAME - _ZNK12RadioStation7isValidEv @ 186 NONAME - _ZNK12RadioStation9frequencyEv @ 187 NONAME - _ZNK12RadioStation9hasPiCodeEv @ 188 NONAME - _ZNK12RadioStation9isRenamedEv @ 189 NONAME - _ZNK12RadioStation9radioTextEv @ 190 NONAME - _ZNK13RadioUiEngine10isScanningEv @ 191 NONAME - _ZNK13RadioUiEngine10metaObjectEv @ 192 NONAME - _ZNK13RadioUiEngine12maxFrequencyEv @ 193 NONAME - _ZNK13RadioUiEngine12minFrequencyEv @ 194 NONAME - _ZNK13RadioUiEngine16currentFrequencyEv @ 195 NONAME - _ZNK13RadioUiEngine17frequencyStepSizeEv @ 196 NONAME - _ZNK13RadioUiEngine17isAntennaAttachedEv @ 197 NONAME - _ZNK13RadioUiEngine18isUsingLoudspeakerEv @ 198 NONAME - _ZNK13RadioUiEngine6regionEv @ 199 NONAME - _ZNK13RadioUiEngine7isMutedEv @ 200 NONAME - _ZNK13RadioUiEngine9isRadioOnEv @ 201 NONAME - _ZNK16RadioPlayLogItem10isDetachedEv @ 202 NONAME - _ZNK16RadioPlayLogItem10isFavoriteEv @ 203 NONAME - _ZNK16RadioPlayLogItem5titleEv @ 204 NONAME - _ZNK16RadioPlayLogItem6artistEv @ 205 NONAME - _ZNK16RadioPlayLogItem9playCountEv @ 206 NONAME - _ZNK17RadioPlayLogModel10metaObjectEv @ 207 NONAME - _ZNK17RadioPlayLogModel23isCurrentSongRecognizedEv @ 208 NONAME - _ZNK17RadioPlayLogModel4dataERK11QModelIndexi @ 209 NONAME - _ZNK17RadioPlayLogModel5flagsERK11QModelIndex @ 210 NONAME - _ZNK17RadioPlayLogModel8rowCountERK11QModelIndex @ 211 NONAME - _ZNK17RadioStationModel10metaObjectEv @ 212 NONAME - _ZNK17RadioStationModel14currentStationEv @ 213 NONAME - _ZNK17RadioStationModel4dataERK11QModelIndexi @ 214 NONAME - _ZNK17RadioStationModel4listEv @ 215 NONAME - _ZNK17RadioStationModel5flagsERK11QModelIndex @ 216 NONAME - _ZNK17RadioStationModel8rowCountERK11QModelIndex @ 217 NONAME - _ZNK17RadioStationModel9stationAtEi @ 218 NONAME - _ZNK23RadioStationFilterModel16filterAcceptsRowEiRK11QModelIndex @ 219 NONAME - _ZNK23RadioStationFilterModel4dataERK11QModelIndexi @ 220 NONAME - _ZNK23RadioStationFilterModel5indexEiiRK11QModelIndex @ 221 NONAME - _ZNK23RadioStationFilterModel7isEqualERK11QModelIndexS2_ @ 222 NONAME - _ZNK23RadioStationFilterModel8rowCountERK11QModelIndex @ 223 NONAME - _ZNK23RadioStationFilterModel9hasLoopedERK11QModelIndex @ 224 NONAME - _ZNK23RadioStationFilterModel9realIndexERK11QModelIndex @ 225 NONAME - _ZTI12RadioStation @ 226 NONAME - _ZTI13RadioUiEngine @ 227 NONAME - _ZTI16RadioPlayLogItem @ 228 NONAME - _ZTI17RadioPlayLogModel @ 229 NONAME - _ZTI17RadioStationModel @ 230 NONAME - _ZTI23RadioStationFilterModel @ 231 NONAME - _ZTV12RadioStation @ 232 NONAME - _ZTV13RadioUiEngine @ 233 NONAME - _ZTV16RadioPlayLogItem @ 234 NONAME - _ZTV17RadioPlayLogModel @ 235 NONAME - _ZTV17RadioStationModel @ 236 NONAME - _ZTV23RadioStationFilterModel @ 237 NONAME + _ZN16RadioPlayLogItem10setStationERK7QString @ 88 NONAME + _ZN16RadioPlayLogItem11setFavoriteEv @ 89 NONAME + _ZN16RadioPlayLogItem12setFrequencyEj @ 90 NONAME + _ZN16RadioPlayLogItem14setCurrentTimeEv @ 91 NONAME + _ZN16RadioPlayLogItem17increasePlayCountEv @ 92 NONAME + _ZN16RadioPlayLogItem23decrementReferenceCountEv @ 93 NONAME + _ZN16RadioPlayLogItem6detachEv @ 94 NONAME + _ZN16RadioPlayLogItem8setTitleERK7QString @ 95 NONAME + _ZN16RadioPlayLogItem9setArtistERK7QString @ 96 NONAME + _ZN16RadioPlayLogItemC1ERK7QStringS2_ @ 97 NONAME + _ZN16RadioPlayLogItemC1ERKS_ @ 98 NONAME + _ZN16RadioPlayLogItemC1Ev @ 99 NONAME + _ZN16RadioPlayLogItemC2ERK7QStringS2_ @ 100 NONAME + _ZN16RadioPlayLogItemC2ERKS_ @ 101 NONAME + _ZN16RadioPlayLogItemC2Ev @ 102 NONAME + _ZN16RadioPlayLogItemD0Ev @ 103 NONAME + _ZN16RadioPlayLogItemD1Ev @ 104 NONAME + _ZN16RadioPlayLogItemD2Ev @ 105 NONAME + _ZN16RadioPlayLogItemaSERKS_ @ 106 NONAME + _ZN17RadioPlayLogModel10updateItemEiRK16RadioPlayLogItemb @ 107 NONAME + _ZN17RadioPlayLogModel11qt_metacallEN11QMetaObject4CallEiPPv @ 108 NONAME + _ZN17RadioPlayLogModel11qt_metacastEPKc @ 109 NONAME + _ZN17RadioPlayLogModel11setFavoriteEv @ 110 NONAME + _ZN17RadioPlayLogModel14setShowDetailsEb @ 111 NONAME + _ZN17RadioPlayLogModel16addRadioTextPlusEiRK7QStringRK12RadioStation @ 112 NONAME + _ZN17RadioPlayLogModel16currentSongResetEv @ 113 NONAME + _ZN17RadioPlayLogModel16resetCurrentSongEv @ 114 NONAME + _ZN17RadioPlayLogModel16staticMetaObjectE @ 115 NONAME DATA 16 + _ZN17RadioPlayLogModel18clearRadioTextPlusEv @ 116 NONAME + _ZN17RadioPlayLogModel19getStaticMetaObjectEv @ 117 NONAME + _ZN17RadioPlayLogModel7addItemERK7QStringS2_RK12RadioStation @ 118 NONAME + _ZN17RadioPlayLogModel7setDataERK11QModelIndexRK8QVarianti @ 119 NONAME + _ZN17RadioPlayLogModel8findItemERK7QStringS2_R16RadioPlayLogItem @ 120 NONAME + _ZN17RadioPlayLogModel9itemAddedEv @ 121 NONAME + _ZN17RadioPlayLogModel9removeAllEv @ 122 NONAME + _ZN17RadioPlayLogModelC1ER13RadioUiEngine @ 123 NONAME + _ZN17RadioPlayLogModelC2ER13RadioUiEngine @ 124 NONAME + _ZN17RadioPlayLogModelD0Ev @ 125 NONAME + _ZN17RadioPlayLogModelD1Ev @ 126 NONAME + _ZN17RadioPlayLogModelD2Ev @ 127 NONAME + _ZN17RadioStationModel10addStationERK12RadioStation @ 128 NONAME + _ZN17RadioStationModel10initializeEP18RadioPresetStorageP18RadioEngineWrapper @ 129 NONAME + _ZN17RadioStationModel11qt_metacallEN11QMetaObject4CallEiPPv @ 130 NONAME + _ZN17RadioStationModel11qt_metacastEPKc @ 131 NONAME + _ZN17RadioStationModel11saveStationER12RadioStation @ 132 NONAME + _ZN17RadioStationModel12setFavoritesERK5QListI11QModelIndexE @ 133 NONAME + _ZN17RadioStationModel12stationAddedERK12RadioStation @ 134 NONAME + _ZN17RadioStationModel13findFrequencyEjR12RadioStation @ 135 NONAME + _ZN17RadioStationModel13removeStationERK12RadioStation @ 136 NONAME + _ZN17RadioStationModel13renameStationEiRK7QString @ 137 NONAME + _ZN17RadioStationModel14currentStationEv @ 138 NONAME + _ZN17RadioStationModel14stationRemovedERK12RadioStation @ 139 NONAME + _ZN17RadioStationModel15emitDataChangedERK12RadioStation @ 140 NONAME + _ZN17RadioStationModel15favoriteChangedERK12RadioStation @ 141 NONAME + _ZN17RadioStationModel15findPresetIndexEi @ 142 NONAME + _ZN17RadioStationModel15findPresetIndexEiR12RadioStation @ 143 NONAME + _ZN17RadioStationModel15stationsInRangeEjj @ 144 NONAME + _ZN17RadioStationModel16dynamicPsChangedERK12RadioStation @ 145 NONAME + _ZN17RadioStationModel16staticMetaObjectE @ 146 NONAME DATA 16 + _ZN17RadioStationModel16stationHandlerIfEv @ 147 NONAME + _ZN17RadioStationModel17emitChangeSignalsERK12RadioStation6QFlagsINS0_10ChangeFlagEE @ 148 NONAME + _ZN17RadioStationModel17radioTextReceivedERK12RadioStation @ 149 NONAME + _ZN17RadioStationModel17removeByFrequencyEj @ 150 NONAME + _ZN17RadioStationModel18findCurrentStationEj @ 151 NONAME + _ZN17RadioStationModel18stationDataChangedERK12RadioStation @ 152 NONAME + _ZN17RadioStationModel19dynamicPsCheckEndedEv @ 153 NONAME + _ZN17RadioStationModel19getStaticMetaObjectEv @ 154 NONAME + _ZN17RadioStationModel19removeByPresetIndexEi @ 155 NONAME + _ZN17RadioStationModel19setFavoriteByPresetEib @ 156 NONAME + _ZN17RadioStationModel21findUnusedPresetIndexEv @ 157 NONAME + _ZN17RadioStationModel22setFavoriteByFrequencyEjb @ 158 NONAME + _ZN17RadioStationModel23modelIndexFromFrequencyEj @ 159 NONAME + _ZN17RadioStationModel7setDataERK11QModelIndexRK8QVarianti @ 160 NONAME + _ZN17RadioStationModel8setIconsERK5QIconS2_ @ 161 NONAME + _ZN17RadioStationModel9removeAllEv @ 162 NONAME + _ZN17RadioStationModel9setDetailE6QFlagsINS_10DetailFlagEE @ 163 NONAME + _ZN17RadioStationModelC1ER13RadioUiEngine @ 164 NONAME + _ZN17RadioStationModelC2ER13RadioUiEngine @ 165 NONAME + _ZN17RadioStationModelD0Ev @ 166 NONAME + _ZN17RadioStationModelD1Ev @ 167 NONAME + _ZN17RadioStationModelD2Ev @ 168 NONAME + _ZN23RadioStationFilterModel13setTypeFilterE6QFlagsIN12RadioStation8TypeFlagEE @ 169 NONAME + _ZN23RadioStationFilterModel23modelIndexFromFrequencyEj @ 170 NONAME + _ZN23RadioStationFilterModel9setCyclicEb @ 171 NONAME + _ZN23RadioStationFilterModelC1ER13RadioUiEngineP7QObject @ 172 NONAME + _ZN23RadioStationFilterModelC2ER13RadioUiEngineP7QObject @ 173 NONAME + _ZN23RadioStationFilterModelD0Ev @ 174 NONAME + _ZN23RadioStationFilterModelD1Ev @ 175 NONAME + _ZN23RadioStationFilterModelD2Ev @ 176 NONAME + _ZNK12RadioStation10hasChangedEv @ 177 NONAME + _ZNK12RadioStation10isDetachedEv @ 178 NONAME + _ZNK12RadioStation10isFavoriteEv @ 179 NONAME + _ZNK12RadioStation11changeFlagsEv @ 180 NONAME + _ZNK12RadioStation11presetIndexEv @ 181 NONAME + _ZNK12RadioStation12frequencyMhzEv @ 182 NONAME + _ZNK12RadioStation13dynamicPsTextEv @ 183 NONAME + _ZNK12RadioStation14hasDataChangedE6QFlagsINS_10ChangeFlagEE @ 184 NONAME + _ZNK12RadioStation3urlEv @ 185 NONAME + _ZNK12RadioStation4nameEv @ 186 NONAME + _ZNK12RadioStation5genreEv @ 187 NONAME + _ZNK12RadioStation6hasRdsEv @ 188 NONAME + _ZNK12RadioStation6isTypeE6QFlagsINS_8TypeFlagEE @ 189 NONAME + _ZNK12RadioStation6psTypeEv @ 190 NONAME + _ZNK12RadioStation7isValidEv @ 191 NONAME + _ZNK12RadioStation9frequencyEv @ 192 NONAME + _ZNK12RadioStation9hasPiCodeEv @ 193 NONAME + _ZNK12RadioStation9isRenamedEv @ 194 NONAME + _ZNK12RadioStation9radioTextEv @ 195 NONAME + _ZNK13RadioUiEngine10isScanningEv @ 196 NONAME + _ZNK13RadioUiEngine10metaObjectEv @ 197 NONAME + _ZNK13RadioUiEngine12maxFrequencyEv @ 198 NONAME + _ZNK13RadioUiEngine12minFrequencyEv @ 199 NONAME + _ZNK13RadioUiEngine16currentFrequencyEv @ 200 NONAME + _ZNK13RadioUiEngine17frequencyStepSizeEv @ 201 NONAME + _ZNK13RadioUiEngine17isAntennaAttachedEv @ 202 NONAME + _ZNK13RadioUiEngine18isUsingLoudspeakerEv @ 203 NONAME + _ZNK13RadioUiEngine6regionEv @ 204 NONAME + _ZNK13RadioUiEngine7isMutedEv @ 205 NONAME + _ZNK13RadioUiEngine9isRadioOnEv @ 206 NONAME + _ZNK16RadioPlayLogItem10isDetachedEv @ 207 NONAME + _ZNK16RadioPlayLogItem10isFavoriteEv @ 208 NONAME + _ZNK16RadioPlayLogItem4timeEv @ 209 NONAME + _ZNK16RadioPlayLogItem5titleEv @ 210 NONAME + _ZNK16RadioPlayLogItem6artistEv @ 211 NONAME + _ZNK16RadioPlayLogItem7stationEv @ 212 NONAME + _ZNK16RadioPlayLogItem9frequencyEv @ 213 NONAME + _ZNK16RadioPlayLogItem9playCountEv @ 214 NONAME + _ZNK17RadioPlayLogModel10metaObjectEv @ 215 NONAME + _ZNK17RadioPlayLogModel23isCurrentSongRecognizedEv @ 216 NONAME + _ZNK17RadioPlayLogModel4dataERK11QModelIndexi @ 217 NONAME + _ZNK17RadioPlayLogModel5flagsERK11QModelIndex @ 218 NONAME + _ZNK17RadioPlayLogModel8rowCountERK11QModelIndex @ 219 NONAME + _ZNK17RadioStationModel10metaObjectEv @ 220 NONAME + _ZNK17RadioStationModel14currentStationEv @ 221 NONAME + _ZNK17RadioStationModel4dataERK11QModelIndexi @ 222 NONAME + _ZNK17RadioStationModel4listEv @ 223 NONAME + _ZNK17RadioStationModel5flagsERK11QModelIndex @ 224 NONAME + _ZNK17RadioStationModel8rowCountERK11QModelIndex @ 225 NONAME + _ZNK17RadioStationModel9stationAtEi @ 226 NONAME + _ZNK23RadioStationFilterModel16filterAcceptsRowEiRK11QModelIndex @ 227 NONAME + _ZNK23RadioStationFilterModel4dataERK11QModelIndexi @ 228 NONAME + _ZNK23RadioStationFilterModel5indexEiiRK11QModelIndex @ 229 NONAME + _ZNK23RadioStationFilterModel7isEqualERK11QModelIndexS2_ @ 230 NONAME + _ZNK23RadioStationFilterModel8rowCountERK11QModelIndex @ 231 NONAME + _ZNK23RadioStationFilterModel9hasLoopedERK11QModelIndex @ 232 NONAME + _ZNK23RadioStationFilterModel9realIndexERK11QModelIndex @ 233 NONAME + _ZTI12RadioStation @ 234 NONAME + _ZTI13RadioUiEngine @ 235 NONAME + _ZTI16RadioPlayLogItem @ 236 NONAME + _ZTI17RadioPlayLogModel @ 237 NONAME + _ZTI17RadioStationModel @ 238 NONAME + _ZTI23RadioStationFilterModel @ 239 NONAME + _ZTV12RadioStation @ 240 NONAME + _ZTV13RadioUiEngine @ 241 NONAME + _ZTV16RadioPlayLogItem @ 242 NONAME + _ZTV17RadioPlayLogModel @ 243 NONAME + _ZTV17RadioStationModel @ 244 NONAME + _ZTV23RadioStationFilterModel @ 245 NONAME + _ZN13RadioUiEngine7monitorEv @ 246 NONAME diff -r 46974bebc798 -r 63aabac4416d radioapp/eabi/radiowidgetsu.def --- a/radioapp/eabi/radiowidgetsu.def Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/eabi/radiowidgetsu.def Fri Apr 16 14:58:55 2010 +0300 @@ -2,7 +2,7 @@ _ZN15RadioMainWindow11dialogShownE14QSharedPointerI6HbViewE @ 1 NONAME _ZN15RadioMainWindow11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME _ZN15RadioMainWindow11qt_metacastEPKc @ 3 NONAME - _ZN15RadioMainWindow12activateViewER8QPointerI13RadioViewBaseERK7QString @ 4 NONAME + _ZN15RadioMainWindow12activateViewER8QPointerI13RadioViewBaseERK7QString6QFlagsIN2Hb14ViewSwitchFlagEE @ 4 NONAME _ZN15RadioMainWindow15showVolumeLevelEi @ 5 NONAME _ZN15RadioMainWindow16showErrorMessageERK7QString @ 6 NONAME _ZN15RadioMainWindow16staticMetaObjectE @ 7 NONAME DATA 16 @@ -29,66 +29,71 @@ _ZN15RadioTuningView14toggleFavoriteEv @ 28 NONAME _ZN15RadioTuningView16staticMetaObjectE @ 29 NONAME DATA 16 _ZN15RadioTuningView19getStaticMetaObjectEv @ 30 NONAME - _ZN15RadioTuningView20initSecondarySoftkeyEv @ 31 NONAME - _ZN15RadioTuningView4initEP15RadioMainWindowP17RadioStationModel @ 32 NONAME - _ZN15RadioTuningViewC1EP16RadioXmlUiLoader @ 33 NONAME - _ZN15RadioTuningViewC2EP16RadioXmlUiLoader @ 34 NONAME - _ZN15RadioWizardView11qt_metacallEN11QMetaObject4CallEiPPv @ 35 NONAME - _ZN15RadioWizardView11qt_metacastEPKc @ 36 NONAME - _ZN15RadioWizardView13startScanningEv @ 37 NONAME - _ZN15RadioWizardView15listItemClickedERK11QModelIndex @ 38 NONAME - _ZN15RadioWizardView16staticMetaObjectE @ 39 NONAME DATA 16 - _ZN15RadioWizardView19engineStatusChangedEb @ 40 NONAME - _ZN15RadioWizardView19getStaticMetaObjectEv @ 41 NONAME - _ZN15RadioWizardView20initSecondarySoftkeyEv @ 42 NONAME - _ZN15RadioWizardView23saveSelectedAsFavoritesEv @ 43 NONAME - _ZN15RadioWizardView4initEP15RadioMainWindowP17RadioStationModel @ 44 NONAME - _ZN15RadioWizardView9showEventEP10QShowEvent @ 45 NONAME - _ZN15RadioWizardViewC1EP16RadioXmlUiLoader @ 46 NONAME - _ZN15RadioWizardViewC2EP16RadioXmlUiLoader @ 47 NONAME - _ZN16RadioPlayLogView11qt_metacallEN11QMetaObject4CallEiPPv @ 48 NONAME - _ZN16RadioPlayLogView11qt_metacastEPKc @ 49 NONAME - _ZN16RadioPlayLogView16staticMetaObjectE @ 50 NONAME DATA 16 - _ZN16RadioPlayLogView19getStaticMetaObjectEv @ 51 NONAME - _ZN16RadioPlayLogView4initEP15RadioMainWindowP17RadioStationModel @ 52 NONAME - _ZN16RadioPlayLogViewC1EP16RadioXmlUiLoader @ 53 NONAME - _ZN16RadioPlayLogViewC2EP16RadioXmlUiLoader @ 54 NONAME - _ZN17RadioStationsView11qt_metacallEN11QMetaObject4CallEiPPv @ 55 NONAME - _ZN17RadioStationsView11qt_metacastEPKc @ 56 NONAME - _ZN17RadioStationsView12initListViewEv @ 57 NONAME - _ZN17RadioStationsView13updateHeadingEv @ 58 NONAME - _ZN17RadioStationsView15listItemClickedERK11QModelIndex @ 59 NONAME - _ZN17RadioStationsView15setFavoriteIconERK6HbIcon @ 60 NONAME - _ZN17RadioStationsView16staticMetaObjectE @ 61 NONAME DATA 16 - _ZN17RadioStationsView17deckButtonPressedEv @ 62 NONAME - _ZN17RadioStationsView17setNowPlayingIconERK6HbIcon @ 63 NONAME - _ZN17RadioStationsView19getStaticMetaObjectEv @ 64 NONAME - _ZN17RadioStationsView19listItemLongPressedEP18HbAbstractViewItemRK7QPointF @ 65 NONAME - _ZN17RadioStationsView19updateHeadsetStatusEb @ 66 NONAME - _ZN17RadioStationsView20updateCurrentStationEv @ 67 NONAME - _ZN17RadioStationsView23startScanAndSavePresetsEv @ 68 NONAME - _ZN17RadioStationsView25updateControlVisibilitiesEv @ 69 NONAME - _ZN17RadioStationsView4initEP15RadioMainWindowP17RadioStationModel @ 70 NONAME - _ZN17RadioStationsView9showEventEP10QShowEvent @ 71 NONAME - _ZN17RadioStationsViewC1EP16RadioXmlUiLoader @ 72 NONAME - _ZN17RadioStationsViewC2EP16RadioXmlUiLoader @ 73 NONAME - _ZNK15RadioMainWindow10metaObjectEv @ 74 NONAME - _ZNK15RadioTuningView10metaObjectEv @ 75 NONAME - _ZNK15RadioWizardView10metaObjectEv @ 76 NONAME - _ZNK16RadioPlayLogView10metaObjectEv @ 77 NONAME - _ZNK17RadioStationsView10metaObjectEv @ 78 NONAME - _ZNK17RadioStationsView12favoriteIconEv @ 79 NONAME - _ZNK17RadioStationsView14nowPlayingIconEv @ 80 NONAME - _ZTI15RadioMainWindow @ 81 NONAME - _ZTI15RadioTuningView @ 82 NONAME - _ZTI15RadioWizardView @ 83 NONAME - _ZTI16RadioPlayLogView @ 84 NONAME - _ZTI17RadioStationsView @ 85 NONAME - _ZTV15RadioMainWindow @ 86 NONAME - _ZTV15RadioTuningView @ 87 NONAME - _ZTV15RadioWizardView @ 88 NONAME - _ZTV16RadioPlayLogView @ 89 NONAME - _ZTV17RadioStationsView @ 90 NONAME - _ZThn8_N15RadioMainWindowD0Ev @ 91 NONAME - _ZThn8_N15RadioMainWindowD1Ev @ 92 NONAME + _ZN15RadioTuningView4initEP15RadioMainWindowP17RadioStationModel @ 31 NONAME + _ZN15RadioTuningViewC1EP16RadioXmlUiLoader @ 32 NONAME + _ZN15RadioTuningViewC2EP16RadioXmlUiLoader @ 33 NONAME + _ZN15RadioWizardView11qt_metacallEN11QMetaObject4CallEiPPv @ 34 NONAME + _ZN15RadioWizardView11qt_metacastEPKc @ 35 NONAME + _ZN15RadioWizardView13startScanningEv @ 36 NONAME + _ZN15RadioWizardView15listItemClickedERK11QModelIndex @ 37 NONAME + _ZN15RadioWizardView16staticMetaObjectE @ 38 NONAME DATA 16 + _ZN15RadioWizardView19engineStatusChangedEb @ 39 NONAME + _ZN15RadioWizardView19getStaticMetaObjectEv @ 40 NONAME + _ZN15RadioWizardView23saveSelectedAsFavoritesEv @ 41 NONAME + _ZN15RadioWizardView4initEP15RadioMainWindowP17RadioStationModel @ 42 NONAME + _ZN15RadioWizardView9showEventEP10QShowEvent @ 43 NONAME + _ZN15RadioWizardViewC1EP16RadioXmlUiLoader @ 44 NONAME + _ZN15RadioWizardViewC2EP16RadioXmlUiLoader @ 45 NONAME + _ZN16RadioPlayLogView11qt_metacallEN11QMetaObject4CallEiPPv @ 46 NONAME + _ZN16RadioPlayLogView11qt_metacastEPKc @ 47 NONAME + _ZN16RadioPlayLogView14setOrientationEv @ 48 NONAME + _ZN16RadioPlayLogView15listItemClickedERK11QModelIndex @ 49 NONAME + _ZN16RadioPlayLogView15showContextMenuERK11QModelIndex @ 50 NONAME + _ZN16RadioPlayLogView16staticMetaObjectE @ 51 NONAME DATA 16 + _ZN16RadioPlayLogView17deckButtonPressedEv @ 52 NONAME + _ZN16RadioPlayLogView18updateVisibilitiesEv @ 53 NONAME + _ZN16RadioPlayLogView19getStaticMetaObjectEv @ 54 NONAME + _ZN16RadioPlayLogView19listItemLongPressedEP18HbAbstractViewItemRK7QPointF @ 55 NONAME + _ZN16RadioPlayLogView4initEP15RadioMainWindowP17RadioStationModel @ 56 NONAME + _ZN16RadioPlayLogView9clearListEv @ 57 NONAME + _ZN16RadioPlayLogViewC1EP16RadioXmlUiLoader @ 58 NONAME + _ZN16RadioPlayLogViewC2EP16RadioXmlUiLoader @ 59 NONAME + _ZN17RadioStationsView11qt_metacallEN11QMetaObject4CallEiPPv @ 60 NONAME + _ZN17RadioStationsView11qt_metacastEPKc @ 61 NONAME + _ZN17RadioStationsView12initListViewEv @ 62 NONAME + _ZN17RadioStationsView13updateHeadingEv @ 63 NONAME + _ZN17RadioStationsView15listItemClickedERK11QModelIndex @ 64 NONAME + _ZN17RadioStationsView15setFavoriteIconERK6HbIcon @ 65 NONAME + _ZN17RadioStationsView16staticMetaObjectE @ 66 NONAME DATA 16 + _ZN17RadioStationsView17deckButtonPressedEv @ 67 NONAME + _ZN17RadioStationsView17setNowPlayingIconERK6HbIcon @ 68 NONAME + _ZN17RadioStationsView19getStaticMetaObjectEv @ 69 NONAME + _ZN17RadioStationsView19listItemLongPressedEP18HbAbstractViewItemRK7QPointF @ 70 NONAME + _ZN17RadioStationsView19updateHeadsetStatusEb @ 71 NONAME + _ZN17RadioStationsView20updateCurrentStationEv @ 72 NONAME + _ZN17RadioStationsView23startScanAndSavePresetsEv @ 73 NONAME + _ZN17RadioStationsView25updateControlVisibilitiesEv @ 74 NONAME + _ZN17RadioStationsView4initEP15RadioMainWindowP17RadioStationModel @ 75 NONAME + _ZN17RadioStationsView9showEventEP10QShowEvent @ 76 NONAME + _ZN17RadioStationsViewC1EP16RadioXmlUiLoader @ 77 NONAME + _ZN17RadioStationsViewC2EP16RadioXmlUiLoader @ 78 NONAME + _ZNK15RadioMainWindow10metaObjectEv @ 79 NONAME + _ZNK15RadioTuningView10metaObjectEv @ 80 NONAME + _ZNK15RadioWizardView10metaObjectEv @ 81 NONAME + _ZNK16RadioPlayLogView10metaObjectEv @ 82 NONAME + _ZNK17RadioStationsView10metaObjectEv @ 83 NONAME + _ZNK17RadioStationsView12favoriteIconEv @ 84 NONAME + _ZNK17RadioStationsView14nowPlayingIconEv @ 85 NONAME + _ZTI15RadioMainWindow @ 86 NONAME + _ZTI15RadioTuningView @ 87 NONAME + _ZTI15RadioWizardView @ 88 NONAME + _ZTI16RadioPlayLogView @ 89 NONAME + _ZTI17RadioStationsView @ 90 NONAME + _ZTV15RadioMainWindow @ 91 NONAME + _ZTV15RadioTuningView @ 92 NONAME + _ZTV15RadioWizardView @ 93 NONAME + _ZTV16RadioPlayLogView @ 94 NONAME + _ZTV17RadioStationsView @ 95 NONAME + _ZThn8_N15RadioMainWindowD0Ev @ 96 NONAME + _ZThn8_N15RadioMainWindowD1Ev @ 97 NONAME diff -r 46974bebc798 -r 63aabac4416d radioapp/radioapplication/inc/radioapplication.h --- a/radioapp/radioapplication/inc/radioapplication.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioapplication/inc/radioapplication.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,10 +19,10 @@ #define _RADIOAPPLICATION_H_ // System includes -#include +#include //#define QT_SHAREDPOINTER_TRACK_POINTERS // Debugging support for QSharedPointer -#include +#include // Forward declarations class RadioUiEngine; @@ -43,10 +43,14 @@ public: - explicit RadioApplication( int argc, char* argv[] ); + explicit RadioApplication( int &argc, char *argv[] ); ~RadioApplication(); +private slots: + + void init(); + private: // data #ifdef BUILD_WIN32 diff -r 46974bebc798 -r 63aabac4416d radioapp/radioapplication/inc/testwindow_win32.h --- a/radioapp/radioapplication/inc/testwindow_win32.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioapplication/inc/testwindow_win32.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define WIN32_WINDOW_H // System includes -#include +#include // Forward declarations class HbMainWindow; @@ -48,11 +48,10 @@ void addSong(); void clearSong(); void toggleOffline(); + void updateWindow(); private: - void resizeEvent( QResizeEvent* event ); - private: // data QPushButton* mOrientationButton; @@ -68,12 +67,12 @@ QPushButton* mOfflineButton; + QPushButton* mUpdateButton; + QGridLayout* mToolbarLayout; int mVolume; - int mToolbarHeight; - HbMainWindow* mRadioWindow; Qt::Orientation mOrientation; diff -r 46974bebc798 -r 63aabac4416d radioapp/radioapplication/radioapplication.pro --- a/radioapp/radioapplication/radioapplication.pro Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioapplication/radioapplication.pro Fri Apr 16 14:58:55 2010 +0300 @@ -31,9 +31,13 @@ } QT = core -CONFIG += hb +CONFIG += hb service CONFIG -= gui network svg +# Service provider specific configuration. +SERVICE.FILE = resources/service_conf.xml +#SERVICE.OPTIONS = embeddable + INCLUDEPATH += . inc INCLUDEPATH += ../radioenginewrapper/commoninc INCLUDEPATH += ../radiouiengine/inc diff -r 46974bebc798 -r 63aabac4416d radioapp/radioapplication/resources/service_conf.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radioapplication/resources/service_conf.xml Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,16 @@ + + + com.nokia.services.Radio + No path + Radio services + + IRadioControl + 1.0 + Interface to control radio playback + + + IRadioMonitor + 1.0 + Interface to monitor radio status changes + + diff -r 46974bebc798 -r 63aabac4416d radioapp/radioapplication/src/main.cpp --- a/radioapp/radioapplication/src/main.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioapplication/src/main.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,9 +15,17 @@ * */ +// System includes +#include +#include +#include + +// User includes #include "radioapplication.h" #include "radiologger.h" +static const QString TRANSLATIONS_PATH_FORMAT = "%1:/resource/qt/translations/"; + /*! * Runs the application */ @@ -27,7 +35,17 @@ LOG_TIMESTAMP( "Tesla started" ); + const QString localizedRadio = "fmradio_" + QLocale::system().name(); + QString path = QString( TRANSLATIONS_PATH_FORMAT ).arg( "C" ); + if ( !QFile::exists( path + localizedRadio ) ) { + path = QString( TRANSLATIONS_PATH_FORMAT ).arg( "Z" ); + } + + QTranslator translator; + translator.load( localizedRadio, path ); + RadioApplication app( argc, argv ); + app.installTranslator( &translator ); int returnValue = app.exec(); UNINSTALL_MESSAGE_HANDLER // Uninstalls the file tracer diff -r 46974bebc798 -r 63aabac4416d radioapp/radioapplication/src/radioapplication.cpp --- a/radioapp/radioapplication/src/radioapplication.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioapplication/src/radioapplication.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,6 +15,9 @@ * */ +// System includes +#include + // User includes #include "radioapplication.h" #include "radiomainwindow.h" @@ -40,7 +43,7 @@ /*! * Constructor */ -RadioApplication::RadioApplication( int argc, char* argv[] ) : +RadioApplication::RadioApplication( int &argc, char *argv[] ) : HbApplication( argc, argv ), mUiEngine( 0 ) { @@ -48,7 +51,7 @@ INIT_COMBINED_LOGGER LOG_TIMESTAMP( "Start radio" ); - setApplicationName( TRANSLATE( KApplicationName ) ); + setApplicationName( hbTrId( "txt_rad_title_fm_radio" ) ); // MainWindow needs to be alive to be able to show the offline query dialog. // The window is only constructed half-way at this point because we may need to shut down if @@ -57,25 +60,7 @@ CREATE_WIN32_TEST_WINDOW - if ( RadioUiEngine::isOfflineProfile() && !mMainWindow->isOfflineUsageAllowed() ) { - quit(); - return; - } - - // Start the engine - mUiEngine = new RadioUiEngine( this ); - if ( !mUiEngine->startRadio() ) { - mMainWindow->showErrorMessage( TRANSLATE( KErrorEngineStartFailed ) ); - quit(); - return; - } - - INIT_WIN32_TEST_WINDOW - - // Construct the real views - mMainWindow->init( mUiEngine ); - - mMainWindow->show(); + QTimer::singleShot( 0, this, SLOT(init()) ); } /*! @@ -84,7 +69,33 @@ RadioApplication::~RadioApplication() { // Destructor needs to be defined. See explanation from RadioEngineWrapperPrivate destructor. - // Releases the radio engine utils if it was initialized in the beginning RELEASE_COMBINED_LOGGER } + +/*! + *Private slot + * + */ +void RadioApplication::init() +{ + if ( RadioUiEngine::isOfflineProfile() && !mMainWindow->isOfflineUsageAllowed() ) { + quit(); + return; + } + + // Start the engine + mUiEngine = new RadioUiEngine( this ); + if ( !mUiEngine->startRadio() ) { + mMainWindow->showErrorMessage( TRANSLATE( KErrorEngineStartFailed ) ); + quit(); + return; + } + + INIT_WIN32_TEST_WINDOW + + // Construct the real views + mMainWindow->init( mUiEngine ); + + mMainWindow->show(); +} diff -r 46974bebc798 -r 63aabac4416d radioapp/radioapplication/src/testwindow_win32.cpp --- a/radioapp/radioapplication/src/testwindow_win32.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioapplication/src/testwindow_win32.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,12 +16,12 @@ */ // System includes -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include // User includes #include "testwindow_win32.h" @@ -32,6 +32,7 @@ const int KWindowWidth = 360; const int KWindowHeight = 640; +const int KToolbarHeight = 140; const QString KBtnDisconnectHeadset = "Disconnect Headset"; const QString KBtnConnectHeadset = "Connect Headset"; @@ -67,9 +68,9 @@ mAddSongButton( new QPushButton( "Add Song", this ) ), mClearSongButton( new QPushButton( "Clear Song", this ) ), mOfflineButton( new QPushButton( KBtnGoOffline, this ) ), + mUpdateButton( new QPushButton( "Update", this ) ), mHeadsetConnected( true ), mVolume( 5 ), - mToolbarHeight( 0 ), mRadioWindow( 0 ), mSongIndex( 0 ) { @@ -80,6 +81,7 @@ connectAndTest( mAddSongButton, SIGNAL(clicked()), this, SLOT(addSong()) ); connectAndTest( mClearSongButton, SIGNAL(clicked()), this, SLOT(clearSong()) ); connectAndTest( mOfflineButton, SIGNAL(clicked()), this, SLOT(toggleOffline()) ); + connectAndTest( mUpdateButton, SIGNAL(clicked()), this, SLOT(updateWindow()) ); QTimer::singleShot( 0, this, SLOT(updateWindowSize()) ); } @@ -115,6 +117,7 @@ mToolbarLayout->addWidget( mAddSongButton, 2, 0 ); mToolbarLayout->addWidget( mClearSongButton, 2, 1 ); mToolbarLayout->addWidget( mOfflineButton, 3, 0 ); + mToolbarLayout->addWidget( mUpdateButton, 3, 1 ); layout->addItem( mToolbarLayout ); layout->addWidget( radioWindow ); @@ -139,6 +142,7 @@ mOfflineButton->setText( KBtnGoOnline ); } } + updateWindowSize(); } /*! @@ -198,9 +202,9 @@ void Win32Window::updateWindowSize() { if ( mOrientation == Qt::Horizontal ) { - resize( KWindowHeight, KWindowWidth + mToolbarHeight ); + resize( KWindowHeight, KWindowWidth + KToolbarHeight ); } else { - resize( KWindowWidth, KWindowHeight + mToolbarHeight ); + resize( KWindowWidth, KWindowHeight + KToolbarHeight ); } } @@ -238,10 +242,9 @@ } /*! - * + * Private slot */ -void Win32Window::resizeEvent( QResizeEvent* event ) +void Win32Window::updateWindow() { - QWidget::resizeEvent( event ); - mToolbarHeight = mToolbarLayout->contentsRect().height(); + update(); } diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/commoninc/radio_global.h --- a/radioapp/radioenginewrapper/commoninc/radio_global.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/commoninc/radio_global.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIO_GLOBAL_H_ // System includes -#include +#include // Constants diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/commoninc/radiologger.h --- a/radioapp/radioenginewrapper/commoninc/radiologger.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/commoninc/radiologger.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define _RADIOLOGGER_H_ // System includes -#include +#include // User includes #include "radiowrapperexport.h" @@ -46,8 +46,8 @@ #ifdef TIMESTAMP_LOGGING_ENABLED -#include -#include +#include +#include /** * Timestamp logging macro. @@ -81,8 +81,8 @@ #ifdef LOGGING_ENABLED -#include -#include +#include +#include // UI logs can be combined with engine logs by making the UI feed its log prints into // the engine logger. This requires that we initialize the radio engine utils right here @@ -199,8 +199,8 @@ class WRAPPER_DLL_EXPORT MethodLogger { public: - MethodLogger( const char*, const char* ) {} - ~MethodLogger() {} + MethodLogger( const char*, const char* ); + ~MethodLogger(); }; #endif // LOGGING_ENABLED diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/commoninc/radiowrapperexport.h --- a/radioapp/radioenginewrapper/commoninc/radiowrapperexport.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/commoninc/radiowrapperexport.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIO_WRAPPER_EXPORT_H_ // System includes -#include +#include #ifdef BUILD_WRAPPER_DLL #define WRAPPER_DLL_EXPORT Q_DECL_EXPORT diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/inc/cradioenginehandler.h --- a/radioapp/radioenginewrapper/inc/cradioenginehandler.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/inc/cradioenginehandler.h Fri Apr 16 14:58:55 2010 +0300 @@ -21,7 +21,7 @@ // System includes #include -#include +#include // User includes #include "radio_global.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/inc/radiocontroleventlistener.h --- a/radioapp/radioenginewrapper/inc/radiocontroleventlistener.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/inc/radiocontroleventlistener.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,8 +19,8 @@ #define RADIOCONTROLEVENTLISTENER_H_ // System includes -#include -#include +#include +#include // User includes #include "mradiocontroleventobserver.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/inc/radioenginewrapper_p.h --- a/radioapp/radioenginewrapper/inc/radioenginewrapper_p.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/inc/radioenginewrapper_p.h Fri Apr 16 14:58:55 2010 +0300 @@ -20,7 +20,7 @@ // System includes #include -#include +#include // User includes #include "radioenginewrapper.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/inc/radioenginewrapper_win32_p.h --- a/radioapp/radioenginewrapper/inc/radioenginewrapper_win32_p.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/inc/radioenginewrapper_win32_p.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,8 +19,8 @@ #define RADIOENGINEWRAPPER_P_H // System includes -#include -#include +#include +#include // User includes #include "radioenginewrapper.h" @@ -94,6 +94,7 @@ private slots: void frequencyEvent(); + void addSongTags(); private: @@ -163,6 +164,7 @@ bool mAntennaAttached; uint mFrequency; + uint mNextFrequency; int mVolume; @@ -172,6 +174,9 @@ uint mMinFrequency; uint mMaxFrequency; + QString mArtist; + QString mTitle; + }; #endif // RADIOENGINEWRAPPER_P_H diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/inc/radiofrequencyscanninghandler.h --- a/radioapp/radioenginewrapper/inc/radiofrequencyscanninghandler.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/inc/radiofrequencyscanninghandler.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,8 +19,8 @@ #define RADIOFREQUENCYSCANNINGHANDLER_H // System includes -#include -#include +#include +#include // User includes #include "mradioscanobserver.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/inc/radiostationhandlerif.h --- a/radioapp/radioenginewrapper/inc/radiostationhandlerif.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/inc/radiostationhandlerif.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOSTATIONHANDLERIF_H_ // System includes -#include +#include // Forward declarations class RadioStationIf; diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/inc/t_radiodataparser.h --- a/radioapp/radioenginewrapper/inc/t_radiodataparser.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/inc/t_radiodataparser.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,10 +19,10 @@ #define T_RADIODATAPARSER_H // System includes -#include -#include -#include -#include +#include +#include +#include +#include // Forward declarations class T_RadioDataParser; diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/src/radioenginewrapper_p.cpp --- a/radioapp/radioenginewrapper/src/radioenginewrapper_p.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/src/radioenginewrapper_p.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -182,14 +182,14 @@ const uint frequency = static_cast( aFrequency ); mStationHandler.setCurrentStation( frequency ); + // Stations found by seeking (autotune) are saved as local stations -// if ( aReason == RadioEngine::ERadioFrequencyEventReasonUp -// || aReason == RadioEngine::ERadioFrequencyEventReasonDown ) -// { -// mStationHandler.addScannedFrequency( frequency ); -// mIsSeeking = false; -// mCommandSender = 0; -// } + if ( aReason == RadioEngine::ERadioFrequencyEventReasonSeekUp + || aReason == RadioEngine::ERadioFrequencyEventReasonSeekDown ) + { + mStationHandler.addScannedFrequency( frequency ); + mCommandSender = 0; + } //mEngineHandler->SetMuted( EFalse ); LOG_TIMESTAMP( "Channel change finished" ); @@ -258,11 +258,12 @@ */ void RadioEngineWrapperPrivate::SeekingEventL( TInt aSeekingState, TInt DEBUGVAR( aError ) ) { - LOG_FORMAT( "RadioEngineWrapperPrivate::SeekingEventL, aSeekingState: %d, Error: %d", aSeekingState, aError ); - if ( aSeekingState != RadioEngine::ERadioNotSeeking ) { - // We only set the flag here. It is reset in the FrequencyEventL - mIsSeeking = true; - } + Q_UNUSED( aSeekingState ) +// LOG_FORMAT( "RadioEngineWrapperPrivate::SeekingEventL, aSeekingState: %d, Error: %d", aSeekingState, aError ); +// if ( aSeekingState != RadioEngine::ERadioNotSeeking ) { +// // We only set the flag here. It is reset in the FrequencyEventL +// mIsSeeking = true; +// } // Document()->PubSubL().PublishTuningStateL( EVRPSTuningStarted ); } diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/src/radioenginewrapper_win32_p.cpp --- a/radioapp/radioenginewrapper/src/radioenginewrapper_win32_p.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/src/radioenginewrapper_win32_p.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,8 +16,8 @@ */ // System includes -#include -#include +#include +#include // User includes #include "radioenginewrapper_win32_p.h" @@ -34,6 +34,23 @@ const QString KKeyFrequency = "CurrentFreq"; const QString KKeyOffline = "Offline"; +const uint KScanFrequencies[] = { + 87600000, + 88000000, + 89400000, + 96000000, + 97600000, + 100600000, + 101300000, + 102600000, + 103500000, + 104100000, + 105500000, + 107500000 +}; + +const int KScanFrequencyCount = sizeof( KScanFrequencies ) / sizeof( KScanFrequencies[0] ); + /*! * */ @@ -49,6 +66,7 @@ mIsSeeking( false ), mAntennaAttached( true ), mFrequency( 0 ), + mNextFrequency( 0 ), mVolume( 5 ), mMaxVolume( 10000 ), mFrequencyStepSize( 50000 ), @@ -156,6 +174,33 @@ void RadioEngineWrapperPrivate::startSeeking( Seeking::Direction direction ) { mObserver.seekingStarted( direction ); + + // Find the previous and next favorite from current frequency + uint previous = 0; + uint next = 0; + for( int i = 0; i < KScanFrequencyCount; ++i ) { + int testFreq = KScanFrequencies[i]; + if ( testFreq > mFrequency ) { + next = testFreq; + break; + } + previous = testFreq; + } + + + if ( direction == Seeking::Up ) { + if ( next == 0 ) { + next = KScanFrequencies[0]; + } + mNextFrequency = next; + } else { + if ( previous == 0 ) { + previous = KScanFrequencies[KScanFrequencyCount - 1]; + } + mNextFrequency = previous; + } + + mTuneTimer->start( 1000 ); } /*! @@ -190,11 +235,13 @@ void RadioEngineWrapperPrivate::addSong( const QString& artist, const QString& title ) { QString radioText = QString( "Now Playing: %1 - %2" ).arg( artist ).arg( title ); + mArtist = artist; + mTitle = title; const uint frequency = mStationHandler.currentFrequency(); mStationHandler.setCurrentRadioText( frequency, radioText ); - mStationHandler.setCurrentRadioTextPlus( frequency, RtPlus::Artist, artist ); - mStationHandler.setCurrentRadioTextPlus( frequency, RtPlus::Title, title ); + + QTimer::singleShot( 500, this, SLOT(addSongTags()) ); } /*! @@ -226,12 +273,29 @@ */ void RadioEngineWrapperPrivate::frequencyEvent() { + if ( mNextFrequency ) { // Seeking + mFrequency = mNextFrequency; + mStationHandler.addScannedFrequency( mFrequency ); + } + mStationHandler.setCurrentStation( mFrequency ); mObserver.tunedToFrequency( mFrequency, mCommandSender ); mStationHandler.startDynamicPsCheck(); } /*! + * Private slot + */ +void RadioEngineWrapperPrivate::addSongTags() +{ + const uint frequency = mStationHandler.currentFrequency(); + mStationHandler.setCurrentRadioTextPlus( frequency, RtPlus::Artist, mArtist ); + mStationHandler.setCurrentRadioTextPlus( frequency, RtPlus::Title, mTitle ); + mArtist = ""; + mTitle = ""; +} + +/*! * */ void RadioEngineWrapperPrivate::frequencyScannerFinished() diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/src/radiofrequencyscanninghandler.cpp --- a/radioapp/radioenginewrapper/src/radiofrequencyscanninghandler.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/src/radiofrequencyscanninghandler.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include // User includes #include "radiofrequencyscanninghandler.h" @@ -77,6 +77,7 @@ */ void RadioFrequencyScanningHandler::startScanning( bool muted ) { + Q_UNUSED( muted ) cancel(); QTimer::singleShot( 1000, this, SLOT(delayedStart()) ); } diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/src/radiologger.cpp --- a/radioapp/radioenginewrapper/src/radiologger.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/src/radiologger.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include // User includes #include "radiologger.h" @@ -26,7 +26,7 @@ */ void RadioLogger::initCombinedLogger() { -#if defined LOGGING_ENABLED && defined COMBINE_WITH_ENGINE_LOGGER +#if defined LOGGING_ENABLED && defined COMBINE_WITH_ENGINE_LOGGER && !defined BUILD_WIN32 TRAP_IGNORE( RadioEngineUtils::InitializeL() ); if ( !MRadioEngineLogger::Logger() ) { qDebug() << "FMRadioUi: Cannot combine logs with engine. Engine logger not active"; @@ -39,7 +39,7 @@ */ void RadioLogger::releaseCombinedLogger() { -#if defined LOGGING_ENABLED && defined COMBINE_WITH_ENGINE_LOGGER +#if defined LOGGING_ENABLED && defined COMBINE_WITH_ENGINE_LOGGER && !defined BUILD_WIN32 RadioEngineUtils::Release(); #endif // LOGGING_ENABLED } @@ -51,7 +51,7 @@ { Q_UNUSED( msg ); Q_UNUSED( mode ); -#if defined LOGGING_ENABLED && defined COMBINE_WITH_ENGINE_LOGGER +#if defined LOGGING_ENABLED && defined COMBINE_WITH_ENGINE_LOGGER && !defined BUILD_WIN32 MRadioEngineLogger* logger = MRadioEngineLogger::Logger(); if ( logger ) { if ( mode == RadioLogger::Normal ) { @@ -72,10 +72,10 @@ #ifdef LOGGING_ENABLED -#include -#include -#include -#include +#include +#include +#include +#include #ifdef TRACE_TO_FILE QFile mDebugFile; @@ -142,6 +142,16 @@ } } } +#else + +MethodLogger::MethodLogger( const char*, const char* ) +{ +} + +MethodLogger::~MethodLogger() +{ +} + #endif // LOGGING_ENABLED diff -r 46974bebc798 -r 63aabac4416d radioapp/radioenginewrapper/src/radiosettings.cpp --- a/radioapp/radioenginewrapper/src/radiosettings.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radioenginewrapper/src/radiosettings.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include // User includes #include "radiosettings.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radiopresetstorage/inc/radiopresetstorage.h --- a/radioapp/radiopresetstorage/inc/radiopresetstorage.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiopresetstorage/inc/radiopresetstorage.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOPRESETSTORAGE_H_ // System includes -#include +#include #include "radiopresetstorageexport.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radiopresetstorage/inc/radiopresetstorage_p.h --- a/radioapp/radiopresetstorage/inc/radiopresetstorage_p.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiopresetstorage/inc/radiopresetstorage_p.h Fri Apr 16 14:58:55 2010 +0300 @@ -20,10 +20,10 @@ // System includes #ifndef COMPILE_WITH_NEW_PRESET_UTILITY -# include +# include #endif // COMPILE_WITH_NEW_PRESET_UTILITY -#include +#include #include // User includes diff -r 46974bebc798 -r 63aabac4416d radioapp/radiopresetstorage/inc/radiopresetstorage_win32_p.h --- a/radioapp/radiopresetstorage/inc/radiopresetstorage_win32_p.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiopresetstorage/inc/radiopresetstorage_win32_p.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,11 +18,8 @@ #ifndef RADIOPRESETSTORAGE_P_H_ #define RADIOPRESETSTORAGE_P_H_ - -#include - // User includes -#include +#include #include // Forward declarations diff -r 46974bebc798 -r 63aabac4416d radioapp/radiopresetstorage/inc/radiopresetstorageexport.h --- a/radioapp/radiopresetstorage/inc/radiopresetstorageexport.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiopresetstorage/inc/radiopresetstorageexport.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIO_PRESET_STORAGE_EXPORT_H_ // System includes -#include +#include #ifdef BUILD_PRESET_STORAGE_DLL #define STORAGE_DLL_EXPORT Q_DECL_EXPORT diff -r 46974bebc798 -r 63aabac4416d radioapp/radiopresetstorage/inc/radiostationif.h --- a/radioapp/radiopresetstorage/inc/radiostationif.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiopresetstorage/inc/radiostationif.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOSTATIONIF_H_ // System includes -#include +#include class RadioStationIf { diff -r 46974bebc798 -r 63aabac4416d radioapp/radiopresetstorage/src/radiopresetstorage.cpp --- a/radioapp/radiopresetstorage/src/radiopresetstorage.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiopresetstorage/src/radiopresetstorage.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -20,10 +20,10 @@ #include #include #else -# include +# include #endif // COMPILE_WITH_NEW_PRESET_UTILITY -#include +#include // User includes #include "radiopresetstorage.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radiopresetstorage/src/radiopresetstorage_win32.cpp --- a/radioapp/radiopresetstorage/src/radiopresetstorage_win32.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiopresetstorage/src/radiopresetstorage_win32.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,9 +16,9 @@ */ // System includes -#include -#include -#include +#include +#include +#include // User includes #include "radiopresetstorage.h" @@ -152,11 +152,19 @@ bool RadioPresetStorage::deletePreset( int presetIndex ) { Q_D( RadioPresetStorage ); - int index = d->mBookKeeping.indexOf( presetIndex ); - if ( index > -1 ) { - d->mBookKeeping.remove( index, 1 ); - d->mSettings->remove( makeKey( presetIndex ) ); - d->removeIndex( presetIndex ); + if ( presetIndex > -1 ) { + int index = d->mBookKeeping.indexOf( presetIndex ); + if ( index > -1 ) { + d->mBookKeeping.remove( index, 1 ); + d->mSettings->remove( makeKey( presetIndex ) ); + d->removeIndex( presetIndex ); + return true; + } + } else if ( presetIndex == -1 ) { + for ( int i = d->mBookKeeping.count() - 1; i >= 0; --i ) { + d->mSettings->remove( makeKey( d->mBookKeeping.at( i ) ) ); + } + d->mBookKeeping.clear(); return true; } return false; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiocontrolservice.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiouiengine/inc/radiocontrolservice.h Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,54 @@ +/* +* 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 RADIOCONTROLSERVICE_H +#define RADIOCONTROLSERVICE_H + +// System includes +#ifndef BUILD_WIN32 +# include +#else +# include +typedef QObject XQServiceProvider; +#endif + +// User includes + +// Forward declarations +class RadioUiEngine; + +class RadioControlService : public XQServiceProvider +{ + Q_OBJECT + +public: + + RadioControlService( RadioUiEngine& engine ); + ~RadioControlService(); + + +public slots: + + void command( int commandId ); + +private: // data + + RadioUiEngine& mUiEngine; + +}; + +#endif // RADIOCONTROLSERVICE_H diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiolocalization.h --- a/radioapp/radiouiengine/inc/radiolocalization.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radiolocalization.h Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include typedef struct{ const char* source; const char* comment; } Translation; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiomonitorservice.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiouiengine/inc/radiomonitorservice.h Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,60 @@ +/* +* 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 RADIOMONITORSERVICE_H +#define RADIOMONITORSERVICE_H + +// System includes +#include + +// User includes + +// Forward declarations +class RadioUiEngine; + +class RadioMonitorService : public XQServiceProvider +{ + Q_OBJECT + +public: + + RadioMonitorService( RadioUiEngine& engine ); + virtual ~RadioMonitorService(); + + void notifyName( const QString& name ); + void notifyGenre( const QString& genre ); + void notifyRadioText( const QString& radioText ); + void notifyHomepage( const QString& homepage ); + void notifySong( const QString& song ); + +public slots: + + void requestNotifications(); + +private: + + void notify( int notificationId, const QString& message ); + +private: // data + + RadioUiEngine& mUiEngine; + + int mRequestIndex; + +}; + +#endif // RADIOMONITORSERVICE_H diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiomonitorservice_win32.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiouiengine/inc/radiomonitorservice_win32.h Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,52 @@ +/* +* 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 RADIOMONITORSERVICE_H +#define RADIOMONITORSERVICE_H + +// System includes +#include + +// User includes + +// Forward declarations +class RadioUiEngine; + +class RadioMonitorService : public QObject +{ + Q_OBJECT + +public: + + RadioMonitorService( RadioUiEngine& engine ); + virtual ~RadioMonitorService(); + + void notifyName( const QString& name ); + void notifyGenre( const QString& genre ); + void notifyRadioText( const QString& radioText ); + void notifyHomepage( const QString& homepage ); + void notifySong( const QString& song ); + +private: + +private: // data + + RadioUiEngine& mUiEngine; + +}; + +#endif // RADIOMONITORSERVICE_H diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radioplaylogitem.h --- a/radioapp/radiouiengine/inc/radioplaylogitem.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radioplaylogitem.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,8 +19,8 @@ #define RADIOPLAYLOGITEM_H // System includes -#include -#include +#include +#include // User includes #include "radiouiengineexport.h" @@ -53,6 +53,15 @@ QString title() const; void setTitle( const QString& title ); + QString station() const; + void setStation( const QString& station ); + + uint frequency() const; + void setFrequency( uint frequency ); + + QString time() const; + void setCurrentTime(); + bool isFavorite() const; void setFavorite(); diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radioplaylogitem_p.h --- a/radioapp/radiouiengine/inc/radioplaylogitem_p.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radioplaylogitem_p.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,8 @@ #define RADIOPLAYLOGITEM_P_H // System includes -#include +#include +#include // User includes @@ -45,6 +46,12 @@ QString mTitle; + QString mStation; + + QDateTime mTime; + + uint mFrequency; + int mPlayCount; bool mFavorite; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radioplaylogmodel.h --- a/radioapp/radiouiengine/inc/radioplaylogmodel.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radioplaylogmodel.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOPLAYLOGMODEL_H // System includes -#include +#include // User includes #include "radiouiengineexport.h" @@ -28,6 +28,7 @@ // Forward declarations class RadioPlayLogModelPrivate; class RadioUiEngine; +class RadioStation; class UI_ENGINE_DLL_EXPORT RadioPlayLogModel : public QAbstractListModel { @@ -57,6 +58,7 @@ // New functions bool isCurrentSongRecognized() const; + void setShowDetails( bool showDetails ); signals: @@ -75,10 +77,10 @@ ~RadioPlayLogModel(); - void addItem( const QString& artist, const QString& title ); + void addItem( const QString& artist, const QString& title, const RadioStation& station ); void clearRadioTextPlus(); - void addRadioTextPlus( int rtClass, const QString& rtItem ); + void addRadioTextPlus( int rtClass, const QString& rtItem, const RadioStation& station ); int findItem( const QString& artist, const QString& title, RadioPlayLogItem& item ); diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radioplaylogmodel_p.h --- a/radioapp/radiouiengine/inc/radioplaylogmodel_p.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radioplaylogmodel_p.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,8 +19,8 @@ #define RADIOPLAYLOGMODEL_P_H // System includes -#include -#include +#include +#include // Forward declarations class RadioPlayLogModel; @@ -57,6 +57,8 @@ bool mTopItemIsPlaying; + bool mShowDetails; + }; #endif // RADIOPLAYLOGMODEL_P_H diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radioserviceconst.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiouiengine/inc/radioserviceconst.h Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,54 @@ +/* +* 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 RADIOSERVICECONST_H +#define RADIOSERVICECONST_H + +static const char* RADIO_CONTROL_SERVICE = "com.nokia.services.Radio.IRadioControl"; +static const char* RADIO_MONITOR_SERVICE = "com.nokia.services.Radio.IRadioMonitor"; + +const long KRadioPSUid = 0x101FF976; +const unsigned long KRadioStartupKey = 0x00000014; + +namespace RadioServiceCommand +{ + enum CommandId + { + Play, + Pause, + Previous, + Next, + SeekUp, + SeekDown, + Foreground, + Background + }; +} + +namespace RadioServiceNotification +{ + enum NotificationId + { + Name, + Genre, + RadioText, + Homepage, + Song + }; +} + +#endif // RADIOSERVICECONST_H diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiostation.h --- a/radioapp/radiouiengine/inc/radiostation.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radiostation.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,13 +19,14 @@ #define RADIOSTATION_H_ // System includes -#include -#include -#include +#include +#include +#include // User includes #include "radiouiengineexport.h" #include "radio_global.h" + // Constants const int KLastCallSignCharCode = 25; const uint KThreeLetterCallSignCount = 72; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiostation_p.h --- a/radioapp/radiouiengine/inc/radiostation_p.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radiostation_p.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOSTATIONINFO_P_H_ // System includes -#include +#include // User includes #include "radiostation.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiostationfiltermodel.h --- a/radioapp/radiouiengine/inc/radiostationfiltermodel.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radiostationfiltermodel.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,8 +19,8 @@ #define RADIOSTATIONFILTERMODEL_H_ // System includes -#include -#include +#include +#include // User includes #include "radiouiengineexport.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiostationmodel.h --- a/radioapp/radiouiengine/inc/radiostationmodel.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radiostationmodel.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,8 +19,8 @@ #define RADIOSTATIONMODEL_H_ // System includes -#include -#include +#include +#include // User includes #include "radiouiengineexport.h" @@ -159,6 +159,7 @@ void radioTextReceived( const RadioStation& station ); void dynamicPsChanged( const RadioStation& station ); void favoriteChanged( const RadioStation& station ); + void stationRemoved( const RadioStation& station ); void stationAdded( const RadioStation& station ); public slots: diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiostationmodel_p.h --- a/radioapp/radiouiengine/inc/radiostationmodel_p.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radiostationmodel_p.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,10 +19,10 @@ #define RADIOSTATIONMODEL_P_H_ // System includes -#include -#include -#include -#include +#include +#include +#include +#include // User includes //#include "radiostation.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiouiengine.h --- a/radioapp/radiouiengine/inc/radiouiengine.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radiouiengine.h Fri Apr 16 14:58:55 2010 +0300 @@ -20,9 +20,8 @@ #define RADIOUIENGINE_H_ // System includes -#include -#include -//#include +#include +#include // User includes #include "radiouiengineexport.h" @@ -35,6 +34,7 @@ class RadioStation; class RadioPlayLogModel; class RadioStationFilterModel; +class RadioMonitorService; class UI_ENGINE_DLL_EXPORT RadioUiEngine : public QObject { @@ -62,6 +62,7 @@ RadioStationModel& model(); RadioPlayLogModel& playLogModel(); RadioStationFilterModel* createNewFilterModel( QObject* parent = 0 ); + RadioMonitorService& monitor(); bool isRadioOn() const; bool isScanning() const; @@ -84,7 +85,7 @@ bool isSongRecognitionAppAvailable(); - void addRecognizedSong( const QString& artist, const QString& title ); + void addRecognizedSong( const QString& artist, const QString& title, const RadioStation& station ); signals: diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiouiengine_p.h --- a/radioapp/radiouiengine/inc/radiouiengine_p.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radiouiengine_p.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOUIENGINE_P_H_ // System includes -#include +#include #include "radioenginewrapperobserver.h" @@ -29,6 +29,8 @@ class RadioStationModel; class RadioPlayLogModel; class RadioPresetStorage; +class RadioControlService; +class RadioMonitorService; class RadioUiEnginePrivate : public RadioEngineWrapperObserver { @@ -83,6 +85,10 @@ RadioPlayLogModel* mPlayLogModel; + RadioControlService* mControlService; + + RadioMonitorService* mMonitorService; + }; #endif // RADIOUIENGINE_P_H_ diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/inc/radiouiengineexport.h --- a/radioapp/radiouiengine/inc/radiouiengineexport.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/inc/radiouiengineexport.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIO_UI_ENGINE_EXPORT_H_ // System includes -#include +#include #ifdef BUILD_UI_ENGINE_DLL #define UI_ENGINE_DLL_EXPORT Q_DECL_EXPORT diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/radiouiengine.pro --- a/radioapp/radiouiengine/radiouiengine.pro Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/radiouiengine.pro Fri Apr 16 14:58:55 2010 +0300 @@ -23,8 +23,10 @@ win32:DESTDIR = ../bin # Wrapper does not depend on QtGui or Orbit -QT = core gui +QT = core gui network CONFIG -= hb +CONFIG += mobility +MOBILITY = systeminfo symbian: { DEFINES += SYMBIAN @@ -42,9 +44,9 @@ LIBS += -lradiopresetstorage LIBS += -lradioenginewrapper -USE_MOBILE_EXTENSIONS_API { - symbian:LIBS += -lxqprofile -} +symbian:LIBS += -lxqservice +symbian:LIBS += -lxqserviceutil +symbian:LIBS += -lxqsettingsmanager DEPENDPATH += $$INCLUDEPATH src @@ -60,6 +62,10 @@ HEADERS += radioplaylogmodel.h HEADERS += radiolocalization.h HEADERS += radiouiengineexport.h +symbian:HEADERS += radiocontrolservice.h +symbian:HEADERS += radiomonitorservice.h +win32:HEADERS += radiomonitorservice_win32.h +HEADERS += radioserviceconst.h INTERNAL_HEADERS += radiostation_p.h INTERNAL_HEADERS += radioplaylogitem_p.h @@ -80,3 +86,6 @@ SOURCES += radioplaylogitem_p.cpp SOURCES += radioplaylogmodel.cpp SOURCES += radioplaylogmodel_p.cpp +symbian:SOURCES += radiocontrolservice.cpp +symbian:SOURCES += radiomonitorservice.cpp +win32:SOURCES += radiomonitorservice_win32.cpp diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radiocontrolservice.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiouiengine/src/radiocontrolservice.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,88 @@ +/* +* 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 + +// User includes +#include "radiocontrolservice.h" +#include "radiouiengine.h" +#include "radioserviceconst.h" + +/*! + * + */ +RadioControlService::RadioControlService( RadioUiEngine& engine ) : + XQServiceProvider( RADIO_CONTROL_SERVICE , &engine ), + mUiEngine( engine ) +{ + publishAll(); + if ( XQServiceUtil::isService() ) { + XQServiceUtil::toBackground( true ); + } +} + +/*! + * + */ +RadioControlService::~RadioControlService() +{ +} + +/*! + * Public slot + */ +void RadioControlService::command( int commandId ) +{ + switch ( commandId ) + { + case RadioServiceCommand::Play: + mUiEngine.toggleMute(); + break; + + case RadioServiceCommand::Pause: + mUiEngine.toggleMute(); + break; + + case RadioServiceCommand::Previous: + mUiEngine.skipPrevious(); + break; + + case RadioServiceCommand::Next: + mUiEngine.skipNext(); + break; + + case RadioServiceCommand::SeekUp: + mUiEngine.seekUp(); + break; + + case RadioServiceCommand::SeekDown: + mUiEngine.seekDown(); + break; + + case RadioServiceCommand::Foreground: + XQServiceUtil::toBackground( false ); + break; + + case RadioServiceCommand::Background: + XQServiceUtil::toBackground( true ); + break; + + default: + break; + } +} diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radiomonitorservice.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiouiengine/src/radiomonitorservice.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,99 @@ +/* +* 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: +* +*/ + +// User includes +#include "radiomonitorservice.h" +#include "radiouiengine.h" +#include "radioserviceconst.h" + +/*! + * + */ +RadioMonitorService::RadioMonitorService( RadioUiEngine& engine ) : + XQServiceProvider( RADIO_MONITOR_SERVICE, &engine ), + mUiEngine( engine ), + mRequestIndex( 0 ) +{ + publishAll(); +} + +/*! + * + */ +RadioMonitorService::~RadioMonitorService() +{ +} + +/*! + * + */ +void RadioMonitorService::notifyName( const QString& name ) +{ + notify( RadioServiceNotification::Name, name ); +} + +/*! + * + */ +void RadioMonitorService::notifyGenre( const QString& genre ) +{ + notify( RadioServiceNotification::Genre, genre ); +} + +/*! + * + */ +void RadioMonitorService::notifyRadioText( const QString& radioText ) +{ + notify( RadioServiceNotification::RadioText, radioText ); +} + +/*! + * + */ +void RadioMonitorService::notifyHomepage( const QString& homepage ) +{ + notify( RadioServiceNotification::Homepage, homepage ); +} + +/*! + * + */ +void RadioMonitorService::notifySong( const QString& song ) +{ + notify( RadioServiceNotification::Song, song ); +} + +/*! + * Public slot + * + */ +void RadioMonitorService::requestNotifications() +{ + mRequestIndex = setCurrentRequestAsync(); +} + +/*! + * + */ +void RadioMonitorService::notify( int notificationId, const QString& message ) +{ + if ( mRequestIndex > 0 ) { + completeRequest( mRequestIndex, QString( "%1 %2" ).arg( notificationId ).arg( message ) ); + mRequestIndex = 0; + } +} diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radiomonitorservice_win32.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiouiengine/src/radiomonitorservice_win32.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,77 @@ +/* +* 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: +* +*/ + +// User includes +#include "radiomonitorservice_win32.h" +#include "radiouiengine.h" +#include "radioserviceconst.h" + +/*! + * + */ +RadioMonitorService::RadioMonitorService( RadioUiEngine& engine ) : + QObject( &engine ), + mUiEngine( engine ) +{ +} + +/*! + * + */ +RadioMonitorService::~RadioMonitorService() +{ +} + +/*! + * + */ +void RadioMonitorService::notifyName( const QString& name ) +{ + Q_UNUSED( name ) +} + +/*! + * + */ +void RadioMonitorService::notifyGenre( const QString& genre ) +{ + Q_UNUSED( genre ) +} + +/*! + * + */ +void RadioMonitorService::notifyRadioText( const QString& radioText ) +{ + Q_UNUSED( radioText ) +} + +/*! + * + */ +void RadioMonitorService::notifyHomepage( const QString& homepage ) +{ + Q_UNUSED( homepage ) +} + +/*! + * + */ +void RadioMonitorService::notifySong( const QString& song ) +{ + Q_UNUSED( song ) +} diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radioplaylogitem.cpp --- a/radioapp/radiouiengine/src/radioplaylogitem.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/src/radioplaylogitem.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -112,6 +112,62 @@ /*! * */ +QString RadioPlayLogItem::station() const +{ + return mData->mStation; +} + +/*! + * + */ +void RadioPlayLogItem::setStation( const QString& station ) +{ + if ( station.compare( mData->mStation ) != 0 ) { + detach(); + mData->mStation = station; + } +} + +/*! + * + */ +uint RadioPlayLogItem::frequency() const +{ + return mData->mFrequency; +} + +/*! + * + */ +void RadioPlayLogItem::setFrequency( uint frequency ) +{ + if ( frequency != mData->mFrequency ) { + detach(); + mData->mFrequency = frequency; + } +} + +/*! + * + */ +QString RadioPlayLogItem::time() const +{ + return mData->mTime.toString(); +} + +/*! + * + */ +void RadioPlayLogItem::setCurrentTime() +{ + detach(); + mData->mTime.currentDateTime(); +} + + +/*! + * + */ bool RadioPlayLogItem::isFavorite() const { return mData->mFavorite; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radioplaylogitem_p.cpp --- a/radioapp/radiouiengine/src/radioplaylogitem_p.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/src/radioplaylogitem_p.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -43,6 +43,7 @@ ref = 1; mArtist = artist; mTitle = title; + mFrequency = 0; mFavorite = false; mPlayCount = 1; } diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radioplaylogmodel.cpp --- a/radioapp/radiouiengine/src/radioplaylogmodel.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/src/radioplaylogmodel.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,13 +16,15 @@ */ // System includes -#include +#include // User includes #include "radioplaylogmodel.h" #include "radioplaylogmodel_p.h" #include "radiouiengine.h" #include "radioplaylogitem.h" +#include "radiostation.h" +#include "radiouiengine.h" #include "radio_global.h" #include "radiologger.h" @@ -82,9 +84,13 @@ RadioPlayLogItem item = d->mItems.at( index.row() ); QStringList list; - list.append( item.artist() + " - " + item.title() ); - QString secondLine = QString( "Count: %1. Favorite: %2" ).arg( item.playCount() ).arg( item.isFavorite() ); - list.append( secondLine ); + if ( d->mShowDetails ) { + list.append( item.artist() + " - " + item.title() ); + list.append( item.time() + " " + item.station() + " " + RadioUiEngine::parseFrequency( item.frequency() ) ); + } else { + list.append( item.artist() ); + list.append( item.title() ); + } return list; } @@ -160,7 +166,17 @@ /*! * */ -void RadioPlayLogModel::addItem( const QString& artist, const QString& title ) +void RadioPlayLogModel::setShowDetails( bool showDetails ) +{ + Q_D( RadioPlayLogModel ); + d->mShowDetails = showDetails; + reset(); +} + +/*! + * + */ +void RadioPlayLogModel::addItem( const QString& artist, const QString& title, const RadioStation& station ) { Q_D( RadioPlayLogModel ); @@ -172,6 +188,9 @@ } else { item.setArtist( artist ); item.setTitle( title ); + item.setStation( station.name() ); + item.setFrequency( station.frequency() ); + item.setCurrentTime(); beginInsertRows( QModelIndex(), 0, 0 ); @@ -197,7 +216,7 @@ /*! * */ -void RadioPlayLogModel::addRadioTextPlus( int rtClass, const QString& rtItem ) +void RadioPlayLogModel::addRadioTextPlus( int rtClass, const QString& rtItem, const RadioStation& station ) { if ( rtClass == RtPlus::Artist || rtClass == RtPlus::Title ) { Q_D( RadioPlayLogModel ); @@ -205,9 +224,9 @@ d->mRtItemHolder = rtItem; } else { if ( rtClass == RtPlus::Title ) { - addItem( d->mRtItemHolder, rtItem ); + addItem( d->mRtItemHolder, rtItem, station ); } else { - addItem( rtItem, d->mRtItemHolder ); + addItem( rtItem, d->mRtItemHolder, station ); } d->mRtItemHolder = ""; } diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radioplaylogmodel_p.cpp --- a/radioapp/radiouiengine/src/radioplaylogmodel_p.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/src/radioplaylogmodel_p.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -25,7 +25,8 @@ RadioUiEngine& uiEngine ) : q_ptr( model ), mUiEngine( uiEngine ), - mTopItemIsPlaying( false ) + mTopItemIsPlaying( false ), + mShowDetails( false ) { } diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radiostation.cpp --- a/radioapp/radiouiengine/src/radiostation.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/src/radiostation.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include // User includes #include "radiostation.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radiostationmodel.cpp --- a/radioapp/radiouiengine/src/radiostationmodel.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/src/radiostationmodel.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include #include "radiostationmodel.h" #include "radiostationmodel_p.h" @@ -25,6 +25,11 @@ #include "radiouiengine.h" #include "radiostation.h" #include "radiostation_p.h" +#ifndef BUILD_WIN32 +# include "radiomonitorservice.h" +#else +# include "radiomonitorservice_win32.h" +#endif #include "radiologger.h" /*! @@ -331,10 +336,8 @@ d->setCurrentStation( d->mEngine->currentFrequency() ); - if ( tempStation.isFavorite() ) { - tempStation.setFavorite( false ); - emit favoriteChanged( tempStation ); - } + emit stationRemoved( tempStation ); + } } @@ -561,22 +564,14 @@ if ( d->mStations.count() == 0 ) { return; } - - QList favorites; - foreach( const RadioStation& station, d->mStations ) { - if ( station.isFavorite() ) { - favorites.append( station ); - } - } + + QList tempStations = d->mStations.values(); + beginRemoveRows( QModelIndex(), 0, rowCount() - 1 ); // Preset utility deletes all presets with index -1 -#ifdef COMPILE_WITH_NEW_PRESET_UTILITY bool success = d->mPresetStorage->deletePreset( -1 ); -#else - bool success = d->mPresetStorage->deletePreset( 0 ); -#endif // COMPILE_WITH_NEW_PRESET_UTILITY RADIO_ASSERT( success, "FMRadio", "Failed to remove station" ); d->mStations.clear(); @@ -584,9 +579,8 @@ endRemoveRows(); - foreach( RadioStation station, favorites ) { - station.setFavorite( false ); - emit favoriteChanged( station ); + foreach( RadioStation station, tempStations ) { + emit stationRemoved( station ); } } @@ -604,6 +598,7 @@ d->mCurrentStation->setName( d->mCurrentStation->dynamicPsText() ); d->mCurrentStation->setDynamicPsText( "" ); saveStation( *d->mCurrentStation ); + d->mUiEngine.monitor().notifyName( d->mCurrentStation->name() ); } } diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radiostationmodel_p.cpp --- a/radioapp/radiouiengine/src/radiostationmodel_p.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/src/radiostationmodel_p.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include // User includes #include "radiostationmodel.h" @@ -27,6 +27,11 @@ #include "radiouiengine.h" #include "radiostation.h" #include "radioplaylogmodel.h" +#ifndef BUILD_WIN32 +# include "radiomonitorservice.h" +#else +# include "radiomonitorservice_win32.h" +#endif // Constants /** @@ -89,6 +94,9 @@ mManualStation.setFrequency( frequency ); mCurrentStation = &mManualStation; } + + mUiEngine.monitor().notifyName( mCurrentStation->name().isEmpty() ? mCurrentStation->frequencyMhz() + : mCurrentStation->name() ); } /*! @@ -105,6 +113,7 @@ } station.setGenre( genre ); q->saveStation( station ); + mUiEngine.monitor().notifyGenre( mUiEngine.genreToString( genre ) ); } /*! @@ -193,6 +202,7 @@ if ( name.compare( station.name() ) != 0 && !station.isRenamed() ) { station.setName( name ); q->saveStation( station ); + mUiEngine.monitor().notifyName( name ); } } else { @@ -251,6 +261,7 @@ station.setRadioText( radioText ); q->saveStation( station ); mUiEngine.playLogModel().clearRadioTextPlus(); + mUiEngine.monitor().notifyRadioText( radioText ); } /*! @@ -267,7 +278,7 @@ } station.setRadioTextPlus( rtClass, rtItem ); q->saveStation( station ); - mUiEngine.playLogModel().addRadioTextPlus( rtClass, rtItem ); + mUiEngine.playLogModel().addRadioTextPlus( rtClass, rtItem, station ); } /*! diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radiouiengine.cpp --- a/radioapp/radiouiengine/src/radiouiengine.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/src/radiouiengine.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,12 +16,15 @@ */ // System includes -#include -#include -#include +#include +#include +#include #ifdef BUILD_WIN32 -# include +# include +#else +# include +using namespace QtMobility; #endif // WIN32_BUILD // User includes @@ -35,10 +38,6 @@ #include "radiostationfiltermodel.h" #include "radiolocalization.h" -#ifdef USE_MOBILE_EXTENSIONS_API - #include "xqprofile" -#endif - // Constants const QString KPathFormatter = "%1:%2%3"; const QString KApplicationDir = "\\sys\\bin\\"; @@ -52,12 +51,14 @@ { bool offline = false; -#ifdef USE_MOBILE_EXTENSIONS_API - QScopedPointer profile ( new XQProfile() ); // Deletes automatically when out of scope - offline = profile->activeProfile() == XQProfile::ProfileOffLine; -#elif BUILD_WIN32 +#ifdef BUILD_WIN32 QScopedPointer settings( new QSettings( "Nokia", "QtFmRadio" ) ); offline = settings->value( "Offline", false ).toBool(); +#else + QSystemDeviceInfo deviceInfo; + if ( deviceInfo.currentProfile() == QSystemDeviceInfo::OfflineProfile ) { + offline = true; + } #endif return offline; @@ -168,6 +169,15 @@ } /*! + * Returns the stations list + */ +RadioMonitorService& RadioUiEngine::monitor() +{ + Q_D( const RadioUiEngine ); + return *d->mMonitorService; +} + +/*! * */ bool RadioUiEngine::isRadioOn() const @@ -338,10 +348,10 @@ /*! * */ -void RadioUiEngine::addRecognizedSong( const QString& artist, const QString& title ) +void RadioUiEngine::addRecognizedSong( const QString& artist, const QString& title, const RadioStation& station ) { Q_D( RadioUiEngine ); - d->mPlayLogModel->addItem( artist, title ); + d->mPlayLogModel->addItem( artist, title, station ); } /*! @@ -486,7 +496,9 @@ */ void RadioUiEngine::emitSeekingStarted( Seeking::Direction direction ) { - emit seekingStarted( direction ); + if ( isAntennaAttached() ) { + emit seekingStarted( direction ); + } } /*! diff -r 46974bebc798 -r 63aabac4416d radioapp/radiouiengine/src/radiouiengine_p.cpp --- a/radioapp/radiouiengine/src/radiouiengine_p.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiouiengine/src/radiouiengine_p.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,8 +16,14 @@ */ // System includes -#include -#include +#include +#include +#include +#ifndef BUILD_WIN32 +# include +# include +# include +#endif // User includes #include "radiouiengine.h" @@ -27,6 +33,13 @@ #include "radiopresetstorage.h" #include "radiosettings.h" #include "radiostation.h" +#ifndef BUILD_WIN32 +# include "radiocontrolservice.h" +# include "radiomonitorservice.h" +#else +# include "radiomonitorservice_win32.h" +#endif +#include "radioserviceconst.h" #include "radiologger.h" /*! @@ -36,7 +49,9 @@ q_ptr( engine ), mEngineWrapper( 0 ), mStationModel( 0 ), - mPlayLogModel( 0 ) + mPlayLogModel( 0 ), + mControlService( 0 ), + mMonitorService( 0 ) { } @@ -45,6 +60,12 @@ */ RadioUiEnginePrivate::~RadioUiEnginePrivate() { +#ifndef BUILD_WIN32 + XQSettingsManager settingsManager; + XQPublishAndSubscribeUtils utils( settingsManager ); + XQPublishAndSubscribeSettingsKey radioStartupKey( KRadioPSUid, KRadioStartupKey ); + utils.deleteProperty( radioStartupKey ); +#endif } /*! @@ -52,11 +73,24 @@ */ bool RadioUiEnginePrivate::startRadio() { +#ifndef BUILD_WIN32 + mControlService = new RadioControlService( *q_ptr ); +#endif + mMonitorService = new RadioMonitorService( *q_ptr ); mStationModel = new RadioStationModel( *q_ptr ); mEngineWrapper.reset( new RadioEngineWrapper( mStationModel->stationHandlerIf(), *this ) ); mPresetStorage.reset( new RadioPresetStorage() ); mStationModel->initialize( mPresetStorage.data(), mEngineWrapper.data() ); +#ifndef BUILD_WIN32 + // Write the startup timestamp to P&S key for the homescreen widget + XQSettingsManager settingsManager; + XQPublishAndSubscribeUtils utils( settingsManager ); + XQPublishAndSubscribeSettingsKey radioStartupKey( KRadioPSUid, KRadioStartupKey ); + utils.defineProperty( radioStartupKey, XQSettingsManager::TypeVariant ); + settingsManager.writeItemValue( radioStartupKey, QVariant( QTime::currentTime() ) ); +#endif + return mEngineWrapper->isEngineConstructed(); } diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiobannerlabel.h --- a/radioapp/radiowidgets/inc/radiobannerlabel.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiobannerlabel.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOBANNERLABEL_H_ // System includes -#include +#include class RadioBannerLabel : public HbLabel { diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiocontextmenu.h --- a/radioapp/radiowidgets/inc/radiocontextmenu.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiocontextmenu.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOCONTEXTMENU_H_ // System includes -#include +#include // User includes #include "radiostation.h" @@ -44,7 +44,6 @@ * @param uiLoader Reference to UI loader */ void init( const RadioStation& station, RadioXmlUiLoader& uiLoader ); - void init( const RadioStation& station, QPointF pos ); private slots: diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiofadinglabel.h --- a/radioapp/radiowidgets/inc/radiofadinglabel.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiofadinglabel.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,10 +19,10 @@ #define RADIOFADINGLABEL_H // System includes -#include -#include +#include +#include -class RadioFadingLabel : public HbLabel +class RadioFadingLabel : public HbLabel //TODO: Derive from HbLineEdit { Q_OBJECT diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiofrequencyitem.h --- a/radioapp/radiowidgets/inc/radiofrequencyitem.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiofrequencyitem.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOFREQUENCYITEM_H // System includes -#include +#include // Forward declarations class RadioFrequencyStrip; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiofrequencyscanner.h --- a/radioapp/radiowidgets/inc/radiofrequencyscanner.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiofrequencyscanner.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOPRESETSCANNER_H_ // System includes -#include +#include // Forward declarations class HbProgressDialog; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiofrequencystrip.h --- a/radioapp/radiowidgets/inc/radiofrequencystrip.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiofrequencystrip.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,10 +19,10 @@ #define FREQUENCYSTRIP_H // System includes -#include -#include -#include -#include +#include +#include +#include +#include // User includes #include "radiostripbase.h" @@ -77,6 +77,8 @@ public slots: void favoriteChanged( const RadioStation& station ); + void stationAdded( const RadioStation& station ); + void stationRemoved( const RadioStation& station ); void setFrequency( const uint frequency, int commandSender = 0 ); signals: diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiomainwindow.h --- a/radioapp/radiowidgets/inc/radiomainwindow.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiomainwindow.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,12 +19,12 @@ #define _RADIOMAINWINDOW_H_ // System includes -#include -#include -#include +#include +#include +#include //#define QT_SHAREDPOINTER_TRACK_POINTERS // Debugging support for QSharedPointer -#include +#include // User includes #include "radiowidgetsexport.h" @@ -87,7 +87,7 @@ // New functions - void activateView( ViewPtr& aMember, const QString& docmlFile ); + void activateView( ViewPtr& aMember, const QString& docmlFile, Hb::ViewSwitchFlags flags = Hb::ViewSwitchDefault ); DummyViewPtr prepareToShowDialog(); void dialogShown( DummyViewPtr pointer ); diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radioplaylogview.h --- a/radioapp/radiowidgets/inc/radioplaylogview.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radioplaylogview.h Fri Apr 16 14:58:55 2010 +0300 @@ -25,6 +25,9 @@ // Forward declarations class RadioXmlUiLoader; class HbListView; +class HbAction; +class RadioStationFilterModel; +class HbAbstractViewItem; // Class declaration class WIDGETS_DLL_EXPORT RadioPlayLogView : public RadioViewBase @@ -35,15 +38,31 @@ explicit RadioPlayLogView( RadioXmlUiLoader* uiLoader ); +private slots: + + void deckButtonPressed(); + void clearList(); + void updateVisibilities(); + void listItemClicked( const QModelIndex& index ); + void listItemLongPressed( HbAbstractViewItem* item, const QPointF& coords ); + private: // from base class RadioViewBase void init( RadioMainWindow* aMainWindow, RadioStationModel* aModel ); + void setOrientation(); + +// New functions + + void showContextMenu( const QModelIndex& index ); private: //data - HbListView* mPlayLogList; + HbListView* mPlayLogList; + HbAction* mAllSongsButton; + HbAction* mFavoritesButton; + RadioStationFilterModel* mFilterModel; }; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiostationcarousel.h --- a/radioapp/radiowidgets/inc/radiostationcarousel.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiostationcarousel.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,70 +19,26 @@ #define RADIOSTATIONCAROUSEL_H // System includes -#include -#include -#include -#include -#include +#include +#include +#include +#include // Forward declarations class RadioUiEngine; -class RadioFadingLabel; -class HbPushButton; -class HbAnchorLayout; class RadioStation; +class RadioStationItem; class RadioStationCarousel; class RadioStationFilterModel; - -// Class declaration -class RadioStationItem : public HbAbstractViewItem -{ - Q_OBJECT - friend class RadioStationCarousel; - -public: - - RadioStationItem( QGraphicsItem* parent = 0 ); - -// From base class HbAbstractViewItem - - HbAbstractViewItem* createItem(); - void updateChildItems(); - -// New functions - - uint frequency() const; - - void update( const RadioStation* station = 0 ); - - void setFrequency( uint frequency ); - void setSeekingText(); - -private slots: - - void toggleFavorite(); - -private: - - void updateFavoriteIcon( bool isFavorite ); - - RadioStationCarousel* carousel(); - -private: // data - - HbAnchorLayout* mLayout; - RadioFadingLabel* mNameLabel; - HbPushButton* mIconButton; - RadioFadingLabel* mGenreLabel; - RadioFadingLabel* mRadiotextLabel; - uint mFrequency; -}; +class RadioFadingLabel; // Class declaration class RadioStationCarousel : public HbGridView { Q_OBJECT Q_PROPERTY(HbIcon background READ background WRITE setBackground) + Q_PROPERTY(HbIcon favoriteIcon READ favoriteIcon WRITE setFavoriteIcon) + Q_PROPERTY(HbIcon nonFavoriteIcon READ nonFavoriteIcon WRITE setNonFavoriteIcon) public: @@ -91,6 +47,12 @@ void setBackground( const HbIcon& background ); HbIcon background() const; + void setFavoriteIcon( const HbIcon& favoriteIcon ); + HbIcon favoriteIcon() const; + + void setNonFavoriteIcon( const HbIcon& nonFavoriteIcon ); + HbIcon nonFavoriteIcon() const; + RadioUiEngine& uiEngine(); bool isAntennaAttached() const; @@ -108,12 +70,18 @@ private slots: void update( const RadioStation& station ); + void updateRadioText( const RadioStation& station ); void leftGesture( int speedPixelsPerSecond ); void rightGesture( int speedPixelsPerSecond ); void insertFrequency( const QModelIndex& parent, int first, int last ); void removeFrequency( const QModelIndex& parent, int first, int last ); void updateFrequencies(); void updateLoopedPos(); + void radioTextPlusCheckEnded(); + +#ifdef USE_DEBUGGING_CONTROLS + void setRdsAvailable( bool available ); +#endif // USE_DEBUGGING_CONTROLS private: @@ -148,6 +116,16 @@ QMap mModelIndexes; HbIcon mBackground; + HbIcon mFavoriteIcon; + HbIcon mNonFavoriteIcon; + + QTimer* mRadioTextTimer; + + QString mRadioTextHolder; + +#ifdef USE_DEBUGGING_CONTROLS + RadioFadingLabel* mRdsLabel; +#endif }; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiostationcontrolwidget.h --- a/radioapp/radiowidgets/inc/radiostationcontrolwidget.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiostationcontrolwidget.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,14 +19,13 @@ #define RADIOSTATIONCONTROLWIDGET_H // System includes -#include -#include -#include +#include +#include +#include // Forward declarations class RadioUiEngine; class HbPushButton; -class RadioXmlUiLoader; class RadioMainWindow; // Class declaration @@ -79,8 +78,8 @@ HbIcon mBackground; HbPushButton* mTagSongButton; + HbPushButton* mStationsViewButton; HbPushButton* mRecognizeButton; - HbPushButton* mStationsViewButton; RadioMainWindow* mMainWindow; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiostationitem.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiowidgets/inc/radiostationitem.h Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,78 @@ +/* +* 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 RADIOSTATIONITEM_H +#define RADIOSTATIONITEM_H + +// System includes +#include + +// Forward declarations +class RadioFadingLabel; +class HbPushButton; +class RadioStation; +class HbAnchorLayout; +class RadioStationCarousel; + +// Class declaration +class RadioStationItem : public HbAbstractViewItem +{ + Q_OBJECT + friend class RadioStationCarousel; + +public: + + RadioStationItem( RadioStationCarousel& carousel ); + +// From base class HbAbstractViewItem + + HbAbstractViewItem* createItem(); + void updateChildItems(); + +// New functions + + uint frequency() const; + + void update( const RadioStation* station = 0 ); + + void setFrequency( uint frequency ); + void setSeekingText(); + +private slots: + + void toggleFavorite(); + +private: + + void updateFavoriteIcon( bool isFavorite ); + + RadioStationCarousel* carousel(); + +private: // data + + RadioStationCarousel& mCarousel; + HbAnchorLayout* mLayout; + RadioFadingLabel* mNameLabel; + HbPushButton* mIconButton; + RadioFadingLabel* mGenreLabel; + RadioFadingLabel* mRadiotextLabel; + RadioFadingLabel* mUrlLabel; + uint mFrequency; +}; + + +#endif // RADIOSTATIONITEM_H diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiostationsview.h --- a/radioapp/radiowidgets/inc/radiostationsview.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiostationsview.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOSTATIONSVIEW_H // System includes -#include +#include // User includes #include "radioviewbase.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiostripbase.h --- a/radioapp/radiowidgets/inc/radiostripbase.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiostripbase.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOSTRIPBASE_H_ // System includes -#include +#include // Forward declarations class HbWidget; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiotuningview.h --- a/radioapp/radiowidgets/inc/radiotuningview.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiotuningview.h Fri Apr 16 14:58:55 2010 +0300 @@ -48,7 +48,6 @@ // from base class RadioViewBase void init( RadioMainWindow* aMainWindow, RadioStationModel* aModel ); - void initSecondarySoftkey(); void setOrientation(); // New functions diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radioviewbase.h --- a/radioapp/radiowidgets/inc/radioviewbase.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radioviewbase.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,10 +19,10 @@ #define _RADIOVIEWBASE_H_ // System includes -#include +#include //#define QT_SHAREDPOINTER_TRACK_POINTERS // Debugging support for QSharedPointer -#include +#include // User includes @@ -56,9 +56,6 @@ bool isTransient() const; - virtual void initSecondarySoftkey(); - HbAction* secondarySoftkey() const; - void updateOrientation( Qt::Orientation orientation, bool forceUpdate = false ); protected slots: @@ -71,6 +68,8 @@ // New functinos + void initBackAction(); + HbAction* addMenuItem( const QString& aTitle, QObject* aRecipient, const char* aSlot ); void connectCommonMenuItem( int menuItem ); @@ -115,11 +114,6 @@ HbAction* mUseLoudspeakerAction; /** - * Action for the secondary softkey. Used for "back" and "done" buttons - */ - HbAction* mSecondarySoftkeyction; - - /** * View orientation. */ Qt::Orientation mOrientation; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiowidgetsexport.h --- a/radioapp/radiowidgets/inc/radiowidgetsexport.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiowidgetsexport.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIO_WIDGETS_EXPORT_H_ // System includes -#include +#include #ifdef BUILD_WIDGETS_DLL #define WIDGETS_DLL_EXPORT Q_DECL_EXPORT diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radiowizardview.h --- a/radioapp/radiowidgets/inc/radiowizardview.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radiowizardview.h Fri Apr 16 14:58:55 2010 +0300 @@ -43,7 +43,6 @@ // from base class RadioViewBase void init( RadioMainWindow* aMainWindow, RadioStationModel* aModel ); - void initSecondarySoftkey(); // from base class QGraphicsWidget @@ -57,6 +56,7 @@ private: + void setDoneAction(); void startScanning(); private: // data diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/inc/radioxmluiloader.h --- a/radioapp/radiowidgets/inc/radioxmluiloader.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/inc/radioxmluiloader.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define RADIOXMLUILOADER_H_ // System includes -#include +#include // Constants #ifdef USE_LAYOUT_FROM_E_DRIVE diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/radiowidgets.pro --- a/radioapp/radiowidgets/radiowidgets.pro Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/radiowidgets.pro Fri Apr 16 14:58:55 2010 +0300 @@ -64,6 +64,7 @@ HEADERS += radiocontextmenu.h HEADERS += radiofadinglabel.h HEADERS += radiostationcarousel.h +HEADERS += radiostationitem.h HEADERS += radiostationcontrolwidget.h HEADERS += radioplaylogview.h @@ -82,6 +83,7 @@ SOURCES += radiocontextmenu.cpp SOURCES += radiofadinglabel.cpp SOURCES += radiostationcarousel.cpp +SOURCES += radiostationitem.cpp SOURCES += radiostationcontrolwidget.cpp SOURCES += radioplaylogview.cpp diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/res/fmradioui.qrc --- a/radioapp/radiowidgets/res/fmradioui.qrc Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/res/fmradioui.qrc Fri Apr 16 14:58:55 2010 +0300 @@ -7,6 +7,8 @@ layout/playlogview.docml layout/radiostationcontrolwidget.css layout/radiostationcontrolwidget.widgetml + layout/radiostationitem.css + layout/radiostationitem.widgetml diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/res/layout/radiostationcontrolwidget.css --- a/radioapp/radiowidgets/res/layout/radiostationcontrolwidget.css Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/res/layout/radiostationcontrolwidget.css Fri Apr 16 14:58:55 2010 +0300 @@ -9,29 +9,39 @@ border-width: 0px; } -HbPushButton::text { - text-align: left center; - color: white; - font-variant: primary; -} - RadioStationControlWidget::tag_song_button { left: -var(hb-param-margin-gene-left); right: var(hb-param-margin-gene-right); - top: 0un; - bottom: 0un; + top: -var(hb-param-margin-gene-top); +} + +HbPushButton#tag_song_button::text { + text-align: left; + color: white; + font-variant: primary; } RadioStationControlWidget::recognize_button { left: -var(hb-param-margin-gene-left); right: var(hb-param-margin-gene-right); - top: 0un; - bottom: 0un; + top: -var(hb-param-margin-gene-top); +} + +HbPushButton#recognize_button::text { + text-align: left; + color: white; + font-variant: primary; } RadioStationControlWidget::stations_button { left: -var(hb-param-margin-gene-left); right: var(hb-param-margin-gene-right); - top: 0un; - bottom: 0un; + top: -var(hb-param-margin-gene-top); + bottom: var(hb-param-margin-gene-bottom); } + +HbPushButton#stations_button::text { + text-align: left; + color: white; + font-variant: primary; +} diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/res/layout/radiostationitem.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiowidgets/res/layout/radiostationitem.css Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,63 @@ +RadioStationItem { + layout: default +} + +RadioStationItem::favorite_button { + top: -var(hb-param-margin-gene-top); + left: -var(hb-param-margin-gene-left) + max-width: 6un; + max-height: 6un; +} + +RadioStationItem::genre_label { + top: -var(hb-param-margin-gene-top); + right: 8un; + left: -var(hb-param-margin-gene-left); + pref-height: 6un; +} + +RadioFadingLabel#genre_label::text { + text-align: center; + color: lightgray; + font-variant: secondary; +} + +RadioStationItem::name_label { + pref-height: 5un; + left: -var(hb-param-margin-gene-left); + top: -var(hb-param-margin-gene-top); + right: var(hb-param-margin-gene-right) +} + +RadioFadingLabel#name_label::text { + text-align: center; + color: white; + font-variant: primary; +} + +RadioStationItem::rt_label { + pref-height: 15un; + left: -var(hb-param-margin-gene-left); + top: -var(hb-param-margin-gene-top); + right: var(hb-param-margin-gene-right); +} + +RadioFadingLabel#rt_label::text { + text-align: center; + color: white; + font-variant: secondary; +} + +RadioStationItem::url_label { + pref-height: 5un; + left: -var(hb-param-margin-gene-left); + top: -var(hb-param-margin-gene-top); + right: var(hb-param-margin-gene-right); + bottom: var(hb-param-margin-gene-bottom); +} + +RadioFadingLabel#url_label::text { + text-align: center; + color: white; + font-variant: secondary; +} diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/res/layout/radiostationitem.widgetml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiowidgets/res/layout/radiostationitem.widgetml Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiobannerlabel.cpp --- a/radioapp/radiowidgets/src/radiobannerlabel.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiobannerlabel.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -17,7 +17,7 @@ #include "radiobannerlabel.h" -#include +#include /*! * diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiocontextmenu.cpp --- a/radioapp/radiowidgets/src/radiocontextmenu.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiocontextmenu.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,9 +16,9 @@ */ // System includes -#include -#include -#include +#include +#include +#include // User includes #include "radiocontextmenu.h" @@ -44,59 +44,14 @@ { mStation = station; - if ( station.isRenamed() ) - { - uiLoader.findObject( DOCML_NAME_CONTEXT_RENAME )->setText( TRANSLATE( KMenuItemRemoveRenaming ) ); - } - else - { - uiLoader.findObject( DOCML_NAME_CONTEXT_RENAME )->setText( TRANSLATE( KMenuItemRenameStation ) ); - } - if ( station.isFavorite() ) { - uiLoader.findObject( DOCML_NAME_CONTEXT_FAVORITE )->setText( TRANSLATE( KMenuItemRemoveFavorite ) ); + uiLoader.findObject( DOCML_NAME_CONTEXT_FAVORITE )->setText( hbTrId( "txt_rad_menu_remove_favourite" ) ); } else { - uiLoader.findObject( DOCML_NAME_CONTEXT_FAVORITE )->setText( TRANSLATE( KMenuItemSetAsFavorite ) ); - } -} - -/*! - * Initializes the menu - */ -void RadioContextMenu::init( const RadioStation& station, QPointF pos ) -{ - mStation = station; - mPos = pos; - - if ( station.isRenamed() ) - { - HbAction* action = addAction( TRANSLATE( KMenuItemRemoveRenaming ) ); - connectAndTest( action, SIGNAL(triggered()), this, SLOT(rename()) ); + uiLoader.findObject( DOCML_NAME_CONTEXT_FAVORITE )->setText( hbTrId( "txt_rad_menu_add_to_favourites" ) ); } - else - { - HbAction* action = addAction( TRANSLATE( KMenuItemRenameStation ) ); - connectAndTest( action, SIGNAL(triggered()), this, SLOT(rename()) ); - } - - if ( station.isFavorite() ) - { - HbAction* action = addAction( TRANSLATE( KMenuItemRemoveFavorite ) ); - connectAndTest( action, SIGNAL(triggered()), this, SLOT(toggleFavorite()) ); - } - else - { - HbAction* action = addAction( TRANSLATE( KMenuItemSetAsFavorite ) ); - connectAndTest( action, SIGNAL(triggered()), this, SLOT(toggleFavorite()) ); - } - - HbAction* deleteAction = addAction( TRANSLATE( KMenuItemRemoveStation ) ); - connectAndTest( deleteAction, SIGNAL(triggered()), this, SLOT(deleteStation()) ); - - connectAndTest( this, SIGNAL(aboutToClose()), this, SLOT(deleteLater()) ); } /*! @@ -105,20 +60,13 @@ */ void RadioContextMenu::rename() { - if ( mStation.isRenamed() ) - { - mUiEngine.model().renameStation( mStation.presetIndex(), "" ); - } - else + HbInputDialog nameQuery; + nameQuery.setPromptText( hbTrId( "txt_rad_dialog_new_name" ) ); + nameQuery.setInputMode( HbInputDialog::TextInput ); + nameQuery.setValue( mStation.name() ); + if ( nameQuery.exec() == nameQuery.primaryAction() ) { - HbInputDialog nameQuery; - nameQuery.setPromptText( TRANSLATE( KQueryEnterStationName ) ); - nameQuery.setInputMode( HbInputDialog::TextInput ); - nameQuery.setTextValue( mStation.name() ); - if ( nameQuery.exec() == nameQuery.primaryAction() ) - { - mUiEngine.model().renameStation( mStation.presetIndex(), nameQuery.textValue().toString() ); - } + mUiEngine.model().renameStation( mStation.presetIndex(), nameQuery.value().toString() ); } } diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiofrequencyscanner.cpp --- a/radioapp/radiowidgets/src/radiofrequencyscanner.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiofrequencyscanner.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include // User includes #include "radiofrequencyscanner.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiofrequencystrip.cpp --- a/radioapp/radiowidgets/src/radiofrequencystrip.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiofrequencystrip.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,13 +16,12 @@ */ // System includes -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include "radiofrequencystrip.h" #include "radiofrequencyitem.h" @@ -34,7 +33,7 @@ // Frequency lines const int KTabHeightSmall = 10; const int KTabHeightBig = 15; -const int KTabHeightFavorite = 15; +//const int KTabHeightFavorite = 15; const int KTabWidthFavorite = 4; const qreal KIndicatorWidth = 2.0; @@ -44,7 +43,7 @@ const int K100Khz = 100000; -const int KTouchPosThreshold = 30; +//const int KTouchPosThreshold = 30; const QString KSlideToLeft = "SlideToLeft"; const QString KSlideFromLeft = "SlideFromLeft"; @@ -187,6 +186,32 @@ * Public slot * */ +void RadioFrequencyStrip::stationAdded( const RadioStation& station ) +{ + LOG_SLOT_CALLER; + FrequencyPos pos = mFrequencies.value( station.frequency() ); + updateFavorites( pos.mItem ); +} + +/*! + * Public slot + * + */ +void RadioFrequencyStrip::stationRemoved( const RadioStation& station ) +{ + LOG_SLOT_CALLER; + uint frequency = station.frequency(); + if ( mFrequencies.contains( frequency ) ) { + FrequencyPos pos = mFrequencies.value( frequency ); + mFrequencies.remove( frequency ); + updateFavorites( pos.mItem ); + } +} + +/*! + * Public slot + * + */ void RadioFrequencyStrip::setFrequency( const uint frequency, int commandSender ) { // LOG_SLOT_CALLER; @@ -609,6 +634,7 @@ */ void RadioFrequencyStrip::emitFavoriteSelected( bool favoriteSelected ) { + // TODO: remove this if ( favoriteSelected != mFavoriteSelected ) { mFavoriteSelected = favoriteSelected; emit frequencyIsFavorite( mFavoriteSelected ); diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiomainwindow.cpp --- a/radioapp/radiowidgets/src/radiomainwindow.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiomainwindow.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,10 +15,10 @@ * */ -#include -#include -#include -#include +#include +#include +#include +#include #include "radiomainwindow.h" #include "radiotuningview.h" @@ -61,7 +61,8 @@ { DummyViewPtr dummyView = prepareToShowDialog(); - const bool answer = HbMessageBox::launchQuestionMessageBox( TRANSLATE( KQueryTextStartOffline ) ); + const bool answer = HbMessageBox::question( hbTrId( "txt_rad_info_activate_radio_in_offline_mode" ) ); + dialogShown( dummyView ); return answer; @@ -74,7 +75,7 @@ { DummyViewPtr dummyView = prepareToShowDialog(); - HbMessageBox::launchWarningMessageBox( text ); + HbMessageBox::warning( text ); dialogShown( dummyView ); } @@ -127,7 +128,7 @@ */ void RadioMainWindow::activateTuningView() { - activateView( mTuningView, DOCML_TUNINGVIEW_FILE ); + activateView( mTuningView, DOCML_TUNINGVIEW_FILE, Hb::ViewSwitchUseBackAnim ); } /*! @@ -195,7 +196,7 @@ void RadioMainWindow::headsetStatusChanged( bool connected ) { if ( !connected ) { - HbMessageBox infoBox( TRANSLATE( KTitleHeadsetDisconnectedPopup ) ); + HbMessageBox infoBox( hbTrId( "txt_rad_dpophead_connect_wired_headset" ) ); infoBox.exec(); } } @@ -203,21 +204,17 @@ /*! * */ -void RadioMainWindow::activateView( ViewPtr& aMember, const QString& docmlFile ) +void RadioMainWindow::activateView( ViewPtr& aMember, const QString& docmlFile, Hb::ViewSwitchFlags flags ) { + LOG_METHOD; if ( aMember && aMember == currentView() ) { return; } - // Remove the secondary softkey of the previous view - //TODO: Check how the soft keys work nowaways in Orbit. This doesn't seem to do anything RadioViewBase* previousView = static_cast( currentView() ); - if ( previousView && previousView->secondarySoftkey() ) { - removeSoftKeyAction( Hb::SecondarySoftKey, previousView->secondarySoftkey() ); - if ( previousView->isTransient() ) { - removeView( previousView ); - previousView->deleteLater(); - } + if ( previousView && previousView->isTransient() ) { + removeView( previousView ); + previousView->deleteLater(); } bool viewCreated = false; @@ -239,19 +236,13 @@ aMember = ViewPtr( uiLoader->findObject( DOCML_NAME_VIEW ) ); aMember->init( this, &mUiEngine->model() ); - aMember->initSecondarySoftkey(); addView( aMember ); } - // Add the secondary softkey if the view has one - if ( aMember->secondarySoftkey() ) { - addSoftKeyAction( Hb::SecondarySoftKey, aMember->secondarySoftkey() ); - } - aMember->updateOrientation( orientation(), viewCreated ); - setCurrentView( aMember, true ); + setCurrentView( aMember, true, flags ); } /*! diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radioplaylogview.cpp --- a/radioapp/radiowidgets/src/radioplaylogview.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radioplaylogview.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,8 +16,10 @@ */ // System includes -#include -#include +#include +#include +#include +#include // User includes #include "radioplaylogview.h" @@ -25,19 +27,87 @@ #include "radiologger.h" #include "radioxmluiloader.h" #include "radiouiengine.h" +#include "radiostationfiltermodel.h" #include "radioplaylogmodel.h" +const char* SECTION_SHOW_LIST = "show_list"; +const char* SECTION_HIDE_LIST = "hide_list"; +const char* SECTION_HISTORY_MODE = "history_mode"; +const char* SECTION_FAVORITE_MODE = "favorite_mode"; + /*! * */ RadioPlayLogView::RadioPlayLogView( RadioXmlUiLoader* uiLoader ) : RadioViewBase( uiLoader ), - mPlayLogList( 0 ) + mPlayLogList( 0 ), + mAllSongsButton( 0 ), + mFavoritesButton( 0 ) { } /*! - * From RadioViewBase + * Private slot + * + */ +void RadioPlayLogView::deckButtonPressed() +{ + bool ok = false; + if ( sender() == mFavoritesButton ) { + mUiLoader->load( DOCML_PLAYLOGVIEW_FILE, SECTION_FAVORITE_MODE, &ok ); + } else { + mUiLoader->load( DOCML_PLAYLOGVIEW_FILE, SECTION_HISTORY_MODE, &ok ); + } + + const bool showFavorites = mFavoritesButton->isChecked(); +// mFilterModel->setTypeFilter( showFavorites ? RadioStation::Favorite +// : RadioStation::LocalStation ); + + updateVisibilities(); +} + +/*! + * Private slot + * + */ +void RadioPlayLogView::clearList() +{ + mMainWindow->uiEngine().playLogModel().removeAll(); + updateVisibilities(); +} + +/*! + * Private slot + * + */ +void RadioPlayLogView::updateVisibilities() +{ + const int itemCount = mMainWindow->uiEngine().playLogModel().rowCount(); + bool ok = false; + mUiLoader->load( DOCML_PLAYLOGVIEW_FILE, itemCount ? SECTION_SHOW_LIST : SECTION_HIDE_LIST, &ok ); +} + +/*! + * Private slot + * + */ +void RadioPlayLogView::listItemClicked( const QModelIndex& index ) +{ + showContextMenu( index ); +} + +/*! + * Private slot + * + */ +void RadioPlayLogView::listItemLongPressed( HbAbstractViewItem* item, const QPointF& coords ) +{ + Q_UNUSED( coords ); + showContextMenu( item->modelIndex() ); +} + +/*! + * \reimp * */ void RadioPlayLogView::init( RadioMainWindow* aMainWindow, RadioStationModel* aModel ) @@ -47,19 +117,63 @@ mModel = aModel; RadioPlayLogModel* playLogModel = &mMainWindow->uiEngine().playLogModel(); + playLogModel->setShowDetails( mOrientation == Qt::Horizontal ); mPlayLogList = mUiLoader->findObject( DOCML_NAME_PLAYLOGLIST ); mPlayLogList->setScrollingStyle( HbListView::PanOrFlick ); - mPlayLogList->setModel( playLogModel ); + mFilterModel = mMainWindow->uiEngine().createNewFilterModel( this ); + mFilterModel->setSourceModel( playLogModel ); + mPlayLogList->setModel( mFilterModel ); mPlayLogList->setSelectionMode( HbListView::NoSelection ); mPlayLogList->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); + mAllSongsButton = mUiLoader->findObject( DOCML_NAME_ALLSONGSBUTTON ); + mFavoritesButton = mUiLoader->findObject( DOCML_NAME_FAVORITESONGSBUTTON ); + HbAction* removeAction = mUiLoader->findObject( DOCML_NAME_PLV_REMOVEALLACTION ); - connectAndTest( removeAction, SIGNAL(triggered()), playLogModel, SLOT(removeAll()) ); + connectAndTest( removeAction, SIGNAL(triggered()), this, SLOT(clearList()) ); + + connectAndTest( mFavoritesButton, SIGNAL(triggered() ), + this, SLOT(deckButtonPressed() ) ); + connectAndTest( mAllSongsButton, SIGNAL(triggered() ), + this, SLOT(deckButtonPressed() ) ); + connectAndTest( playLogModel, SIGNAL(itemAdded() ), + this, SLOT(updateVisibilities() ) ); + updateVisibilities(); + + initBackAction(); +} - // "Go to tuning view" menu item - connectViewChangeMenuItem( DOCML_NAME_PLV_TUNINGVIEWACTION, SLOT(activateTuningView()) ); +/*! + * \reimp + * + */ +void RadioPlayLogView::setOrientation() +{ + RadioPlayLogModel& model = mMainWindow->uiEngine().playLogModel(); + model.setShowDetails( mOrientation == Qt::Horizontal ); +} - // "Go to stations view" menu item - connectViewChangeMenuItem( DOCML_NAME_PLV_STATIONSVIEWACTION, SLOT(activateStationsView()) ); +/*! + * \reimp + * + */ +void RadioPlayLogView::showContextMenu( const QModelIndex& index ) +{ + QModelIndex sourceIndex = mFilterModel->mapToSource( index ); + + HbMenu* menu = new HbMenu(); + HbAction* action = menu->addAction( "Set favorite" ); + menu->exec(); + +// RadioPlayLogItem item = mFilterModel->data( index, ) + + // QModelIndex sourceIndex = mFilterModel->mapToSource( item->modelIndex() ); + // RadioStation station = mModel->stationAt( sourceIndex.row() ); + // RADIO_ASSERT( station.isValid() , "FMRadio", "invalid RadioStation"); + // + // RadioContextMenu* menu = mUiLoader->findObject( DOCML_NAME_CONTEXT_MENU ); + // menu->init( station, *mUiLoader ); + // menu->setPos( QPointF( size().width() / 2 - menu->size().width() / 2, coords.y() - menu->size().height() / 2 ) ); + // menu->exec(); } diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiostationcarousel.cpp --- a/radioapp/radiowidgets/src/radiostationcarousel.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiostationcarousel.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,15 +16,16 @@ */ // System includes -#include -#include -#include -#include +#include +#include +#include #include -#include +#include +#include // User includes #include "radiostationcarousel.h" +#include "radiostationitem.h" #include "radiouiengine.h" #include "radiostationmodel.h" #include "radiofadinglabel.h" @@ -41,181 +42,7 @@ const QString KNonFavoriteIconPath = ":/images/favoriteiconinactive.png"; #endif -// ============================================= -// Station Item -// ============================================= - -/*! - * - */ -RadioStationItem::RadioStationItem( QGraphicsItem* parent ) : - HbAbstractViewItem( parent ), - mLayout( 0 ), - mNameLabel( 0 ), - mIconButton( 0 ), - mGenreLabel( 0 ), - mRadiotextLabel( 0 ) -{ - setFlag( QGraphicsItem::ItemIsFocusable, true ); -} - -/*! - * From HbAbstractViewItem - * - */ -HbAbstractViewItem* RadioStationItem::createItem() -{ - return new RadioStationItem( *this ); // Calls copy constructor -} - -/*! - * From HbAbstractViewItem - */ -void RadioStationItem::updateChildItems() -{ - if ( !mLayout ) - { - mNameLabel = new RadioFadingLabel( this ); - HbFontSpec spec = mNameLabel->fontSpec(); - spec.setTextPaneHeight( 40 ); - spec.setRole( HbFontSpec::Primary ); - mNameLabel->setFontSpec( spec ); - mNameLabel->setAlignment( Qt::AlignLeft ); - - spec.setRole( HbFontSpec::Secondary ); - spec.setPointSize( 6 ); - - mIconButton = new HbPushButton( this ); - QPixmap background( QSize( 50, 50 ) ); - background.fill( Qt::transparent ); - mIconButton->setBackground( HbIcon( background ) ); - HbIcon favoriteIcon( KFavoriteIconPath ); - mIconButton->setOrientation( Qt::Horizontal ); - mIconButton->setIcon( favoriteIcon ); - mIconButton->setPreferredSize( 50, 50 ); - connectAndTest( mIconButton, SIGNAL(clicked()), this, SLOT(toggleFavorite())); - - mGenreLabel = new RadioFadingLabel( this ); - mGenreLabel->setAlignment( Qt::AlignCenter ); -// mGenreLabel->setFadingEnabled( true ); TODO - mGenreLabel->setFontSpec( spec ); - mGenreLabel->setTextColor( Qt::white ); - - mRadiotextLabel = new RadioFadingLabel( this ); - mRadiotextLabel->setAlignment( Qt::AlignCenter ); - mRadiotextLabel->setTextWrapping( Hb::TextWordWrap ); -// mRadiotextLabel->setFadingEnabled( true ); TODO - mRadiotextLabel->setFontSpec( spec ); - mRadiotextLabel->setTextColor( Qt::white ); - - mLayout = new HbAnchorLayout(); - - mLayout->setAnchor( mLayout, Hb::TopEdge, mIconButton, Hb::TopEdge, 40.0 ); - mLayout->setAnchor( mLayout, Hb::LeftEdge, mIconButton, Hb::LeftEdge, 20.0 ); - - mLayout->setAnchor( mLayout, Hb::TopEdge, mNameLabel, Hb::TopEdge, 40.0 ); - mLayout->setAnchor( mIconButton, Hb::RightEdge, mNameLabel, Hb::LeftEdge, 10.0 ); - mLayout->setAnchor( mLayout, Hb::RightEdge, mNameLabel, Hb::RightEdge, 10.0 ); - - mLayout->setAnchor( mNameLabel, Hb::BottomEdge, mGenreLabel, Hb::TopEdge, 0.0 ); - - mLayout->setAnchor( mLayout, Hb::LeftEdge, mGenreLabel, Hb::LeftEdge, 10.0 ); - mLayout->setAnchor( mLayout, Hb::CenterHEdge, mGenreLabel, Hb::CenterHEdge, 0.0 ); - - mLayout->setAnchor( mGenreLabel, Hb::BottomEdge, mRadiotextLabel, Hb::TopEdge, 0.0 ); - mLayout->setAnchor( mLayout, Hb::LeftEdge, mRadiotextLabel, Hb::LeftEdge, 10.0 ); - mLayout->setAnchor( mLayout, Hb::CenterHEdge, mRadiotextLabel, Hb::CenterHEdge, 0.0 ); - mLayout->setAnchor( mLayout, Hb::BottomEdge, mRadiotextLabel, Hb::BottomEdge, -20.0 ); - - setLayout( mLayout ); - } - - update(); -} - -/*! - * Private slot - * - */ -void RadioStationItem::toggleFavorite() -{ - carousel()->uiEngine().model().setData( modelIndex(), mFrequency, RadioStationModel::ToggleFavoriteRole ); -} - -/*! - * - */ -uint RadioStationItem::frequency() const -{ - return mFrequency; -} - -/*! - * - */ -void RadioStationItem::update( const RadioStation* station ) -{ - QModelIndex index = modelIndex(); - if ( !( station && station->isValid() ) && !index.isValid() ) - { - return; - } - - RadioStation tempStation = ( station && station->isValid() ) ? *station - : index.data( RadioStationModel::RadioStationRole ).value(); - - mNameLabel->setTextWithoutFading( RadioUiEngine::nameOrFrequency( tempStation ) ); - QString dynamicPs = tempStation.dynamicPsText(); - mGenreLabel->setText( dynamicPs.isEmpty() ? carousel()->uiEngine().genreToString( tempStation.genre() ) : dynamicPs ); - mRadiotextLabel->setText( carousel()->isAntennaAttached() ? tempStation.radioText() : TRANSLATE(KConnectHeadsetAntenna) ); - mFrequency = tempStation.frequency(); - - updateFavoriteIcon( tempStation.isFavorite() ); -} - -/*! - * - */ -void RadioStationItem::setFrequency( uint frequency ) -{ - LOG_FORMAT( "RadioStationItem::setFrequency: %u", frequency ); - mNameLabel->setTextWithoutFading( RadioUiEngine::parseFrequency( frequency ) ); - mGenreLabel->setTextWithoutFading( "" ); - mRadiotextLabel->setTextWithoutFading( carousel()->isAntennaAttached() ? "" : TRANSLATE(KConnectHeadsetAntenna) ); - mFrequency = frequency; - updateFavoriteIcon( false ); -} - -/*! - * - */ -void RadioStationItem::setSeekingText() -{ - mNameLabel->setTextWithoutFading( TRANSLATE( KHeadingSeeking ) ); - mGenreLabel->setTextWithoutFading( "" ); - mRadiotextLabel->setTextWithoutFading( "" ); -} - -/*! - * - */ -void RadioStationItem::updateFavoriteIcon( bool isFavorite ) -{ -// mIconButton->setOpacity( isFavorite ? 1.0 : 0.5 ); - mIconButton->setIcon( isFavorite ? KFavoriteIconPath : KNonFavoriteIconPath ); -} - -/*! - * - */ -RadioStationCarousel* RadioStationItem::carousel() -{ - return static_cast( itemView() ); -} - -// ============================================= -// Station Carousel -// ============================================= +const int KRadioTextPlusCheckTimeout = 700; // 700 ms /*! * @@ -227,7 +54,11 @@ mAutoScrollTime( 1000 ), mPreviousButtonPos( 0.0 ), mMovingLeft( false ), - mCurrentItem( 0 ) + mCurrentItem( 0 ), + mRadioTextTimer( new QTimer( this ) ) +#ifdef USE_DEBUGGING_CONTROLS + ,mRdsLabel( new RadioFadingLabel( this ) ) +#endif // USE_DEBUGGING_CONTROLS { mAntennaAttached = mUiEngine.isAntennaAttached(); @@ -240,7 +71,7 @@ setLongPressEnabled( false ); setItemRecycling( false ); // TODO: Enable recycling setUniformItemSizes( true ); - setItemPrototype( new RadioStationItem( this ) ); + setItemPrototype( new RadioStationItem( *this ) ); setSelectionMode( SingleSelection ); RadioStationFilterModel* filterModel = mUiEngine.createNewFilterModel( this ); @@ -266,9 +97,27 @@ connectAndTest( stationModel, SIGNAL(stationDataChanged(RadioStation)), this, SLOT(update(RadioStation))); connectAndTest( stationModel, SIGNAL(radioTextReceived(RadioStation)), - this, SLOT(update(RadioStation))); + this, SLOT(updateRadioText(RadioStation))); connectAndTest( stationModel, SIGNAL(dynamicPsChanged(RadioStation)), this, SLOT(update(RadioStation))); + + mRadioTextTimer->setSingleShot( true ); + mRadioTextTimer->setInterval( KRadioTextPlusCheckTimeout ); + connectAndTest( mRadioTextTimer, SIGNAL(timeout()), + this, SLOT(radioTextPlusCheckEnded())); + +#ifdef USE_DEBUGGING_CONTROLS + mRdsLabel->setPos( QPoint( 300, 10 ) ); + mRdsLabel->setText( "RDS" ); + mRdsLabel->setElideMode( Qt::ElideNone ); + HbFontSpec spec = mRdsLabel->fontSpec(); + spec.setTextPaneHeight( 10 ); + spec.setRole( HbFontSpec::Secondary ); + mRdsLabel->setFontSpec( spec ); + mRdsLabel->setTextColor( Qt::gray ); + connectAndTest( &mUiEngine, SIGNAL(rdsAvailabilityChanged(bool)), + this, SLOT(setRdsAvailable(bool)) ); +#endif // USE_DEBUGGING_CONTROLS } /*! @@ -290,6 +139,42 @@ } /*! + * Property + * + */ +void RadioStationCarousel::setFavoriteIcon( const HbIcon& favoriteIcon ) +{ + mFavoriteIcon = favoriteIcon; +} + +/*! + * Property + * + */ +HbIcon RadioStationCarousel::favoriteIcon() const +{ + return mFavoriteIcon; +} + +/*! + * Property + * + */ +void RadioStationCarousel::setNonFavoriteIcon( const HbIcon& nonFavoriteIcon ) +{ + mNonFavoriteIcon = nonFavoriteIcon; +} + +/*! + * Property + * + */ +HbIcon RadioStationCarousel::nonFavoriteIcon() const +{ + return mNonFavoriteIcon; +} + +/*! * */ RadioUiEngine& RadioStationCarousel::uiEngine() @@ -319,6 +204,25 @@ /*! * Private slot */ +void RadioStationCarousel::updateRadioText( const RadioStation& station ) +{ + if ( isAntennaAttached() ) { + if ( station.radioText().isEmpty() ) { + RadioStationItem* item = currentStationItem(); + if ( item ) { + item->mRadiotextLabel->setText( "" ); + } + } else { + mRadioTextHolder = station.radioText(); + mRadioTextTimer->stop(); + mRadioTextTimer->start(); + } + } +} + +/*! + * Private slot + */ void RadioStationCarousel::leftGesture( int speedPixelsPerSecond ) { Q_UNUSED( speedPixelsPerSecond ); @@ -411,6 +315,37 @@ } /*! + * Private slot + */ +void RadioStationCarousel::radioTextPlusCheckEnded() +{ + RadioStationItem* item = currentStationItem(); + if ( item ) { + item->mRadiotextLabel->setText( mRadioTextHolder ); + } + mRadioTextHolder = ""; + mRadioTextTimer->stop(); +} + +#ifdef USE_DEBUGGING_CONTROLS +/*! + * Public slot + */ +void RadioStationCarousel::setRdsAvailable( bool available ) +{ + QColor color = Qt::green; + if ( !available ) { + LOG_FORMAT( "No RDS signal: Station has sent RDS earlier: %d", mUiEngine.model().currentStation().hasRds() ); + color = mUiEngine.model().currentStation().hasRds() ? Qt::yellow : Qt::gray; + mRdsLabel->setText( "RDS" ); + } else { + mRdsLabel->setText( "-RDS-" ); + } + mRdsLabel->setTextColor( color ); +} +#endif // USE_DEBUGGING_CONTROLS + +/*! * Public slot * */ @@ -461,10 +396,15 @@ */ void RadioStationCarousel::setSeekingText() { + mRadioTextTimer->stop(); RadioStationItem* item = currentStationItem(); if ( item ) { item->setSeekingText(); } + +#ifdef USE_DEBUGGING_CONTROLS + mRdsLabel->setTextColor( Qt::gray ); +#endif //USE_DEBUGGING_CONTROLS } /*! @@ -472,6 +412,7 @@ */ void RadioStationCarousel::updateHeadsetStatus( bool connected ) { + mRadioTextTimer->stop(); mAntennaAttached = connected; RadioStationItem* item = currentStationItem(); if ( item ) { @@ -555,7 +496,11 @@ if ( !filterModel()->isEqual( currentIndex(), index ) ) { setCurrentIndex( index, QItemSelectionModel::SelectCurrent ); mCurrentItem = static_cast( item ); - emit frequencyChanged( static_cast( item )->frequency(), CommandSender::StationCarousel ); + uint frequency = model()->data( index, RadioStationModel::RadioStationRole ).value().frequency(); + if ( item->frequency() != frequency ) { + item->setFrequency( frequency ); + } + emit frequencyChanged( frequency, CommandSender::StationCarousel ); } scrollContentsTo( QPointF( posX, 0 ) , time ); } diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiostationcontrolwidget.cpp --- a/radioapp/radiowidgets/src/radiostationcontrolwidget.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiostationcontrolwidget.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,15 +16,14 @@ */ // System includes -#include -#include -#include -#include +#include +#include +#include +#include // User includes #include "radiostationcontrolwidget.h" #include "radiolocalization.h" -#include "radioxmluiloader.h" #include "radiomainwindow.h" #include "radiologger.h" #include "radiostation.h" @@ -40,8 +39,11 @@ #endif const QString KBlinkEffect = "blink_in_out_in"; -static const QString FILE_PATH_WIDGETML = ":/layout/radiostationcontrolwidget.widgetml"; -static const QString FILE_PATH_CSS = ":/layout/radiostationcontrolwidget.css"; +static const char* FILE_PATH_WIDGETML = ":/layout/radiostationcontrolwidget.widgetml"; +static const char* FILE_PATH_CSS = ":/layout/radiostationcontrolwidget.css"; +static const char* TAG_BUTTON = "tag_song_button"; +static const char* RECOGNIZE_BUTTON = "recognize_button"; +static const char* STATIONS_BUTTON = "stations_button"; /*! * @@ -59,9 +61,16 @@ registered = HbStyleLoader::registerFilePath( FILE_PATH_CSS ); LOG_FORMAT( "registered: %d", registered ); - HbStyle::setItemName( mTagSongButton, "tag_song_button" ); - HbStyle::setItemName( mRecognizeButton, "recognize_button" ); - HbStyle::setItemName( mStationsViewButton, "stations_button" ); + mTagSongButton->setStretched( true ); + mStationsViewButton->setStretched( true ); + mRecognizeButton->setStretched( true ); + + HbStyle::setItemName( mTagSongButton, TAG_BUTTON ); + mTagSongButton->setObjectName( TAG_BUTTON ); + HbStyle::setItemName( mRecognizeButton, RECOGNIZE_BUTTON ); + mRecognizeButton->setObjectName( RECOGNIZE_BUTTON ); + HbStyle::setItemName( mStationsViewButton, STATIONS_BUTTON ); + mStationsViewButton->setObjectName( STATIONS_BUTTON ); } /*! diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiostationitem.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioapp/radiowidgets/src/radiostationitem.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -0,0 +1,231 @@ +/* +* 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 +#include +#include + +// User includes +#include "radiostationitem.h" +#include "radiostationcarousel.h" +#include "radiouiengine.h" +#include "radiofadinglabel.h" +#include "radiostationmodel.h" +#include "radiolocalization.h" +#include "radiologger.h" + +//static const char* FILE_PATH_WIDGETML = ":/layout/radiostationitem.widgetml"; +//static const char* FILE_PATH_CSS = ":/layout/radiostationitem.css"; +//static const char* GENRE_LABEL = "genre_label"; +//static const char* NAME_LABEL = "name_label"; +//static const char* RADIOTEXT_LABEL = "radiotext_label"; +//static const char* URL_LABEL = "url_label"; +//static const char* FAVORITE_BUTTON = "favorite_button"; + +const char* SEEKING_TEXT = "txt_rad_list_tuning"; +const char* CONNECT_HEADSET_TEXT = "txt_rad_list_connect_wireless_antenna_headset_with"; + +/*! + * + */ +RadioStationItem::RadioStationItem( RadioStationCarousel& carousel ) : + HbAbstractViewItem( &carousel ), + mCarousel( carousel ), + mLayout( 0 ), + mNameLabel( 0 ), + mIconButton( 0 ), + mGenreLabel( 0 ), + mRadiotextLabel( 0 ), + mUrlLabel( 0 ) +{ + setFlag( QGraphicsItem::ItemIsFocusable, true ); +} + +/*! + * From HbAbstractViewItem + * + */ +HbAbstractViewItem* RadioStationItem::createItem() +{ + RadioStationItem* item = new RadioStationItem( *this ); // Calls copy constructor +// item->setParent( &mCarousel ); +// item->setParentItem( &mCarousel ); +// item->setItemView( itemView() ); +// item->updateChildItems(); + return item; +} + +/*! + * From HbAbstractViewItem + */ +void RadioStationItem::updateChildItems() +{ + if ( !mLayout ) + { + mIconButton = new HbPushButton( this ); + QPixmap background( QSize( 50, 50 ) ); + background.fill( Qt::transparent ); + mIconButton->setBackground( HbIcon( background ) ); + mIconButton->setOrientation( Qt::Horizontal ); + mIconButton->setIcon( mCarousel.nonFavoriteIcon() ); + mIconButton->setMaximumSize( 50, 50 ); + connectAndTest( mIconButton, SIGNAL(clicked()), this, SLOT(toggleFavorite())); + + mNameLabel = new RadioFadingLabel( this ); + mNameLabel->setAlignment( Qt::AlignCenter ); + HbFontSpec spec = mNameLabel->fontSpec(); + spec.setRole( HbFontSpec::Primary ); + mNameLabel->setFontSpec( spec ); + + spec.setRole( HbFontSpec::Secondary ); + + mGenreLabel = new RadioFadingLabel( this ); + mGenreLabel->setAlignment( Qt::AlignCenter ); + mGenreLabel->setTextColor( Qt::white ); + + mRadiotextLabel = new RadioFadingLabel( this ); + mRadiotextLabel->setAlignment( Qt::AlignCenter ); + mRadiotextLabel->setTextWrapping( Hb::TextWordWrap ); +// mRadiotextLabel->setFadingEnabled( true ); TODO +// mRadiotextLabel->setFontSpec( spec ); + mRadiotextLabel->setTextColor( Qt::white ); + + mUrlLabel = new RadioFadingLabel( this ); + mUrlLabel->setAlignment( Qt::AlignCenter ); + mUrlLabel->setTextColor( Qt::white ); + + mLayout = new HbAnchorLayout(); + + mLayout->setAnchor( mLayout, Hb::TopEdge, mIconButton, Hb::TopEdge, 20.0 ); + mLayout->setAnchor( mLayout, Hb::LeftEdge, mIconButton, Hb::LeftEdge, 20.0 ); + + mLayout->setAnchor( mIconButton, Hb::CenterVEdge, mGenreLabel, Hb::CenterVEdge, 0.0 ); + mLayout->setAnchor( mIconButton, Hb::RightEdge, mGenreLabel, Hb::LeftEdge, 20.0 ); + mLayout->setAnchor( mLayout, Hb::RightEdge, mGenreLabel, Hb::RightEdge, -70.0 ); + + mLayout->setAnchor( mGenreLabel, Hb::BottomEdge, mNameLabel, Hb::TopEdge, 0.0 ); + mLayout->setAnchor( mLayout, Hb::LeftEdge, mNameLabel, Hb::LeftEdge, 10.0 ); + mLayout->setAnchor( mLayout, Hb::RightEdge, mNameLabel, Hb::RightEdge, -10.0 ); + + mLayout->setAnchor( mNameLabel, Hb::BottomEdge, mRadiotextLabel, Hb::TopEdge, 10.0 ); + mLayout->setAnchor( mLayout, Hb::LeftEdge, mRadiotextLabel, Hb::LeftEdge, 10.0 ); + mLayout->setAnchor( mLayout, Hb::RightEdge, mRadiotextLabel, Hb::RightEdge, -10.0 ); + + mLayout->setAnchor( mRadiotextLabel, Hb::BottomEdge, mUrlLabel, Hb::TopEdge, 10.0 ); + mLayout->setAnchor( mLayout, Hb::LeftEdge, mUrlLabel, Hb::LeftEdge, 10.0 ); + mLayout->setAnchor( mLayout, Hb::RightEdge, mUrlLabel, Hb::RightEdge, -10.0 ); + mLayout->setAnchor( mLayout, Hb::BottomEdge, mUrlLabel, Hb::BottomEdge, -10.0 ); + + setLayout( mLayout ); + } + + update(); +} + +/*! + * Private slot + * + */ +void RadioStationItem::toggleFavorite() +{ + carousel()->uiEngine().model().setData( modelIndex(), mFrequency, RadioStationModel::ToggleFavoriteRole ); +} + +/*! + * + */ +uint RadioStationItem::frequency() const +{ + return mFrequency; +} + +/*! + * + */ +void RadioStationItem::update( const RadioStation* station ) +{ + QModelIndex index = modelIndex(); + if ( !( station && station->isValid() ) && !index.isValid() ) { + return; + } + + RadioStation tempStation = ( station && station->isValid() ) ? *station + : index.data( RadioStationModel::RadioStationRole ).value(); + + mNameLabel->setTextWithoutFading( RadioUiEngine::nameOrFrequency( tempStation ) ); + mGenreLabel->setText( carousel()->uiEngine().genreToString( tempStation.genre() ) ); + if ( !carousel()->isAntennaAttached() ) { + mRadiotextLabel->setText( hbTrId( CONNECT_HEADSET_TEXT ) ); + } else { + if ( !tempStation.radioText().isEmpty() ) { + mRadiotextLabel->setText( tempStation.radioText() ); + } else if ( !tempStation.dynamicPsText().isEmpty() ) { + mRadiotextLabel->setText( tempStation.dynamicPsText() ); + } else { + mRadiotextLabel->setText( "" ); + } + } + + mUrlLabel->setText( tempStation.url() ); + + mFrequency = tempStation.frequency(); + + updateFavoriteIcon( tempStation.isFavorite() ); +} + +/*! + * + */ +void RadioStationItem::setFrequency( uint frequency ) +{ + LOG_FORMAT( "RadioStationItem::setFrequency: %u", frequency ); + mNameLabel->setTextWithoutFading( RadioUiEngine::parseFrequency( frequency ) ); + mGenreLabel->setTextWithoutFading( "" ); + mRadiotextLabel->setTextWithoutFading( carousel()->isAntennaAttached() ? "" : hbTrId( CONNECT_HEADSET_TEXT ) ); + mUrlLabel->setTextWithoutFading( "" ); + mFrequency = frequency; + updateFavoriteIcon( false ); +} + +/*! + * + */ +void RadioStationItem::setSeekingText() +{ + mNameLabel->setTextWithoutFading( hbTrId( SEEKING_TEXT ) ); + mGenreLabel->setTextWithoutFading( "" ); + mUrlLabel->setTextWithoutFading( "" ); + mRadiotextLabel->setTextWithoutFading( "" ); +} + +/*! + * + */ +void RadioStationItem::updateFavoriteIcon( bool isFavorite ) +{ + mIconButton->setIcon( isFavorite ? mCarousel.favoriteIcon() : mCarousel.nonFavoriteIcon() ); +} + +/*! + * + */ +RadioStationCarousel* RadioStationItem::carousel() +{ + return static_cast( itemView() ); +} + diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiostationsview.cpp --- a/radioapp/radiowidgets/src/radiostationsview.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiostationsview.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,17 +16,16 @@ */ // System includes -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include // User includes #include "radiostationsview.h" #include "radiologger.h" #include "radiomainwindow.h" - #include "radiolocalization.h" #include "radiouiengine.h" #include "radiobannerlabel.h" @@ -36,6 +35,11 @@ #include "radiostationmodel.h" #include "radiostationfiltermodel.h" +const char* SECTION_SHOW_ALL_STATIONS = "show_all_stations"; +const char* SECTION_SHOW_FAVORITES = "show_favorites"; +const char* SECTION_SHOW_SCAN_TEXT = "show_scan_text"; +const char* SECTION_HIDE_SCAN_TEXT = "hide_scan_text"; + /*! * */ @@ -109,8 +113,8 @@ RadioContextMenu* menu = mUiLoader->findObject( DOCML_NAME_CONTEXT_MENU ); menu->init( station, *mUiLoader ); - menu->setPos( QPointF( size().width() / 2 - menu->size().width() / 2, coords.y() - menu->size().height() / 2 ) ); - menu->exec(); + menu->setPreferredPos( QPointF( size().width() / 2 - menu->size().width() / 2, coords.y() - menu->size().height() / 2 ) ); + menu->show(); } /*! @@ -138,11 +142,12 @@ */ void RadioStationsView::deckButtonPressed() -{ +{ + bool ok = false; if ( sender() == mFavoritesButton ) { - mHeadingBanner->setPlainText( TRANSLATE( KHeadingTextFavorites )); + mUiLoader->load( DOCML_STATIONSVIEW_FILE, SECTION_SHOW_FAVORITES, &ok ); } else { - mHeadingBanner->setPlainText( TRANSLATE( KHeadingTextLocalStations )); + mUiLoader->load( DOCML_STATIONSVIEW_FILE, SECTION_SHOW_ALL_STATIONS, &ok ); } const bool showFavorites = mFavoritesButton->isChecked(); @@ -173,19 +178,14 @@ LOG_SLOT_CALLER; const bool listEmpty = mModel->rowCount() == 0; const bool localStationsMode = !mFavoritesButton->isChecked(); - if ( HbPushButton* button = mUiLoader->findWidget( DOCML_NAME_SCANBUTTON ) ) - { -#ifdef USE_DEBUGGING_CONTROLS - button->setVisible( listEmpty && localStationsMode ); -#else - button->setVisible( false ); -#endif - } mScanStationsAction->setVisible( mMainWindow->uiEngine().isAntennaAttached() && localStationsMode && !mMainWindow->uiEngine().isScanning() ); mRemoveAllPresetsAction->setVisible( !listEmpty && localStationsMode ); + + bool ok = false; + mUiLoader->load( DOCML_STATIONSVIEW_FILE, listEmpty ? SECTION_SHOW_SCAN_TEXT : SECTION_HIDE_SCAN_TEXT, &ok ); } /*! @@ -231,16 +231,9 @@ // "Go to tuning view" menu item connectViewChangeMenuItem( DOCML_NAME_TUNINGVIEWACTION, SLOT(activateTuningView()) ); - // "Go to wizard view" menu item -#ifdef USE_DEBUGGING_CONTROLS - connectViewChangeMenuItem( DOCML_NAME_WIZARDVIEWACTION, SLOT(activateWizardView()) ); -#else - mUiLoader->findObject( DOCML_NAME_WIZARDVIEWACTION )->setVisible( false ); -#endif // USE_DEBUGGING_CONTROLS - // "Scan local stations" menu item mScanStationsAction = mUiLoader->findObject( DOCML_NAME_SCANSTATIONSACTION ); - + // "Remove all presets" menu item mRemoveAllPresetsAction = mUiLoader->findObject( DOCML_NAME_REMOVESTATIONSACTION ); @@ -250,6 +243,8 @@ connectXmlElement( DOCML_NAME_REMOVESTATIONSACTION, SIGNAL(triggered()), mModel, SLOT(removeAll()) ); initListView(); + + initBackAction(); } /*! @@ -279,6 +274,6 @@ */ void RadioStationsView::updateHeading() { - mHeadingBanner->setPlainText( mFavoritesButton->isChecked() ? TRANSLATE( KHeadingTextFavorites ) - : TRANSLATE( KHeadingTextLocalStations ) ); +// mHeadingBanner->setPlainText( mFavoritesButton->isChecked() ? TRANSLATE( KHeadingTextFavorites ) +// : TRANSLATE( KHeadingTextLocalStations ) ); } diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiostripbase.cpp --- a/radioapp/radiowidgets/src/radiostripbase.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiostripbase.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include // User includes #include "radiostripbase.h" @@ -218,8 +218,10 @@ */ void RadioStripBase::resizeEvent( QGraphicsSceneResizeEvent* event ) { - QPixmap background = mBackgroundImage->pixmap().scaledToWidth( event->newSize().width() ); - mBackgroundImage->setPixmap( background ); + if ( mBackgroundImage ) { + QPixmap background = mBackgroundImage->pixmap().scaledToWidth( event->newSize().width() ); + mBackgroundImage->setPixmap( background ); + } populateAndLayout(); } diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiotuningview.cpp --- a/radioapp/radiowidgets/src/radiotuningview.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiotuningview.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -67,6 +67,10 @@ frequencyStrip, SLOT(setFrequency(uint,int)) ); connectAndTest( stationModel, SIGNAL(favoriteChanged(RadioStation)), frequencyStrip, SLOT(favoriteChanged(RadioStation)) ); + connectAndTest( stationModel, SIGNAL(stationAdded(RadioStation)), + frequencyStrip, SLOT(stationAdded(RadioStation)) ); + connectAndTest( stationModel, SIGNAL(stationRemoved(RadioStation)), + frequencyStrip, SLOT(stationRemoved(RadioStation)) ); connectAndTest( frequencyStrip, SIGNAL(swipedLeft()), engine, SLOT(skipNext()) ); connectAndTest( frequencyStrip, SIGNAL(swipedRight()), @@ -79,15 +83,12 @@ frequencyStrip->connectLeftButton( SIGNAL(clicked()), engine, SLOT(skipPrevious()) ); frequencyStrip->connectRightButton( SIGNAL(clicked()), engine, SLOT(skipNext()) ); - frequencyStrip->connectLeftButton( SIGNAL(longPress(QPointF)), engine, SLOT(seekUp()) ); - frequencyStrip->connectRightButton( SIGNAL(longPress(QPointF)), engine, SLOT(seekDown()) ); + frequencyStrip->connectLeftButton( SIGNAL(longPress(QPointF)), engine, SLOT(seekDown()) ); + frequencyStrip->connectRightButton( SIGNAL(longPress(QPointF)), engine, SLOT(seekUp()) ); // "Play log" menu item connectViewChangeMenuItem( DOCML_NAME_PLAYLOGVIEWACTION, SLOT(activatePlayLogView()) ); - // "StationsView" menu item - connectViewChangeMenuItem( DOCML_NAME_STATIONSVIEWACTION, SLOT(activateStationsView()) ); - connectCommonMenuItem( MenuItem::UseLoudspeaker ); } @@ -95,15 +96,6 @@ * From RadioViewBase * */ -void RadioTuningView::initSecondarySoftkey() -{ - // Intentionally empty so that the tuning view won't have the back button -} - -/*! - * From RadioViewBase - * - */ void RadioTuningView::setOrientation() { bool ok = false; diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiouiutilities.cpp --- a/radioapp/radiowidgets/src/radiouiutilities.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiouiutilities.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include // User includes #include "radiouiutilities.h" diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radioviewbase.cpp --- a/radioapp/radiowidgets/src/radioviewbase.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radioviewbase.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,10 +15,10 @@ * */ -#include -#include -#include -#include +#include +#include +#include +#include #include "radioviewbase.h" #include "radiomainwindow.h" @@ -38,7 +38,6 @@ mUiLoader( uiLoader ), mTransientView( transient ), mUseLoudspeakerAction( 0 ), - mSecondarySoftkeyction( 0 ), mOrientation( Qt::Vertical ) { } @@ -75,29 +74,9 @@ /*! * */ -void RadioViewBase::initSecondarySoftkey() -{ - // The default back button activates the tuning view - mSecondarySoftkeyction = new HbAction( Hb::BackAction, this ); - connectAndTest( mSecondarySoftkeyction, SIGNAL(triggered()), - mMainWindow, SLOT(activateTuningView()) ); -} - -/*! - * - */ -HbAction* RadioViewBase::secondarySoftkey() const -{ - return mSecondarySoftkeyction; -} - -/*! - * - */ void RadioViewBase::updateOrientation( Qt::Orientation orientation, bool forceUpdate ) { - if ( orientation != mOrientation || forceUpdate ) - { + if ( orientation != mOrientation || forceUpdate ) { mOrientation = orientation; setOrientation(); } @@ -110,7 +89,8 @@ void RadioViewBase::updateAudioRouting( bool loudspeaker ) { if ( mUseLoudspeakerAction ) { - mUseLoudspeakerAction->setText( loudspeaker ? TRANSLATE( KMenuUseHeadset ) : TRANSLATE( KMenuUseLoudspeaker ) ); + mUseLoudspeakerAction->setText( loudspeaker ? hbTrId( "txt_common_opt_deactivate_loudspeaker" ) + : hbTrId( "txt_common_opt_activate_loudspeaker" ) ); } } @@ -135,6 +115,18 @@ /*! * */ +void RadioViewBase::initBackAction() +{ + // The default back button activates the tuning view + HbAction* backAction = new HbAction( Hb::BackNaviAction, this ); + connectAndTest( backAction, SIGNAL(triggered()), + mMainWindow, SLOT(activateTuningView()) ); + setNavigationAction( backAction ); +} + +/*! + * + */ HbAction* RadioViewBase::addMenuItem( const QString& aTitle, QObject* aRecipient, const char* aSlot ) { HbAction* action = menu()->addAction( aTitle ); diff -r 46974bebc798 -r 63aabac4416d radioapp/radiowidgets/src/radiowizardview.cpp --- a/radioapp/radiowidgets/src/radiowizardview.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioapp/radiowidgets/src/radiowizardview.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,8 +16,8 @@ */ // System includes -#include -#include +#include +#include // User includes #include "radiowizardview.h" @@ -79,18 +79,6 @@ } /*! - * - */ -void RadioWizardView::startScanning() -{ - if ( !mStartScanningRequested ) { - mStartScanningRequested = true; - RadioFrequencyScanner* scanner = new RadioFrequencyScanner( mMainWindow->uiEngine(), this ); - scanner->startScanning(); - } -} - -/*! * From RadioViewBase * */ @@ -110,18 +98,8 @@ // "Go to stations view" menu item connectViewChangeMenuItem( DOCML_NAME_WV_STATIONSVIEWACTION, SLOT(activateStationsView()) ); -} - -/*! - * From RadioViewBase - * - */ -void RadioWizardView::initSecondarySoftkey() -{ - // The default back button activates the tuning view - mSecondarySoftkeyction = new HbAction( Hb::DoneAction, this ); - connectAndTest( mSecondarySoftkeyction, SIGNAL(triggered()), - this, SLOT(saveSelectedAsFavorites()) ); + + setDoneAction(); } /*! @@ -143,3 +121,27 @@ connectAndTest( engine, SIGNAL(radioStatusChanged(bool)), this, SLOT(engineStatusChanged(bool)) ); } } + +/*! + * + */ +void RadioWizardView::setDoneAction() +{ + // The default back button activates the tuning view + HbAction* doneAction = new HbAction( Hb::DoneNaviAction, this ); + connectAndTest( doneAction, SIGNAL(triggered()), + this, SLOT(saveSelectedAsFavorites()) ); + setNavigationAction( doneAction ); +} + +/*! + * + */ +void RadioWizardView::startScanning() +{ + if ( !mStartScanningRequested ) { + mStartScanningRequested = true; + RadioFrequencyScanner* scanner = new RadioFrequencyScanner( mMainWindow->uiEngine(), this ); + scanner->startScanning(); + } +} diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/api/mradioengineinitializer.h --- a/radioengine/engine/api/mradioengineinitializer.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/api/mradioengineinitializer.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,6 +19,7 @@ #ifndef MRADIOENGINEINITIALIZER_H_ #define MRADIOENGINEINITIALIZER_H_ +// System includes #include // Forward declarations diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/api/mradioengineobserver.h --- a/radioengine/engine/api/mradioengineobserver.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/api/mradioengineobserver.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,6 +18,7 @@ #ifndef MRADIOENGINEOBSERVER_H #define MRADIOENGINEOBSERVER_H +// User includes #include "radioenginedef.h" /** diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/api/mradiordsdataobserver.h --- a/radioengine/engine/api/mradiordsdataobserver.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/api/mradiordsdataobserver.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,8 +18,10 @@ #ifndef MRADIORDSDATAOBSERVER_H #define MRADIORDSDATAOBSERVER_H +// System includes #include +// Class declaration NONSHARABLE_CLASS( MRadioRdsDataObserver ) { public: diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/api/mradiordsreceiver.h --- a/radioengine/engine/api/mradiordsreceiver.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/api/mradiordsreceiver.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,6 +18,7 @@ #ifndef MRADIORDSRECEIVER_H #define MRADIORDSRECEIVER_H +// Forward declarations class CRadioUtility; class CRadioPubSub; class MRadioRdsDataObserver; diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/group/bld.inf --- a/radioengine/engine/group/bld.inf Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/group/bld.inf Fri Apr 16 14:58:55 2010 +0300 @@ -17,11 +17,7 @@ #include "../../group/buildflags.hrh" -#ifdef COMPILE_IN_WK48_ENV -# include -#else -# include -#endif // COMPILE_IN_WK48_ENV +#include PRJ_PLATFORMS WINSCW ARMV5 diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/group/radioengine.mmp --- a/radioengine/engine/group/radioengine.mmp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/group/radioengine.mmp Fri Apr 16 14:58:55 2010 +0300 @@ -17,11 +17,7 @@ #include "../../group/buildflags.hrh" -#ifdef COMPILE_IN_WK48_ENV -# include -#else -# include -#endif // COMPILE_IN_WK48_ENV +#include #include @@ -59,10 +55,10 @@ LIBRARY radioengineutils.lib LIBRARY radioenginesettings.lib -LIBRARY audiooutputrouting.lib +LIBRARY AudioOutputRouting.lib LIBRARY euser.lib LIBRARY efsrv.lib -LIBRARY radio_utility.lib +LIBRARY Radio_Utility.lib LIBRARY cone.lib LIBRARY etel3rdparty.lib // For CTelephony LIBRARY etel.lib // For RTelServer diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/inc/cradioengineimp.h --- a/radioengine/engine/inc/cradioengineimp.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/inc/cradioengineimp.h Fri Apr 16 14:58:55 2010 +0300 @@ -17,16 +17,19 @@ #ifndef CRADIOENGINEIMP_H #define CRADIOENGINEIMP_H -#include -#include -#include +// System includes +#include +#include +#include +// User includes #include "cradioengine.h" #include "mradiosettingsobserver.h" #include "mradiordsdataobserver.h" #include "mradiosystemeventobserver.h" #include "radioenginedef.h" +// Forward declarations class CRadioPubSub; class CRadioRdsReceiverBase; class CRadioNetworkInfoListener; diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/inc/cradiordsreceiver.h --- a/radioengine/engine/inc/cradiordsreceiver.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/inc/cradiordsreceiver.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,10 +18,13 @@ #ifndef CRADIORDSRECEIVER_H #define CRADIORDSRECEIVER_H +// User includes #include "cradiordsreceiverbase.h" +// Forward declarations class MRadioEngineSettings; +// Class declaration NONSHARABLE_CLASS( CRadioRdsReceiver ) : public CRadioRdsReceiverBase { public: diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/inc/cradiordsreceiverbase.h --- a/radioengine/engine/inc/cradiordsreceiverbase.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/inc/cradiordsreceiverbase.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,15 +18,19 @@ #ifndef CRADIORDSRECEIVERBASE_H #define CRADIORDSRECEIVERBASE_H -#include +// System includes +#include +// User includes #include "mradioenginesettings.h" #include "mradiordsdataobserver.h" #include "mradiordsreceiver.h" +// Forward declarations class CRadioUtility; class CRadioPubSub; +// Class declaration NONSHARABLE_CLASS( CRadioRdsReceiverBase ) : public CBase , public MRadioRdsReceiver , public MRadioRdsObserver diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/inc/t_cradiordsreceiversimulator.h --- a/radioengine/engine/inc/t_cradiordsreceiversimulator.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/inc/t_cradiordsreceiversimulator.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,9 +18,11 @@ #ifndef T_CRADIORDSRECEIVERSIMULATOR_H #define T_CRADIORDSRECEIVERSIMULATOR_H +// User includes #include "mradiordsdataobserver.h" #include "cradiordsreceiverbase.h" +// Class declaration NONSHARABLE_CLASS( CRadioRdsReceiverSimulator ) : public CRadioRdsReceiverBase { public: diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/src/cradioengineimp.cpp --- a/radioengine/engine/src/cradioengineimp.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/src/cradioengineimp.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include #include #include #include @@ -767,12 +767,12 @@ if ( aDirection == RadioEngine::ERadioDown ) { iSeekingState = RadioEngine::ERadioSeekingDown; - iFreqEventReason = RadioEngine::ERadioFrequencyEventReasonDown; + iFreqEventReason = RadioEngine::ERadioFrequencyEventReasonSeekDown; } else { iSeekingState = RadioEngine::ERadioSeekingUp; - iFreqEventReason = RadioEngine::ERadioFrequencyEventReasonUp; + iFreqEventReason = RadioEngine::ERadioFrequencyEventReasonSeekUp; } NotifyRadioEvent( ERadioEventSeeking ); diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/src/cradionetworkinfolistener.cpp --- a/radioengine/engine/src/cradionetworkinfolistener.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/src/cradionetworkinfolistener.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,9 +15,11 @@ * */ +// System includes #include #include +// User includes #include "cradionetworkinfolistener.h" #include "mradiosettingssetter.h" #include "cradioenginelogger.h" diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/src/cradiordsreceiver.cpp --- a/radioengine/engine/src/cradiordsreceiver.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/src/cradiordsreceiver.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,11 +15,11 @@ * */ -#include "cradioenginelogger.h" - +// User includes #include "cradiordsreceiver.h" #include "mradioenginesettings.h" #include "mradiordsdataobserver.h" +#include "cradioenginelogger.h" // ======== MEMBER FUNCTIONS ======== diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/src/cradiordsreceiverbase.cpp --- a/radioengine/engine/src/cradiordsreceiverbase.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/src/cradiordsreceiverbase.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,6 +15,7 @@ * */ +// User includes #include "cradiopubsub.h" #include "cradiordsreceiverbase.h" #include "cradioenginelogger.h" diff -r 46974bebc798 -r 63aabac4416d radioengine/engine/src/t_cradiordsreceiversimulator.cpp --- a/radioengine/engine/src/t_cradiordsreceiversimulator.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/engine/src/t_cradiordsreceiversimulator.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,6 +15,7 @@ * */ +// User includes #include "t_cradiordsreceiversimulator.h" #include "mradioenginesettings.h" diff -r 46974bebc798 -r 63aabac4416d radioengine/group/buildflags.hrh --- a/radioengine/group/buildflags.hrh Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/group/buildflags.hrh Fri Apr 16 14:58:55 2010 +0300 @@ -23,7 +23,4 @@ //# define __FEATURE_RDS_SIMULATOR #endif -//TODO: Remove this flagging. -//#define COMPILE_IN_IVALO - #endif // BUILDFLAGS_HRH_ diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/api/cradioregion.h --- a/radioengine/settings/api/cradioregion.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/api/cradioregion.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,20 +19,21 @@ #define CRADIOREGION_H -// INCLUDES +// System includes #include +// User includes #include "radioengine.hrh" -// FORWARD DECLARATIONS +// Forward declarations class CRadioRegion; class TResourceReader; -// DATA TYPES +// Data types typedef RPointerArray RRadioRegionArray; typedef RPointerArray RRadioCountryCodeArray; -// CLASS DECLARATION +// Class declaration /** * Class CRadioRegion provides information about FM region diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/api/mradioenginesettings.h --- a/radioengine/settings/api/mradioenginesettings.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/api/mradioenginesettings.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,10 +18,13 @@ #ifndef M_RADIOSETTINGS_H #define M_RADIOSETTINGS_H +// System includes #include +// User includes #include "radioengine.hrh" +// Forward declarations class CRadioRegion; /** diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/api/mradiosettingssetter.h --- a/radioengine/settings/api/mradiosettingssetter.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/api/mradiosettingssetter.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,8 +18,10 @@ #ifndef M_RADIOSETTINGSSETTERS_H #define M_RADIOSETTINGSSETTERS_H +// User includes #include "mradioenginesettings.h" +// Forward declarations class MRadioSettingsObserver; /** diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/group/bld.inf --- a/radioengine/settings/group/bld.inf Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/group/bld.inf Fri Apr 16 14:58:55 2010 +0300 @@ -17,18 +17,12 @@ #include "../../group/buildflags.hrh" -#ifdef COMPILE_IN_WK48_ENV -# include -#else -# include -#endif // COMPILE_IN_WK48_ENV +#include PRJ_PLATFORMS WINSCW ARMV5 PRJ_EXPORTS -//../include/vrinternalpskeys.h internal/vrinternalpskeys.h -//../include/vrinternalcrkeys.h internal/vrinternalcrkeys.h //../sis/visualradiostub.sis /epoc32/data/z/system/install/visualradio.sis backup_registration.xml /epoc32/data/z/private/101ff976/backup_registration.xml diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/group/radioenginesettings.mmp --- a/radioengine/settings/group/radioenginesettings.mmp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/group/radioenginesettings.mmp Fri Apr 16 14:58:55 2010 +0300 @@ -18,11 +18,7 @@ #include "../../group/buildflags.hrh" -#ifdef COMPILE_IN_WK48_ENV -# include -#else -# include -#endif // COMPILE_IN_WK48_ENV +#include #include diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/inc/cradioapplicationsettings.h --- a/radioengine/settings/inc/cradioapplicationsettings.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/inc/cradioapplicationsettings.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,6 +18,7 @@ #ifndef C_RADIOAPPLICATIONSETTINGS_H #define C_RADIOAPPLICATIONSETTINGS_H +// User includes #include "mradioapplicationsettings.h" #include "cradiosettingsbase.h" diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/inc/cradioenginesettings.h --- a/radioengine/settings/inc/cradioenginesettings.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/inc/cradioenginesettings.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,12 +18,14 @@ #ifndef C_RADIOENGINESETTINGS_H #define C_RADIOENGINESETTINGS_H +// User includes #include "mradioenginesettings.h" #include "mradiosettingssetter.h" #include "cradioregion.h" #include "mradiorepositoryentityobserver.h" #include "cradiosettingsbase.h" +// Forward declarations class MRadioSettingsObserver; /** diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/inc/cradiosettingsbase.h --- a/radioengine/settings/inc/cradiosettingsbase.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/inc/cradiosettingsbase.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,9 +18,11 @@ #ifndef C_RADIOSETTINGSBASE_H #define C_RADIOSETTINGSBASE_H +// System includes #include #include +// Forward declarations class CCoeEnv; class CRadioRepositoryManager; diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/inc/radiosettings.rh --- a/radioengine/settings/inc/radiosettings.rh Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/inc/radiosettings.rh Fri Apr 16 14:58:55 2010 +0300 @@ -18,6 +18,7 @@ #ifndef RADIOSETTINGS_RH #define RADIOSETTINGS_RH +// System includes #include STRUCT RADIOPRESET diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/src/cradioapplicationsettings.cpp --- a/radioengine/settings/src/cradioapplicationsettings.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/src/cradioapplicationsettings.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,11 +15,11 @@ * */ -#include "cradioenginelogger.h" +// User includes #include "radiointernalcrkeys.h" - #include "cradioapplicationsettings.h" #include "cradiorepositorymanager.h" +#include "cradioenginelogger.h" // ======== MEMBER FUNCTIONS ======== diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/src/cradioenginesettings.cpp --- a/radioengine/settings/src/cradioenginesettings.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/src/cradioenginesettings.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -14,11 +14,14 @@ * Description: * */ + +// System includes #include #include + +// User includes #include "radiointernalcrkeys.h" #include "radioenginesettings.rsg" - #include "radioenginedef.h" #include "cradioenginesettings.h" #include "mradiosettingsobserver.h" diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/src/cradiosettingsbase.cpp --- a/radioengine/settings/src/cradiosettingsbase.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/src/cradiosettingsbase.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,11 +15,13 @@ * */ +// System includes #include -#include "cradioenginelogger.h" +// User includes #include "cradiorepositorymanager.h" #include "cradiosettingsbase.h" +#include "cradioenginelogger.h" // ======== MEMBER FUNCTIONS ======== diff -r 46974bebc798 -r 63aabac4416d radioengine/settings/src/cradiosettingsimp.cpp --- a/radioengine/settings/src/cradiosettingsimp.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/settings/src/cradiosettingsimp.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -18,7 +18,7 @@ // System includes #include #include -#include +#include #include #include diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/api/radioenginedef.h --- a/radioengine/utils/api/radioenginedef.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/api/radioenginedef.h Fri Apr 16 14:58:55 2010 +0300 @@ -66,6 +66,8 @@ ERadioFrequencyEventReasonPrevious, // Step to previous preset ERadioFrequencyEventReasonUp, // Tune or step to higher frequency ERadioFrequencyEventReasonDown, // Tune or step to lower frequency + ERadioFrequencyEventReasonSeekUp, // Seek to higher frequency + ERadioFrequencyEventReasonSeekDown, // Seek to lower frequency ERadioFrequencyEventReasonImplicit, // Event originated by radio component ERadioFrequencyEventReasonDummy // Dummy event, doesn't cause any actions }; diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/group/bld.inf --- a/radioengine/utils/group/bld.inf Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/group/bld.inf Fri Apr 16 14:58:55 2010 +0300 @@ -17,11 +17,7 @@ #include "../../group/buildflags.hrh" -#ifdef COMPILE_IN_WK48_ENV -# include -#else -# include -#endif // COMPILE_IN_WK48_ENV +#include PRJ_PLATFORMS WINSCW ARMV5 diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/group/radioengineutils.mmp --- a/radioengine/utils/group/radioengineutils.mmp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/group/radioengineutils.mmp Fri Apr 16 14:58:55 2010 +0300 @@ -17,11 +17,7 @@ #include "../../group/buildflags.hrh" -#ifdef COMPILE_IN_WK48_ENV -# include -#else -# include -#endif // COMPILE_IN_WK48_ENV +#include #include @@ -66,7 +62,7 @@ LIBRARY accclient.lib LIBRARY accpolicy.lib LIBRARY centralrepository.lib -LIBRARY commonengine.lib +LIBRARY CommonEngine.lib LIBRARY efsrv.lib LIBRARY euser.lib LIBRARY cone.lib diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/inc/cradioaccessoryobserver.h --- a/radioengine/utils/inc/cradioaccessoryobserver.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/inc/cradioaccessoryobserver.h Fri Apr 16 14:58:55 2010 +0300 @@ -18,9 +18,9 @@ #ifndef CRADIOACCESSORYOBSERVER_H #define CRADIOACCESSORYOBSERVER_H -#include -#include -#include +#include +#include +#include class MRadioHeadsetEventObserver; diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/inc/cradioremcontargetimp.h --- a/radioengine/utils/inc/cradioremcontargetimp.h Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/inc/cradioremcontargetimp.h Fri Apr 16 14:58:55 2010 +0300 @@ -19,7 +19,7 @@ #define CRADIOREMCONTARGETIMP_H // System includes -#include +#include #include // User includes diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/src/cradioaccessoryobserver.cpp --- a/radioengine/utils/src/cradioaccessoryobserver.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/src/cradioaccessoryobserver.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,10 +15,10 @@ * */ -#include "cradioenginelogger.h" - +// User includes #include "cradioaccessoryobserver.h" #include "mradioheadseteventobserver.h" +#include "cradioenginelogger.h" // --------------------------------------------------------------------------- // diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/src/cradioaudiorouter.cpp --- a/radioengine/utils/src/cradioaudiorouter.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/src/cradioaudiorouter.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,6 +15,7 @@ * */ +// User includes #include "cradioenginelogger.h" #include "cradioaudiorouter.h" #include "mradioaudioroutingobserver.h" diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/src/cradioenginelogger.cpp --- a/radioengine/utils/src/cradioenginelogger.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/src/cradioenginelogger.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,6 +15,7 @@ * */ +// User includes #include "cradioenginelogger.h" #include "cradioenginetls.h" diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/src/cradioenginetls.cpp --- a/radioengine/utils/src/cradioenginetls.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/src/cradioenginetls.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,9 +15,11 @@ * */ +// System includes #include #include +// User includes #include "cradioenginelogger.h" #include "cradioenginetls.h" diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/src/cradioremcontargetimp.cpp --- a/radioengine/utils/src/cradioremcontargetimp.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/src/cradioremcontargetimp.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include #include #include diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/src/cradioroutableaudio.cpp --- a/radioengine/utils/src/cradioroutableaudio.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/src/cradioroutableaudio.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,7 +15,10 @@ * */ -#include +// System includes +#include + +// User includes #include "cradioroutableaudio.h" #include "cradioaudiorouter.h" diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/src/cradiosystemeventcollector.cpp --- a/radioengine/utils/src/cradiosystemeventcollector.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/src/cradiosystemeventcollector.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,6 +15,7 @@ * */ +// User includes #include "cradiosystemeventcollector.h" #include "cradiosystemeventcollectorimp.h" diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/src/cradiosystemeventcollectorimp.cpp --- a/radioengine/utils/src/cradiosystemeventcollectorimp.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/src/cradiosystemeventcollectorimp.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -15,15 +15,17 @@ * */ +// System includes #include -#include -#include "cradioenginelogger.h" +#include +// User includes #include "cradioaccessoryobserver.h" #include "cradiorepositorymanager.h" #include "cradiosystemeventcollectorimp.h" #include "cradiosystemeventdetector.h" #include "radioengineutils.h" +#include "cradioenginelogger.h" const TInt KVRObserverArrayGranularity( 2 ); diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/src/cradiosystemeventdetector.cpp --- a/radioengine/utils/src/cradiosystemeventdetector.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/src/cradiosystemeventdetector.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -29,12 +29,14 @@ #include #include #include + #ifdef COMPILE_IN_IVALO # include #endif //COMPILE_IN_IVALO #include + +// User includes #include "cradioenginelogger.h" - #include "cradiosystemeventdetector.h" #include "mradiosystemeventdetectorobserver.h" diff -r 46974bebc798 -r 63aabac4416d radioengine/utils/src/radioengineutils.cpp --- a/radioengine/utils/src/radioengineutils.cpp Fri Mar 19 09:29:04 2010 +0200 +++ b/radioengine/utils/src/radioengineutils.cpp Fri Apr 16 14:58:55 2010 +0300 @@ -16,7 +16,7 @@ */ // System includes -#include +#include #include // User includes diff -r 46974bebc798 -r 63aabac4416d rom/fmradio_resources.iby --- a/rom/fmradio_resources.iby Fri Mar 19 09:29:04 2010 +0200 +++ b/rom/fmradio_resources.iby Fri Apr 16 14:58:55 2010 +0300 @@ -25,7 +25,6 @@ S60_APP_RESOURCE(qtfmradio) -//TODO: change to fmradio.qm once availabe -data=DATAZ_\QT_TRANSLATIONS_DIR\fmradio_en.qm QT_TRANSLATIONS_DIR\fmradio.qm +data=DATAZ_\QT_TRANSLATIONS_DIR\fmradio.qm QT_TRANSLATIONS_DIR\fmradio.qm #endif // FMRADIO_RESOURCES_IBY