diff -urN -x '*cscope*' ./mixxx-1.10.0final/src/build.h ./mixxx-1.10.0/src/build.h --- ./mixxx-1.10.0final/src/build.h 2012-02-09 22:39:14.511227657 +0530 +++ ./mixxx-1.10.0/src/build.h 1970-01-01 05:30:00.000000000 +0530 @@ -1,3 +0,0 @@ -#define BUILD_BRANCH "" -#define BUILD_REV "" -#define BUILD_FLAGS "hifieq mad midiscript optimize qdebug shoutcast verbose vinylcontrol" diff -urN -x '*cscope*' ./mixxx-1.10.0final/src/library/cratetablemodel.cpp ./mixxx-1.10.0/src/library/cratetablemodel.cpp --- ./mixxx-1.10.0final/src/library/cratetablemodel.cpp 2011-12-24 08:23:18.000000000 +0530 +++ ./mixxx-1.10.0/src/library/cratetablemodel.cpp 2012-02-20 15:08:32.885922888 +0530 @@ -169,7 +169,8 @@ | TRACKMODELCAPS_RELOADMETADATA | TRACKMODELCAPS_LOADTODECK | TRACKMODELCAPS_LOADTOSAMPLER - | TRACKMODELCAPS_REMOVE; + | TRACKMODELCAPS_REMOVE + | TRACKMODELCAPS_RESETPLAYED; CrateDAO& crateDao = m_pTrackCollection->getCrateDAO(); bool locked = crateDao.isCrateLocked(m_iCrateId); diff -urN -x '*cscope*' ./mixxx-1.10.0final/src/library/librarytablemodel.cpp ./mixxx-1.10.0/src/library/librarytablemodel.cpp --- ./mixxx-1.10.0final/src/library/librarytablemodel.cpp 2011-12-24 08:23:19.000000000 +0530 +++ ./mixxx-1.10.0/src/library/librarytablemodel.cpp 2012-02-20 14:54:04.889926366 +0530 @@ -137,6 +137,7 @@ } TrackModel::CapabilitiesFlags LibraryTableModel::getCapabilities() const { + //qDebug()<<"Library table model getCapabilities called"; return TRACKMODELCAPS_NONE | TRACKMODELCAPS_RECEIVEDROPS | TRACKMODELCAPS_ADDTOPLAYLIST @@ -145,5 +146,6 @@ | TRACKMODELCAPS_RELOADMETADATA | TRACKMODELCAPS_LOADTODECK | TRACKMODELCAPS_LOADTOSAMPLER - | TRACKMODELCAPS_REMOVE; + | TRACKMODELCAPS_REMOVE + | TRACKMODELCAPS_RESETPLAYED; } diff -urN -x '*cscope*' ./mixxx-1.10.0final/src/library/playlisttablemodel.cpp ./mixxx-1.10.0/src/library/playlisttablemodel.cpp --- ./mixxx-1.10.0final/src/library/playlisttablemodel.cpp 2011-12-24 08:23:20.000000000 +0530 +++ ./mixxx-1.10.0/src/library/playlisttablemodel.cpp 2012-02-20 15:09:38.773926479 +0530 @@ -318,7 +318,8 @@ | TRACKMODELCAPS_RELOADMETADATA | TRACKMODELCAPS_LOADTODECK | TRACKMODELCAPS_LOADTOSAMPLER - | TRACKMODELCAPS_REMOVE; + | TRACKMODELCAPS_REMOVE + | TRACKMODELCAPS_RESETPLAYED; // Only allow Add to AutoDJ if we aren't currently showing the AutoDJ queue. if (m_iPlaylistId != m_playlistDao.getPlaylistIdFromName(AUTODJ_TABLE)) { diff -urN -x '*cscope*' ./mixxx-1.10.0final/src/library/trackmodel.h ./mixxx-1.10.0/src/library/trackmodel.h --- ./mixxx-1.10.0final/src/library/trackmodel.h 2011-12-24 08:23:20.000000000 +0530 +++ ./mixxx-1.10.0/src/library/trackmodel.h 2012-02-20 14:37:56.794930286 +0530 @@ -35,6 +35,7 @@ TRACKMODELCAPS_LOADTOSAMPLER = 0x0100, TRACKMODELCAPS_REMOVE = 0x0200, TRACKMODELCAPS_RELOCATE = 0x0400, + TRACKMODELCAPS_RESETPLAYED = 0x0800, }; typedef int CapabilitiesFlags; /** Enables us to do ORing */ @@ -83,6 +84,7 @@ return NULL; } virtual TrackModel::CapabilitiesFlags getCapabilities() const { + qDebug()<<"TrackModel getCapabilities() called"; return TRACKMODELCAPS_NONE; } virtual QString getModelSetting(QString name) { diff -urN -x '*cscope*' ./mixxx-1.10.0final/src/widget/wtracktableview.cpp ./mixxx-1.10.0/src/widget/wtracktableview.cpp --- ./mixxx-1.10.0final/src/widget/wtracktableview.cpp 2011-12-24 08:23:20.000000000 +0530 +++ ./mixxx-1.10.0/src/widget/wtracktableview.cpp 2012-02-17 23:54:12.601950874 +0530 @@ -261,6 +261,10 @@ m_pReloadMetadataAct = new QAction(tr("Reload Track Metadata"), this); connect(m_pReloadMetadataAct, SIGNAL(triggered()), this, SLOT(slotReloadTrackMetadata())); + + m_pResetPlayed = new QAction(tr("Reset Played Count"), this); + connect(m_pResetPlayed, SIGNAL(triggered()), this, SLOT(slotResetPlayed())); + } void WTrackTableView::slotMouseDoubleClicked(const QModelIndex &index) { @@ -310,6 +314,25 @@ } } +void WTrackTableView::slotResetPlayed(){ + //qDebug()<<"slotResetPlayed called"; + QModelIndexList indices = selectionModel()->selectedRows(); + + TrackModel* trackModel = getTrackModel(); + + if (trackModel == NULL) { + return; + } + + foreach (QModelIndex index, indices) { + TrackPointer pTrack = trackModel->getTrack(index); + if (pTrack) { + pTrack->setTimesPlayed(0); + } + } + +} + void WTrackTableView::slotShowTrackInfo() { QModelIndexList indices = selectionModel()->selectedRows(); @@ -453,6 +476,12 @@ m_pPropertiesAct->setEnabled(oneSongSelected); m_pMenu->addAction(m_pPropertiesAct); + if(modelHasCapabilities(TrackModel::TRACKMODELCAPS_RESETPLAYED)){ + m_pMenu->addAction(m_pResetPlayed); + } + else{ + qDebug()<<"Couldnt get flag i guess"; + } //Create the right-click menu m_pMenu->popup(event->globalPos()); } diff -urN -x '*cscope*' ./mixxx-1.10.0final/src/widget/wtracktableview.h ./mixxx-1.10.0/src/widget/wtracktableview.h --- ./mixxx-1.10.0final/src/widget/wtracktableview.h 2011-12-24 08:23:20.000000000 +0530 +++ ./mixxx-1.10.0/src/widget/wtracktableview.h 2012-02-16 17:21:01.537726060 +0530 @@ -46,6 +46,7 @@ void slotNextTrackInfo(); void slotPrevTrackInfo(); void slotSendToAutoDJ(); + void slotResetPlayed(); void slotReloadTrackMetadata(); void addSelectionToPlaylist(int iPlaylistId); void addSelectionToCrate(int iCrateId); @@ -95,6 +96,9 @@ // Show track-editor action QAction *m_pPropertiesAct; + + //Reset played count action + QAction *m_pResetPlayed; }; #endif