diff options
Diffstat (limited to 'src/libs/installer')
-rw-r--r-- | src/libs/installer/component.cpp | 6 | ||||
-rw-r--r-- | src/libs/installer/component_p.h | 6 | ||||
-rw-r--r-- | src/libs/installer/constants.h | 2 | ||||
-rw-r--r-- | src/libs/installer/packagemanagercore.cpp | 12 |
4 files changed, 17 insertions, 9 deletions
diff --git a/src/libs/installer/component.cpp b/src/libs/installer/component.cpp index 963dd55c6..4aa3c3400 100644 --- a/src/libs/installer/component.cpp +++ b/src/libs/installer/component.cpp @@ -113,7 +113,7 @@ void Component::loadDataFromPackage(const LocalPackage &package) setValue(QLatin1String("LastUpdateDate"), package.lastUpdateDate.toString()); setValue(QLatin1String("InstallDate"), package.installDate.toString()); setValue(scUncompressedSize, QString::number(package.uncompressedSize)); - + setValue(scPackageStatus, QLatin1String("Installed")); QString dependstr; foreach (const QString &val, package.dependencies) dependstr += val + QLatin1String(","); @@ -150,7 +150,7 @@ void Component::loadDataFromPackage(const Package &package) setValue(scDownloadableArchives, package.data(scDownloadableArchives).toString()); setValue(scVirtual, package.data(scVirtual).toString()); setValue(scSortingPriority, package.data(scSortingPriority).toString()); - + setValue(scPackageStatus, QLatin1String("Installed")); setValue(scEssential, package.data(scEssential).toString()); setValue(scUpdateText, package.data(scUpdateText).toString()); setValue(scNewComponent, package.data(scNewComponent).toString()); @@ -1198,6 +1198,8 @@ void Component::updateModelData(const QString &key, const QString &data) quint64 size = value(scUncompressedSizeSum).toLongLong(); setData(humanReadableSize(size), UncompressedSize); } + if (key == scPackageStatus) + setData(data, PackageStatus); const QString &updateInfo = value(scUpdateText); if (!d->m_core->isUpdater() || updateInfo.isEmpty()) { diff --git a/src/libs/installer/component_p.h b/src/libs/installer/component_p.h index 0c58288f9..8d2ab8e2a 100644 --- a/src/libs/installer/component_p.h +++ b/src/libs/installer/component_p.h @@ -101,14 +101,16 @@ public: enum Roles { LocalDisplayVersion = Qt::UserRole + 1, RemoteDisplayVersion = LocalDisplayVersion + 1, - UncompressedSize = RemoteDisplayVersion + 1 + UncompressedSize = RemoteDisplayVersion + 1, + PackageStatus = UncompressedSize + 1 }; enum Column { NameColumn = 0, InstalledVersionColumn, NewVersionColumn, - UncompressedSizeColumn + UncompressedSizeColumn, + ComponentStatus }; explicit ComponentModelHelper(); diff --git a/src/libs/installer/constants.h b/src/libs/installer/constants.h index ea512ed76..6a5037ff4 100644 --- a/src/libs/installer/constants.h +++ b/src/libs/installer/constants.h @@ -76,7 +76,7 @@ static const QLatin1String scRemoveTargetDir("RemoveTargetDir"); static const QLatin1String scRunProgramDescription("RunProgramDescription"); static const QLatin1String scTargetConfigurationFile("TargetConfigurationFile"); static const QLatin1String scAllowNonAsciiCharacters("AllowNonAsciiCharacters"); - +static const QLatin1String scPackageStatus("PackageStatus"); } #endif // CONSTANTS_H diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp index 2dda4205f..c0879f7eb 100644 --- a/src/libs/installer/packagemanagercore.cpp +++ b/src/libs/installer/packagemanagercore.cpp @@ -1917,8 +1917,11 @@ void PackageManagerCore::updateDisplayVersions(const QString &displayKey) const QString displayVersionRemote = findDisplayVersion(key, components, scRemoteVersion, visited); if (displayVersionRemote.isEmpty()) components.value(key)->setValue(displayKey, tr("invalid")); - else - components.value(key)->setValue(displayKey, displayVersionRemote); + else { + components.value(key)->setValue(displayKey, displayVersionRemote); + if (displayVersionRemote > findDisplayVersion(key, components, scVersion, visited ) ) + components.value(key)->setValue(scPackageStatus, tr("Updates available")); + } } } @@ -1942,8 +1945,7 @@ QString PackageManagerCore::findDisplayVersion(const QString &componentName, ComponentModel *PackageManagerCore::componentModel(PackageManagerCore *core, const QString &objectName) const { - ComponentModel *model = new ComponentModel(4, core); - + ComponentModel *model = new ComponentModel(5, core); model->setObjectName(objectName); model->setHeaderData(ComponentModelHelper::NameColumn, Qt::Horizontal, ComponentModel::tr("Component Name")); @@ -1953,6 +1955,8 @@ ComponentModel *PackageManagerCore::componentModel(PackageManagerCore *core, con ComponentModel::tr("New Version")); model->setHeaderData(ComponentModelHelper::UncompressedSizeColumn, Qt::Horizontal, ComponentModel::tr("Size")); + model->setHeaderData(ComponentModelHelper::ComponentStatus, Qt::Horizontal, + ComponentModel::tr("Status")); connect(this, SIGNAL(setRootComponents(QList<QInstaller::Component*>)), model, SLOT(setRootComponents(QList<QInstaller::Component*>))); connect(model, SIGNAL(defaultCheckStateChanged(bool)), this, SLOT(componentsToInstallNeedsRecalculation())); |