Skip to content

Commit

Permalink
fix: properly sort monitor intervals in monitors tab (fix #2926)
Browse files Browse the repository at this point in the history
  • Loading branch information
Bionus committed Mar 2, 2023
1 parent 3caca98 commit f268117
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 5 deletions.
4 changes: 2 additions & 2 deletions src/gui/src/download-group-table-model.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ QVariant DownloadGroupTableModel::data(const QModelIndex &index, int role) const
{
case 1: return download.query.toString();
case 2: return download.site->url();
case 3: return QString::number(download.page);
case 4: return QString::number(download.perpage);
case 3: return download.page;
case 4: return download.perpage;
case 5: return download.total == -1 ? "all" : QString::number(download.total);
case 6: return download.filename;
case 7: return download.path;
Expand Down
7 changes: 5 additions & 2 deletions src/gui/src/download-image-table-model.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ QVariant DownloadImageTableModel::data(const QModelIndex &index, int role) const
return index.row();
}

if (role != Qt::DisplayRole) {
if (role != Qt::DisplayRole && role != Qt::UserRole) {
return {};
}

Expand All @@ -72,14 +72,17 @@ QVariant DownloadImageTableModel::data(const QModelIndex &index, int role) const
case 2: return img->token<QString>("rating");
case 3: return img->tagsString().join(' ');
case 4: return img->fileUrl().toString();
case 5: return img->createdAt().toString(Qt::ISODate);
case 5: return img->createdAt();
case 6: return img->search().join(' ');
case 7: return download.site->url();
case 8: return download.filename;
case 9: return download.path;

case 10: {
double size = img->fileSize();
if (role == Qt::UserRole) {
return size;
}
const QString unit = getUnit(&size);
return size > 0
? QStringLiteral("%1 %2").arg(size).arg(unit)
Expand Down
8 changes: 7 additions & 1 deletion src/gui/src/monitor-table-model.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ QVariant MonitorTableModel::data(const QModelIndex &index, int role) const
return {};
}

if (role != Qt::DisplayRole) {
if (role != Qt::DisplayRole && role != Qt::UserRole) {
return {};
}

Expand All @@ -138,6 +138,9 @@ QVariant MonitorTableModel::data(const QModelIndex &index, int role) const
}

case 3:
if (role == Qt::UserRole) {
return monitor.interval();
}
return timeToString(monitor.interval());

case 4:
Expand Down Expand Up @@ -168,6 +171,9 @@ QVariant MonitorTableModel::data(const QModelIndex &index, int role) const
if (monitor.lastState().isEmpty()) {
return {};
}
if (role == Qt::UserRole) {
return monitor.lastStateCount();
}
return tr("%n time(s)", "", monitor.lastStateCount());

case 10:
Expand Down
1 change: 1 addition & 0 deletions src/gui/src/tabs/monitors-tab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ MonitorsTab::MonitorsTab(Profile *profile, MonitorManager *monitorManager, Monit

auto monitorTableModel = new MonitorTableModel(m_monitorManager, this);
m_monitorTableModel = new QSortFilterProxyModel(this);
m_monitorTableModel->setSortRole(Qt::UserRole);
m_monitorTableModel->setSourceModel(monitorTableModel);
ui->tableMonitors->setModel(m_monitorTableModel);
connect(m_monitoringCenter, &MonitoringCenter::statusChanged, monitorTableModel, &MonitorTableModel::setStatus);
Expand Down

0 comments on commit f268117

Please sign in to comment.