/***************************************************************************
ksoundcfg.cpp - description
-------------------
begin : Don Mai 23 2002
copyright : (C) 2002 by Dieter Landolt
email : dieter.landolt@secs.ch
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include <kfiledialog.h>
#include <klocale.h>
#include <qpushbutton.h>
#include <qsound.h>
#include <kaudioplayer.h>
#include <kicontheme.h>
#include <qlineedit.h>
#include <kiconloader.h>
#include "ksoundcfg.h"
ksoundCfg::ksoundCfg(QWidget *parent, const char* name, WFlags fl)
: soundcfg(parent, name, fl)
{
KIconLoader *myico = new KIconLoader();
pathButton->setPixmap(myico->loadIcon("folder_red",KIcon::Toolbar));
playButton->setPixmap(myico->loadIcon("player_play",KIcon::Toolbar));
connect(pathButton, SIGNAL(clicked()),this,SLOT(pathButtonclicked()));
connect(playButton, SIGNAL(clicked()),this,SLOT(playButtonclicked()));
connect(path, SIGNAL(textChanged(const QString &)), this , SLOT(pathChanged(const QString &)));
}
ksoundCfg::~ksoundCfg(){
}
/** To Display the select Dialog if the Button is clicked. */
void ksoundCfg::pathButtonclicked(){
QString retPath;
// QPixmap *fp = new QPixmap(20,20);
retPath = KFileDialog::getOpenFileName(QString::null,
i18n("*.wav *.ogg *.mp3|All supported sound format\n*.ogg|Ogg Vorbis open,free audio format (OGG)\n*.mp3|Mp3 audio file format (MP3)\n*.wav|Wave table sounds (WAV)\n*.*|All files"),
this,i18n("Select the right sound file"));
if(retPath != QString::null) {
path->setText(retPath);
}
}
/** plays the sound for listening it */
void ksoundCfg::playButtonclicked(){
qDebug(path->text());
KAudioPlayer::play(path->text());
}
/** Notify internaly, when the path wille be changed, to enable the playbutton, if the sound is valid, else disable soundbutton. */
void ksoundCfg::pathChanged(const QString& newpath){
if(QFile::exists(newpath)) {
playButton->setEnabled(true);
} else {
playButton->setEnabled(false);
}
newPath(newpath); // Signals if a new path is entred
// its to verify becose i don't now if its not a kinde of loop
}
/** Set the text in the object. */
void ksoundCfg::setText(const QString& s){
path->setText(s);
}
/** get the text back. */
QString ksoundCfg::text(){
return path->text();
}
syntax highlighted by Code2HTML, v. 0.9.1