diff options
author | Jan Holthuis <jan.holthuis@ruhr-uni-bochum.de> | 2020-03-08 15:24:24 +0100 |
---|---|---|
committer | Jan Holthuis <jan.holthuis@ruhr-uni-bochum.de> | 2020-03-20 11:38:44 +0100 |
commit | 3eca24b4b5d51e7486184b52c40f7610dfb0b39c (patch) | |
tree | 268daf58903e1f2324a8cf17d1545e5208a5611e /src/widget/wtracktableview.cpp | |
parent | 7f6fd5a2e1a18f3a969ee6b71940f039a4881355 (diff) |
Add support for cycling through track colors via COs
Diffstat (limited to 'src/widget/wtracktableview.cpp')
-rw-r--r-- | src/widget/wtracktableview.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/widget/wtracktableview.cpp b/src/widget/wtracktableview.cpp index 3fc47d469c..dec08c6cc5 100644 --- a/src/widget/wtracktableview.cpp +++ b/src/widget/wtracktableview.cpp @@ -635,6 +635,42 @@ void WTrackTableView::loadSelectionToGroup(QString group, bool play) { } } +void WTrackTableView::assignPreviousTrackColor() { + QModelIndexList indices = selectionModel()->selectedRows(); + if (indices.size() <= 0) { + return; + } + + QModelIndex index = indices.at(0); + TrackModel* trackModel = getTrackModel(); + TrackPointer pTrack; + if (trackModel && + (pTrack = trackModel->getTrack(index))) { + ColorPaletteSettings colorPaletteSettings(m_pConfig); + ColorPalette colorPalette = colorPaletteSettings.getTrackColorPalette(); + mixxx::RgbColor::optional_t color = pTrack->getColor(); + pTrack->setColor(colorPalette.previousColor(color)); + } +} + +void WTrackTableView::assignNextTrackColor() { + QModelIndexList indices = selectionModel()->selectedRows(); + if (indices.size() <= 0) { + return; + } + + QModelIndex index = indices.at(0); + TrackModel* trackModel = getTrackModel(); + TrackPointer pTrack; + if (trackModel && + (pTrack = trackModel->getTrack(index))) { + ColorPaletteSettings colorPaletteSettings(m_pConfig); + ColorPalette colorPalette = colorPaletteSettings.getTrackColorPalette(); + mixxx::RgbColor::optional_t color = pTrack->getColor(); + pTrack->setColor(colorPalette.nextColor(color)); + } +} + void WTrackTableView::slotRemove() { QModelIndexList indices = selectionModel()->selectedRows(); if (indices.size() > 0) { |