The main reason why your quiche hasn't set is that you left too much liquid in the tomatoes and onions when softening them. It is very important that most of the liquid from the tomatoes evpourates. When cooking the tomatoes and onions it may seem as though the liquid will never evaporate. Just be patient, it will cook out eventually. Just keep stirring, drawing the spatula through the mixture until the liquid has gone. Do remember to let the tomatoes drain well before adding them to the pan. A frying pan has a larger surface area than a saucepan and this will help the liquid evaporate faster too. The second reason may be because the eggs you used were too small. I used three large eggs, if your eggs are on the small side you can use 4 eggs instead.