summaryrefslogtreecommitdiff
path: root/src/downloadlist.cpp
diff options
context:
space:
mode:
authorAl <gabriel.cortesi@outlook.com>2019-05-23 15:39:21 +0200
committerGitHub <noreply@github.com>2019-05-23 15:39:21 +0200
commita0500fef6c7db55c51334cc1bfc39cc9393fa16b (patch)
treea295ecf24a5cab0f7e64b0308bb1ab1fb3a6b964 /src/downloadlist.cpp
parent2f0cfa2930b5876319c5a3a1b0ddd7989d0ec51e (diff)
parentd9cdc244619c42b6f140e8ab6815bc7409231644 (diff)
Merge pull request #728 from isanae/Develop
Adds three columns in download list: mod name, version and nexus id
Diffstat (limited to 'src/downloadlist.cpp')
-rw-r--r--src/downloadlist.cpp35
1 files changed, 31 insertions, 4 deletions
diff --git a/src/downloadlist.cpp b/src/downloadlist.cpp
index dd72abbd..5e698e0e 100644
--- a/src/downloadlist.cpp
+++ b/src/downloadlist.cpp
@@ -47,7 +47,7 @@ int DownloadList::rowCount(const QModelIndex&) const
int DownloadList::columnCount(const QModelIndex&) const
{
- return 4;
+ return COL_COUNT;
}
@@ -69,6 +69,9 @@ QVariant DownloadList::headerData(int section, Qt::Orientation orientation, int
(orientation == Qt::Horizontal)) {
switch (section) {
case COL_NAME: return tr("Name");
+ case COL_MODNAME: return tr("Mod name");
+ case COL_VERSION: return tr("Version");
+ case COL_ID: return tr("Nexus ID");
case COL_SIZE: return tr("Size");
case COL_STATUS: return tr("Status");
case COL_FILETIME: return tr("Filetime");
@@ -93,6 +96,30 @@ QVariant DownloadList::data(const QModelIndex &index, int role) const
} else {
switch (index.column()) {
case COL_NAME: return m_MetaDisplay ? m_Manager->getDisplayName(index.row()) : m_Manager->getFileName(index.row());
+ case COL_MODNAME: {
+ if (m_Manager->isInfoIncomplete(index.row())) {
+ return {};
+ } else {
+ const MOBase::ModRepositoryFileInfo *info = m_Manager->getFileInfo(index.row());
+ return info->modName;
+ }
+ }
+ case COL_VERSION: {
+ if (m_Manager->isInfoIncomplete(index.row())) {
+ return {};
+ } else {
+ const MOBase::ModRepositoryFileInfo *info = m_Manager->getFileInfo(index.row());
+ return info->version.canonicalString();
+ }
+ }
+ case COL_ID: {
+ if (m_Manager->isInfoIncomplete(index.row())) {
+ return {};
+ } else {
+ const MOBase::ModRepositoryFileInfo *info = m_Manager->getFileInfo(index.row());
+ return QString("%1").arg(m_Manager->getModID(index.row()));
+ }
+ }
case COL_SIZE: return sizeFormat(m_Manager->getFileSize(index.row()));
case COL_FILETIME: return m_Manager->getFileTime(index.row());
case COL_STATUS:
@@ -143,10 +170,10 @@ QVariant DownloadList::data(const QModelIndex &index, int role) const
&& m_Manager->isInfoIncomplete(index.row()))
return QIcon(":/MO/gui/warning_16");
} else if (role == Qt::TextAlignmentRole) {
- if (index.column() == COL_NAME)
- return QVariant(Qt::AlignVCenter | Qt::AlignLeft);
- else
+ if (index.column() == COL_SIZE)
return QVariant(Qt::AlignVCenter | Qt::AlignRight);
+ else
+ return QVariant(Qt::AlignVCenter | Qt::AlignLeft);
}
return QVariant();
}