Example #1
0
bool PlaylistDialog::loadListByFileName( QString filename )
{
	Playlist* pPlaylist = Playlist::load ( filename );
	if ( ! pPlaylist ) {
		_ERRORLOG( "Error loading the playlist" );
		return 0;
	}

	Preferences::get_instance()->setLastPlaylistFilename( filename );
	Hydrogen* pEngine = Hydrogen::get_instance();

	if ( pEngine->m_PlayList.size() > 0 ) {
		QTreeWidget* m_pPlaylist = m_pPlaylistTree;
		m_pPlaylist->clear();

		for ( uint i = 0; i < pEngine->m_PlayList.size(); ++i ){
			QTreeWidgetItem* m_pPlaylistItem = new QTreeWidgetItem ( m_pPlaylistTree );
			m_pPlaylistItem->setText ( 0, pEngine->m_PlayList[i].m_hFile );
			m_pPlaylistItem->setText ( 1, pEngine->m_PlayList[i].m_hScript );

			if ( pEngine->m_PlayList[i].m_hScriptEnabled == "Use Script" ) {
				m_pPlaylistItem->setCheckState( 2, Qt::Checked );
			} else {
				m_pPlaylistItem->setCheckState( 2, Qt::Unchecked );
			}
		}

		QTreeWidgetItem* m_pPlaylistItem = m_pPlaylist->topLevelItem ( 0 );
		m_pPlaylist->setCurrentItem ( m_pPlaylistItem );
		pPlaylist->setSelectedSongNr( 0 );
		setWindowTitle ( trUtf8 ( "Playlist Browser" ) + QString(" - ") + pPlaylist->get_filename() );
	}

	return 1;
}
Example #2
0
void PlaylistDialog::o_downBClicked()
{
	timer->stop();
	Playlist* pList = Playlist::get_instance();

	QTreeWidget* m_pPlaylist = m_pPlaylistTree;
	int length = m_pPlaylist->topLevelItemCount();
	QTreeWidgetItem* m_pPlaylistItem = m_pPlaylistTree->currentItem();
	int index = m_pPlaylist->indexOfTopLevelItem ( m_pPlaylistItem );

	if ( index == length - 1){
		timer->start( 1000 );
		return;
	}


	QTreeWidgetItem* tmpPlaylistItem = m_pPlaylist->takeTopLevelItem ( index );

	m_pPlaylist->insertTopLevelItem ( index +1, tmpPlaylistItem );
	m_pPlaylist->setCurrentItem ( tmpPlaylistItem );

	if ( pList->getSelectedSongNr() >= 0 )
		pList->setSelectedSongNr( pList->getSelectedSongNr() +1 );

	if (pList ->getActiveSongNumber() == index ){
		pList->setActiveSongNumber( pList->getActiveSongNumber() +1 );
	}else if ( pList->getActiveSongNumber() == index +1 ){
		pList->setActiveSongNumber( pList->getActiveSongNumber() -1 );
	}
	updatePlayListVector();

}
Example #3
0
void PlaylistDialog::loadList()
{
	static QString sDirectory =  Preferences::get_instance()->getDataDirectory()  + "playlists/" ;

	QFileDialog fd(this);
	fd.setFileMode ( QFileDialog::ExistingFile );
	fd.setFilter ( "Hydrogen playlist (*.h2playlist)" );
	fd.setDirectory ( sDirectory );
	fd.setWindowTitle ( trUtf8 ( "Load Playlist" ) );

	QString filename;
	if ( fd.exec() != QDialog::Accepted ) return;

	filename = fd.selectedFiles().first();

	Playlist* pPlaylist = Playlist::load( filename );
	if ( ! pPlaylist ) {
		_ERRORLOG( "Error loading the playlist" );
		/* FIXME: get current instance (?) */
		pPlaylist = Playlist::get_instance();
	}

	Hydrogen* pHydrogen = Hydrogen::get_instance();
	if(pHydrogen->m_PlayList.size() > 0) {
		QTreeWidget* m_pPlaylist = m_pPlaylistTree;
		m_pPlaylist->clear();

		for ( uint i = 0; i < pHydrogen->m_PlayList.size(); ++i ){
			QTreeWidgetItem* m_pPlaylistItem = new QTreeWidgetItem ( m_pPlaylistTree );

			if( pHydrogen->m_PlayList[i].m_hFileExists ){
				m_pPlaylistItem->setText ( 0, pHydrogen->m_PlayList[i].m_hFile );
			} else {
				m_pPlaylistItem->setText ( 0, trUtf8("File not found: ") + pHydrogen->m_PlayList[i].m_hFile );
			}

			m_pPlaylistItem->setText ( 1, pHydrogen->m_PlayList[i].m_hScript );

			if ( pHydrogen->m_PlayList[i].m_hScriptEnabled == "Use Script" ) {
				m_pPlaylistItem->setCheckState( 2, Qt::Checked );
			} else {
				m_pPlaylistItem->setCheckState( 2, Qt::Unchecked );
			}
		}

		QTreeWidgetItem* m_pPlaylistItem = m_pPlaylist->topLevelItem ( 0 );
		m_pPlaylist->setCurrentItem ( m_pPlaylistItem );
		pPlaylist->setSelectedSongNr( 0 );
		setWindowTitle ( trUtf8 ( "Playlist Browser" ) + QString(" - ") + pPlaylist->get_filename() );
	}
}
Example #4
-1
void PlaylistDialog::o_upBClicked()
{
	timer->stop();

	Playlist* pPlaylist = Playlist::get_instance();

	QTreeWidget* pPlaylistTree = m_pPlaylistTree;
	QTreeWidgetItem* pPlaylistTreeItem = m_pPlaylistTree->currentItem();
	int index = pPlaylistTree->indexOfTopLevelItem ( pPlaylistTreeItem );

	if (index == 0 ){
		timer->start( 1000 );
		return;
	}

	QTreeWidgetItem* tmpPlaylistItem = pPlaylistTree->takeTopLevelItem ( index );

	pPlaylistTree->insertTopLevelItem ( index -1, tmpPlaylistItem );
	pPlaylistTree->setCurrentItem ( tmpPlaylistItem );

	if ( pPlaylist->getSelectedSongNr() >= 0 ){
		pPlaylist->setSelectedSongNr( pPlaylist->getSelectedSongNr() -1 );
	}

	if ( pPlaylist->getActiveSongNumber() == index ){
		pPlaylist->setActiveSongNumber( pPlaylist->getActiveSongNumber() -1 );
	}else if ( pPlaylist->getActiveSongNumber() == index -1 ){
		pPlaylist->setActiveSongNumber( pPlaylist->getActiveSongNumber() +1 );
	}

	updatePlayListVector();
}