diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index f69788e849..0b21502327 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -248,10 +248,11 @@ def error_dialog(parent, title, msg, det_msg='', show=False, return d.exec_() return d -def question_dialog(parent, title, msg, det_msg='', show_copy_button=False): +def question_dialog(parent, title, msg, det_msg='', show_copy_button=False, + default_yes=True): from calibre.gui2.dialogs.message_box import MessageBox d = MessageBox(MessageBox.QUESTION, title, msg, det_msg, parent=parent, - show_copy_button=show_copy_button) + show_copy_button=show_copy_button, default_yes=default_yes) return d.exec_() == d.Accepted def info_dialog(parent, title, msg, det_msg='', show=False, diff --git a/src/calibre/gui2/actions/choose_library.py b/src/calibre/gui2/actions/choose_library.py index fb180176df..32460b6bec 100644 --- a/src/calibre/gui2/actions/choose_library.py +++ b/src/calibre/gui2/actions/choose_library.py @@ -252,11 +252,12 @@ class ChooseLibraryAction(InterfaceAction): def delete_requested(self, name, location): loc = location.replace('/', os.sep) - if not question_dialog(self.gui, _('Are you sure?'), '

'+ + if not question_dialog(self.gui, _('Are you sure?'), + _('

WARNING

')+ _('All files (not just ebooks) ' 'from

%s

will be ' 'permanently deleted. Are you sure?') % loc, - show_copy_button=False): + show_copy_button=False, default_yes=False): return exists = self.gui.library_view.model().db.exists_at(loc) if exists: diff --git a/src/calibre/gui2/dialogs/message_box.py b/src/calibre/gui2/dialogs/message_box.py index c9198c4aa2..7fd7a0addf 100644 --- a/src/calibre/gui2/dialogs/message_box.py +++ b/src/calibre/gui2/dialogs/message_box.py @@ -23,7 +23,7 @@ class MessageBox(QDialog, Ui_Dialog): # {{{ det_msg='', q_icon=None, show_copy_button=True, - parent=None): + parent=None, default_yes=True): QDialog.__init__(self, parent) if q_icon is None: icon = { @@ -65,7 +65,9 @@ class MessageBox(QDialog, Ui_Dialog): # {{{ self.is_question = type_ == self.QUESTION if self.is_question: self.bb.setStandardButtons(self.bb.Yes|self.bb.No) - self.bb.button(self.bb.Yes).setDefault(True) + self.bb.button(self.bb.Yes if default_yes else self.bb.No + ).setDefault(True) + self.default_yes = default_yes else: self.bb.button(self.bb.Ok).setDefault(True) @@ -101,7 +103,8 @@ class MessageBox(QDialog, Ui_Dialog): # {{{ ret = QDialog.showEvent(self, ev) if self.is_question: try: - self.bb.button(self.bb.Yes).setFocus(Qt.OtherFocusReason) + self.bb.button(self.bb.Yes if self.default_yes else self.bb.No + ).setFocus(Qt.OtherFocusReason) except: pass# Buttons were changed else: