def _file_quit(action, window): debug(DEBUG_COMMANDS) if window.get_state() & (WINDOW_STATE_SAVING | WINDOW_STATE_PRINTING | WINDOW_STATE_SAVING_SESSION): return file_close_all(window, True)
def file_close_all(window, is_quitting): debug(DEBUG_COMMANDS) if window.get_state() & (WINDOW_STATE_SAVING | WINDOW_STATE_PRINTING | WINDOW_STATE_SAVING_SESSION): return window.set_data(IS_CLOSING_ALL, True) window.set_data(IS_QUITTING, is_quitting) unsaved_docs = window.get_unsaved_documents() if len(unsaved_docs) == 0: # There is no document to save -> close all tabs window.close_all_tabs() if is_quitting: window.destroy() return if len(unsaved_docs) == 1: # There is only one unsaved document doc = unsaved_docs[0] tab = tab_get_from_document(doc) if tab == None: return window.set_active_tab(tab) dlg = close_confirmation_dialog_new_single(window, doc, False) else: dlg = close_confirmation_dialog_new(window, unsaved_docs, False) dlg.connect("response", close_confirmation_dialog_response_handler, window) dlg.show()