// // C++ Implementation: k9dvdtitleset // // Description: // // // Author: Jean-Michel PETIT , (C) 2006 // // Copyright: See COPYING file that comes with this distribution // // #include "k9dvdtitleset.h" #include #include #include #include #include #include k9DVDTitleset::k9DVDTitleset( uint _num,uint32_t _size) { m_num=_num; m_size=_size; m_selected=false; m_updating=false; for (uint i=0;i<8;i++) m_audioStreams[i]=false; }; const TQString k9DVDTitleset::getsize_mb() { double size_mb=(double)m_size /512; TQString c; c.sprintf("%.2f",size_mb); return c; } int k9DVDTitleset::getnum() { return m_num; } void k9DVDTitleset::add(k9DVDTitle * _title) { titles.append(_title); } int k9DVDTitleset::count() { return titles.count(); } k9DVDTitle * k9DVDTitleset::gettitle(uint _pos) { return titles.at(_pos); } uint32_t k9DVDTitleset::getsize() { return m_size; } bool k9DVDTitleset::getselected() { return m_selected; } void k9DVDTitleset::setselected(bool _state) { // selectionner / selectionner tous les titres for (int i=0; igetaudioStreamCount();j++) title->getaudioStream(j)->setselected(_state); for (int j=0;jgetsubPictureCount();j++) title->getsubtitle(j)->setselected(_state); title->setforceSelection(_state); } m_selected=_state;; } void k9DVDTitleset::updateSelection() { if (m_updating) return; m_updating=true; bool selected=m_selected; m_selected=false; //check if at least on title is selected for (int i=0; iisSelected() && title->getIndexed()) m_selected=true; } //if titleset selected, we select all features. otherwise they are unselected if (selected !=m_selected) for (int i=0; igetIndexed() && title->isSelected()) for (uint iTitle=0;iTitle getTitles().count();iTitle++) { k9DVDTitle *title2=title->getTitles().at(iTitle); for (int j=0; j getaudioStreamCount();j++) title2->getaudioStream(j)->setselected(title->getaudioStream(j)->getselected()); for (int j=0;jgetsubPictureCount();j++) title2->getsubtitle(j)->setselected(title2->getsubtitle(j)->getselected()); title2->setforceSelection(true); } } m_updating=false; } void k9DVDTitleset::setAudio(int _id,bool _selected) { m_audioStreams[_id -1]=_selected; } int k9DVDTitleset::getNewAudioStreamId(int _oldId) { int newId=0; //Returns the new stream Id, only if the stream is selected. Otherwise, returns 0 if (m_audioStreams[_oldId-1]) { /* for (int i=0; i<_oldId;i++) { if (m_audioStreams[i]) newId++; } */ return _oldId; } return newId; } #include "k9dvdtitleset.moc"