diff -r c84cf270c54f -r 92ab7f8d0eab phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.cpp Fri Mar 19 09:28:42 2010 +0200 @@ -0,0 +1,216 @@ +/* +* 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 +#include +#include +#include +#include +#include +#include +#include "t_phoneringingtoneplayer.h" +#include "cphoneringingtonecontroller.h" +#include "TPhoneCmdParamRingTone.h" + + +_LIT(KNokiatune, "Z:\\Data\\Sounds\\Digital\\Nokia tune.aac"); +_LIT(KSamplemp3, "c:\\Data\\Sounds\\Digital\\sample.mp3"); + +t_phoneringingtoneplayer::t_phoneringingtoneplayer(QGraphicsItem *parent) + : HbView(parent), m_volume(10) +{ + setTitle(tr("t_ringingtoneplayer")); + createMenu(); + createContent(); + + m_ringingtone.Format(KNokiatune); + m_ringingtoneplayer = CPhoneRingingToneController::NewL(); +} + +t_phoneringingtoneplayer::~t_phoneringingtoneplayer() +{ + delete m_ringingtoneplayer; +} +void t_phoneringingtoneplayer::createMenu() +{ + HbMenu *optionsMenu = menu(); + /*connect(optionsMenu->addAction(tr("EProfileRingingTypeRinging"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneRingning())); + connect(optionsMenu->addAction(tr("EProfileRingingTypeBeepOnce"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneBeepOnce())); + connect(optionsMenu->addAction(tr("EProfileRingingTypeSilent"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneSilence())); + connect(optionsMenu->addAction(tr("EProfileRingingTypeRinging+tts"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneTTS())); + connect(optionsMenu->addAction(tr("EProfileRingingTypeAscending"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneAscending())); + connect(optionsMenu->addAction(tr("EProfileRingingTypeRingingOnce"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneOnce())); + connect(optionsMenu->addAction(tr("Stop ringingtone"))->action(), SIGNAL(triggered()), this, SLOT(StopRingingtone())); */ + connect(optionsMenu->addAction(tr("sample.mp3"))->action(), SIGNAL(triggered()), this, SLOT(SampleMP3())); + connect(optionsMenu->addAction(tr("nokiatune.aac"))->action(), SIGNAL(triggered()), this, SLOT(Nokiatuneaac())); + //connect(optionsMenu->addAction(tr("Quit"))->action(), SIGNAL(triggered()), qApp, SLOT(quit())); + + +} + +void t_phoneringingtoneplayer::createContent() +{ + QGraphicsLinearLayout *mainLayout = new QGraphicsLinearLayout(Qt::Vertical); + + HbPushButton *ringingButton = new HbPushButton(tr("EProfileRingingTypeRinging"), this); + connect(ringingButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneRingning())); + + HbPushButton *beeponceButton = new HbPushButton(tr("EProfileRingingTypeBeepOnce"), this); + connect(beeponceButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneBeepOnce())); + + HbPushButton *silenceButton = new HbPushButton(tr("EProfileRingingTypeSilent"), this); + connect(silenceButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneSilence())); + + HbPushButton *ttsButton = new HbPushButton(tr("EProfileRingingTypeRinging+tts"), this); + connect(ttsButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneTTS())); + + HbPushButton *ascendingButton = new HbPushButton(tr("EProfileRingingTypeAscending"), this); + connect(ascendingButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneAscending())); + + HbPushButton *ringingonceButton = new HbPushButton(tr("EProfileRingingTypeRingingOnce"), this); + connect(ringingonceButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneOnce())); + + HbPushButton *stopButton = new HbPushButton(tr("Stop ringingtone"), this); + connect(stopButton, SIGNAL(clicked()), this, SLOT(StopRingingtone())); + + HbPushButton *quitButton = new HbPushButton(tr("Quit"), this); + connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit())); + + HbSlider *volumeslider = new HbSlider(this); + //volumeslider->setSliderType(HbSlider::VolumeSlider); + volumeslider->setOrientation( Qt::Horizontal); + volumeslider->setMinimum(EProfileRingingVolumeLevel1); + volumeslider->setMaximum(EProfileRingingVolumeLevel10); + volumeslider->setSingleStep(1); + volumeslider->setValue(m_volume); + connect(volumeslider, SIGNAL(valueChanged(int)), this, SLOT(volumeSliderChanged(int))); + + mainLayout->addItem(volumeslider); + mainLayout->addItem(ringingButton); + mainLayout->addItem(beeponceButton); + mainLayout->addItem(silenceButton); + mainLayout->addItem(ttsButton); + mainLayout->addItem(ascendingButton); + mainLayout->addItem(ringingonceButton); + mainLayout->addItem(stopButton); + mainLayout->addItem(quitButton); + //mainLayout->addStretch(); + + setLayout(mainLayout); +} + +void t_phoneringingtoneplayer::PlayRingingtoneRingning() +{ + m_ringingtoneplayer->StopPlaying(); + TPhoneCmdParamRingTone ringToneParam; + ringToneParam.SetVolume(m_volume); + ringToneParam.SetRingingType(EProfileRingingTypeRinging); + // Set the profile ring tone + ringToneParam.SetRingTone( m_ringingtone); + ringToneParam.SetType( EPhoneRingToneProfile ); + + m_ringingtoneplayer->PlayRingToneL( &ringToneParam ); +} + +void t_phoneringingtoneplayer::PlayRingingtoneBeepOnce() +{ + m_ringingtoneplayer->StopPlaying(); + TPhoneCmdParamRingTone ringToneParam; + ringToneParam.SetVolume(m_volume); + ringToneParam.SetRingingType(EProfileRingingTypeBeepOnce); + // Set the profile ring tone + ringToneParam.SetRingTone( m_ringingtone); + ringToneParam.SetType( EPhoneRingToneProfile ); + + m_ringingtoneplayer->PlayRingToneL( &ringToneParam ); +} + + +void t_phoneringingtoneplayer::PlayRingingtoneSilence() +{ + m_ringingtoneplayer->StopPlaying(); + TPhoneCmdParamRingTone ringToneParam; + ringToneParam.SetVolume(m_volume); + ringToneParam.SetRingingType(EProfileRingingTypeSilent); + // Set the profile ring tone + ringToneParam.SetRingTone( m_ringingtone); + ringToneParam.SetType( EPhoneRingToneProfile ); + + m_ringingtoneplayer->PlayRingToneL( &ringToneParam ); +} + +void t_phoneringingtoneplayer::PlayRingingtoneTTS() +{ + m_ringingtoneplayer->StopPlaying(); + _LIT(KTextToSay, "Mr. Brownstone"); + TBuf<30> texttosay (KTextToSay); + TPhoneCmdParamRingTone ringToneParam; + ringToneParam.SetVolume(m_volume); + ringToneParam.SetRingingType(EProfileRingingTypeRinging); + ringToneParam.SetTextToSay(texttosay); + // Set the profile ring tone + ringToneParam.SetRingTone( m_ringingtone); + ringToneParam.SetType( EPhoneRingToneProfile ); + + m_ringingtoneplayer->PlayRingToneL( &ringToneParam ); +} + +void t_phoneringingtoneplayer::PlayRingingtoneAscending() +{ + m_ringingtoneplayer->StopPlaying(); + TPhoneCmdParamRingTone ringToneParam; + ringToneParam.SetVolume(m_volume); + ringToneParam.SetRingingType(EProfileRingingTypeAscending); + // Set the profile ring tone + ringToneParam.SetRingTone( m_ringingtone); + ringToneParam.SetType( EPhoneRingToneProfile ); + + m_ringingtoneplayer->PlayRingToneL( &ringToneParam ); +} + +void t_phoneringingtoneplayer::PlayRingingtoneOnce() +{ + m_ringingtoneplayer->StopPlaying(); + + TPhoneCmdParamRingTone ringToneParam; + ringToneParam.SetVolume(m_volume); + ringToneParam.SetRingingType(EProfileRingingTypeRingingOnce); + // Set the profile ring tone + ringToneParam.SetRingTone(m_ringingtone); + ringToneParam.SetType( EPhoneRingToneProfile ); + + m_ringingtoneplayer->PlayRingToneL( &ringToneParam ); +} + + +void t_phoneringingtoneplayer::StopRingingtone() +{ + m_ringingtoneplayer->StopPlaying(); +} + +void t_phoneringingtoneplayer::SampleMP3() +{ + m_ringingtone.Format(KSamplemp3); +} +void t_phoneringingtoneplayer::Nokiatuneaac() +{ + m_ringingtone.Format(KNokiatune); +} +void t_phoneringingtoneplayer::volumeSliderChanged(int value) + { + m_volume = value; + }