summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--collectionalbumsview.cpp3
-rw-r--r--collectionartistsview.cpp2
-rw-r--r--collectiondatesview.cpp2
-rw-r--r--collectionfavoritesview.cpp2
-rw-r--r--collectionfoldersview.cpp2
-rw-r--r--collectionwebradioview.cpp2
-rw-r--r--collectionwidget.cpp6
-rw-r--r--collectionwidget.h4
8 files changed, 21 insertions, 2 deletions
diff --git a/collectionalbumsview.cpp b/collectionalbumsview.cpp
index af71166..1f44c10 100644
--- a/collectionalbumsview.cpp
+++ b/collectionalbumsview.cpp
@@ -1,6 +1,7 @@
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QStandardItem>
+#include <QTreeView>
#include "collectionalbumsview.h"
@@ -8,6 +9,7 @@ CollectionAlbumsView::CollectionAlbumsView(QWidget *parent) : CollectionWidget(p
}
void CollectionAlbumsView::populate(){
+ disableSorting();
model()->clear();
model()->setHorizontalHeaderLabels(headers());
QSqlDatabase db = QSqlDatabase::database("beetplayerdb");
@@ -55,4 +57,5 @@ void CollectionAlbumsView::populate(){
}
curAlbum->setText(albumText);
}
+ enableSorting();
}
diff --git a/collectionartistsview.cpp b/collectionartistsview.cpp
index 13b98b1..464ca14 100644
--- a/collectionartistsview.cpp
+++ b/collectionartistsview.cpp
@@ -8,6 +8,7 @@ CollectionArtistsView::CollectionArtistsView(QWidget *parent) : CollectionWidget
}
void CollectionArtistsView::populate(){
+ disableSorting();
model()->clear();
model()->setHorizontalHeaderLabels(headers());
QSqlDatabase db = QSqlDatabase::database("beetplayerdb");
@@ -66,4 +67,5 @@ void CollectionArtistsView::populate(){
}
}
}
+ enableSorting();
}
diff --git a/collectiondatesview.cpp b/collectiondatesview.cpp
index 3589c18..f93685b 100644
--- a/collectiondatesview.cpp
+++ b/collectiondatesview.cpp
@@ -9,6 +9,7 @@ CollectionDatesView::CollectionDatesView(QWidget *parent) : CollectionWidget(par
}
void CollectionDatesView::populate(){
+ disableSorting();
model()->clear();
model()->setHorizontalHeaderLabels(headers());
QSqlDatabase db = QSqlDatabase::database("beetplayerdb");
@@ -71,4 +72,5 @@ void CollectionDatesView::populate(){
albumItem->appendRow(curSong);
}
}
+ enableSorting(Qt::DescendingOrder);
}
diff --git a/collectionfavoritesview.cpp b/collectionfavoritesview.cpp
index d57d0d2..a202fcb 100644
--- a/collectionfavoritesview.cpp
+++ b/collectionfavoritesview.cpp
@@ -8,6 +8,7 @@ CollectionFavoritesView::CollectionFavoritesView(QWidget *parent) : CollectionWi
}
void CollectionFavoritesView::populate(){
+ disableSorting();
model()->clear();
model()->setHorizontalHeaderLabels(headers());
QSqlDatabase db = QSqlDatabase::database("beetplayerdb");
@@ -40,4 +41,5 @@ void CollectionFavoritesView::populate(){
curSong->setData(favQ2.value(5), LengthRole);
root->appendRow(QList<QStandardItem*>() << curSong);
}
+ enableSorting();
}
diff --git a/collectionfoldersview.cpp b/collectionfoldersview.cpp
index 4f1ad84..cd8765f 100644
--- a/collectionfoldersview.cpp
+++ b/collectionfoldersview.cpp
@@ -12,6 +12,7 @@ CollectionFoldersView::CollectionFoldersView(QWidget *parent) : CollectionWidget
}
void CollectionFoldersView::populate(){
+ disableSorting();
model()->clear();
model()->setHorizontalHeaderLabels(headers());
QStandardItem *root = model()->invisibleRootItem();
@@ -51,6 +52,7 @@ void CollectionFoldersView::populate(){
cur->setData(fi.absoluteFilePath(), FullPathRole);
root->appendRow(cur);
}
+ enableSorting();
}
void CollectionFoldersView::readSettings(){
diff --git a/collectionwebradioview.cpp b/collectionwebradioview.cpp
index 53d7cbd..94012f1 100644
--- a/collectionwebradioview.cpp
+++ b/collectionwebradioview.cpp
@@ -8,6 +8,7 @@ CollectionWebradioView::CollectionWebradioView(QWidget *parent) : CollectionWidg
}
void CollectionWebradioView::populate(){
+ disableSorting();
model()->clear();
model()->setHorizontalHeaderLabels(headers());
QSqlDatabase db = QSqlDatabase::database("beetplayerdb");
@@ -23,4 +24,5 @@ void CollectionWebradioView::populate(){
curWr->setData(wrQ.value(1), UrlRole);
root->appendRow(curWr);
}
+ enableSorting();
}
diff --git a/collectionwidget.cpp b/collectionwidget.cpp
index d665706..cbc6dbf 100644
--- a/collectionwidget.cpp
+++ b/collectionwidget.cpp
@@ -1,4 +1,3 @@
-#include <QTreeView>
#include <QStandardItem>
#include <QSortFilterProxyModel>
#include <QHBoxLayout>
@@ -17,3 +16,8 @@ CollectionWidget::CollectionWidget(QWidget *parent) : QWidget(parent){
mainLayout->addWidget(mView);
setLayout(mainLayout);
}
+
+void CollectionWidget::enableSorting(int column, Qt::SortOrder sortOrder){
+ view()->setSortingEnabled(true);
+ view()->sortByColumn(column, sortOrder);
+}
diff --git a/collectionwidget.h b/collectionwidget.h
index 86135bb..c76582c 100644
--- a/collectionwidget.h
+++ b/collectionwidget.h
@@ -2,8 +2,8 @@
#define COLLECTIONWIDGET_H
#include <QWidget>
+#include <QTreeView>
-class QTreeView;
class QStandardItemModel;
class QSortFilterProxyModel;
@@ -18,6 +18,8 @@ class CollectionWidget : public QWidget {
QSortFilterProxyModel *proxy() { return mProxy; }
void setHeaders(const QStringList headers) { mHeaders = headers; }
const QStringList headers() const { return mHeaders; }
+ void disableSorting() { mView->setSortingEnabled(false); }
+ void enableSorting(int column = 0, Qt::SortOrder sortOrder = Qt::AscendingOrder);
signals: