请帮忙解决英语问题(与虚拟语气有关)

问题描述:

请帮忙解决英语问题(与虚拟语气有关)
He would be not able to recognize Wang Yingying but for his seeing her white Nike shoes that have been always on her feet.
主句的虚拟语气形式对吗?

这句话的意思是要不是看见一直在她脚上的那双耐克鞋,他都没有认出王丽丽来.主句应该用would have been able to.从句应该用had done