I cannot recommend the Manotel Edelweiss enough!! It is VERY atmospheric and has a great fondue restaurant - book early though, we checked in and tried to get reservations and they were completely booked (it was a Friday night). We went to another Fondue restaurant around the corner (the Savoy, I think) and then came back to the hotel and asked at the door if we could just come in for dessert. It was wonderful!
Don't know about Christmas meals, you might want to email or call them. Very friendly people. I will definitely stay there again when in Geneva.
Only one downside: it's a bit of a hike to the "downtown" area, but it's a picturesque walk.
Migros grocers with cafe across the street for quick cheap eats.