Reduce indentation in models

This commit is contained in:
Martchus 2019-02-16 01:06:08 +01:00
parent 700b0d24e0
commit 4b54fc3a28
3 changed files with 449 additions and 429 deletions

View File

@ -94,10 +94,14 @@ QVariant SyncthingDeviceModel::headerData(int section, Qt::Orientation orientati
QVariant SyncthingDeviceModel::data(const QModelIndex &index, int role) const
{
if (index.isValid()) {
if (!index.isValid()) {
return QVariant();
}
if (index.parent().isValid()) {
// dir attributes
if (static_cast<size_t>(index.parent().row()) < m_devs.size()) {
if (static_cast<size_t>(index.parent().row()) >= m_devs.size()) {
return QVariant();
}
switch (role) {
case Qt::DisplayRole:
case Qt::EditRole:
@ -186,8 +190,13 @@ QVariant SyncthingDeviceModel::data(const QModelIndex &index, int role) const
break;
default:;
}
return QVariant();
}
} else if (static_cast<size_t>(index.row()) < m_devs.size()) {
if (static_cast<size_t>(index.row()) >= m_devs.size()) {
return QVariant();
}
// dir IDs and status
const SyncthingDev &dev = m_devs[static_cast<size_t>(index.row())];
switch (role) {
@ -252,8 +261,6 @@ QVariant SyncthingDeviceModel::data(const QModelIndex &index, int role) const
return dev.id;
default:;
}
}
}
return QVariant();
}

View File

@ -98,10 +98,14 @@ QVariant SyncthingDirectoryModel::headerData(int section, Qt::Orientation orient
QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
{
if (index.isValid()) {
if (!index.isValid()) {
return QVariant();
}
if (index.parent().isValid()) {
// dir attributes
if (static_cast<size_t>(index.parent().row()) < m_dirs.size()) {
if (static_cast<size_t>(index.parent().row()) >= m_dirs.size()) {
return QVariant();
}
const SyncthingDir &dir = m_dirs[static_cast<size_t>(index.parent().row())];
const auto row = dir.paused && index.row() > 1 ? index.row() + 2 : index.row();
switch (role) {
@ -159,8 +163,7 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
case 6:
return rescanIntervalString(dir.rescanInterval, dir.fileSystemWatcherEnabled);
case 7:
return dir.lastScanTime.isNull()
? tr("unknown")
return dir.lastScanTime.isNull() ? tr("unknown")
: QString::fromLatin1(dir.lastScanTime.toString(DateTimeOutputFormat::DateAndTime, true).data());
case 8:
return dir.lastFileName.isEmpty() ? tr("unknown") : dir.lastFileName;
@ -174,9 +177,7 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
if (dir.globalError.isEmpty()) {
return tr("%1 item(s) out of sync", nullptr, trQuandity(dir.pullErrorCount)).arg(dir.pullErrorCount);
}
return tr("%1 and %2 item(s) out of sync", nullptr, trQuandity(dir.pullErrorCount))
.arg(dir.globalError)
.arg(dir.pullErrorCount);
return tr("%1 and %2 item(s) out of sync", nullptr, trQuandity(dir.pullErrorCount)).arg(dir.globalError).arg(dir.pullErrorCount);
}
}
break;
@ -212,8 +213,8 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
if (dir.deviceNames.isEmpty()) {
return dir.deviceIds.join(QChar('\n'));
} else {
return QString(dir.deviceNames.join(QStringLiteral(", ")) % QChar('\n') % QChar('(') % dir.deviceIds.join(QChar('\n'))
% QChar(')'));
return QString(
dir.deviceNames.join(QStringLiteral(", ")) % QChar('\n') % QChar('(') % dir.deviceIds.join(QChar('\n')) % QChar(')'));
}
case 7:
if (!dir.lastScanTime.isNull()) {
@ -246,8 +247,13 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
break;
default:;
}
return QVariant();
}
} else if (static_cast<size_t>(index.row()) < m_dirs.size()) {
if (static_cast<size_t>(index.row()) >= m_dirs.size()) {
return QVariant();
}
// dir IDs and status
const SyncthingDir &dir = m_dirs[static_cast<size_t>(index.row())];
switch (role) {
@ -316,8 +322,7 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
return dir.pullErrorCount;
default:;
}
}
}
return QVariant();
}

View File

@ -108,10 +108,15 @@ QVariant SyncthingDownloadModel::headerData(int section, Qt::Orientation orienta
QVariant SyncthingDownloadModel::data(const QModelIndex &index, int role) const
{
if (index.isValid()) {
if (!index.isValid()) {
return QVariant();
}
if (index.parent().isValid()) {
// downloading items (of dir)
if (static_cast<size_t>(index.parent().row()) < m_pendingDirs.size()) {
if (static_cast<size_t>(index.parent().row()) >= m_pendingDirs.size()) {
return QVariant();
}
const SyncthingDir &dir = *m_pendingDirs[static_cast<size_t>(index.parent().row())].syncthingDir;
if (static_cast<size_t>(index.row()) < dir.downloadingItems.size()) {
const SyncthingItemDownloadProgress &progress = dir.downloadingItems[static_cast<size_t>(index.row())];
@ -143,8 +148,13 @@ QVariant SyncthingDownloadModel::data(const QModelIndex &index, int role) const
default:;
}
}
return QVariant();
}
} else if (static_cast<size_t>(index.row()) < m_pendingDirs.size()) {
if (static_cast<size_t>(index.row()) >= m_pendingDirs.size()) {
return QVariant();
}
// dir IDs and overall dir progress
const SyncthingDir &dir = *m_pendingDirs[static_cast<size_t>(index.row())].syncthingDir;
switch (role) {
@ -152,8 +162,8 @@ QVariant SyncthingDownloadModel::data(const QModelIndex &index, int role) const
case Qt::EditRole:
switch (index.column()) {
case 0:
return QVariant((dir.label.isEmpty() ? dir.id : dir.label) % QChar(' ') % QChar('(')
% QString::number(dir.downloadingItems.size()) % QChar(')'));
return QVariant(
(dir.label.isEmpty() ? dir.id : dir.label) % QChar(' ') % QChar('(') % QString::number(dir.downloadingItems.size()) % QChar(')'));
case 1:
return dir.downloadLabel;
}
@ -174,8 +184,6 @@ QVariant SyncthingDownloadModel::data(const QModelIndex &index, int role) const
return dir.path;
default:;
}
}
}
return QVariant();
}