CrateFeature::CrateFeature(QObject* parent, TrackCollection* pTrackCollection, ConfigObject<ConfigValue>* pConfig) : m_pTrackCollection(pTrackCollection), m_crateDao(pTrackCollection->getCrateDAO()), m_crateTableModel(this, pTrackCollection), m_pConfig(pConfig) { Q_UNUSED(parent); m_pCreateCrateAction = new QAction(tr("New Crate"),this); connect(m_pCreateCrateAction, SIGNAL(triggered()), this, SLOT(slotCreateCrate())); m_pDeleteCrateAction = new QAction(tr("Remove"),this); connect(m_pDeleteCrateAction, SIGNAL(triggered()), this, SLOT(slotDeleteCrate())); m_pRenameCrateAction = new QAction(tr("Rename"),this); connect(m_pRenameCrateAction, SIGNAL(triggered()), this, SLOT(slotRenameCrate())); m_pLockCrateAction = new QAction(tr("Lock"),this); connect(m_pLockCrateAction, SIGNAL(triggered()), this, SLOT(slotToggleCrateLock())); m_pImportPlaylistAction = new QAction(tr("Import Crate"),this); connect(m_pImportPlaylistAction, SIGNAL(triggered()), this, SLOT(slotImportPlaylist())); m_pExportPlaylistAction = new QAction(tr("Export Crate"), this); connect(m_pExportPlaylistAction, SIGNAL(triggered()), this, SLOT(slotExportPlaylist())); m_pDuplicateCrateAction = new QAction(tr("Duplicate Crate"),this); connect(m_pDuplicateCrateAction, SIGNAL(triggered()), this, SLOT(slotDuplicateCrate())); connect(&m_crateDao, SIGNAL(added(int)), this, SLOT(slotCrateTableChanged(int))); connect(&m_crateDao, SIGNAL(deleted(int)), this, SLOT(slotCrateTableChanged(int))); connect(&m_crateDao, SIGNAL(renamed(int)), this, SLOT(slotCrateTableChanged(int))); connect(&m_crateDao, SIGNAL(lockChanged(int)), this, SLOT(slotCrateTableChanged(int))); // construct child model TreeItem *rootItem = new TreeItem(); m_childModel.setRootItem(rootItem); constructChildModel(-1); }
CrateFeature::CrateFeature(QObject* parent, TrackCollection* pTrackCollection, ConfigObject<ConfigValue>* pConfig) : m_pTrackCollection(pTrackCollection), m_crateDao(pTrackCollection->getCrateDAO()), m_crateTableModel(this, pTrackCollection), m_pConfig(pConfig) { Q_UNUSED(parent); m_pCreateCrateAction = new QAction(tr("Create New Crate"),this); connect(m_pCreateCrateAction, SIGNAL(triggered()), this, SLOT(slotCreateCrate())); m_pDeleteCrateAction = new QAction(tr("Remove"),this); connect(m_pDeleteCrateAction, SIGNAL(triggered()), this, SLOT(slotDeleteCrate())); m_pRenameCrateAction = new QAction(tr("Rename"),this); connect(m_pRenameCrateAction, SIGNAL(triggered()), this, SLOT(slotRenameCrate())); m_pLockCrateAction = new QAction(tr("Lock"),this); connect(m_pLockCrateAction, SIGNAL(triggered()), this, SLOT(slotToggleCrateLock())); m_pImportPlaylistAction = new QAction(tr("Import Crate"),this); connect(m_pImportPlaylistAction, SIGNAL(triggered()), this, SLOT(slotImportPlaylist())); m_pExportPlaylistAction = new QAction(tr("Export Crate"), this); connect(m_pExportPlaylistAction, SIGNAL(triggered()), this, SLOT(slotExportPlaylist())); m_pDuplicateCrateAction = new QAction(tr("Duplicate"),this); connect(m_pDuplicateCrateAction, SIGNAL(triggered()), this, SLOT(slotDuplicateCrate())); m_pAnalyzeCrateAction = new QAction(tr("Analyze entire Crate"),this); connect(m_pAnalyzeCrateAction, SIGNAL(triggered()), this, SLOT(slotAnalyzeCrate())); #ifdef __AUTODJCRATES__ m_pAutoDjTrackSource = new QAction(tr("Auto DJ Track Source"),this); m_pAutoDjTrackSource->setCheckable(true); connect(m_pAutoDjTrackSource, SIGNAL(changed()), this, SLOT(slotAutoDjTrackSourceChanged())); #endif // __AUTODJCRATES__ connect(&m_crateDao, SIGNAL(added(int)), this, SLOT(slotCrateTableChanged(int))); connect(&m_crateDao, SIGNAL(deleted(int)), this, SLOT(slotCrateTableChanged(int))); connect(&m_crateDao, SIGNAL(changed(int)), this, SLOT(slotCrateTableChanged(int))); connect(&m_crateDao, SIGNAL(renamed(int,QString)), this, SLOT(slotCrateTableRenamed(int,QString))); connect(&m_crateDao, SIGNAL(lockChanged(int)), this, SLOT(slotCrateTableChanged(int))); // construct child model TreeItem *rootItem = new TreeItem(); m_childModel.setRootItem(rootItem); constructChildModel(-1); }
BasePlaylistFeature::BasePlaylistFeature(QObject* parent, ConfigObject<ConfigValue>* pConfig, TrackCollection* pTrackCollection, QString rootViewName) : LibraryFeature(parent), m_pConfig(pConfig), m_pTrackCollection(pTrackCollection), m_playlistDao(pTrackCollection->getPlaylistDAO()), m_trackDao(pTrackCollection->getTrackDAO()), m_pPlaylistTableModel(NULL), m_rootViewName(rootViewName) { m_pCreatePlaylistAction = new QAction(tr("New Playlist"),this); connect(m_pCreatePlaylistAction, SIGNAL(triggered()), this, SLOT(slotCreatePlaylist())); m_pAddToAutoDJAction = new QAction(tr("Add to Auto DJ Queue (bottom)"), this); connect(m_pAddToAutoDJAction, SIGNAL(triggered()), this, SLOT(slotAddToAutoDJ())); m_pAddToAutoDJTopAction = new QAction(tr("Add to Auto DJ Queue (top)"), this); connect(m_pAddToAutoDJTopAction, SIGNAL(triggered()), this, SLOT(slotAddToAutoDJTop())); m_pDeletePlaylistAction = new QAction(tr("Remove"),this); connect(m_pDeletePlaylistAction, SIGNAL(triggered()), this, SLOT(slotDeletePlaylist())); m_pRenamePlaylistAction = new QAction(tr("Rename"),this); connect(m_pRenamePlaylistAction, SIGNAL(triggered()), this, SLOT(slotRenamePlaylist())); m_pLockPlaylistAction = new QAction(tr("Lock"),this); connect(m_pLockPlaylistAction, SIGNAL(triggered()), this, SLOT(slotTogglePlaylistLock())); m_pImportPlaylistAction = new QAction(tr("Import Playlist"),this); connect(m_pImportPlaylistAction, SIGNAL(triggered()), this, SLOT(slotImportPlaylist())); m_pDuplicatePlaylistAction = new QAction(tr("Duplicate Playlist"), this); connect(m_pDuplicatePlaylistAction, SIGNAL(triggered()), this, SLOT(slotDuplicatePlaylist())); m_pExportPlaylistAction = new QAction(tr("Export Playlist"), this); connect(m_pExportPlaylistAction, SIGNAL(triggered()), this, SLOT(slotExportPlaylist())); m_pAnalyzePlaylistAction = new QAction(tr("Analyze entire Playlist"), this); connect(m_pAnalyzePlaylistAction, SIGNAL(triggered()), this, SLOT(slotAnalyzePlaylist())); connect(&m_playlistDao, SIGNAL(added(int)), this, SLOT(slotPlaylistTableChanged(int))); connect(&m_playlistDao, SIGNAL(deleted(int)), this, SLOT(slotPlaylistTableChanged(int))); connect(&m_playlistDao, SIGNAL(renamed(int,QString)), this, SLOT(slotPlaylistTableRenamed(int,QString))); connect(&m_playlistDao, SIGNAL(lockChanged(int)), this, SLOT(slotPlaylistTableChanged(int))); }
CrateFeature::CrateFeature(Library* pLibrary, TrackCollection* pTrackCollection, UserSettingsPointer pConfig) : LibraryFeature(pConfig), m_pTrackCollection(pTrackCollection), m_crateDao(pTrackCollection->getCrateDAO()), m_crateTableModel(this, pTrackCollection) { m_pCreateCrateAction = new QAction(tr("Create New Crate"),this); connect(m_pCreateCrateAction, SIGNAL(triggered()), this, SLOT(slotCreateCrate())); m_pDeleteCrateAction = new QAction(tr("Remove"),this); connect(m_pDeleteCrateAction, SIGNAL(triggered()), this, SLOT(slotDeleteCrate())); m_pRenameCrateAction = new QAction(tr("Rename"),this); connect(m_pRenameCrateAction, SIGNAL(triggered()), this, SLOT(slotRenameCrate())); m_pLockCrateAction = new QAction(tr("Lock"),this); connect(m_pLockCrateAction, SIGNAL(triggered()), this, SLOT(slotToggleCrateLock())); m_pImportPlaylistAction = new QAction(tr("Import Crate"),this); connect(m_pImportPlaylistAction, SIGNAL(triggered()), this, SLOT(slotImportPlaylist())); m_pCreateImportPlaylistAction = new QAction(tr("Import Crate"), this); connect(m_pCreateImportPlaylistAction, SIGNAL(triggered()), this, SLOT(slotCreateImportCrate())); m_pExportPlaylistAction = new QAction(tr("Export Crate"), this); connect(m_pExportPlaylistAction, SIGNAL(triggered()), this, SLOT(slotExportPlaylist())); m_pExportTrackFilesAction = new QAction(tr("Export Track Files"), this); connect(m_pExportTrackFilesAction, SIGNAL(triggered()), this, SLOT(slotExportTrackFiles())); m_pDuplicateCrateAction = new QAction(tr("Duplicate"),this); connect(m_pDuplicateCrateAction, SIGNAL(triggered()), this, SLOT(slotDuplicateCrate())); m_pAnalyzeCrateAction = new QAction(tr("Analyze entire Crate"),this); connect(m_pAnalyzeCrateAction, SIGNAL(triggered()), this, SLOT(slotAnalyzeCrate())); m_pAutoDjTrackSource = new QAction(tr("Auto DJ Track Source"),this); m_pAutoDjTrackSource->setCheckable(true); connect(m_pAutoDjTrackSource, SIGNAL(changed()), this, SLOT(slotAutoDjTrackSourceChanged())); connect(&m_crateDao, SIGNAL(added(int)), this, SLOT(slotCrateTableChanged(int))); connect(&m_crateDao, SIGNAL(deleted(int)), this, SLOT(slotCrateTableChanged(int))); connect(&m_crateDao, SIGNAL(changed(int)), this, SLOT(slotCrateContentChanged(int))); connect(&m_crateDao, SIGNAL(renamed(int,QString)), this, SLOT(slotCrateTableRenamed(int,QString))); connect(&m_crateDao, SIGNAL(lockChanged(int)), this, SLOT(slotCrateTableChanged(int))); // construct child model TreeItem *rootItem = new TreeItem(); m_childModel.setRootItem(rootItem); constructChildModel(-1); connect(pLibrary, SIGNAL(trackSelected(TrackPointer)), this, SLOT(slotTrackSelected(TrackPointer))); connect(pLibrary, SIGNAL(switchToView(const QString&)), this, SLOT(slotResetSelectedTrack())); }