Thanks everyone. I tried taking Edie for a walk to the park, but I think she got traumatised a little. We live in a busy area with lots of different kinds of people and dogs, so we had to pass a lot of people on the way. Unfortunately four different people stopped us on the street and tried to lunge at Edie as we were walking. She's naturally a timid pup and prefers to take a little time before approaching people, so she got really scared. (We're trying to work on that, of course).
Why don't people ask before trying to grab at dogs? Surely it's impolite to just lean over her head and try to stroke her back? I tried to explain that she's nervous, in the nicest possible way, but nobody seems to listen when they see a puppy. When I tried to take her out yesterday, she refused to leave the house completely - planted all her feet on the ground and cried until I shut the door.