diff -r 608f67c22514 -r 896e9dbc5f19 qtinternetradio/irqsettings/src/irqsettings_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qtinternetradio/irqsettings/src/irqsettings_p.cpp Wed Aug 18 09:40:26 2010 +0300 @@ -0,0 +1,530 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#include "irqsettings_p.h" +#include "irinternalcrkeys.h" +#include +#include +#include +#include + +const int KDefaultVolume = 6; +const int KDefaultHttpTimeOut = 60000000; // unit: us, 6s +const int KIRDefaultMinDiskSpace = 3145728; // byte, 3MB +const QString KIRDefaultIsdsUrl = "http://idirectory.xgns.net/isds"; +#ifdef USE_TEST_ISDS_SERVER +const QString KIRTestIsdsUrl = "http://88.114.146.238/isds"; +#endif + +IRQSettingsPrivate::IRQSettingsPrivate() : + mSettingsManager(new XQSettingsManager()) +{ + mPrivatePath = QDesktopServices::storageLocation(QDesktopServices::DataLocation) + "/"; +} + +IRQSettingsPrivate::~IRQSettingsPrivate() +{ + if (mSettingsManager) + { + delete mSettingsManager; + } +} + +QString IRQSettingsPrivate::privatePath() +{ + return mPrivatePath; +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::isFlagTermsAndConditions() +// +// --------------------------------------------------------------------------- +// +bool IRQSettingsPrivate::isFlagTermsAndConditions(bool& aFlag) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRTermsAndConditionsFlag); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + bool br = !value.isNull(); + + if (br) + { + int nFlag = value.toInt(); + aFlag = ( nFlag == 1 ); + } + + return br; +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::setFlagTermsAndConditions() +// +// --------------------------------------------------------------------------- +// +void IRQSettingsPrivate::setFlagTermsAndConditions() +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRTermsAndConditionsFlag); + + Q_ASSERT(mSettingsManager); + mSettingsManager->writeItemValue(profileKey, 1); +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::reSetFlagTermsAndConditions() +// +// --------------------------------------------------------------------------- +// +void IRQSettingsPrivate::reSetFlagTermsAndConditions() +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRTermsAndConditionsFlag); + + Q_ASSERT(mSettingsManager); + mSettingsManager->writeItemValue(profileKey, 0); +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::getIRID() +// +// --------------------------------------------------------------------------- +// +bool IRQSettingsPrivate::getIRID(QString& aIRID) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRIrId); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + bool br = !value.isNull(); + + if (br) + { + aIRID = QTextCodec::codecForName("UTF-16")->toUnicode(value.toByteArray()); + } + + return br; +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::getVolumeSetting() +// +// --------------------------------------------------------------------------- +// +int IRQSettingsPrivate::getVolumeSetting() +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRPlayerVolume); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + int ir = KDefaultVolume; + + if (!value.isNull()) + { + ir = value.toInt(); + } + + return ir; +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::setVolumeSetting() +// +// --------------------------------------------------------------------------- +// +void IRQSettingsPrivate::setVolumeSetting(int aPlayVolume) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRPlayerVolume); + + Q_ASSERT(mSettingsManager); + mSettingsManager->writeItemValue(profileKey, aPlayVolume); +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::setTimeOut() +// +// --------------------------------------------------------------------------- +// +void IRQSettingsPrivate::setTimeOut(int aTimeOut) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRHttpTimeout); + + Q_ASSERT(mSettingsManager); + mSettingsManager->writeItemValue(profileKey, aTimeOut); +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::getTimeOut() +// +// --------------------------------------------------------------------------- +// +int IRQSettingsPrivate::getTimeOut() +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRHttpTimeout); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + int ir = KDefaultHttpTimeOut; + + if (!value.isNull()) + { + ir = value.toInt(); + } + + return ir; +} + +void IRQSettingsPrivate::setSongHistoryShow(int aShowFlag) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRSongHistoryFTU); + + Q_ASSERT(mSettingsManager); + mSettingsManager->writeItemValue(profileKey, aShowFlag); +} + +int IRQSettingsPrivate::getSongHistoryShow() +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRSongHistoryFTU); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + int ir = 0; + + if (!value.isNull()) + { + ir = value.toInt(); + } + + return ir; +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::setStartingViewId() +// Sets the starting view Id in cenrep +// --------------------------------------------------------------------------- +// +void IRQSettingsPrivate::setStartingViewId(int aStartingViewId) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRStartingViewId); + + Q_ASSERT(mSettingsManager); + mSettingsManager->writeItemValue(profileKey, aStartingViewId); +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::getStartingViewId() +// Gets the starting view Id from cenrep +// --------------------------------------------------------------------------- +// +bool IRQSettingsPrivate::getStartingViewId(TIRViewId& aStartingViewId) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRStartingViewId); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + bool br = !value.isNull(); + + if (br) + { + aStartingViewId = (TIRViewId) value.toInt(); + } + else + { + aStartingViewId = EIRView_CategoryView; + } + + return br; +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::setPreferredQuality() +// +// --------------------------------------------------------------------------- +// +void IRQSettingsPrivate::setPreferredQuality(IRQPreferredQuality aQualityValue) +{ + TInt value = 0; + switch (aQualityValue) + { + case EIRQHighQuality: + value = 1; + break; + default: + break; + } + + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRPreferredQuality); + + Q_ASSERT(mSettingsManager); + mSettingsManager->writeItemValue(profileKey, value); +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::getPreferredQuality() +// +// --------------------------------------------------------------------------- +// +IRQPreferredQuality IRQSettingsPrivate::getPreferredQuality() const +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRPreferredQuality); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + int ir = 0; + + if (!value.isNull()) + { + ir = value.toInt(); + } + + switch (ir) + { + case 1: + return EIRQHighQuality; + default: + return EIRQStandardQuality; + } +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::getGlobalAdvFlag() +// Gets the global advertisement flag from cenrep +// --------------------------------------------------------------------------- +// +bool IRQSettingsPrivate::getGlobalAdvFlag(bool& aFlag) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRGlobalAdvEnabled); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + bool br = !value.isNull(); + + if (br) + { + aFlag = value.toBool(); + } + + return br; +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::getManuallyInputtedStationUrl(QString& aUrl) +// +// --------------------------------------------------------------------------- +// +bool IRQSettingsPrivate::getManuallyInputtedStationUrl(QString& aUrl) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRManuallyInputStationUrl); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + bool br = !value.isNull(); + + if (br) + { + aUrl = QTextCodec::codecForName("UTF-16")->toUnicode(value.toByteArray()); + } + + return br; +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::setManuallyInputtedStationUrl(const QString& aUrl) +// +// --------------------------------------------------------------------------- +// +void IRQSettingsPrivate::setManuallyInputtedStationUrl(const QString& aUrl) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRManuallyInputStationUrl); + + Q_ASSERT(mSettingsManager); + mSettingsManager->writeItemValue(profileKey, QString::fromUtf16(aUrl.utf16())); +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::getManuallyInputtedStationName(QString& aName) +// +// --------------------------------------------------------------------------- +// +bool IRQSettingsPrivate::getManuallyInputtedStationName(QString& aName) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRManuallyInputStationName); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + bool br = !value.isNull(); + + if (br) + { + aName = QTextCodec::codecForName("UTF-16")->toUnicode(value.toByteArray()); + } + + return br; +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::setManuallyInputtedStationName(const QString& aName) +// +// --------------------------------------------------------------------------- +// +void IRQSettingsPrivate::setManuallyInputtedStationName(const QString& aName) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRManuallyInputStationName); + + Q_ASSERT(mSettingsManager); + mSettingsManager->writeItemValue(profileKey, QString::fromUtf16(aName.utf16())); +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::getSearchText(QString& aSearchText) +// +// --------------------------------------------------------------------------- +// +bool IRQSettingsPrivate::getSearchText(QString& aSearchText) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRSearchText); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + bool br = !value.isNull(); + + if (br) + { + aSearchText = value.toString(); + } + + return br; +} + +// --------------------------------------------------------------------------- +// IRQSettingsPrivate::setSearchText(const QString& aSearchText) +// +// --------------------------------------------------------------------------- +// +void IRQSettingsPrivate::setSearchText(const QString& aSearchText) +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRSearchText); + + Q_ASSERT(mSettingsManager); + mSettingsManager->writeItemValue(profileKey, aSearchText.toUtf8()); +} + +int IRQSettingsPrivate::getMinDiskSpaceRequired() +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRMinDiskSpaceRequired); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + int retVal = KIRDefaultMinDiskSpace; + + if (!value.isNull()) + { + retVal = value.toInt(); + } + + return retVal; +} + +bool IRQSettingsPrivate::getIdentifySongEnabled() +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRIdentifySongEnabled); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + bool retVal = false; + + if (!value.isNull()) + { + retVal = value.toBool(); + } + + return retVal; +} + +int IRQSettingsPrivate::getSongRecognitionAppUid() +{ + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRSongRecognitionAppUid); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + int retVal = 0; + + if (!value.isNull()) + { + retVal = value.toInt(); + } + + return retVal; +} + +QString IRQSettingsPrivate::getIsdsUrl() +{ +#ifdef USE_TEST_ISDS_SERVER + return KIRTestIsdsUrl; +#else + XQSettingsKey profileKey(XQSettingsKey::TargetCentralRepository, + KCRUidInternetRadio.iUid, KIRIsdsUrl); + + Q_ASSERT(mSettingsManager); + QVariant value = mSettingsManager->readItemValue(profileKey); + + QString retVal = KIRDefaultIsdsUrl; + + if (!value.isNull()) + { + retVal = QTextCodec::codecForName("UTF-16")->toUnicode(value.toByteArray());; + } + + return retVal; +#endif +}