summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2016-09-17 04:18:17 +0200
committerArno <arno@disconnect.de>2016-09-17 04:18:17 +0200
commit77c6343c4e8d5ac03c491cd30207d9294fbd817c (patch)
treed81316fa4ebbdae6afaf44c007ed8f33f79dc88a
parent22d5bcbcb79dea84e7aab4e2032ae3638fbca581 (diff)
downloadShemovCleaner-77c6343c4e8d5ac03c491cd30207d9294fbd817c.tar.gz
ShemovCleaner-77c6343c4e8d5ac03c491cd30207d9294fbd817c.tar.bz2
ShemovCleaner-77c6343c4e8d5ac03c491cd30207d9294fbd817c.zip
Fix sorting in TorrentWidget
Sort files by DateTime instead of string comparison.
-rw-r--r--filesorter.cpp7
-rw-r--r--torrentwidget.cpp4
-rw-r--r--torrentwidget.h2
3 files changed, 12 insertions, 1 deletions
diff --git a/filesorter.cpp b/filesorter.cpp
index aee6177..d78b46d 100644
--- a/filesorter.cpp
+++ b/filesorter.cpp
@@ -1,3 +1,5 @@
+#include <QDateTime>
+
#include "filesorter.h"
#include "torrentwidget.h"
#include "filewidget.h"
@@ -10,6 +12,11 @@ bool FileSorter::lessThan(const QModelIndex &source_left, const QModelIndex &sou
QVariant rightData = sourceModel()->data(source_right, TorrentWidget::PresentRole);
return leftData.toInt() < rightData.toInt();
}
+ if(source_left.column() == TorrentWidget::CreatedColumn){
+ QDateTime leftData = source_left.data(TorrentWidget::CreatedRole).toDateTime();
+ QDateTime rightData = source_right.data(TorrentWidget::CreatedRole).toDateTime();
+ return leftData < rightData;
+ }
return QSortFilterProxyModel::lessThan(source_left, source_right);
}
diff --git a/torrentwidget.cpp b/torrentwidget.cpp
index bb392d0..28a86c1 100644
--- a/torrentwidget.cpp
+++ b/torrentwidget.cpp
@@ -159,6 +159,9 @@ void TorrentWidget::gatherData(){
for(int i = 0; i < ColumnCount; ++i){
QStandardItem *item = new QStandardItem;
item->setEditable(false);
+ if(i == CreatedColumn){
+ item->setFont(QFont("courier new"));
+ }
fData << item;
}
int result = 0;
@@ -170,6 +173,7 @@ void TorrentWidget::gatherData(){
fData[NameColumn]->setText(fi.fileName());
fData[NameColumn]->setData(fi.absoluteFilePath(), FullPathRole);
fData[CreatedColumn]->setText(fi.created().toString(Qt::RFC2822Date));
+ fData[CreatedColumn]->setData(fi.created(), CreatedRole);
if(result){
fData[IconColumn]->setIcon(QIcon(":/huge_bra.png"));
fData[IconColumn]->setData(Present, PresentRole);
diff --git a/torrentwidget.h b/torrentwidget.h
index 075e6c5..15992b3 100644
--- a/torrentwidget.h
+++ b/torrentwidget.h
@@ -20,7 +20,7 @@ class TorrentDisplay;
class TorrentWidget : public QWidget {
Q_OBJECT
public:
- enum CustomRoles { PresentRole = Qt::UserRole + 1, FullPathRole = Qt::UserRole + 2 };
+ enum CustomRoles { PresentRole = Qt::UserRole + 1, FullPathRole = Qt::UserRole + 2, CreatedRole = Qt::UserRole + 3 };
enum { ColumnCount = 3 };
enum Columns { IconColumn = 0, NameColumn = 1, CreatedColumn = 2 };
enum Present { NotPresent = 0, Present = 1 };