diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 00:32:19 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 00:32:19 +0000 |
commit | 0d382a262c0638d0f572fc37193ccc5ed3dc895f (patch) | |
tree | 8578dcddfce4191f3f7a142a37769df7add48475 /src/k9playbackoptions.cpp | |
download | k9copy-0d382a262c0638d0f572fc37193ccc5ed3dc895f.tar.gz k9copy-0d382a262c0638d0f572fc37193ccc5ed3dc895f.zip |
Added old abandoned version of k9copy
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/k9copy@1091546 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/k9playbackoptions.cpp')
-rw-r--r-- | src/k9playbackoptions.cpp | 223 |
1 files changed, 223 insertions, 0 deletions
diff --git a/src/k9playbackoptions.cpp b/src/k9playbackoptions.cpp new file mode 100644 index 0000000..3bf9715 --- /dev/null +++ b/src/k9playbackoptions.cpp @@ -0,0 +1,223 @@ +// +// C++ Implementation: +// +// Description: +// +// +// Author: Jean-Michel PETIT <[email protected]>, (C) 2006 +// +// Copyright: See COPYING file that comes with this distribution +// +// + + +#include "k9playbackoptions.h" +#include "k9config.h" +#include <kpushbutton.h> +#include <kiconloader.h> + +k9PlaybackOptions::k9PlaybackOptions(k9Main *mainWindow, QWidget* parent, const char* name, WFlags fl) +: PlaybackOptionsw(parent,name,fl) +{ + + setMain( mainWindow); + m_main->setPlaybackOptions(this); + enable(false); + bSeqUp->setPixmap(SmallIcon("1uparrow")); + bSeqDown->setPixmap(SmallIcon("1downarrow")); + k9Config config; + ckMenu->setChecked(config.getKeepMenus()); + ckMenuClick(); + +} + +k9PlaybackOptions::~k9PlaybackOptions() +{ +} + +/*$SPECIALIZATION$*/ + void k9PlaybackOptions::setMain(k9Main* _value) { + m_main = _value; m_dvd=m_main->dvd; +} + + +void k9PlaybackOptions::fillTitleList() { + QString txt=lbSequence->currentText(); + + lbSequence->clear(); + k9DVDTitle *title=m_dvd->getstart(); + + bool found=title !=NULL; + //Reconstitution de l'ordre de lecture à partir des titres du DVD + while (found) { + if (title->isSelected()) { + lbItem *item=new lbItem(lbSequence,title->getname()); + item->setTitle(title); + if (title->getname()==txt) + lbSequence->setCurrentItem(item); + } + title=title->getnextTitle(); + found=title!=NULL; + } + + + for (int i=0;i<m_dvd->gettitleCount();i++) { + k9DVDTitle* l_track=m_dvd->gettitle(i); + if (l_track->getIndexed()) { + QString sTitle=l_track->getname(); + if(l_track->isSelected()) { + bool foundtitle=false; + for (uint j=0; j<lbSequence->count();j++) { + lbItem *tmp=(lbItem*)lbSequence->item(j); + if (tmp->getTitle() == l_track) + foundtitle=true; + } + if (!foundtitle) { + lbItem *item=new lbItem(lbSequence,sTitle); + item->setTitle(l_track); + if (sTitle==txt) + lbSequence->setCurrentItem(item); + } + } + } + } + if (lbSequence->currentItem()==-1) + lbSequence->setCurrentItem(0); + setSequence(); + enable(!ckMenu->isChecked() ); + +} + +void k9PlaybackOptions::ckMenuClick() { + + if (m_main!=NULL) { + enable((!ckMenu->isChecked()) && m_dvd->getopened()); + m_main->updateFactor(); + } else + enable(false); +} + +void k9PlaybackOptions::bSeqUpClick() { + int cur=lbSequence->currentItem(); + if (cur >0) { + lbItem *lbi=(lbItem*)lbSequence->item(cur); + lbSequence->takeItem(lbi); + lbSequence->insertItem(lbi,cur-1); + lbSequence->setCurrentItem(lbi); + } + setSequence(); +} + +void k9PlaybackOptions::bSeqDownClick() { + uint cur=lbSequence->currentItem(); + if (cur <lbSequence->count()) { + lbItem *lbi=(lbItem*)lbSequence->item(cur); + lbSequence->takeItem(lbi); + lbSequence->insertItem(lbi,cur+1); + lbSequence->setCurrentItem(lbi); + } + setSequence(); +} + +void k9PlaybackOptions::setSequence() { + for (int i=0;i <m_dvd->gettitleCount();i++) + m_dvd->gettitle(i)->setnextTitle( NULL); + + lbItem *lbi = (lbItem*)lbSequence->item(lbSequence->topItem()); + if (lbi !=NULL) { + lbItem *lbi2; + m_dvd->setstart(lbi->getTitle()); + for (uint i=0 ; i < lbSequence->count()-1;i++) { + lbi=(lbItem*)lbSequence->item(i); + lbi2=(lbItem*)lbSequence->item(i+1); + lbi->getTitle()->setnextTitle(lbi2->getTitle()); + } + } +} + +void k9PlaybackOptions::lbSequenceChanged(QListBoxItem *_item) { + if (_item == NULL) + return; + lbItem *lbi=(lbItem*) _item; + k9DVDTitle *title=lbi->getTitle(); + cbDefAudio->clear(); + cbDefSub->clear(); + lstAudioDef.clear(); + lstSubDef.clear(); + cbDefAudio->insertItem(i18n("default")); + lstAudioDef.append(NULL); + cbDefSub->insertItem(i18n("none")); + lstSubDef.append(NULL); + + for (int i=0;i < title->getaudioStreamCount();i++) { + if (title->getaudioStream(i)->getselected()) { +// if ( !title->getDefAudioSet()) +// title->setDefAudio(title->getaudioStream(i)); + cbDefAudio->insertItem( QString("%1 - %2").arg(title->getaudioStream(i)->getID()).arg(title->getaudioStream(i)->getlanguage())); + if (title->getaudioStream(i)==title->getDefAudio()) { + cbDefAudio->setCurrentItem(cbDefAudio->count()-1); + } + lstAudioDef.append(title->getaudioStream(i)); + } + } + + for (int i=0;i < title->getsubPictureCount();i++) { + if (title->getsubtitle(i)->getselected()) { + QPixmap icon; + cbDefSub->insertItem(QString("%1 - %2").arg(title->getsubtitle(i)->getID().first()).arg(title->getsubtitle(i)->getlanguage())); + if (title->getsubtitle(i)==title->getDefSubtitle()) { + cbDefSub->setCurrentItem(cbDefSub->count()-1); + } + lstSubDef.append(title->getsubtitle(i)); + } + } + +} + +void k9PlaybackOptions::cbDefAudioActivated(int _index) { + int cur=lbSequence->currentItem(); + lbItem *lbi=(lbItem*)lbSequence->item(cur); + lbi->getTitle()->setDefAudio(lstAudioDef.at(_index)); +} + +void k9PlaybackOptions::cbDefSubActivated(int _index) { + int cur=lbSequence->currentItem(); + lbItem *lbi=(lbItem*)lbSequence->item(cur); + lbi->getTitle()->setDefSubtitle(lstSubDef.at(_index)); +} + +void k9PlaybackOptions::titleRenamed (k9DVDTitle *_title, QString _newName) { + for (uint j=0; j<lbSequence->count();j++) { + lbItem *tmp=(lbItem*)lbSequence->item(j); + if (tmp->getTitle() == _title) { + lbItem *item=new lbItem(NULL,_newName); + item->setTitle(_title); + lbSequence->changeItem(item,j); + break; + } + } + +} + +bool k9PlaybackOptions::withMenus() { + return ckMenu->isChecked(); +} + +void k9PlaybackOptions::setwithMenus(bool _value) { + ckMenu->setChecked(_value); + +} + + +void k9PlaybackOptions::enable(bool _value) { + frPlayback->setEnabled(_value); +} + +void k9PlaybackOptions::clear() { + lbSequence->clear(); + enable(false); +} + + +#include "k9playbackoptions.moc" + |