summaryrefslogtreecommitdiffstats
path: root/src/widget/wtracktableview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widget/wtracktableview.cpp')
-rw-r--r--src/widget/wtracktableview.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/widget/wtracktableview.cpp b/src/widget/wtracktableview.cpp
index f0d635cdc0..af7c1f2e7f 100644
--- a/src/widget/wtracktableview.cpp
+++ b/src/widget/wtracktableview.cpp
@@ -276,7 +276,7 @@ void WTrackTableView::loadTrackModel(QAbstractItemModel* model) {
}
}
- m_pSortColumn->set(trackModel->sortColumnIdFromColumnIndex(sortColumn));
+ m_pSortColumn->set(static_cast<int>(trackModel->sortColumnIdFromColumnIndex(sortColumn)));
m_pSortOrder->set(sortOrder);
applySorting();
}
@@ -364,6 +364,14 @@ void WTrackTableView::slotMouseDoubleClicked(const QModelIndex& index) {
}
}
+TrackModel::SortColumnId WTrackTableView::getColumnIdFromCurrentIndex() {
+ TrackModel* trackModel = getTrackModel();
+ VERIFY_OR_DEBUG_ASSERT(trackModel) {
+ return TrackModel::SortColumnId::Invalid;
+ }
+ return trackModel->sortColumnIdFromColumnIndex(currentIndex().column());
+}
+
void WTrackTableView::assignPreviousTrackColor() {
QModelIndexList indices = selectionModel()->selectedRows();
if (indices.size() <= 0) {
@@ -940,7 +948,13 @@ void WTrackTableView::applySortingIfVisible() {
void WTrackTableView::applySorting() {
TrackModel* trackModel = getTrackModel();
int sortColumnId = static_cast<int>(m_pSortColumn->get());
- if (sortColumnId < 0 || sortColumnId >= TrackModel::SortColumnId::NUM_SORTCOLUMNIDS) {
+ if (sortColumnId == static_cast<int>(TrackModel::SortColumnId::Invalid)) {
+ // During startup phase of Mixxx, this method is called with Invalid
+ return;
+ }
+ VERIFY_OR_DEBUG_ASSERT(
+ sortColumnId >= static_cast<int>(TrackModel::SortColumnId::IdMin) &&
+ sortColumnId < static_cast<int>(TrackModel::SortColumnId::IdMax)) {
return;
}
@@ -966,12 +980,12 @@ void WTrackTableView::slotSortingChanged(int headerSection, Qt::SortOrder order)
TrackModel* trackModel = getTrackModel();
TrackModel::SortColumnId sortColumnId = trackModel->sortColumnIdFromColumnIndex(headerSection);
- if (sortColumnId == TrackModel::SortColumnId::SORTCOLUMN_INVALID) {
+ if (sortColumnId == TrackModel::SortColumnId::Invalid) {
return;
}
- if (sortColumnId != static_cast<int>(m_pSortColumn->get())) {
- m_pSortColumn->set(sortColumnId);
+ if (static_cast<int>(sortColumnId) != static_cast<int>(m_pSortColumn->get())) {
+ m_pSortColumn->set(static_cast<int>(sortColumnId));
sortingChanged = true;
}
if (sortOrder != m_pSortOrder->get()) {