def _try_close_dirty_tabs(self, exept=None):
        """
        Tries to close dirty tabs. Uses DlgUnsavedFiles to ask the user
        what he wants to do.
        """
        widgets, filenames = self._collect_dirty_tabs(exept=exept)
        if not len(filenames):
            return True
        dlg = DlgUnsavedFiles(self, files=filenames)
        if dlg.exec_() == dlg.Accepted:
            if not dlg.discarded:
                for item in dlg.listWidget.selectedItems():
                    filename = item.text()
                    widget = None
                    for widget in widgets:
                        if widget.file.path == filename:
                            break
                    if widget != exept:
                        self._save_editor(widget)
                        self.removeTab(self.indexOf(widget))
            return True
        return False
def _try_close_dirty_tabs ( self , exept = None ) : widgets , filenames = self . _collect_dirty_tabs ( exept = exept ) if not len ( filenames ) : return True dlg = DlgUnsavedFiles ( self , files = filenames ) if dlg . exec_ ( ) == dlg . Accepted : if not dlg . discarded : for item in dlg . listWidget . selectedItems ( ) : filename = item . text ( ) widget = None for widget in widgets : if widget . file . path == filename : break if widget != exept : self . _save_editor ( widget ) self . removeTab ( self . indexOf ( widget ) ) return True return False
Tries to close dirty tabs. Uses DlgUnsavedFiles to ask the user
        what he wants to do.