Skip to content

Commit 9786b47

Browse files
committed
AutoDJFeature: Show full path of crates in "Add Crates as Track Source" submenu
1 parent 72a0cef commit 9786b47

3 files changed

Lines changed: 17 additions & 14 deletions

File tree

src/library/autodj/autodjfeature.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "library/trackcollection.h"
1313
#include "library/trackcollectionmanager.h"
1414
#include "library/trackset/crate/cratestorage.h"
15+
#include "library/trackset/crate/cratesummary.h"
1516
#include "library/treeitem.h"
1617
#include "moc_autodjfeature.cpp"
1718
#include "sources/soundsourceproxy.h"
@@ -356,11 +357,11 @@ void AutoDJFeature::slotAddRandomTrack() {
356357

357358
void AutoDJFeature::constructCrateChildModel() {
358359
m_crateList.clear();
359-
CrateSelectResult autoDjCrates(m_pTrackCollection->crates().selectAutoDjCrates(true));
360-
Crate crate;
360+
CrateSummarySelectResult autoDjCrates(m_pTrackCollection->crates().selectAutoDjCrates(true));
361+
CrateSummary crate;
361362
while (autoDjCrates.populateNext(&crate)) {
362363
// Create the TreeItem for this crate.
363-
m_pCratesTreeItem->appendChild(crate.getName(), crate.getId().toVariant());
364+
m_pCratesTreeItem->appendChild(crate.getFullPath(), crate.getId().toVariant());
364365
m_crateList.append(crate);
365366
}
366367
}
@@ -385,10 +386,10 @@ void AutoDJFeature::onRightClickChild(const QPoint& globalPos,
385386
// Bring up the context menu.
386387
QMenu crateMenu(m_pSidebarWidget);
387388
crateMenu.setTitle(tr("Add Crate as Track Source"));
388-
CrateSelectResult nonAutoDjCrates(m_pTrackCollection->crates().selectAutoDjCrates(false));
389-
Crate crate;
389+
CrateSummarySelectResult nonAutoDjCrates(m_pTrackCollection->crates().selectAutoDjCrates(false));
390+
CrateSummary crate;
390391
while (nonAutoDjCrates.populateNext(&crate)) {
391-
auto pAction = std::make_unique<QAction>(crate.getName(), &crateMenu);
392+
auto pAction = std::make_unique<QAction>(crate.getFullPath(), &crateMenu);
392393
auto crateId = crate.getId();
393394
connect(pAction.get(), &QAction::triggered, this, [this, crateId] {
394395
slotAddCrateToAutoDj(crateId);

src/library/trackset/crate/cratestorage.cpp

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -476,19 +476,21 @@ CrateSelectResult CrateStorage::selectCratesByIds(
476476
}
477477
}
478478

479-
CrateSelectResult CrateStorage::selectAutoDjCrates(bool autoDjSource) const {
479+
CrateSummarySelectResult CrateStorage::selectAutoDjCrates(bool autoDjSource) const {
480480
FwdSqlQuery query(m_database,
481481
mixxx::DbConnection::collateLexicographically(
482-
QStringLiteral("SELECT * FROM %1 WHERE %2=:autoDjSource "
483-
"ORDER BY %3")
484-
.arg(CRATE_TABLE,
482+
QStringLiteral(
483+
"SELECT * FROM %1 WHERE %2=:autoDjSource "
484+
"ORDER BY %3")
485+
.arg(
486+
CRATE_SUMMARY_VIEW,
485487
CRATETABLE_AUTODJ_SOURCE,
486-
CRATETABLE_NAME)));
488+
CRATESUMMARY_FULL_PATH)));
487489
query.bindValue(":autoDjSource", QVariant(autoDjSource));
488490
if (query.execPrepared()) {
489-
return CrateSelectResult(std::move(query));
491+
return CrateSummarySelectResult(std::move(query));
490492
} else {
491-
return CrateSelectResult();
493+
return CrateSummarySelectResult();
492494
}
493495
}
494496

src/library/trackset/crate/cratestorage.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ class CrateStorage : public virtual /*implements*/ SqlStorage {
307307
// redesign of the AutoDJ feature has been reached. The main
308308
// ideas of the new design should be documented for verification
309309
// before starting to code.
310-
CrateSelectResult selectAutoDjCrates(bool autoDjSource = true) const;
310+
CrateSummarySelectResult selectAutoDjCrates(bool autoDjSource = true) const;
311311

312312
// Crate content, i.e. the crate's tracks referenced by id
313313
uint countCrateTracks(CrateId crateId) const;

0 commit comments

Comments
 (0)