+QPixmap DolphinFileItemListWidget::overlayForState(KVersionControlPlugin::ItemVersion version, int size)
+{
+ int overlayHeight = KIconLoader::SizeSmall;
+ if (size >= KIconLoader::SizeEnormous) {
+ overlayHeight = KIconLoader::SizeMedium;
+ } else if (size >= KIconLoader::SizeLarge) {
+ overlayHeight = KIconLoader::SizeSmallMedium;
+ } else if (size >= KIconLoader::SizeMedium) {
+ overlayHeight = KIconLoader::SizeSmall;
+ } else {
+ overlayHeight = KIconLoader::SizeSmall / 2;
+ }
+
+ QString iconName;
+ switch (version) {
+ case KVersionControlPlugin::NormalVersion:
+ iconName = QStringLiteral("vcs-normal");
+ break;
+ case KVersionControlPlugin::UpdateRequiredVersion:
+ iconName = QStringLiteral("vcs-update-required");
+ break;
+ case KVersionControlPlugin::LocallyModifiedVersion:
+ iconName = QStringLiteral("vcs-locally-modified");
+ break;
+ case KVersionControlPlugin::LocallyModifiedUnstagedVersion:
+ iconName = QStringLiteral("vcs-locally-modified-unstaged");
+ break;
+ case KVersionControlPlugin::AddedVersion:
+ iconName = QStringLiteral("vcs-added");
+ break;
+ case KVersionControlPlugin::RemovedVersion:
+ iconName = QStringLiteral("vcs-removed");
+ break;
+ case KVersionControlPlugin::ConflictingVersion:
+ iconName = QStringLiteral("vcs-conflicting");
+ break;
+ case KVersionControlPlugin::UnversionedVersion:
+ case KVersionControlPlugin::IgnoredVersion:
+ case KVersionControlPlugin::MissingVersion:
+ break;
+ default:
+ Q_ASSERT(false);
+ break;
+ }
+
+ return QIcon::fromTheme(iconName).pixmap(QSize(overlayHeight, overlayHeight));
+}
+