diff --git a/data/data.qrc b/data/data.qrc index b8fd2e22b..d0a30ed07 100644 --- a/data/data.qrc +++ b/data/data.qrc @@ -74,7 +74,6 @@ icons/128x128/go-previous.png icons/128x128/go-up.png icons/128x128/gstreamer.png - icons/128x128/guitar.png icons/128x128/headset.png icons/128x128/help-hint.png icons/128x128/intel.png @@ -94,7 +93,6 @@ icons/128x128/play2.png icons/128x128/realtek.png icons/128x128/search.png - icons/128x128/soundcard2.png icons/128x128/soundcard.png icons/128x128/speaker.png icons/128x128/star-grey.png @@ -161,7 +159,6 @@ icons/64x64/go-previous.png icons/64x64/go-up.png icons/64x64/gstreamer.png - icons/64x64/guitar.png icons/64x64/headset.png icons/64x64/help-hint.png icons/64x64/intel.png @@ -182,7 +179,6 @@ icons/64x64/pulseaudio.png icons/64x64/realtek.png icons/64x64/search.png - icons/64x64/soundcard2.png icons/64x64/soundcard.png icons/64x64/speaker.png icons/64x64/star-grey.png @@ -248,7 +244,6 @@ icons/48x48/go-previous.png icons/48x48/go-up.png icons/48x48/gstreamer.png - icons/48x48/guitar.png icons/48x48/headset.png icons/48x48/help-hint.png icons/48x48/intel.png @@ -272,7 +267,6 @@ icons/48x48/pulseaudio.png icons/48x48/realtek.png icons/48x48/search.png - icons/48x48/soundcard2.png icons/48x48/soundcard.png icons/48x48/speaker.png icons/48x48/star-grey.png @@ -338,7 +332,6 @@ icons/32x32/go-previous.png icons/32x32/go-up.png icons/32x32/gstreamer.png - icons/32x32/guitar.png icons/32x32/headset.png icons/32x32/help-hint.png icons/32x32/intel.png @@ -362,7 +355,6 @@ icons/32x32/pulseaudio.png icons/32x32/realtek.png icons/32x32/search.png - icons/32x32/soundcard2.png icons/32x32/soundcard.png icons/32x32/speaker.png icons/32x32/star-grey.png @@ -429,7 +421,6 @@ icons/22x22/go-previous.png icons/22x22/go-up.png icons/22x22/gstreamer.png - icons/22x22/guitar.png icons/22x22/headset.png icons/22x22/help-hint.png icons/22x22/intel.png @@ -453,7 +444,6 @@ icons/22x22/pulseaudio.png icons/22x22/realtek.png icons/22x22/search.png - icons/22x22/soundcard2.png icons/22x22/soundcard.png icons/22x22/speaker.png icons/22x22/star-grey.png diff --git a/data/icons/128x128/guitar.png b/data/icons/128x128/guitar.png deleted file mode 100644 index 0844bbf9a..000000000 Binary files a/data/icons/128x128/guitar.png and /dev/null differ diff --git a/data/icons/128x128/soundcard2.png b/data/icons/128x128/soundcard2.png deleted file mode 100644 index fc99ab836..000000000 Binary files a/data/icons/128x128/soundcard2.png and /dev/null differ diff --git a/data/icons/22x22/guitar.png b/data/icons/22x22/guitar.png deleted file mode 100644 index 626cfdfed..000000000 Binary files a/data/icons/22x22/guitar.png and /dev/null differ diff --git a/data/icons/22x22/soundcard2.png b/data/icons/22x22/soundcard2.png deleted file mode 100644 index 6f65e5609..000000000 Binary files a/data/icons/22x22/soundcard2.png and /dev/null differ diff --git a/data/icons/32x32/guitar.png b/data/icons/32x32/guitar.png deleted file mode 100644 index e854d6385..000000000 Binary files a/data/icons/32x32/guitar.png and /dev/null differ diff --git a/data/icons/32x32/soundcard2.png b/data/icons/32x32/soundcard2.png deleted file mode 100644 index 981d59783..000000000 Binary files a/data/icons/32x32/soundcard2.png and /dev/null differ diff --git a/data/icons/48x48/guitar.png b/data/icons/48x48/guitar.png deleted file mode 100644 index dc5f35cbb..000000000 Binary files a/data/icons/48x48/guitar.png and /dev/null differ diff --git a/data/icons/48x48/soundcard2.png b/data/icons/48x48/soundcard2.png deleted file mode 100644 index 3c12d6adf..000000000 Binary files a/data/icons/48x48/soundcard2.png and /dev/null differ diff --git a/data/icons/64x64/guitar.png b/data/icons/64x64/guitar.png deleted file mode 100644 index 12d87b761..000000000 Binary files a/data/icons/64x64/guitar.png and /dev/null differ diff --git a/data/icons/64x64/soundcard2.png b/data/icons/64x64/soundcard2.png deleted file mode 100644 index 50f416542..000000000 Binary files a/data/icons/64x64/soundcard2.png and /dev/null differ diff --git a/data/icons/full/guitar.png b/data/icons/full/guitar.png deleted file mode 100644 index a283de399..000000000 Binary files a/data/icons/full/guitar.png and /dev/null differ diff --git a/data/icons/full/soundcard2.png b/data/icons/full/soundcard2.png deleted file mode 100644 index c23d4f287..000000000 Binary files a/data/icons/full/soundcard2.png and /dev/null differ diff --git a/src/collection/collectionbackend.cpp b/src/collection/collectionbackend.cpp index 7c11d2d4d..49ffdfe6f 100644 --- a/src/collection/collectionbackend.cpp +++ b/src/collection/collectionbackend.cpp @@ -109,12 +109,14 @@ void CollectionBackend::ChangeDirPath(int id, const QString &old_path, const QSt ScopedTransaction t(&db); // Do the dirs table - QSqlQuery q(db); - q.prepare(QString("UPDATE %1 SET path=:path WHERE ROWID=:id").arg(dirs_table_)); - q.bindValue(":path", new_path); - q.bindValue(":id", id); - q.exec(); - if (db_->CheckErrors(q)) return; + { + QSqlQuery q(db); + q.prepare(QString("UPDATE %1 SET path=:path WHERE ROWID=:id").arg(dirs_table_)); + q.bindValue(":path", new_path); + q.bindValue(":id", id); + q.exec(); + if (db_->CheckErrors(q)) return; + } const QByteArray old_url = QUrl::fromLocalFile(old_path).toEncoded(); const QByteArray new_url = QUrl::fromLocalFile(new_path).toEncoded(); @@ -122,20 +124,24 @@ void CollectionBackend::ChangeDirPath(int id, const QString &old_path, const QSt const int path_len = old_url.length(); // Do the subdirs table - q = QSqlQuery(db); - q.prepare(QString("UPDATE %1 SET path=:path || substr(path, %2) WHERE directory=:id").arg(subdirs_table_).arg(path_len)); - q.bindValue(":path", new_url); - q.bindValue(":id", id); - q.exec(); - if (db_->CheckErrors(q)) return; + { + QSqlQuery q(db); + q.prepare(QString("UPDATE %1 SET path=:path || substr(path, %2) WHERE directory=:id").arg(subdirs_table_).arg(path_len)); + q.bindValue(":path", new_url); + q.bindValue(":id", id); + q.exec(); + if (db_->CheckErrors(q)) return; + } // Do the songs table - q = QSqlQuery(db); - q.prepare(QString("UPDATE %1 SET filename=:path || substr(filename, %2) WHERE directory=:id").arg(songs_table_).arg(path_len)); - q.bindValue(":path", new_url); - q.bindValue(":id", id); - q.exec(); - if (db_->CheckErrors(q)) return; + { + QSqlQuery q(db); + q.prepare(QString("UPDATE %1 SET filename=:path || substr(filename, %2) WHERE directory=:id").arg(songs_table_).arg(path_len)); + q.bindValue(":path", new_url); + q.bindValue(":id", id); + q.exec(); + if (db_->CheckErrors(q)) return; + } t.Commit(); diff --git a/src/collection/collectionmodel.cpp b/src/collection/collectionmodel.cpp index 1cc6bca13..56d926d21 100644 --- a/src/collection/collectionmodel.cpp +++ b/src/collection/collectionmodel.cpp @@ -182,6 +182,7 @@ void CollectionModel::Init(bool async) { void CollectionModel::SongsDiscovered(const SongList &songs) { for (const Song &song : songs) { + // Sanity check to make sure we don't add songs that are outside the user's filter if (!query_options_.Matches(song)) continue; @@ -256,7 +257,6 @@ void CollectionModel::SongsDiscovered(const SongList &songs) { // If we just created the damn thing then we don't need to continue into it any further because it'll get lazy-loaded properly later. if (!container->lazy_loaded) break; } - if (!container->lazy_loaded) continue; // We've gone all the way down to the deepest level and everything was already lazy loaded, so now we have to create the song in the container. @@ -1148,6 +1148,7 @@ CollectionItem *CollectionModel::ItemFromSong(GroupBy type, bool signal, bool cr FinishItem(type, signal, create_divider, parent, item); if (s.url().scheme() == "cdda") item->lazy_loaded = true; + return item; } diff --git a/src/device/connecteddevice.cpp b/src/device/connecteddevice.cpp index 88e0df2e1..38fe59204 100644 --- a/src/device/connecteddevice.cpp +++ b/src/device/connecteddevice.cpp @@ -64,6 +64,7 @@ ConnectedDevice::ConnectedDevice(const QUrl &url, DeviceLister *lister, const QS // Create the model model_ = new CollectionModel(backend_, app_, this); + model_->Reset(); } diff --git a/src/device/deviceview.cpp b/src/device/deviceview.cpp index 1c80b5b89..3d84f1f05 100644 --- a/src/device/deviceview.cpp +++ b/src/device/deviceview.cpp @@ -75,7 +75,7 @@ DeviceItemDelegate::DeviceItemDelegate(QObject *parent) void DeviceItemDelegate::paint(QPainter *p, const QStyleOptionViewItem &opt, const QModelIndex &index) const { // Is it a device or a collection item? - if (index.data(DeviceManager::Role_State).isNull()) { + if (index.data(DeviceManager::Role::Role_State).isNull()) { CollectionItemDelegate::paint(p, opt, index); return; } @@ -203,10 +203,10 @@ void DeviceView::SetApplication(Application *app) { merged_model_ = new MergedProxyModel(this); merged_model_->setSourceModel(sort_model_); + setModel(merged_model_); connect(merged_model_, SIGNAL(SubModelReset(QModelIndex, QAbstractItemModel*)), SLOT(RecursivelyExpand(QModelIndex))); - setModel(merged_model_); properties_dialog_->SetDeviceManager(app_->device_manager()); #ifdef HAVE_GSTREAMER @@ -274,9 +274,7 @@ void DeviceView::contextMenuEvent(QContextMenuEvent *e) { QModelIndex DeviceView::MapToDevice(const QModelIndex &merged_model_index) const { QModelIndex sort_model_index = merged_model_->mapToSource(merged_model_index); - if (sort_model_index.model() != sort_model_) - return QModelIndex(); - + if (sort_model_index.model() != sort_model_) return QModelIndex(); return sort_model_->mapToSource(sort_model_index); } @@ -285,7 +283,6 @@ QModelIndex DeviceView::FindParentDevice(const QModelIndex &merged_model_index) QModelIndex index = merged_model_->FindSourceParent(merged_model_index); if (index.model() != sort_model_) return QModelIndex(); - return sort_model_->mapToSource(index); } @@ -296,7 +293,6 @@ QModelIndex DeviceView::MapToCollection(const QModelIndex &merged_model_index) c if (const QSortFilterProxyModel *sort_model = qobject_cast(sort_model_index.model())) { return sort_model->mapToSource(sort_model_index); } - return QModelIndex(); } @@ -462,4 +458,3 @@ bool DeviceView::CanRecursivelyExpand(const QModelIndex &index) const { // Never expand devices return index.parent().isValid(); } - diff --git a/src/device/deviceview.h b/src/device/deviceview.h index 63492da66..7531337b5 100644 --- a/src/device/deviceview.h +++ b/src/device/deviceview.h @@ -50,12 +50,15 @@ class MergedProxyModel; class OrganiseDialog; class DeviceItemDelegate : public CollectionItemDelegate { + Q_OBJECT + public: DeviceItemDelegate(QObject *parent); static const int kIconPadding; void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; + }; class DeviceView : public AutoExpandingTreeView { diff --git a/src/device/deviceviewcontainer.ui b/src/device/deviceviewcontainer.ui index 2d87982df..4d6460056 100644 --- a/src/device/deviceviewcontainer.ui +++ b/src/device/deviceviewcontainer.ui @@ -6,8 +6,8 @@ 0 0 - 391 - 396 + 300 + 300 @@ -30,14 +30,7 @@ 0 - - - - 0 - 0 - - - +