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); }
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())); }