+QPixmap DolphinFileItemListWidget::overlayForState(KVersionControlPlugin2::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 = "vcs-normal";
+ break;
+ case KVersionControlPlugin::UpdateRequiredVersion:
+ iconName = "vcs-update-required";
+ break;
+ case KVersionControlPlugin::LocallyModifiedVersion:
+ iconName = "vcs-locally-modified";
+ break;
+ case KVersionControlPlugin::LocallyModifiedUnstagedVersion:
+ iconName = "vcs-locally-modified-unstaged";
+ break;
+ case KVersionControlPlugin::AddedVersion:
+ iconName = "vcs-added";
+ break;
+ case KVersionControlPlugin::RemovedVersion:
+ iconName = "vcs-removed";
+ break;
+ case KVersionControlPlugin::ConflictingVersion:
+ iconName = "vcs-conflicting";
+ break;
+ case KVersionControlPlugin::UnversionedVersion:
+ case KVersionControlPlugin2::IgnoredVersion:
+ case KVersionControlPlugin2::MissingVersion:
+ break;
+ default:
+ Q_ASSERT(false);
+ break;
+ }
+
+ return QIcon::fromTheme(iconName).pixmap(QSize(overlayHeight, overlayHeight));
+}
+