mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Edit metadata dialog: If a permission denied error occurs when clicking the next or prev buttons, stay on the current book. Fixes #986903 (Changes lost when permission denied to edit metadata)
This commit is contained in:
parent
fad11b46ee
commit
d6c7ce3d7d
@ -8,7 +8,6 @@ __copyright__ = '2011, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
import os, errno
|
||||
from functools import partial
|
||||
from datetime import datetime
|
||||
|
||||
from PyQt4.Qt import (Qt, QVBoxLayout, QHBoxLayout, QWidget, QPushButton,
|
||||
@ -66,14 +65,14 @@ class MetadataSingleDialogBase(ResizableDialog):
|
||||
self.next_button = QPushButton(QIcon(I('forward.png')), _('Next'),
|
||||
self)
|
||||
self.next_button.setShortcut(QKeySequence('Alt+Right'))
|
||||
self.next_button.clicked.connect(partial(self.do_one, delta=1))
|
||||
self.next_button.clicked.connect(self.next_clicked)
|
||||
self.prev_button = QPushButton(QIcon(I('back.png')), _('Previous'),
|
||||
self)
|
||||
self.prev_button.setShortcut(QKeySequence('Alt+Left'))
|
||||
|
||||
self.button_box.addButton(self.prev_button, self.button_box.ActionRole)
|
||||
self.button_box.addButton(self.next_button, self.button_box.ActionRole)
|
||||
self.prev_button.clicked.connect(partial(self.do_one, delta=-1))
|
||||
self.prev_button.clicked.connect(self.prev_clicked)
|
||||
|
||||
self.scroll_area = QScrollArea(self)
|
||||
self.scroll_area.setFrameShape(QScrollArea.NoFrame)
|
||||
@ -479,6 +478,16 @@ class MetadataSingleDialogBase(ResizableDialog):
|
||||
self.break_cycles()
|
||||
return ret
|
||||
|
||||
def next_clicked(self):
|
||||
if not self.apply_changes():
|
||||
return
|
||||
self.do_one(delta=1, apply_changes=False)
|
||||
|
||||
def prev_clicked(self):
|
||||
if not self.apply_changes():
|
||||
return
|
||||
self.do_one(delta=-1, apply_changes=False)
|
||||
|
||||
def do_one(self, delta=0, apply_changes=True):
|
||||
if apply_changes:
|
||||
self.apply_changes()
|
||||
|
Loading…
x
Reference in New Issue
Block a user