void BansheeFeature::activate() { //qDebug("BansheeFeature::activate()"); if (!m_isActivated) { if (!QFile::exists(m_databaseFile)) { // Fall back to default m_databaseFile = BansheeDbConnection::getDatabaseFile(); } if (!QFile::exists(m_databaseFile)) { QMessageBox::warning( NULL, tr("Error loading Banshee database"), tr("Banshee database file not found at\n") + m_databaseFile); qDebug() << m_databaseFile << "does not exist"; } if (!m_connection.open(m_databaseFile)) { QMessageBox::warning( NULL, tr("Error loading Banshee database"), tr("There was an error loading your Banshee database at\n") + m_databaseFile); return; } qDebug() << "Using Banshee Database Schema V" << m_connection.getSchemaVersion(); m_isActivated = true; TreeItem* playlist_root = new TreeItem(); QList<struct BansheeDbConnection::Playlist> list = m_connection.getPlaylists(); struct BansheeDbConnection::Playlist playlist; foreach (playlist, list) { qDebug() << playlist.name; // append the playlist to the child model TreeItem *item = new TreeItem(playlist.name, playlist.playlistId, this, playlist_root); playlist_root->appendChild(item); } if (playlist_root) { m_childModel.setRootItem(playlist_root); if (m_isActivated) { activate(); } qDebug() << "Banshee library loaded: success"; } //calls a slot in the sidebarmodel such that 'isLoading' is removed from the feature title. m_title = tr("Banshee"); emit(featureLoadingFinished(this)); }
void BansheeFeature::activate() { //qDebug("BansheeFeature::activate()"); if (!m_isActivated) { if (!QFile::exists(m_databaseFile)) { // Fall back to default m_databaseFile = BansheeDbConnection::getDatabaseFile(); } if (!QFile::exists(m_databaseFile)) { QMessageBox::warning( NULL, tr("Error loading Banshee database"), tr("Banshee database file not found at\n") + m_databaseFile); qDebug() << m_databaseFile << "does not exist"; } if (!m_connection.open(m_databaseFile)) { QMessageBox::warning( NULL, tr("Error loading Banshee database"), tr("There was an error loading your Banshee database at\n") + m_databaseFile); return; } qDebug() << "Using Banshee Database Schema V" << m_connection.getSchemaVersion(); m_isActivated = true; auto pRootItem = std::make_unique<TreeItem>(this); QList<BansheeDbConnection::Playlist> playlists = m_connection.getPlaylists(); for (const BansheeDbConnection::Playlist& playlist: playlists) { qDebug() << playlist.name; // append the playlist to the child model pRootItem->appendChild(playlist.name, playlist.playlistId); } m_childModel.setRootItem(std::move(pRootItem)); if (m_isActivated) { activate(); } qDebug() << "Banshee library loaded: success"; //calls a slot in the sidebarmodel such that 'isLoading' is removed from the feature title. m_title = tr("Banshee"); emit(featureLoadingFinished(this)); } m_pBansheePlaylistModel->setTableModel(0); // Gets the master playlist emit(showTrackModel(m_pBansheePlaylistModel)); emit(enableCoverArtDisplay(false)); }
void RhythmboxFeature::onTrackCollectionLoaded() { TreeItem* root = m_track_future.result(); if (root) { m_childModel.setRootItem(root); // Tell the rhythmbox track source that it should re-build its index. m_pTrackCollection->getTrackSource("rhythmbox")->buildIndex(); //m_pRhythmboxTrackModel->select(); } else { qDebug() << "Rhythmbox Playlists loaded: false"; } // calls a slot in the sidebarmodel such that 'isLoading' is removed from // the feature title. m_title = tr("Rhythmbox"); emit(featureLoadingFinished(this)); activate(); }
void TraktorFeature::onTrackCollectionLoaded() { TreeItem* root = m_future.result(); if (root) { m_childModel.setRootItem(root); // Tell the rhythmbox track source that it should re-build its index. m_pTrackCollection->getTrackSource("traktor")->buildIndex(); //m_pTraktorTableModel->select(); emit(showTrackModel(m_pTraktorTableModel)); qDebug() << "Traktor library loaded successfully"; } else { QMessageBox::warning( NULL, tr("Error Loading Traktor Library"), tr("There was an error loading your Traktor library. Some of " "your Traktor tracks or playlists may not have loaded.")); } // calls a slot in the sidebarmodel such that 'isLoading' is removed from the feature title. m_title = tr("Traktor"); emit(featureLoadingFinished(this)); activate(); }
void ITunesFeature::onTrackCollectionLoaded() { std::unique_ptr<TreeItem> root(m_future.result()); if (root) { m_childModel.setRootItem(std::move(root)); // Tell the rhythmbox track source that it should re-build its index. m_trackSource->buildIndex(); //m_pITunesTrackModel->select(); emit(showTrackModel(m_pITunesTrackModel)); qDebug() << "Itunes library loaded: success"; } else { QMessageBox::warning( NULL, tr("Error Loading iTunes Library"), tr("There was an error loading your iTunes library. Some of " "your iTunes tracks or playlists may not have loaded.")); } // calls a slot in the sidebarmodel such that 'isLoading' is removed from the feature title. m_title = tr("iTunes"); emit(featureLoadingFinished(this)); activate(); }