You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
k9copy/src/k9mp4title.cpp

211 lines
5.3 KiB

//
// C++ Implementation:
//
// Description:
//
//
// Author: Jean-Michel PETIT <k9copy@free.fr>, (C) 2007
//
// Copyright: See COPYING file that comes with this distribution
//
//
#include "k9common.h"
#include "k9mp4title.h"
#include "k9config.h"
#include "k9titleencopt.h"
#include "k9dvdtitle.h"
#include <tqcombobox.h>
#include <tqspinbox.h>
#include <tqcheckbox.h>
#include <tqlineedit.h>
#include <tqstringlist.h>
#include <tdelocale.h>
#include <tqlabel.h>
#include <tqframe.h>
#include <tqtabwidget.h>
#include <tqradiobutton.h>
k9MP4Title::k9MP4Title(TQWidget* parent, const char* name, WFlags fl)
: prefMPEG4(parent,name,fl)
{
m_titleEncOpt=NULL;
load();
ckUseCache->hide();
tabWidget->setEnabled(false);
lTitle->setText(i18n("Select a Title in the treeview..."));
}
k9MP4Title::~k9MP4Title()
{
}
void k9MP4Title::load() {
k9Config config;
sbMp4Size->setValue(config.getPrefMp4Size());
sbMp4Size->setSuffix(" "+ i18n("MB"));
sbMp4NumberCD->setValue(config.getPrefMp4NumberCD());
sbAudioGain->setValue(config.getPrefMp4AudioGain());
leMp4Width->setText(config.getPrefMp4Width());
leMp4Height->setText(config.getPrefMp4Height());
ckMp4AspectRatio->setChecked(config.getPrefMp4AspectRatio());
leMp4Height->setEnabled(!ckMp4AspectRatio->isChecked());
ck2passes->setChecked(config.getPrefMp42Passes());
ckUseCache->setChecked(config.getPrefUseCellCache());
leMp4AudioBitrate->setText(config.getPrefMp4AudioBitrate());
leMp4VideoBitrate->setText(config.getPrefMp4VideoBitrate());
TQStringList m_codecLabels=config.getCodecLabels();
TQStringList m_codecLabelsAudio=config.getCodecLabelsAudio();
cbMp4Codec->clear();
cbMp4Codec->insertStringList(m_codecLabels);
cbMp4Codec->setCurrentItem(config.getPrefMp4Codec());
cbMp4AudioCodec->clear();
cbMp4AudioCodec->insertStringList(m_codecLabelsAudio);
cbMp4AudioCodec->setCurrentItem(config.getPrefMp4AudioCodec());
cbMp4AudioCodec->setCurrentItem(config.getPrefMp4AudioCodec());
if(config.getPrefMp4VideoBitrate() =="")
rbSize->setChecked(true);
else
rbBitrate->setChecked(true);
}
/*$SPECIALIZATION$*/
void k9MP4Title::ckMp4AspectRatioClick()
{
leMp4Height->setEnabled(!ckMp4AspectRatio->isChecked());
if (m_titleEncOpt)
m_titleEncOpt->setKeepAspectRatio(ckMp4AspectRatio->isChecked());
}
void k9MP4Title::selectionChanged(k9DVD *_dvd,bool) {
if (_dvd==NULL)
m_titleEncOpt=NULL;
if (m_titleEncOpt)
tabWidget->setEnabled(m_titleEncOpt->getTitle()->isSelected());;
}
void k9MP4Title::titleChanged( k9DVDTitle *_title) {
if (_title==NULL) {
m_titleEncOpt=NULL;
tabWidget->setEnabled(false);
lTitle->setText(i18n("Select a Title in the treeview..."));
}
else {
lTitle->setText(_title->getname());
tabWidget->setEnabled( _title->isSelected());
m_titleEncOpt=_title->getEncOpt();
k9TitleEncOpt *opt=m_titleEncOpt;
sbMp4Size->setValue(opt->getMaxSize());
sbMp4NumberCD->setValue(opt->getNumParts() );
sbAudioGain->setValue(opt->getAudioGain() );
leMp4Width->setText(opt->getWidth() );
leMp4Height->setText(opt->getHeight());
ckMp4AspectRatio->setChecked(opt->getKeepAspectRatio());
leMp4Height->setEnabled(!ckMp4AspectRatio->isChecked());
ck2passes->setChecked(opt->get2Passes());
ckUseCache->setChecked(opt->getUseCache());
leMp4AudioBitrate->setText(opt->getAudioBr());
leMp4VideoBitrate->setText(opt->getVideoBr());
cbMp4Codec->setCurrentItem(opt->getCodec() );
cbMp4AudioCodec->setCurrentItem(opt->getAudioCodec());
if(opt->getVideoBr() =="")
rbSize->setChecked(true);
else
rbBitrate->setChecked(true);
}
leMp4VideoBitrate->setEnabled(rbBitrate->isChecked());
sbMp4Size->setEnabled(rbSize->isChecked());
}
void k9MP4Title::cbMp4CodecActivated( int _value) {
if (m_titleEncOpt)
m_titleEncOpt->setCodec(_value);
}
void k9MP4Title::cbMp4AudioCodecActivated( int _value) {
if (m_titleEncOpt)
m_titleEncOpt->setAudioCodec(_value);
}
void k9MP4Title::ck2passesClicked() {
if (m_titleEncOpt)
m_titleEncOpt->set2Passes(ck2passes->isChecked());
}
void k9MP4Title::ckUseCacheClick() {
if (m_titleEncOpt)
m_titleEncOpt->setUseCache(ckUseCache->isChecked());
}
void k9MP4Title::sbMp4SizeValueChanged( int _value) {
if (m_titleEncOpt)
m_titleEncOpt->setMaxSize(_value);
}
void k9MP4Title::sbMp4NumberCDValueChanged( int _value ) {
if (m_titleEncOpt)
m_titleEncOpt->setNumParts(_value);
}
void k9MP4Title::sbAudioGainValueChanged( int _value ) {
if (m_titleEncOpt)
m_titleEncOpt->setAudioGain(_value);
}
void k9MP4Title::leMp4WidthTextChanged( const TQString & _value) {
if (m_titleEncOpt)
m_titleEncOpt->setWidth(_value);
}
void k9MP4Title::leMp4HeightTextChanged( const TQString & _value) {
if (m_titleEncOpt)
m_titleEncOpt->setHeight(_value);
}
void k9MP4Title::leMp4AudioBitrateTextChanged( const TQString & _value) {
if (m_titleEncOpt)
m_titleEncOpt->setAudioBr(_value);
}
void k9MP4Title::leMp4VideoBitrateTextChanged( const TQString & _value) {
if (m_titleEncOpt)
m_titleEncOpt->setVideoBr(_value);
}
void k9MP4Title::rgVideoSizeChanged(){
if (rbSize->isChecked())
leMp4VideoBitrate->setText("");
leMp4VideoBitrate->setEnabled(rbBitrate->isChecked());
sbMp4Size->setEnabled(rbSize->isChecked());
}
#include "k9mp4title.moc"