diff --git a/src/Icons/skin/unpaused.png b/src/Icons/skin/unpaused.png
new file mode 100644
index 000000000..a4b0833b4
Binary files /dev/null and b/src/Icons/skin/unpaused.png differ
diff --git a/src/icons.qrc b/src/icons.qrc
index b6f4593e2..928354efe 100644
--- a/src/icons.qrc
+++ b/src/icons.qrc
@@ -361,6 +361,7 @@
Icons/skin/tabs.gif
Icons/skin/toolbox-divider.gif
Icons/skin/toolbox-divider2.gif
+ Icons/skin/unpaused.png
Icons/skin/uploading.png
Icons/oxygen/system-log-out.png
Icons/oxygen/go-bottom.png
diff --git a/src/torrentfilterenum.h b/src/torrentfilterenum.h
index 67e59b7e0..17f88af6e 100644
--- a/src/torrentfilterenum.h
+++ b/src/torrentfilterenum.h
@@ -32,6 +32,6 @@
#define TORRENTFILTERENUM_H
namespace TorrentFilter {
-enum TorrentFilter {ALL, DOWNLOADING, COMPLETED, PAUSED, ACTIVE, INACTIVE};
+enum TorrentFilter {ALL, DOWNLOADING, COMPLETED, PAUSED, UNPAUSED, ACTIVE, INACTIVE};
}
#endif // TORRENTFILTERENUM_H
diff --git a/src/transferlistfilterswidget.cpp b/src/transferlistfilterswidget.cpp
index f52f13d5a..c247b1a15 100644
--- a/src/transferlistfilterswidget.cpp
+++ b/src/transferlistfilterswidget.cpp
@@ -194,6 +194,9 @@ TransferListFiltersWidget::TransferListFiltersWidget(QWidget *parent, TransferLi
QListWidgetItem *paused = new QListWidgetItem(statusFilters);
paused->setData(Qt::DisplayRole, QVariant(tr("Paused") + " (0)"));
paused->setData(Qt::DecorationRole, QIcon(":/Icons/skin/paused.png"));
+ QListWidgetItem *unpaused = new QListWidgetItem(statusFilters);
+ unpaused->setData(Qt::DisplayRole, QVariant(tr("Unpaused") + " (0)"));
+ unpaused->setData(Qt::DecorationRole, QIcon(":/Icons/skin/unpaused.png"));
QListWidgetItem *active = new QListWidgetItem(statusFilters);
active->setData(Qt::DisplayRole, QVariant(tr("Active") + " (0)"));
active->setData(Qt::DecorationRole, QIcon(":/Icons/skin/filteractive.png"));
@@ -265,6 +268,7 @@ void TransferListFiltersWidget::updateTorrentNumbers() {
statusFilters->item(TorrentFilter::DOWNLOADING)->setData(Qt::DisplayRole, QVariant(tr("Downloading")+" ("+QString::number(report.nb_downloading)+")"));
statusFilters->item(TorrentFilter::COMPLETED)->setData(Qt::DisplayRole, QVariant(tr("Completed")+" ("+QString::number(report.nb_seeding)+")"));
statusFilters->item(TorrentFilter::PAUSED)->setData(Qt::DisplayRole, QVariant(tr("Paused")+" ("+QString::number(report.nb_paused)+")"));
+ statusFilters->item(TorrentFilter::UNPAUSED)->setData(Qt::DisplayRole, QVariant(tr("Unpaused")+" ("+QString::number(report.nb_active+report.nb_inactive-report.nb_paused)+")"));
statusFilters->item(TorrentFilter::ACTIVE)->setData(Qt::DisplayRole, QVariant(tr("Active")+" ("+QString::number(report.nb_active)+")"));
statusFilters->item(TorrentFilter::INACTIVE)->setData(Qt::DisplayRole, QVariant(tr("Inactive")+" ("+QString::number(report.nb_inactive)+")"));
}
diff --git a/src/transferlistsortmodel.cpp b/src/transferlistsortmodel.cpp
index 56e5cf79c..890b44208 100644
--- a/src/transferlistsortmodel.cpp
+++ b/src/transferlistsortmodel.cpp
@@ -222,6 +222,9 @@ bool TransferListSortModel::matchStatusFilter(int sourceRow, const QModelIndex &
case TorrentFilter::PAUSED:
return (state == TorrentModelItem::STATE_PAUSED_UP || state == TorrentModelItem::STATE_PAUSED_DL);
+ case TorrentFilter::UNPAUSED:
+ return (state != TorrentModelItem::STATE_PAUSED_UP && state != TorrentModelItem::STATE_PAUSED_DL);
+
case TorrentFilter::ACTIVE:
if (state == TorrentModelItem::STATE_STALLED_DL) {
const qulonglong up_speed = model->index(sourceRow, TorrentModelItem::TR_UPSPEED, sourceParent).data().toULongLong();