Let's use that as an example. I would never forgive that at all. I would regard that as a top immorality, and regard that person as immoral, regardless of what kind of virtues he or she might have. Needless to say, if you have a robber or a murderer, or a person who is systematically breaking the rights of other people, you would call him immoral, no matter what lesser virtues he might have. So you, in judging people of mixed premises, as most people are, you have to balance, in effect hierarchically, the seriousness of their virtues and of their vices, and see what you get in the net result.
Values are contextual.
They depend on the context of a given situation. Now there are, unfortunately, too many people who are part good, part bad. Well, that's their problem. To struggle to the best of their ability, to do good and to never do evil consciously. However, if he does just one action which he knows to be wrong, but permits it to himself, then he's evil absolutely.