#include "notedialog.h"
#include "ui_notedialog.h"
#include "addDialog.h"
#include "ui_addDialog.h"
#include <Phonon/AudioOutput>
#include <QString>
#include <QFileDialog>
#include <QFile>
#include <QTextCodec>
#include <QTranslator>
#include <QLocale>
#include <QSound>
#include <QIcon>
#include <QMessageBox>
NoteDialog::NoteDialog(QWidget *parent)
: QDialog(parent), ui(new Ui::NoteDialogClass)
{
ui->setupUi(this);
ui->OKButton->setEnabled(false);
ui->dateEdit->setDate(QDate::currentDate());
ui->timeEdit->setTime(QTime::currentTime());
ui->alarmDEdit->setDate(QDate::currentDate());
ui->alarmTEdit->setTime(QTime::currentTime());
connect(ui->musicButton, SIGNAL(clicked()), this, SLOT(openFile()));
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb2312"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
}
NoteDialog::~NoteDialog()
{
delete ui;
}
// item 若为空,则“确定”按钮不可用
void NoteDialog::on_itemTxt_textChanged()
{
if(ui->itemTxt->toPlainText().isEmpty())
{
ui->OKButton->setEnabled(false);
}
else
{
ui->OKButton->setEnabled(true);
}
}
//alarmCheck控制其子项的可用性
void NoteDialog::on_alarmCheck_toggled(bool checked)
{
if(ui->alarmCheck->isChecked())
{
ui->alarmDEdit->setEnabled(true);
ui->alarmTEdit->setEnabled(true);
ui->musicLine->setEnabled(true);
ui->musicButton->setEnabled(true);
ui->playButton->setEnabled(true);
}
else
{
ui->alarmDEdit->setEnabled(false);
ui->alarmTEdit->setEnabled(false);
ui->musicLine->setEnabled(false);
ui->musicButton->setEnabled(false);
ui->playButton->setEnabled(false);
}
}
//浏览本地文件夹,选择音乐文件作为闹钟声音
void NoteDialog::openFile(const QString &path)
{
QString fileName = path;
if (fileName.isNull())
fileName = QFileDialog::getOpenFileName(this,
"打开音乐文件", "", "WAV格式 ( *.wav)");
ui->musicLine->setText(fileName);
}
//播放闹钟声音,控制playButton状态
void NoteDialog::on_playButton_clicked()
{
static int iCountMusic = 0;
iCountMusic++;
QIcon icon1;
icon1.addPixmap(QPixmap(QString::fromUtf8(":/new/prefix1/imgs/play.png")),
QIcon::Normal,
QIcon::Off);
QIcon icon2;
icon2.addPixmap(QPixmap(QString::fromUtf8(":/new/prefix1/imgs/stop.png")),
QIcon::Normal,
QIcon::Off);
QSound music(ui->musicLine->text());
if(iCountMusic%2 == 1)
{
ui->playButton->setIcon(icon2);
music.play();
}
else if(iCountMusic%2 == 0)
{
ui->playButton->setIcon(icon1);
music.stop();
}
}
void NoteDialog::on_itemCombo_currentIndexChanged(int index)
{
if(index == ui->itemCombo->count()-1)
{
addDialog aDialog(this);
if(aDialog.exec())
{
QString str = aDialog.getText();
ui->itemCombo->insertItem(0, str);
}
}
}