Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/library/features/browse/foldertreemodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ bool FolderTreeModel::hasChildren(const QModelIndex& parent) const {
return false;
}

if(item->dataPath().toString() == QUICK_LINK_NODE)
if(item->getData().toString() == QUICK_LINK_NODE)
return true;
//Can only happen on Windows
if(item->getData().toString() == DEVICE_NODE)
Expand Down
4 changes: 1 addition & 3 deletions src/library/features/crates/cratefeature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,7 @@ CrateFeature::CrateFeature(UserSettingsPointer pConfig,
this, SLOT(slotCrateTableChanged(int)));

// construct child model
auto pRootItem = std::make_unique<TreeItem>(this);
pRootItem->setLibraryFeature(this);
m_childModel.setRootItem(std::move(pRootItem));
m_childModel.setRootItem(std::make_unique<TreeItem>(this));
constructChildModel(-1);

connect(pLibrary, SIGNAL(trackSelected(TrackPointer)),
Expand Down
25 changes: 10 additions & 15 deletions src/library/features/history/historytreemodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ HistoryTreeModel::HistoryTreeModel(HistoryFeature* pFeature,
}

QModelIndex HistoryTreeModel::reloadListsTree(int playlistId) {
TreeItem* pRootItem = new TreeItem();
pRootItem->setLibraryFeature(m_pFeature);
setRootItem(pRootItem);
TreeItem* pRootItem = setRootItem(std::make_unique<TreeItem>(m_pFeature));
QString trackCountName = "TrackCount";

QString queryStr = "SELECT %1,COUNT(%2) AS %7 "
Expand Down Expand Up @@ -72,25 +70,22 @@ QModelIndex HistoryTreeModel::reloadListsTree(int playlistId) {
row = 0;
change = true;
QString year = QString::number(auxDate.year());
lastYear = new TreeItem(year, -1, m_pFeature, pRootItem);
pRootItem->appendChild(lastYear);
lastYear = pRootItem->appendChild(year, -1);
}

if (auxDate.month() != lastDate.month() || change) {
row = 0;
QString month = QDate::longMonthName(auxDate.month(), QDate::StandaloneFormat);
lastMonth = new TreeItem(month, -1, m_pFeature, lastYear);
lastYear->appendChild(lastMonth);
lastMonth = lastYear->appendChild(month, -1);
}

QString sData = query.value(ind.iName).toString();
sData += QString(" (%1)").arg(query.value(ind.iCount).toString());

int id = query.value(ind.iID).toInt();

lastPlaylist = new TreeItem(sData, id, m_pFeature, lastMonth);
lastPlaylist = lastMonth->appendChild(sData, id);
m_pFeature->decorateChild(lastPlaylist, id);
lastMonth->appendChild(lastPlaylist);
if (id == playlistId) {
selectedRow = row;
selectedItem = lastPlaylist;
Expand All @@ -107,7 +102,7 @@ QModelIndex HistoryTreeModel::reloadListsTree(int playlistId) {

QModelIndex HistoryTreeModel::indexFromPlaylistId(int playlistId) {
int row = -1;
TreeItem* pItem = findItemFromPlaylistId(m_pRootItem, playlistId, row);
TreeItem* pItem = findItemFromPlaylistId(getRootItem(), playlistId, row);
return createIndex(row, 0, pItem);
}

Expand All @@ -125,9 +120,9 @@ QVariant HistoryTreeModel::data(const QModelIndex& index, int role) const {
}

QList<QVariant> HistoryTreeModel::idsFromItem(TreeItem* pTree) const {
if (pTree->childCount() <= 0) {
if (pTree->childRows() <= 0) {
bool ok;
int value = pTree->dataPath().toInt(&ok);
int value = pTree->getData().toInt(&ok);
QList<QVariant> ret;
if (!ok) {
return ret;
Expand All @@ -137,7 +132,7 @@ QList<QVariant> HistoryTreeModel::idsFromItem(TreeItem* pTree) const {
}

QList<QVariant> res;
int size = pTree->childCount();
int size = pTree->childRows();
for (int i = 0; i < size; ++i) {
QList<QVariant> aux = idsFromItem(pTree->child(i));
res.append(aux);
Expand All @@ -147,10 +142,10 @@ QList<QVariant> HistoryTreeModel::idsFromItem(TreeItem* pTree) const {

TreeItem* HistoryTreeModel::findItemFromPlaylistId(TreeItem* pTree,
int playlistId, int& row) const {
int size = pTree->childCount();
int size = pTree->childRows();
if (size <= 0) {
bool ok = false;
int value = pTree->dataPath().toInt(&ok);
int value = pTree->getData().toInt(&ok);
if (ok && value == playlistId) {
return pTree;
}
Expand Down
7 changes: 3 additions & 4 deletions src/library/features/itunes/itunesfeature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ TreeItem* ITunesFeature::importLibrary() {
}

QXmlStreamReader xml(&itunes_file);
TreeItem* playlist_root = NULL;
TreeItem* playlist_root = nullptr;
while (!xml.atEnd() && !m_cancelImport) {
xml.readNext();
if (xml.isStartElement()) {
Expand All @@ -376,7 +376,7 @@ TreeItem* ITunesFeature::importLibrary() {
}
} else if (key == "Tracks") {
parseTracks(xml);
if (playlist_root != NULL)
if (playlist_root != nullptr)
delete playlist_root;
playlist_root = parsePlaylists(xml);
}
Expand All @@ -396,7 +396,7 @@ TreeItem* ITunesFeature::importLibrary() {
qDebug() << "XML ERROR: " << xml.errorString();
if (playlist_root)
delete playlist_root;
playlist_root = NULL;
playlist_root = nullptr;
}
return playlist_root;
}
Expand Down Expand Up @@ -743,7 +743,6 @@ void ITunesFeature::clearTable(QString table_name) {
void ITunesFeature::onTrackCollectionLoaded() {
std::unique_ptr<TreeItem> root(m_future.result());
if (root) {
root->setLibraryFeature(this);
m_childModel.setRootItem(std::move(root));

// Tell the rhythmbox track source that it should re-build its index.
Expand Down
15 changes: 6 additions & 9 deletions src/library/features/libraryfolder/libraryfoldermodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ QVariant LibraryFolderModel::data(const QModelIndex& index, int role) const {
}

const QString param("%1:=\"%2\"");
return param.arg("folder", pTree->dataPath().toString());
return param.arg("folder", pTree->getData().toString());
}

return TreeItemModel::data(index, role);
Expand All @@ -79,11 +79,10 @@ void LibraryFolderModel::reloadTree() {
//qDebug() << "LibraryFolderModel::reloadTree()";
beginResetModel();
// Remove current root
setRootItem(new TreeItem(m_pFeature));
setRootItem(std::make_unique<TreeItem>(m_pFeature));

// Add "show all" item
m_pShowAllItem = new TreeItem(tr("Show all"), "", m_pFeature, m_pRootItem);
m_pRootItem->appendChild(m_pShowAllItem);
m_pShowAllItem = m_pRootItem->appendChild(tr("Show all"), "");

// Get the Library directories
QStringList dirs(m_pTrackCollection->getDirectoryDAO().getDirs());
Expand Down Expand Up @@ -118,7 +117,7 @@ void LibraryFolderModel::reloadTree() {
void LibraryFolderModel::createTreeForLibraryDir(const QString& dir, QSqlQuery& query) {
QStringList lastUsed;
QList<TreeItem*> parent;
parent.append(m_pRootItem);
parent.append(getRootItem());
bool first = true;

while (query.next()) {
Expand All @@ -139,9 +138,8 @@ void LibraryFolderModel::createTreeForLibraryDir(const QString& dir, QSqlQuery&
if (m_folderRecursive) {
path.append("*");
}
TreeItem* pTree = new TreeItem(dir, path, m_pFeature, m_pRootItem);
TreeItem* pTree = m_pRootItem->appendChild(dir, path);
pTree->setDivider(true);
m_pRootItem->appendChild(pTree);
}

// Do not add empty items
Expand Down Expand Up @@ -174,9 +172,8 @@ void LibraryFolderModel::createTreeForLibraryDir(const QString& dir, QSqlQuery&
fullPath.append("*");
}

TreeItem* pItem = new TreeItem(val, fullPath, m_pFeature, parent[i]);
TreeItem* pItem = parent[i]->appendChild(val, fullPath);
pItem->setTrackCount(0);
parent[i]->appendChild(pItem);

parent[i + 1] = pItem;
lastUsed[i] = val;
Expand Down
25 changes: 9 additions & 16 deletions src/library/features/mixxxlibrary/mixxxlibrarytreemodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -135,18 +135,14 @@ void MixxxLibraryTreeModel::reloadTree() {
//qDebug() << "LibraryTreeModel::reloadTracksTree";
beginResetModel();
// Create root item
TreeItem* pRootItem = new TreeItem();
pRootItem->setLibraryFeature(m_pFeature);
TreeItem* pRootItem = setRootItem(std::make_unique<TreeItem>(m_pFeature));

m_pLibraryItem = new TreeItem(tr("Show all"), "", m_pFeature, pRootItem);
pRootItem->appendChild(m_pLibraryItem);
m_pLibraryItem = pRootItem->appendChild(tr("Show all"), "");

QString groupTitle = tr("Grouping Options (%1)").arg(m_sortOrder.join(" > "));
m_pSettings = new TreeItem(groupTitle, "", m_pFeature, pRootItem);
pRootItem->appendChild(m_pSettings);
m_pSettings = pRootItem->appendChild(groupTitle, "");

// Deletes the old root item if the previous root item was not null
setRootItem(pRootItem);
createTracksTree();
endResetModel();
}
Expand Down Expand Up @@ -183,15 +179,15 @@ QVariant MixxxLibraryTreeModel::getQuery(TreeItem* pTree) const {
QStringList result;

// We need to know the depth before doing anything
while (pAux->parent() != m_pRootItem && pAux->parent() != nullptr) {
while (pAux->parent() != getRootItem() && pAux->parent() != nullptr) {
pAux = pAux->parent();
++depth;
}

// Generate the query
pAux = pTree;
while (depth >= 0) {
QString value = pAux->dataPath().toString();
QString value = pAux->getData().toString();
if (pAux->isDivider()) {
value.append("*");
}
Expand Down Expand Up @@ -267,7 +263,7 @@ void MixxxLibraryTreeModel::createTracksTree() {
// with this we can always use parent[i] to get the parent of the element at
// depth i and to set the parent we avoid checking that i + 1 < treeDepth
QVector<TreeItem*> parent(treeDepth + 1, nullptr);
parent[0] = m_pRootItem;
parent[0] = getRootItem();

while (query.next()) {
for (int i = 0; i < treeDepth; ++i) {
Expand All @@ -292,20 +288,17 @@ void MixxxLibraryTreeModel::createTracksTree() {
QChar c = StringHelper::getFirstCharForGrouping(treeItemLabel);
if (lastHeader != c) {
lastHeader = c;
TreeItem* pTree = new TreeItem(lastHeader, lastHeader,
m_pFeature, parent[0]);
TreeItem* pTree =
parent[0]->appendChild(lastHeader, lastHeader);
pTree->setDivider(true);
parent[0]->appendChild(pTree);
}
}

lastUsed[i] = dataPath;

// We need to create a new item
TreeItem* pTree = new TreeItem(treeItemLabel, dataPath,
m_pFeature, parent[i]);
TreeItem* pTree = parent[i]->appendChild(treeItemLabel, dataPath);
pTree->setTrackCount(0);
parent[i]->appendChild(pTree);
parent[i + 1] = pTree;

// Add coverart info
Expand Down
3 changes: 1 addition & 2 deletions src/library/features/playlist/playlistfeature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ PlaylistFeature::PlaylistFeature(UserSettingsPointer pConfig,
TrackCollection* pTrackCollection)
: BasePlaylistFeature(pConfig, pLibrary, parent, pTrackCollection) {
//construct child model
TreeItem *rootItem = new TreeItem();
m_childModel->setRootItem(rootItem);
m_childModel->setRootItem(std::make_unique<TreeItem>(this));
constructChildModel(-1);
}

Expand Down
12 changes: 2 additions & 10 deletions src/library/features/recording/dlgrecording.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,26 +39,18 @@ DlgRecording::~DlgRecording() {

void DlgRecording::onShow() {
m_recordingDir = m_pRecordingManager->getRecordingDir();
m_browseModel.setPath(m_recordingDir);
}

bool DlgRecording::hasFocus() const {
return QWidget::hasFocus();
m_pBrowseModel->setPath(m_recordingDir);
}

void DlgRecording::refreshBrowseModel() {
m_browseModel.setPath(m_recordingDir);
m_pBrowseModel->setPath(m_recordingDir);
}

void DlgRecording::setBrowseTableModel(BrowseTableModel* pBrowseModel) {
m_pBrowseModel = pBrowseModel;
m_pBrowseModel->setPath(m_recordingDir);
}

void DlgRecording::refreshBrowseModel() {
m_pBrowseModel->setPath(m_recordingDir);
}

void DlgRecording::toggleRecording(bool toggle) {
Q_UNUSED(toggle);
if (!m_pRecordingManager->isRecordingActive()) //If recording is enabled
Expand Down
4 changes: 1 addition & 3 deletions src/library/features/recording/recordingfeature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ RecordingFeature::RecordingFeature(UserSettingsPointer pConfig,
m_pBrowseModel(nullptr),
m_pProxyModel(nullptr) {

TreeItem* pRoot = new TreeItem();
pRoot->setLibraryFeature(this);
m_childModel.setRootItem(pRoot);
m_childModel.setRootItem(std::make_unique<TreeItem>(this));
}

RecordingFeature::~RecordingFeature() {
Expand Down
1 change: 0 additions & 1 deletion src/library/features/rhythmbox/rhythmboxfeature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,6 @@ void RhythmboxFeature::clearTable(QString table_name) {
void RhythmboxFeature::onTrackCollectionLoaded() {
std::unique_ptr<TreeItem> root(m_track_future.result());
if (root) {
root->setLibraryFeature(this);
m_childModel.setRootItem(std::move(root));

// Tell the rhythmbox track source that it should re-build its index.
Expand Down
7 changes: 3 additions & 4 deletions src/library/features/traktor/traktorfeature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,8 @@ void TraktorFeature::activateChild(const QModelIndex& index) {
TreeItem *item = static_cast<TreeItem*>(index.internalPointer());

if (item->isPlaylist()) {
qDebug() << "Activate Traktor Playlist: " << item->dataPath().toString();
m_pTraktorPlaylistModel->setPlaylist(item->dataPath().toString());
qDebug() << "Activate Traktor Playlist: " << item->getData().toString();
m_pTraktorPlaylistModel->setPlaylist(item->getData().toString());

showTrackModel(m_pTraktorPlaylistModel);
showBreadCrumb(item);
Expand Down Expand Up @@ -605,14 +605,13 @@ QString TraktorFeature::getTraktorMusicDatabase() {
void TraktorFeature::onTrackCollectionLoaded() {
std::unique_ptr<TreeItem> root(m_future.result());
if (root) {
root->setLibraryFeature(this);
m_childModel.setRootItem(std::move(root));
// Tell the traktor track source that it should re-build its index.
m_trackSource->buildIndex();

//m_pTraktorTableModel->select();
showTrackModel(m_pTraktorTableModel);
showBreadCrumb(root);
showBreadCrumb(root.get());
qDebug() << "Traktor library loaded successfully";
} else {
QMessageBox::warning(
Expand Down
6 changes: 3 additions & 3 deletions src/library/librarycontrol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ void LibraryControl::sidebarWidgetDeleted() {
}

void LibraryControl::slotLoadSelectedTrackToGroup(QString group, bool play) {
if (!m_pLibraryWidget) {
if (!m_pLibrary) {
return;
}

Expand Down Expand Up @@ -412,11 +412,11 @@ void LibraryControl::slotToggleSelectedSidebarItem(double v) {

void LibraryControl::slotChooseItem(double v) {
// XXX: Make this more generic? If Enter key is mapped correctly maybe we can use that
if (!m_pLibraryWidget) {
if (!m_pLibrary) {
return;
}
// Load current track if a LibraryView object has focus
const auto activeView = m_pLibraryWidget->getActiveView();
const auto activeView = m_pLibrary->getActiveView();
if (activeView && activeView->hasFocus()) {
return slotLoadSelectedIntoFirstStopped(v);
}
Expand Down
1 change: 0 additions & 1 deletion src/library/librarycontrol.h
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@ class LibraryControl : public QObject {
std::unique_ptr<ControlObject> m_pLoadSelectedIntoFirstStopped;

// Library widgets
WLibrary* m_pLibraryWidget;
WLibrarySidebar* m_pSidebarWidget;

// Other variables
Expand Down
Loading