From 80fc271b9d987e61ccd919382ee8d48ef2a37aa4 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 8 Aug 2009 15:47:48 +0000 Subject: ffmpeg plugin: added unified details dialog git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1125 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/ffmpeg/detailsdialog.cpp | 65 +++++++++++------------------- 1 file changed, 23 insertions(+), 42 deletions(-) (limited to 'src/plugins/Input/ffmpeg/detailsdialog.cpp') diff --git a/src/plugins/Input/ffmpeg/detailsdialog.cpp b/src/plugins/Input/ffmpeg/detailsdialog.cpp index ce268bf8b..45265ca0a 100644 --- a/src/plugins/Input/ffmpeg/detailsdialog.cpp +++ b/src/plugins/Input/ffmpeg/detailsdialog.cpp @@ -17,7 +17,6 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ - extern "C"{ #if defined HAVE_FFMPEG_AVFORMAT_H #include @@ -37,24 +36,19 @@ extern "C"{ } #include +#include #include "detailsdialog.h" DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) - : QDialog(parent) + : AbstractDetailsDialog(parent) { - ui.setupUi(this); - setAttribute(Qt::WA_DeleteOnClose); m_path = path; - setWindowTitle (path.section('/',-1)); - path.section('/',-1); - - ui.pathLineEdit->setText(m_path); - if(QFile::exists(m_path)) + if (QFile::exists(m_path)) loadInfo(); + hideSaveButton(); } - DetailsDialog::~DetailsDialog() {} @@ -68,50 +62,37 @@ void DetailsDialog::loadInfo() return; av_find_stream_info(in); av_read_play(in); - QString string = QString::fromUtf8(in->title).trimmed(); - ui.titleLineEdit->setText(string); - string = QString::fromUtf8(in->author).trimmed(); - ui.artistLineEdit->setText(string); - string = QString::fromUtf8(in->album).trimmed(); - ui.albumLineEdit->setText(string); - string = QString::fromUtf8(in->comment).trimmed(); - ui.commentLineEdit->setText(string); - string = QString("%1").arg(in->year); - ui.yearLineEdit->setText(string); - string = QString("%1").arg(in->track); - ui.trackLineEdit->setText(string); - string = QString::fromUtf8(in->genre).trimmed(); - ui.genreLineEdit->setText(string); - QString text; - text = QString("%1").arg(int(in->duration/AV_TIME_BASE)/60); + //tags + setMetaData(Qmmp::TITLE, QString::fromUtf8(in->title).trimmed()); + setMetaData(Qmmp::ARTIST, QString::fromUtf8(in->author).trimmed()); + setMetaData(Qmmp::ALBUM, QString::fromUtf8(in->album).trimmed()); + setMetaData(Qmmp::COMMENT, QString::fromUtf8(in->comment).trimmed()); + setMetaData(Qmmp::GENRE, QString::fromUtf8(in->genre).trimmed()); + setMetaData(Qmmp::URL, m_path); + setMetaData(Qmmp::YEAR, in->year); + setMetaData(Qmmp::TRACK, in->track); + + //audio properties + QMap ap; + QString text = QString("%1").arg(int(in->duration/AV_TIME_BASE)/60); text +=":"+QString("%1").arg(int(in->duration/AV_TIME_BASE)%60,2,10,QChar('0')); - ui.lengthLabel->setText(text); - - - text = QString("%1").arg(in->file_size/1024)+" "+tr("KB"); - ui.fileSizeLabel->setText(text); - text = QString("%1").arg(in->bit_rate/1000); - ui.bitrateLabel->setText(text+" "+tr("kbps")); + ap.insert(tr("Length"), text); + ap.insert(tr("File size"), QString("%1 ").arg(in->file_size/1024)+" "+tr("KB")); + ap.insert(tr("Bitrate"), QString("%1 "+tr("kbps")).arg(in->bit_rate/1000)); AVCodecContext *c = 0; uint wma_idx; - for (wma_idx = 0; wma_idx < in->nb_streams; wma_idx++) { c = in->streams[wma_idx]->codec; if (c->codec_type == CODEC_TYPE_AUDIO) break; } - if (c) { - text = QString("%1").arg(c->sample_rate); - ui.sampleRateLabel->setText(text+" "+tr("Hz")); - text = QString("%1").arg(c->channels); - ui.channelsLabel->setText(text); + ap.insert(tr("Samplerate"), QString("%1 " + tr("Hz")).arg(c->sample_rate)); + ap.insert(tr("Channels"), QString("%1").arg(c->channels)); } - av_close_input_file(in); + setAudioProperties(ap); } - - -- cgit v1.2.3-13-gbd6f