source: smplayer/trunk/src/filepropertiesdialog.cpp@ 154

Last change on this file since 154 was 142, checked in by Silvan Scherrer, 13 years ago

SMPlayer: update trunk to 0.8.5

  • Property svn:eol-style set to LF
File size: 5.8 KB
Line 
1/* smplayer, GUI front-end for mplayer.
2 Copyright (C) 2006-2013 Ricardo Villalba <[email protected]>
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17*/
18
19#include "filepropertiesdialog.h"
20#include <QListWidget>
21#include <QLineEdit>
22#include <QTextEdit>
23#include <QPushButton>
24#include "images.h"
25#include "infofile.h"
26
27
28FilePropertiesDialog::FilePropertiesDialog( QWidget* parent, Qt::WindowFlags f )
29 : QDialog(parent, f)
30{
31 setupUi(this);
32
33 // Setup buttons
34 okButton = buttonBox->button(QDialogButtonBox::Ok);
35 cancelButton = buttonBox->button(QDialogButtonBox::Cancel);
36 applyButton = buttonBox->button(QDialogButtonBox::Apply);
37 connect( applyButton, SIGNAL(clicked()), this, SLOT(apply()) );
38
39 codecs_set = FALSE;
40
41 // Read codec info from InfoReader:
42 InfoReader *i = InfoReader::obj();
43 setCodecs( i->vcList(), i->acList(), i->demuxerList() );
44
45 retranslateStrings();
46}
47
48FilePropertiesDialog::~FilePropertiesDialog() {
49}
50
51void FilePropertiesDialog::setMediaData(MediaData md) {
52 media_data = md;
53 showInfo();
54}
55
56void FilePropertiesDialog::showInfo() {
57 InfoFile info;
58 info_edit->setText( info.getInfo(media_data) );
59}
60
61void FilePropertiesDialog::retranslateStrings() {
62 retranslateUi(this);
63
64 setWindowIcon( Images::icon("logo") );
65
66 showInfo();
67
68 // Qt 4.2 doesn't update the buttons' text
69#if QT_VERSION < 0x040300
70 okButton->setText( tr("OK") );
71 cancelButton->setText( tr("Cancel") );
72 applyButton->setText( tr("Apply") );
73#endif
74
75}
76
77void FilePropertiesDialog::accept() {
78 qDebug("FilePropertiesDialog::accept");
79
80 hide();
81 setResult( QDialog::Accepted );
82 emit applied();
83}
84
85void FilePropertiesDialog::apply() {
86 qDebug("FilePropertiesDialog::apply");
87
88 setResult( QDialog::Accepted );
89 emit applied();
90}
91
92void FilePropertiesDialog::setCodecs(InfoList vc, InfoList ac, InfoList demuxer)
93{
94 vclist = vc;
95 aclist = ac;
96 demuxerlist = demuxer;
97
98 InfoList::iterator it;
99
100 for ( it = vclist.begin(); it != vclist.end(); ++it ) {
101 vc_listbox->addItem( (*it).name() +" - "+ (*it).desc() );
102 }
103
104 for ( it = aclist.begin(); it != aclist.end(); ++it ) {
105 ac_listbox->addItem( (*it).name() +" - "+ (*it).desc() );
106 }
107
108 for ( it = demuxerlist.begin(); it != demuxerlist.end(); ++it ) {
109 demuxer_listbox->addItem( (*it).name() +" - "+ (*it).desc() );
110 }
111
112 codecs_set = TRUE;
113}
114
115void FilePropertiesDialog::setDemuxer(QString demuxer, QString original_demuxer) {
116 qDebug("FilePropertiesDialog::setDemuxer");
117 if (!original_demuxer.isEmpty()) orig_demuxer = original_demuxer;
118 int pos = find(demuxer, demuxerlist );
119 if (pos != -1) demuxer_listbox->setCurrentRow(pos);
120
121 qDebug(" * demuxer: '%s', pos: %d", demuxer.toUtf8().data(), pos );
122}
123
124QString FilePropertiesDialog::demuxer() {