Session TODO:
1. FIXED: Bottone "Cancel Logout" al posto di Cancel nelle varie dialog durante il logout
2. Mostrare dialog di errore con "Cancel Logout" in caso di errore (ad esempio salvando la sessione) (?? vedi punti 10 e 11)
3. FIXED Mostrare le close confirmation dialog sequenzialmente
4. FIXED Spostare window_get_unsaved_documents in gedit-window
5. FIXED Attaccare ad ogni oggetto nella lista di dirty windows la lista di unsaved_documents
6. FIXED Aggiungere uno stato SAVE_SESSION alla window (tutte le finestre vanno messe in quello
stato non appena inizia il salvataggio della sessione, ossia in save_all_docs_and_save_session,
mettere "Saving session..." nella statusbar)
7. Scrivere "Saving session...", "Session saved", "Logout cancelled", etc. nella status bar
8. Non salvare la sessione nel caso lo stato della finestra sia "complicato" e mostrare
finestra di errore che spiega la situazione
(in realtà possiamo fare cose un po' più sofisticate del tipo se lo stato è save, print, etc.
aspettiamo qualche secondo e riproviamo, se lo stato è error -> finestra di errore).
9. FIXED Non abbiamo più il problema di togliere una finestra dalla dirty list se le trattiamo in modo sequenziale
il problema diventa sapere quando passare alla prossima. Si tiene una lista di documenti da salvare
associati alla finestra quando un documento è salvato con successo, viene rimosso dalla lista,
quando l'ultimo documento viene rimosso dalla lista, si passa alla prossima finestra
10. In caso di errore annullare il processo di shutdown (se possibile finire la finestra corrente e saltare le successive), mettere un messaggio nella statusbar
11. In caso di Cancel nel filechooser per un doc untitled, annullare lo shutdown e mettere msg nella statusbar
12. Switch al workspace giusto quando viene mostrato il confirmation dialog