1 /**************************************************************************
4 Copyright (C) 2010-2011 Heli Hyvättinen
6 This file is part of KitchenAlert.
8 Kitchen Alert is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>.
21 **************************************************************************/
27 #include "selectsounddialog.h"
28 #include "ui_selectsounddialog.h"
29 #include "alertsound.h"
30 #include <QFileDialog>
36 SelectSoundDialog::SelectSoundDialog(QWidget *parent) :
38 ui(new Ui::SelectSoundDialog)
42 connect(ui->browseButton,SIGNAL(clicked()),this,SLOT(browse()));
44 QSettings settings("KitchenAlert","KitchenAlert");
45 QString filename = settings.value("soundfile").toString();
46 ui->lineEdit->setText(filename);
48 bool useDefaultSoundFile = settings.value("UseDefaultSound",true).toBool();
49 if (useDefaultSoundFile == true)
51 ui->DefaultSoundRadioButton->setChecked(true);
52 ui->browseButton->setDisabled(true);
53 ui->lineEdit->setDisabled(true);
55 else ui->CustomSoundRadioButton->setChecked(true);
56 // qDebug() << "UseDefaultSoundfile is " << useDefaultSoundFile;
61 connect(ui->TestButton,SIGNAL(clicked()),this,SLOT(testSound()));
64 SelectSoundDialog::~SelectSoundDialog()
69 void SelectSoundDialog::browse()
71 QString filename = QFileDialog::getOpenFileName(this, tr("Choose a sound file"),"/home/user/"); //Filters: to use or not...? //MAEMO specific dir here...
72 if (!filename.isEmpty()) //Empty string returned by the dialog if user pressed cancel...
74 ui->lineEdit->setText(filename);
78 QString SelectSoundDialog::getSoundFileName()
80 if (ui->CustomSoundRadioButton->isChecked() == true)
81 return ui->lineEdit->displayText();
82 else return QString();
85 bool SelectSoundDialog::isDefaultSoundChecked()
87 return ui->DefaultSoundRadioButton->isChecked();
90 void SelectSoundDialog::testSound()
92 if (isTesting_ == false)
94 if (ui->CustomSoundRadioButton->isChecked() == false)
96 player.setMedia(QUrl::fromLocalFile(AlertSound::defaultsound_));
101 player.setMedia(QUrl::fromLocalFile(ui->lineEdit->displayText()));
106 ui->TestButton->setText(tr("Stop test"));
114 ui->TestButton->setText(tr("Test sound"));