--- /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
--- /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
+
+}
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+ <name>fmradiohswidgetplugin</name>
+ <filepath>c:/private/20022F35/import/widgetregistry/E0022EEE/fmradiohswidgetplugin.qtplugin</filepath>
+ <description>FM Radio homescreen widget</description>
+ <interface>
+ <name>com.nokia.IHomeScreenWidget</name>
+ <version>1.0</version>
+ <description>FM Radio homescreen widget</description>
+ <capabilities></capabilities>
+ <customproperty key="iconuri">fmradiohswidgetplugin_icon.png</customproperty>
+ <customproperty key="title">FM Radio Widget</customproperty>
+ </interface>
+</service>
--- /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 <HbWidget>
+
+// 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<QString, QString> 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
--- /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 <QObject>
+#include <qserviceplugininterface.h>
+
+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
--- /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 <QObject>
+#include <QProcess>
+
+// User includes
+
+// Forward declarations
+#include <QVariant>
+
+// 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_ */
--- /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 <QObject>
+#include <QVariant>
+
+// 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_ */
--- /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 <QObject>
+#include <xqservicerequest.h>
+#include <xqappmgr.h>
+
+// 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_ */
--- /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
--- /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 @@
+<?xml version="1.0" encoding="utf-8"?>
+<widgetprovider>
+ <widget library="fmradiohswidgetplugin"
+ uri="fmradiohswidgetplugin"
+ title="#FM Radio Widget"
+ iconuri="fmradiohswidgetplugin_icon.png"
+ description="FM Radio homescreen widget."/>
+</widgetprovider>
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+ <name>fmradiohswidgetplugin</name>
+ <filepath>c:/private/20022F35/import/widgetregistry/E0022EEE/fmradiohswidgetplugin.qtplugin</filepath>
+ <description>FM Radio homescreen widget</description>
+ <interface>
+ <name>com.nokia.IHomeScreenWidget</name>
+ <version>1.0</version>
+ <description>FM Radio homescreen widget</description>
+ <capabilities></capabilities>
+ <customproperty key="iconuri">fmradiohswidgetplugin_icon.png</customproperty>
+ <customproperty key="title">FM Radio Widget</customproperty>
+ </interface>
+</service>
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+ <name>fmradiohswidgetplugin</name>
+ <filepath>fmradiohswidgetplugin</filepath>
+ <description>FM Radio homescreen widget</description>
+ <interface>
+ <name>com.nokia.IHomeScreenWidget</name>
+ <version>1.0</version>
+ <description>FM Radio homescreen widget</description>
+ <capabilities></capabilities>
+ <customproperty key="iconuri">fmradiohswidgetplugin_icon.png</customproperty>
+ <customproperty key="title">FM Radio Widget</customproperty>
+ </interface>
+</service>
Binary file hswidgetplugin/fmradiohswidgetplugin/resource/fmradiohswidgetplugin_icon.png has changed
--- /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 @@
+<RCC>
+ <qresource prefix="/gfx" >
+ <file>resource/fmradiohswidget.docml</file>
+ </qresource>
+</RCC>
--- /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 <HbPushButton>
+#include <HbLabel>
+#include <HbDocumentLoader>
+#include <QGraphicsLinearLayout>
+
+// 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<QString, QString>()),
+ 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<HbWidget*> (documentLoader->findWidget(QString(KDocmlObjectNameMainLayout)));
+ if (widget) {
+ //HbWidget *view = qobject_cast<HbWidget*> (widget);
+ QGraphicsLinearLayout *mWidgetLayout = new QGraphicsLinearLayout(Qt::Vertical, this);
+ mWidgetLayout->addItem(widget);
+ setLayout(mWidgetLayout);
+ }
+
+ mRadioPushButton = qobject_cast<HbPushButton *> (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<HbPushButton *> (documentLoader->findObject(QString(
+ KDocmlObjectNamePreviousPushButton)));
+ if (mPreviousPushButton) {
+ mPreviousPushButton->setIcon(HbIcon("qtg_mono_previous"));
+ QObject::connect(mPreviousPushButton, SIGNAL(clicked()), this, SLOT(previousChannel()));
+ }
+
+ mPlayPushButton = qobject_cast<HbPushButton *> (documentLoader->findObject(QString(
+ KDocmlObjectNamePlayPushButton)));
+ if (mPlayPushButton) {
+ QObject::connect(mPlayPushButton, SIGNAL(clicked()), this, SLOT(radioToBackground()));
+ }
+
+ mNextPushButton = qobject_cast<HbPushButton *> (documentLoader->findObject(QString(
+ KDocmlObjectNameNextPushButton)));
+ if (mNextPushButton) {
+ mNextPushButton->setIcon(HbIcon("qtg_mono_next"));
+ QObject::connect(mNextPushButton, SIGNAL(clicked()), this, SLOT(nextChannel()));
+ }
+
+ mInformationAreaTwoRowsLayout = qobject_cast<QGraphicsWidget *> (
+ documentLoader->findObject(QString(KDocmlObjectNameTwoRowsLayout)));
+ if (mInformationAreaTwoRowsLayout) {
+ }
+
+ mInformationAreaOneRowLayout = qobject_cast<QGraphicsWidget *> (documentLoader->findObject(
+ QString(KDocmlObjectNameOneRowLayout)));
+ if (mInformationAreaOneRowLayout) {
+ }
+
+ mInformationAreaAnimationLayout = qobject_cast<QGraphicsWidget *> (
+ documentLoader->findObject(QString(KDocmlObjectNameAnimationLayout)));
+ if (mInformationAreaAnimationLayout) {
+ }
+
+ mInformationFirstRowLabel = qobject_cast<HbLabel *> (documentLoader->findObject(QString(
+ KDocmlObjectNameFirstRowLabel)));
+ if (mInformationFirstRowLabel) {
+ mInformationFirstRowLabel->setTextColor("qtc_hs_list_item_title");
+ }
+
+ mInformationSecondRowLabel = qobject_cast<HbLabel *> (documentLoader->findObject(QString(
+ KDocmlObjectNameSecondRowLabel)));
+ if (mInformationSecondRowLabel) {
+ mInformationSecondRowLabel->setTextColor("qtc_hs_list_item_content");
+ }
+
+ mInformationLonelyRowLabel = qobject_cast<HbLabel *> (documentLoader->findObject(QString(
+ KDocmlObjectNameLonelyRowLabel)));
+ if (mInformationLonelyRowLabel) {
+ mInformationLonelyRowLabel->setTextColor("qtc_hs_list_item_title");
+ }
+
+ mAnimatioIcon = qobject_cast<HbLabel *> (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;
+ }
+}
--- /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 <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#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)
--- /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;
+ }
+}
--- /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 <ProfileEngineSDKCRKeys.h>
+
+// 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());
+ }
+}
+
--- /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 <xqserviceglobal.h>
+
+// 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<QVariant> 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<QVariant> arguments;
+ arguments.append(commandArgument);
+ mRadioControlServiceRequest->setArguments(arguments);
+ QList<QVariant> 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<XQAiwInterfaceDescriptor> 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<QVariant> 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<QVariant> 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<QVariant> 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;
+ }
+}
--- /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 <platform_paths.hrh>"
+
+#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)"
--- /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 <qservicemanager.h>
+#include <QCoreApplication>
+#include <QFile>
+
+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");
+ }
+}
--- /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
+}
--- /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)
--- /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__
--- /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__
--- /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
--- 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 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
- <package id="radio" name="Radio Apps" levels="engine ui">
- <collection id="fmradio" name="FM Radio" level="ui">
- <component id="activeidleengine" filter="s60" name="FM Radio Active Idle Engine">
- <unit bldFile="fmradio/activeidleengine/group"/>
- </component>
- <component id="fmradioengine" filter="s60" name="FM Radio Engine">
- <unit bldFile="fmradio/fmradioengine/group"/>
- </component>
- <component id="fmradioactionhandler" filter="s60" name="FM Radio Action Handler" class="plugin">
- <unit bldFile="fmradio/fmradioactionhandler/group"/>
- </component>
- <component id="fmradiomcpplugin" filter="s60" name="FM Radio Content Publisher Plugin" class="plugin">
- <unit bldFile="fmradio/fmradiomcpplugin/group"/>
- </component>
- <component id="fmradio_help" filter="s60" name="FM Radio Help">
- <unit bldFile="fmradio/help/group"/>
- </component>
- <component id="fmradio_build" filter="s60" name="FM Radio Build">
- <!-- remove above #included bld.infs -->
- <unit bldFile="fmradio/group"/>
- </component>
- </collection>
- </package>
-</SystemDefinition>
--- 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
--- 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<class RadioStation> 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<enum RadioStation::TypeFlag>)
- ?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<unsigned int, class RadioStation> 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<enum Qt::ItemFlag> 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<class RadioStation> 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<enum RadioStation::ChangeFlag>)
- ?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<enum RadioStation::ChangeFlag>)
- ?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<enum Qt::ItemFlag> 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<enum RadioStation::PsTypeFlag> 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<enum RadioStation::PsTypeFlag>)
- ?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<enum RadioStation::TypeFlag>)
- ?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<enum RadioStation::ChangeFlag> 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<enum RadioStationModel::DetailFlag>)
- ?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<enum RadioStation::TypeFlag>) 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<enum RadioStation::TypeFlag>)
- ?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<enum RadioStation::ChangeFlag>) 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<class QModelIndex> 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<class RadioStation> 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<enum RadioStation::TypeFlag>)
+ ?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<unsigned int, class RadioStation> 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<enum Qt::ItemFlag> 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<class RadioStation> 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<enum RadioStation::ChangeFlag>)
+ ?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<enum RadioStation::ChangeFlag>)
+ ?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<enum Qt::ItemFlag> 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<enum RadioStation::PsTypeFlag> 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<enum RadioStation::PsTypeFlag>)
+ ?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<enum RadioStation::TypeFlag>)
+ ?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<enum RadioStation::ChangeFlag> 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<enum RadioStationModel::DetailFlag>)
+ ?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<enum RadioStation::TypeFlag>) 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<enum RadioStation::TypeFlag>)
+ ?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<enum RadioStation::ChangeFlag>) 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<class QModelIndex> 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)
--- 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<class HbView> 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<class HbView> 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<class HbView>)
- ?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 RadioViewBase> &, 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 RadioViewBase> &, class QString const &, class QFlags<enum Hb::ViewSwitchFlag>)
+ ??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<class HbView>)
+ ?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)
--- 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
--- 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
--- 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
--- 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 <hbapplication.h>
+#include <HbApplication>
//#define QT_SHAREDPOINTER_TRACK_POINTERS // Debugging support for QSharedPointer
-#include <qsharedpointer.h>
+#include <QSharedPointer>
// 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
--- 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 <qwidget>
+#include <QWidget>
// 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;
--- 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
--- /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 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<service>
+ <name>com.nokia.services.Radio</name>
+ <filepath>No path</filepath>
+ <description>Radio services</description>
+ <interface>
+ <name>IRadioControl</name>
+ <version>1.0</version>
+ <description>Interface to control radio playback</description>
+ </interface>
+ <interface>
+ <name>IRadioMonitor</name>
+ <version>1.0</version>
+ <description>Interface to monitor radio status changes</description>
+ </interface>
+</service>
--- 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 <QTranslator>
+#include <QLocale>
+#include <QFile>
+
+// 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
--- 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 <QTimer>
+
// 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();
+}
--- 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 <qpushbutton>
-#include <qgridlayout>
-#include <qvboxlayout>
-#include <hbmainwindow.h>
-#include <qtimer.h>
-#include <qmessagebox>
+#include <QPushButton>
+#include <QGridLayout>
+#include <QVBoxLayout>
+#include <HbMainWindow>
+#include <QTimer>
+#include <QMessageBox>
// 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();
}
--- 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 <qglobal.h>
+#include <QtGlobal>
// Constants
--- 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 <qobject>
+#include <QObject>
// User includes
#include "radiowrapperexport.h"
@@ -46,8 +46,8 @@
#ifdef TIMESTAMP_LOGGING_ENABLED
-#include <qtime>
-#include <qdebug.h>
+#include <QTime>
+#include <QDebug>
/**
* Timestamp logging macro.
@@ -81,8 +81,8 @@
#ifdef LOGGING_ENABLED
-#include <qglobal.h>
-#include <qdebug.h>
+#include <QtGlobal>
+#include <QDebug>
// 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
--- 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 <qglobal.h>
+#include <QtGlobal>
#ifdef BUILD_WRAPPER_DLL
#define WRAPPER_DLL_EXPORT Q_DECL_EXPORT
--- 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 <e32base.h>
-#include <mw/profileenginesdkcrkeys.h>
+#include <mw/ProfileEngineSDKCRKeys.h>
// User includes
#include "radio_global.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 <qglobal.h>
-#include <qscopedpointer>
+#include <QtGlobal>
+#include <QScopedPointer>
// User includes
#include "mradiocontroleventobserver.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 <e32std.h>
-#include <qscopedpointer>
+#include <QScopedPointer>
// User includes
#include "radioenginewrapper.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 <qobject>
-#include <qscopedpointer>
+#include <QObject>
+#include <QScopedPointer>
// 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
--- 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 <qobject>
-#include <qmap>
+#include <QObject>
+#include <QMap>
// User includes
#include "mradioscanobserver.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 <qglobal.h>
+#include <QtGlobal>
// Forward declarations
class RadioStationIf;
--- 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 <qscopedpointer>
-#include <qxml.h>
-#include <qstring>
-#include <qlist>
+#include <QScopedPointer>
+#include <QXxml>
+#include <QString>
+#include <QList>
// Forward declarations
class T_RadioDataParser;
--- 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<uint>( 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 );
}
--- 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 <qtimer>
-#include <qsettings>
+#include <QTimer>
+#include <QSettings>
// 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()
--- 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 <qtimer>
+#include <QTimer>
// User includes
#include "radiofrequencyscanninghandler.h"
@@ -77,6 +77,7 @@
*/
void RadioFrequencyScanningHandler::startScanning( bool muted )
{
+ Q_UNUSED( muted )
cancel();
QTimer::singleShot( 1000, this, SLOT(delayedStart()) );
}
--- 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 <qdebug.h>
+#include <QDebug>
// 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 <qstring>
-#include <qfile>
-#include <qtextstream>
-#include <qdatetime>
+#include <QString>
+#include <QFile>
+#include <QTextStream>
+#include <QDateTime>
#ifdef TRACE_TO_FILE
QFile mDebugFile;
@@ -142,6 +142,16 @@
}
}
}
+#else
+
+MethodLogger::MethodLogger( const char*, const char* )
+{
+}
+
+MethodLogger::~MethodLogger()
+{
+}
+
#endif // LOGGING_ENABLED
--- 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 <qvariant>
+#include <QVariant>
// User includes
#include "radiosettings.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 <qglobal.h>
+#include <QtGlobal>
#include "radiopresetstorageexport.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 <radiopresetutility.h>
+# include <RadioPresetUtility.h>
#endif // COMPILE_WITH_NEW_PRESET_UTILITY
-#include <qscopedpointer>
+#include <QScopedPointer>
#include <e32std.h>
// User includes
--- 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 <qscopedpointer>
-
// User includes
-#include <qscopedpointer>
+#include <QScopedPointer>
#include <QByteArray>
// Forward declarations
--- 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 <qglobal.h>
+#include <QtGlobal>
#ifdef BUILD_PRESET_STORAGE_DLL
#define STORAGE_DLL_EXPORT Q_DECL_EXPORT
--- 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 <qglobal.h>
+#include <QtGlobal>
class RadioStationIf
{
--- 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 <presetutility.h>
#include <preset.h>
#else
-# include <radiofmpresetutility.h>
+# include <RadioFmPresetUtility.h>
#endif // COMPILE_WITH_NEW_PRESET_UTILITY
-#include <qstring>
+#include <QString>
// User includes
#include "radiopresetstorage.h"
--- 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 <qstring>
-#include <qsettings>
-#include <qdatastream>
+#include <QString>
+#include <QSettings>
+#include <QDataStream>
// 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;
--- /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 <xqserviceprovider.h>
+#else
+# include <QObject>
+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
--- 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 <qobject.h>
+#include <QObject>
typedef struct{ const char* source; const char* comment; } Translation;
--- /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 <xqserviceprovider.h>
+
+// 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
--- /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 <QObject>
+
+// 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
--- 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 <qmetatype>
-#include <qobject>
+#include <QMetaType>
+#include <QObject>
// 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();
--- 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 <qstring>
+#include <QString>
+#include <QDateTime>
// User includes
@@ -45,6 +46,12 @@
QString mTitle;
+ QString mStation;
+
+ QDateTime mTime;
+
+ uint mFrequency;
+
int mPlayCount;
bool mFavorite;
--- 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 <qabstractlistmodel>
+#include <QAbstractListModel>
// 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 );
--- 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 <qlist>
-#include <qstring>
+#include <QList>
+#include <QString>
// Forward declarations
class RadioPlayLogModel;
@@ -57,6 +57,8 @@
bool mTopItemIsPlaying;
+ bool mShowDetails;
+
};
#endif // RADIOPLAYLOGMODEL_P_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
--- 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 <qstring>
-#include <qmetatype>
-#include <qobject>
+#include <QString>
+#include <QMetaType>
+#include <QObject>
// User includes
#include "radiouiengineexport.h"
#include "radio_global.h"
+
// Constants
const int KLastCallSignCharCode = 25;
const uint KThreeLetterCallSignCount = 72;
--- 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 <qtime>
+#include <QTime>
// User includes
#include "radiostation.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 <qsortfilterproxymodel>
-#include <qmap>
+#include <QSortFilterProxyModel>
+#include <QMap>
// User includes
#include "radiouiengineexport.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 <qabstractlistmodel>
-#include <qmap>
+#include <QAbstractListModel>
+#include <QMap>
// 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:
--- 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 <qlist>
-#include <qmap>
-#include <qscopedpointer>
-#include <qicon>
+#include <QList>
+#include <QMap>
+#include <QScopedPointer>
+#include <QIcon>
// User includes
//#include "radiostation.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 <qobject>
-#include <qstring>
-//#include <qlist>
+#include <QObject>
+#include <QString>
// 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:
--- 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 <qscopedpointer>
+#include <QScopedPointer>
#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_
--- 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 <qglobal.h>
+#include <QtGlobal>
#ifdef BUILD_UI_ENGINE_DLL
#define UI_ENGINE_DLL_EXPORT Q_DECL_EXPORT
--- 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
--- /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 <xqserviceutil.h>
+
+// 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;
+ }
+}
--- /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;
+ }
+}
--- /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 )
+}
--- 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;
--- 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;
}
--- 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 <qstringlist>
+#include <QStringList>
// 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 = "";
}
--- 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 )
{
}
--- 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 <qtime>
+#include <QTime>
// User includes
#include "radiostation.h"
--- 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 <qstringlist>
+#include <QStringList>
#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<RadioStation> favorites;
- foreach( const RadioStation& station, d->mStations ) {
- if ( station.isFavorite() ) {
- favorites.append( station );
- }
- }
+
+ QList<RadioStation> 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() );
}
}
--- 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 <qtimer>
+#include <QTimer>
// 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 );
}
/*!
--- 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 <qscopedpointer>
-#include <qprocess>
-#include <qfile>
+#include <QScopedPointer>
+#include <QProcess>
+#include <QFile>
#ifdef BUILD_WIN32
-# include <qsettings>
+# include <QSettings>
+#else
+# include <qsysteminfo.h>
+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<XQProfile> profile ( new XQProfile() ); // Deletes automatically when out of scope
- offline = profile->activeProfile() == XQProfile::ProfileOffLine;
-#elif BUILD_WIN32
+#ifdef BUILD_WIN32
QScopedPointer<QSettings> 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 );
+ }
}
/*!
--- 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 <qapplication>
-#include <qstringlist>
+#include <QApplication>
+#include <QStringList>
+#include <QTime>
+#ifndef BUILD_WIN32
+# include <XQSettingsManager>
+# include <XQPublishAndSubscribeSettingsKey>
+# include <XQPublishAndSubscribeUtils>
+#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();
}
--- 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 <hblabel.h>
+#include <HbLabel>
class RadioBannerLabel : public HbLabel
{
--- 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 <hbmenu.h>
+#include <HbMenu>
// 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:
--- 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 <hblabel.h>
-#include <hbeffect.h>
+#include <HbLabel>
+#include <HbEffect>
-class RadioFadingLabel : public HbLabel
+class RadioFadingLabel : public HbLabel //TODO: Derive from HbLineEdit
{
Q_OBJECT
--- 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 <qpixmap>
+#include <QPixmap>
// Forward declarations
class RadioFrequencyStrip;
--- 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 <qobject>
+#include <QObject>
// Forward declarations
class HbProgressDialog;
--- 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 <qmap>
-#include <qhash>
-#include <hbicon.h>
-#include <hbeffect.h>
+#include <QMap>
+#include <QHash>
+#include <HbIcon>
+#include <HbEffect>
// 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:
--- 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 <hbmainwindow.h>
-#include <hbeffect.h>
-#include <qpointer>
+#include <HbMainWindow>
+#include <HbEffect>
+#include <QPointer>
//#define QT_SHAREDPOINTER_TRACK_POINTERS // Debugging support for QSharedPointer
-#include <qsharedpointer>
+#include <QSharedPointer>
// 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 );
--- 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;
};
--- 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 <hbgridview.h>
-#include <hbabstractviewitem.h>
-#include <qmap>
-#include <qabstractitemmodel>
-#include <hbicon.h>
+#include <HbGridView>
+#include <QMap>
+#include <QAbstractItemModel>
+#include <HbIcon>
// 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<uint,QModelIndex> mModelIndexes;
HbIcon mBackground;
+ HbIcon mFavoriteIcon;
+ HbIcon mNonFavoriteIcon;
+
+ QTimer* mRadioTextTimer;
+
+ QString mRadioTextHolder;
+
+#ifdef USE_DEBUGGING_CONTROLS
+ RadioFadingLabel* mRdsLabel;
+#endif
};
--- 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 <hbwidget.h>
-#include <hbicon.h>
-#include <hbeffect.h>
+#include <HbWidget>
+#include <HbIcon>
+#include <HbEffect>
// 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;
--- /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 <HbAbstractViewItem>
+
+// 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
--- 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 <hbicon.h>
+#include <HbIcon>
// User includes
#include "radioviewbase.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 <hbscrollarea.h>
+#include <HbScrollArea>
// Forward declarations
class HbWidget;
--- 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
--- 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 <hbview.h>
+#include <HbView>
//#define QT_SHAREDPOINTER_TRACK_POINTERS // Debugging support for QSharedPointer
-#include <qsharedpointer>
+#include <QSharedPointer>
// 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;
--- 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 <qglobal.h>
+#include <QtGlobal>
#ifdef BUILD_WIDGETS_DLL
#define WIDGETS_DLL_EXPORT Q_DECL_EXPORT
--- 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
--- 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 <hbdocumentloader.h>
+#include <HbDocumentLoader>
// Constants
#ifdef USE_LAYOUT_FROM_E_DRIVE
--- 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
--- 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 @@
<file>layout/playlogview.docml</file>
<file>layout/radiostationcontrolwidget.css</file>
<file>layout/radiostationcontrolwidget.widgetml</file>
+ <file>layout/radiostationitem.css</file>
+ <file>layout/radiostationitem.widgetml</file>
</qresource>
<qresource>
--- 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;
+}
--- /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;
+}
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbwidget type="RadioStationItem" version="0.1">
+ <layout name="default" type="mesh">
+ <meshitem dst="" dstEdge="TOP" src="favorite_button" srcEdge="TOP"/>
+ <meshitem dst="" dstEdge="LEFT" src="favorite_button" srcEdge="LEFT"/>
+
+ <meshitem dst="" dstEdge="TOP" src="genre_label" srcEdge="TOP"/>
+ <meshitem dst="favorite_button" dstEdge="RIGHT" src="genre_label" srcEdge="LEFT"/>
+ <meshitem dst="" dstEdge="RIGHT" src="genre_label" srcEdge="RIGHT"/>
+
+ <meshitem dst="genre_label" dstEdge="BOTTOM" src="name_label" srcEdge="TOP"/>
+ <meshitem dst="" dstEdge="LEFT" src="name_label" srcEdge="LEFT"/>
+ <meshitem dst="" dstEdge="RIGHT" src="name_label" srcEdge="RIGHT"/>
+
+ <meshitem dst="name_label" dstEdge="BOTTOM" src="rt_label" srcEdge="TOP"/>
+ <meshitem dst="" dstEdge="LEFT" src="rt_label" srcEdge="LEFT"/>
+ <meshitem dst="" dstEdge="RIGHT" src="rt_label" srcEdge="RIGHT"/>
+
+ <meshitem dst="rt_label" dstEdge="BOTTOM" src="url_label" srcEdge="TOP"/>
+ <meshitem dst="" dstEdge="LEFT" src="url_label" srcEdge="LEFT"/>
+ <meshitem dst="" dstEdge="RIGHT" src="url_label" srcEdge="RIGHT"/>
+ <meshitem dst="" dstEdge="BOTTOM" src="url_label" srcEdge="BOTTOM"/>
+ </layout>
+</hbwidget>
--- 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 <qpainter.h>
+#include <QPainter>
/*!
*
--- 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 <hbaction.h>
-#include <hbinputdialog.h>
-#include <qgraphicssceneresizeevent>
+#include <HbAction>
+#include <HbInputDialog>
+#include <QGraphicsSceneResizeEvent>
// User includes
#include "radiocontextmenu.h"
@@ -44,59 +44,14 @@
{
mStation = station;
- if ( station.isRenamed() )
- {
- uiLoader.findObject<HbAction>( DOCML_NAME_CONTEXT_RENAME )->setText( TRANSLATE( KMenuItemRemoveRenaming ) );
- }
- else
- {
- uiLoader.findObject<HbAction>( DOCML_NAME_CONTEXT_RENAME )->setText( TRANSLATE( KMenuItemRenameStation ) );
- }
-
if ( station.isFavorite() )
{
- uiLoader.findObject<HbAction>( DOCML_NAME_CONTEXT_FAVORITE )->setText( TRANSLATE( KMenuItemRemoveFavorite ) );
+ uiLoader.findObject<HbAction>( DOCML_NAME_CONTEXT_FAVORITE )->setText( hbTrId( "txt_rad_menu_remove_favourite" ) );
}
else
{
- uiLoader.findObject<HbAction>( 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<HbAction>( 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() );
}
}
--- 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 <hbprogressdialog.h>
+#include <HbProgressDialog>
// User includes
#include "radiofrequencyscanner.h"
--- 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 <qpainter>
-#include <qstringlistmodel>
-#include <qpainterpath>
-#include <qgraphicssceneresizeevent>
-#include <qpen>
-#include <hbpushbutton.h>
-#include <qtimer>
+#include <QPainter>
+#include <QStringListModel>
+#include <QGraphicsSceneResizeEvent>
+#include <QPen>
+#include <HbPushButton>
+#include <QTimer>
#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 );
--- 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 <hbinstance.h>
-#include <hbaction.h>
-#include <hbmessagebox.h>
-#include <hbvolumesliderpopup.h>
+#include <HbInstance>
+#include <HbAction>
+#include <HbMessageBox>
+#include <HbVolumeSliderPopup>
#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<RadioViewBase*>( 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<RadioViewBase>( 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 );
}
/*!
--- 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 <hblistview.h>
-#include <hbaction.h>
+#include <HbListView>
+#include <HbAction>
+#include <HbAbstractViewItem>
+#include <HbMenu>
// 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<HbListView>( 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<HbAction>( DOCML_NAME_ALLSONGSBUTTON );
+ mFavoritesButton = mUiLoader->findObject<HbAction>( DOCML_NAME_FAVORITESONGSBUTTON );
+
HbAction* removeAction = mUiLoader->findObject<HbAction>( 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<RadioContextMenu>( 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();
}
--- 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 <qgraphicslinearlayout>
-#include <hbanchorlayout.h>
-#include <hbpushbutton.h>
-#include <qpixmap>
+#include <QGraphicsLinearLayout>
+#include <HbAnchorLayout>
+#include <QPixmap>
#include <QGraphicsSceneMouseEvent>
-#include <hbeffect>
+#include <HbEffect>
+#include <QTimer>
// 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<RadioStation>();
-
- 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<RadioStationCarousel*>( 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<RadioStationItem*>( item );
- emit frequencyChanged( static_cast<RadioStationItem*>( item )->frequency(), CommandSender::StationCarousel );
+ uint frequency = model()->data( index, RadioStationModel::RadioStationRole ).value<RadioStation>().frequency();
+ if ( item->frequency() != frequency ) {
+ item->setFrequency( frequency );
+ }
+ emit frequencyChanged( frequency, CommandSender::StationCarousel );
}
scrollContentsTo( QPointF( posX, 0 ) , time );
}
--- 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 <hbstyleloader.h>
-#include <hbpushbutton.h>
-#include <hbmessagebox.h>
-#include <hbanchorlayout.h>
+#include <HbStyleLoader>
+#include <HbPushButton>
+#include <HbMessageBox>
+#include <HbAnchorLayout>
// 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 );
}
/*!
--- /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 <HbStyleLoader>
+#include <HbPushButton>
+#include <HbAnchorLayout>
+
+// 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<RadioStation>();
+
+ 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<RadioStationCarousel*>( itemView() );
+}
+
--- 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 <hblistview.h>
-#include <hbabstractviewitem.h>
-#include <hbpushbutton.h>
-#include <hbeffect.h>
-#include <hbaction.h>
+#include <HbListView>
+#include <HbAbstractViewItem>
+#include <HbPushButton>
+#include <HbEffect>
+#include <HbAction>
// 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<RadioContextMenu>( 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<HbPushButton>( 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<HbAction>( DOCML_NAME_WIZARDVIEWACTION )->setVisible( false );
-#endif // USE_DEBUGGING_CONTROLS
-
// "Scan local stations" menu item
mScanStationsAction = mUiLoader->findObject<HbAction>( DOCML_NAME_SCANSTATIONSACTION );
-
+
// "Remove all presets" menu item
mRemoveAllPresetsAction = mUiLoader->findObject<HbAction>( 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 ) );
}
--- 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 <qgraphicssceneevent>
+#include <QGraphicsSceneEvent>
// 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();
}
--- 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;
--- 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 <hbeffect.h>
+#include <HbEffect>
// User includes
#include "radiouiutilities.h"
--- 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 <hbmenu.h>
-#include <hbaction.h>
-#include <hbeffect.h>
-#include <qcoreapplication>
+#include <HbMenu>
+#include <HbAction>
+#include <HbEffect>
+#include <QCoreApplication>
#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 );
--- 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 <hblistview.h>
-#include <hbaction.h>
+#include <HbListView>
+#include <HbAction>
// 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();
+ }
+}
--- 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 <e32std.h>
// Forward declarations
--- 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"
/**
--- 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 <e32std.h>
+// Class declaration
NONSHARABLE_CLASS( MRadioRdsDataObserver )
{
public:
--- 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;
--- 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 <domain/osextensions/platform_paths.hrh>
-#else
-# include <platform_paths.hrh>
-#endif // COMPILE_IN_WK48_ENV
+#include <platform_paths.hrh>
PRJ_PLATFORMS
WINSCW ARMV5
--- 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 <domain/osextensions/platform_paths.hrh>
-#else
-# include <platform_paths.hrh>
-#endif // COMPILE_IN_WK48_ENV
+#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
@@ -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
--- 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 <radiofmtunerutility.h>
-#include <radioplayerutility.h>
-#include <radioutility.h>
+// System includes
+#include <RadioFmTunerUtility.h>
+#include <RadioPlayerUtility.h>
+#include <RadioUtility.h>
+// 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;
--- 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:
--- 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 <radiordsutility.h>
+// System includes
+#include <RadioRdsUtility.h>
+// 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
--- 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:
--- 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 <audiooutput.h>
+#include <AudioOutput.h>
#include <eikdef.h>
#include <coemain.h>
#include <badesca.h>
@@ -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 );
--- 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 <etelmm.h>
#include <commsdattypesv1_1.h>
+// User includes
#include "cradionetworkinfolistener.h"
#include "mradiosettingssetter.h"
#include "cradioenginelogger.h"
--- 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 ========
--- 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"
--- 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"
--- 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_
--- 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 <e32base.h>
+// User includes
#include "radioengine.hrh"
-// FORWARD DECLARATIONS
+// Forward declarations
class CRadioRegion;
class TResourceReader;
-// DATA TYPES
+// Data types
typedef RPointerArray<CRadioRegion> RRadioRegionArray;
typedef RPointerArray<HBufC16> RRadioCountryCodeArray;
-// CLASS DECLARATION
+// Class declaration
/**
* Class CRadioRegion provides information about FM region
--- 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 <e32def.h>
+// User includes
#include "radioengine.hrh"
+// Forward declarations
class CRadioRegion;
/**
--- 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;
/**
--- 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 <domain/osextensions/platform_paths.hrh>
-#else
-# include <platform_paths.hrh>
-#endif // COMPILE_IN_WK48_ENV
+#include <platform_paths.hrh>
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
--- 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 <domain/osextensions/platform_paths.hrh>
-#else
-# include <platform_paths.hrh>
-#endif // COMPILE_IN_WK48_ENV
+#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
--- 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"
--- 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;
/**
--- 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 <badesca.h>
#include <e32base.h>
+// Forward declarations
class CCoeEnv;
class CRadioRepositoryManager;
--- 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 <uikon.rh>
STRUCT RADIOPRESET
--- 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 ========
--- 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 <barsread.h>
#include <coemain.h>
+
+// User includes
#include "radiointernalcrkeys.h"
#include "radioenginesettings.rsg"
-
#include "radioenginedef.h"
#include "cradioenginesettings.h"
#include "mradiosettingsobserver.h"
--- 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 <s32mem.h>
-#include "cradioenginelogger.h"
+// User includes
#include "cradiorepositorymanager.h"
#include "cradiosettingsbase.h"
+#include "cradioenginelogger.h"
// ======== MEMBER FUNCTIONS ========
--- 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 <bautils.h>
#include <coemain.h>
-#include <coneresloader.h>
+#include <ConeResLoader.h>
#include <f32file.h>
#include <data_caging_path_literals.hrh>
--- 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
};
--- 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 <domain/osextensions/platform_paths.hrh>
-#else
-# include <platform_paths.hrh>
-#endif // COMPILE_IN_WK48_ENV
+#include <platform_paths.hrh>
PRJ_PLATFORMS
WINSCW ARMV5
--- 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 <domain/osextensions/platform_paths.hrh>
-#else
-# include <platform_paths.hrh>
-#endif // COMPILE_IN_WK48_ENV
+#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
@@ -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
--- 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 <accessoryserver.h>
-#include <accessoryconnection.h>
-#include <accpolsubblocknamearray.h>
+#include <AccessoryServer.h>
+#include <AccessoryConnection.h>
+#include <AccPolSubblockNameArray.h>
class MRadioHeadsetEventObserver;
--- 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 <remconcallhandlingtargetobserver.h>
+#include <RemConCallHandlingTargetObserver.h>
#include <remconcoreapitargetobserver.h>
// User includes
--- 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"
// ---------------------------------------------------------------------------
//
--- 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"
--- 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"
--- 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 <coemain.h>
#include <e32svr.h>
+// User includes
#include "cradioenginelogger.h"
#include "cradioenginetls.h"
--- 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 <remconcallhandlingtarget.h>
+#include <RemConCallHandlingTarget.h>
#include <remconcoreapitarget.h>
#include <remconinterfaceselector.h>
--- 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 <audiooutput.h>
+// System includes
+#include <AudioOutput.h>
+
+// User includes
#include "cradioroutableaudio.h"
#include "cradioaudiorouter.h"
--- 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"
--- 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 <e32cmn.h>
-#include <uiklafinternalcrkeys.h>
-#include "cradioenginelogger.h"
+#include <UiklafInternalCRKeys.h>
+// User includes
#include "cradioaccessoryobserver.h"
#include "cradiorepositorymanager.h"
#include "cradiosystemeventcollectorimp.h"
#include "cradiosystemeventdetector.h"
#include "radioengineutils.h"
+#include "cradioenginelogger.h"
const TInt KVRObserverArrayGranularity( 2 );
--- 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 <ctsydomainpskeys.h>
#include <publicruntimeids.hrh>
#include <sacls.h>
+
#ifdef COMPILE_IN_IVALO
# include <voiceuidomainpskeys.h>
#endif //COMPILE_IN_IVALO
#include <featmgr.h>
+
+// User includes
#include "cradioenginelogger.h"
-
#include "cradiosystemeventdetector.h"
#include "mradiosystemeventdetectorobserver.h"
--- 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 <stringloader.h>
+#include <StringLoader.h>
#include <utf.h>
// User includes
--- 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