mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Fix #1903270 [[Enhancement] Add ability to undo Generate cover in the Edit metadata screen](https://bugs.launchpad.net/calibre/+bug/1903270)
This commit is contained in:
parent
15edcbfdb8
commit
7b7bcd6468
@ -1094,7 +1094,7 @@ class Cover(ImageView): # {{{
|
|||||||
self.dialog = parent
|
self.dialog = parent
|
||||||
self._cdata = None
|
self._cdata = None
|
||||||
self.draw_border = False
|
self.draw_border = False
|
||||||
self.cdata_before_trim = None
|
self.cdata_before_trim = self.cdata_before_generate = None
|
||||||
self.cover_changed.connect(self.set_pixmap_from_data)
|
self.cover_changed.connect(self.set_pixmap_from_data)
|
||||||
|
|
||||||
class CB(RightClickButton):
|
class CB(RightClickButton):
|
||||||
@ -1128,6 +1128,7 @@ class Cover(ImageView): # {{{
|
|||||||
b.m = m = QMenu(b)
|
b.m = m = QMenu(b)
|
||||||
b.setMenu(m)
|
b.setMenu(m)
|
||||||
m.addAction(QIcon(I('config.png')), _('Customize the styles and colors of the generated cover'), self.custom_cover)
|
m.addAction(QIcon(I('config.png')), _('Customize the styles and colors of the generated cover'), self.custom_cover)
|
||||||
|
m.addAction(QIcon(I('edit-undo.png')), _('Undo last Generate cover'), self.undo_generate)
|
||||||
b.setPopupMode(b.DelayedPopup)
|
b.setPopupMode(b.DelayedPopup)
|
||||||
self.buttons = [self.select_cover_button, self.remove_cover_button,
|
self.buttons = [self.select_cover_button, self.remove_cover_button,
|
||||||
self.trim_cover_button, self.download_cover_button,
|
self.trim_cover_button, self.download_cover_button,
|
||||||
@ -1142,6 +1143,11 @@ class Cover(ImageView): # {{{
|
|||||||
self.current_val = self.cdata_before_trim
|
self.current_val = self.cdata_before_trim
|
||||||
self.cdata_before_trim = None
|
self.cdata_before_trim = None
|
||||||
|
|
||||||
|
def undo_generate(self):
|
||||||
|
if self.cdata_before_generate:
|
||||||
|
self.current_val = self.cdata_before_generate
|
||||||
|
self.cdata_before_generate = None
|
||||||
|
|
||||||
def frame_resized(self, ev):
|
def frame_resized(self, ev):
|
||||||
sz = ev.size()
|
sz = ev.size()
|
||||||
self.frame_size = (sz.width()//3, sz.height())
|
self.frame_size = (sz.width()//3, sz.height())
|
||||||
@ -1208,6 +1214,7 @@ class Cover(ImageView): # {{{
|
|||||||
def generate_cover(self, *args):
|
def generate_cover(self, *args):
|
||||||
from calibre.ebooks.covers import generate_cover
|
from calibre.ebooks.covers import generate_cover
|
||||||
mi = self.dialog.to_book_metadata()
|
mi = self.dialog.to_book_metadata()
|
||||||
|
self.cdata_before_generate = self.current_val
|
||||||
self.current_val = generate_cover(mi)
|
self.current_val = generate_cover(mi)
|
||||||
|
|
||||||
def custom_cover(self):
|
def custom_cover(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user