⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playlistwidget.cpp

📁 Trolltech公司发布的图形界面操作系统。可在qt-embedded-2.3.7平台上编译为嵌入式图形界面操作系统。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	    break;    }}void PlayListWidget::initializeStates(){    d->tbPlay->setOn( mediaPlayerState->playing() );    d->tbLoop->setOn( mediaPlayerState->looping() );    d->tbShuffle->setOn( mediaPlayerState->shuffled() );    d->tbFull->setOn( mediaPlayerState->fullscreen() );    d->tbScale->setOn( mediaPlayerState->scaled() );}void PlayListWidget::readWinAmpPlayListFile( QString filename ){    Config cfg( filename );    // WinAmp .pls file format fields    cfg.setGroup("playlist");        QString playlistName = cfg.readEntry( "PlaylistName", 0 );    QString version = cfg.readEntry( "Version", 0 );    int noOfFiles = cfg.readNumEntry( "NumberOfEntries", 0 );    for ( int i = 0; i < noOfFiles; i++ ) {	QString entryName;	entryName.sprintf( "File%i", i + 1 );	QString File = cfg.readEntry( entryName );	entryName.sprintf( "Title%i", i + 1 );	QString Title = cfg.readEntry( entryName );	DocLnk lnk;	lnk.setFile( File );	lnk.setName( Title );	if ( lnk.isValid() )            addToSelection( lnk );    }}void PlayListWidget::writeWinAmpPlayListFile( QString filename ) const{    Config cfg( filename );    cfg.setGroup("playlist");    int noOfFiles = 0;    d->selectedFiles->first();    do {	const DocLnk *lnk = d->selectedFiles->current();	if ( lnk ) {	    QString entryName;	    entryName.sprintf( "File%i", noOfFiles + 1 );	    cfg.writeEntry( entryName, lnk->file() );	    entryName.sprintf( "Title%i", noOfFiles + 1 );	    cfg.writeEntry( entryName, lnk->name() );	    noOfFiles++;	}    } while ( d->selectedFiles->advanceSelection() );        cfg.writeEntry("NumberOfEntries", noOfFiles );}void PlayListWidget::readPlayList( QString filename ){    Config cfg( filename );    cfg.setGroup("PlayList");        int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );    for ( int i = 0; i < noOfFiles; i++ ) {	QString entryName;	entryName.sprintf( "File%i", i + 1 );	QString linkFile = cfg.readEntry( entryName );	DocLnk lnk( linkFile );	if ( lnk.isValid() )            addToSelection( lnk );    }}void PlayListWidget::writePlayList( QString filename ) const{    Config cfg( filename );    cfg.setGroup("PlayList");    cfg.clearGroup();    int noOfFiles = 0;    d->selectedFiles->first();    do {	const DocLnk *lnk = d->selectedFiles->current();	if ( lnk ) {	    QString entryName;	    entryName.sprintf( "File%i", noOfFiles + 1 );	    cfg.writeEntry( entryName, lnk->linkFile() );	    // if this link does exist, add it so we have the file	    // next time...	    if ( !QFile::exists( lnk->linkFile() ) ) {		// the way writing lnks doesn't really check for out		// of disk space, but check it anyway.		if ( !lnk->writeLink() ) {		    QMessageBox::critical( 0, tr("Out of space"),					   tr( "There was a problem saving "					       "the playlist.\nYour playlist "					       "may be missing some entries\n"					       "the next time you start it." )					   );		}	    }		   	    noOfFiles++;	}    } while ( d->selectedFiles->advanceSelection() );        cfg.writeEntry("NumberOfFiles", noOfFiles );}void PlayListWidget::addToSelection( const DocLnk& lnk ){    d->selectedFiles->addToSelection( lnk );}void PlayListWidget::setDocument(const QString& fileref){    d->ts->pauseLoading();    if ( fileref.isNull() ) {	QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) );	return;    }    d->setDocumentActive = TRUE;    d->setDoc = DocLnk( fileref );    // Start playing    mediaPlayerState->setPlaying( FALSE );    QTimer::singleShot( 1, mediaPlayerState, SLOT( setPlaying() ) );}void PlayListWidget::setActiveWindow(){    mediaPlayerState->setView( mediaPlayerState->view() );}const DocLnk *PlayListWidget::current(){    if ( d->setDocumentActive ) 	return &d->setDoc;    switch ( d->ts->tab() ) {	case TabbedSelector::AudioTab:	    return d->audioFiles->current();	case TabbedSelector::VideoTab:	    return d->videoFiles->current();	case TabbedSelector::PlaylistTab:	    return d->selectedFiles->current();    }    return 0;}bool PlayListWidget::prev(){    if ( d->setDocumentActive ) {        d->setDocumentActive = FALSE;	d->ts->resumeLoading();    }    switch ( d->ts->tab() ) {	case TabbedSelector::AudioTab:	    return d->audioFiles->prev();	case TabbedSelector::VideoTab:	    return d->videoFiles->prev();	case TabbedSelector::PlaylistTab:	    return d->selectedFiles->prev();    }    return FALSE;}bool PlayListWidget::next(){    if ( d->setDocumentActive ) {        d->setDocumentActive = FALSE;	d->ts->resumeLoading();    }    switch ( d->ts->tab() ) {	case TabbedSelector::AudioTab:	    return d->audioFiles->next();	case TabbedSelector::VideoTab:	    return d->videoFiles->next();	case TabbedSelector::PlaylistTab:	    return d->selectedFiles->next();    }    return FALSE;}bool PlayListWidget::first(){    if ( d->setDocumentActive ) {        d->setDocumentActive = FALSE;	d->ts->resumeLoading();    }    switch ( d->ts->tab() ) {	case TabbedSelector::AudioTab:	    return d->audioFiles->first();	case TabbedSelector::VideoTab:	    return d->videoFiles->first();	case TabbedSelector::PlaylistTab:	    return d->selectedFiles->first();    }    return FALSE;}bool PlayListWidget::last(){    if ( d->setDocumentActive ) {        d->setDocumentActive = FALSE;	d->ts->resumeLoading();    }    switch ( d->ts->tab() ) {	case TabbedSelector::AudioTab:	    return d->audioFiles->last();	case TabbedSelector::VideoTab:	    return d->videoFiles->last();	case TabbedSelector::PlaylistTab:	    return d->selectedFiles->last();    }    return FALSE;}void PlayListWidget::saveList(){    QString filename;//  pseudo code//  filename = QLineEdit->getText();        writePlayList( filename + ".playlist" );}void PlayListWidget::loadList(){    QString filename;//  pseudo code//  filename = FileSelector->openFile( "*.playlist" );    readPlayList( filename + ".playlist" );}void PlayListWidget::viewClosed(){    if ( d->setDocumentActive )	qApp->exit();    else	mediaPlayerState->setList();}void PlayListWidget::setView( View view ){    if ( view == ListView ) {	d->setDocumentActive = FALSE;	d->ts->resumeLoading();	mainDocumentWindow->raiseWidget( this );    }}void PlayListWidget::showInfo(){    const DocLnk *cur = current();    if ( cur ) {	MediaFileInfoWidget *infoWidget = new MediaFileInfoWidget( *cur, 0 );	QPEApplication::execDialog( infoWidget );    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -