From e761c131d03f1dd3d942c6abe923dcdfff0cbb75 Mon Sep 17 00:00:00 2001 From: Caio Carvalho Date: Sun, 15 Jul 2018 13:21:12 -0300 Subject: [PATCH] Changing prettyName for RAID devices with Resync/Recovery status. --- src/core/raid/softwareraid.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/core/raid/softwareraid.cpp b/src/core/raid/softwareraid.cpp index e30fd02..5273106 100644 --- a/src/core/raid/softwareraid.cpp +++ b/src/core/raid/softwareraid.cpp @@ -96,8 +96,12 @@ QString SoftwareRAID::prettyName() const { QString raidInfo; - if (status() != SoftwareRAID::Status::Inactive) + if (status() == SoftwareRAID::Status::Active) raidInfo = xi18nc("@item:inlistbox [RAID level]", " [RAID %1]", raidLevel()); + else if (status() == SoftwareRAID::Status::Recovery) + raidInfo = xi18nc("@item:inlistbox [RAID level - Recovering]", " [RAID %1 - Recovering]", raidLevel()); + else if (status() == SoftwareRAID::Status::Resync) + raidInfo = xi18nc("@item:inlistbox [RAID level - Resyncing]", " [RAID %1 - Resyncing]", raidLevel()); else raidInfo = QStringLiteral(" [RAID]"); @@ -193,13 +197,12 @@ void SoftwareRAID::scanSoftwareRAID(QList& devices) SoftwareRAID* d = static_cast(CoreBackendManager::self()->backend()->scanDevice(deviceNode)); - if (scannedRaid.contains(d)) { - if (status == QStringLiteral("inactive")) - d->setStatus(SoftwareRAID::Status::Inactive); - } - else + if (!scannedRaid.contains(d)) scannedRaid << d; + if (status == QStringLiteral("inactive")) + d->setStatus(SoftwareRAID::Status::Inactive); + if (d->raidLevel() > 0) { QRegularExpression reMirrorStatus(QStringLiteral("\\[[=>.]+\\]\\s+(resync|recovery)"));