mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Edit book: Compress images losslessly: Remember the last used compression quality for jpeg compression. Fixes #1796950 [[enhancement] editor, compress images losslessly, remember compression quality](https://bugs.launchpad.net/calibre/+bug/1796950)
This commit is contained in:
parent
c477444367
commit
baf0cbad6a
@ -523,6 +523,9 @@ class FileList(QTreeWidget):
|
|||||||
m.addAction(QIcon(I('modified.png')), _('Change the file extension for the selected files'), self.request_change_ext)
|
m.addAction(QIcon(I('modified.png')), _('Change the file extension for the selected files'), self.request_change_ext)
|
||||||
m.addAction(QIcon(I('trash.png')), ngettext(
|
m.addAction(QIcon(I('trash.png')), ngettext(
|
||||||
'&Delete the selected file', '&Delete the {} selected files', num).format(num), self.request_delete)
|
'&Delete the selected file', '&Delete the {} selected files', num).format(num), self.request_delete)
|
||||||
|
m.addAction(QIcon(I('edit-copy.png')), ngettext(
|
||||||
|
'&Copy the selected file to another editor instance',
|
||||||
|
'&Copy the {} selected files to another editor instance', num).format(num), self.copy_selected_files)
|
||||||
m.addSeparator()
|
m.addSeparator()
|
||||||
|
|
||||||
selected_map = defaultdict(list)
|
selected_map = defaultdict(list)
|
||||||
@ -644,6 +647,9 @@ class FileList(QTreeWidget):
|
|||||||
ans.discard('')
|
ans.discard('')
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
|
def copy_selected_files(self):
|
||||||
|
pass
|
||||||
|
|
||||||
def request_delete(self):
|
def request_delete(self):
|
||||||
names = self.selected_names
|
names = self.selected_names
|
||||||
bad = names & current_container().names_that_must_not_be_removed
|
bad = names & current_container().names_that_must_not_be_removed
|
||||||
|
@ -185,9 +185,10 @@ class CompressImages(Dialog):
|
|||||||
self.h2 = h = QHBoxLayout()
|
self.h2 = h = QHBoxLayout()
|
||||||
l.addLayout(h)
|
l.addLayout(h)
|
||||||
self.jq = jq = QSpinBox(self)
|
self.jq = jq = QSpinBox(self)
|
||||||
jq.setMinimum(0), jq.setMaximum(100), jq.setValue(80), jq.setEnabled(False)
|
jq.setMinimum(0), jq.setMaximum(100), jq.setValue(tprefs.get('jpeg_compression_quality_for_lossless_compression', 80)), jq.setEnabled(False)
|
||||||
jq.setToolTip(_('The compression quality, 1 is high compression, 100 is low compression.\nImage'
|
jq.setToolTip(_('The compression quality, 1 is high compression, 100 is low compression.\nImage'
|
||||||
' quality is inversely correlated with compression quality.'))
|
' quality is inversely correlated with compression quality.'))
|
||||||
|
jq.valueChanged.connect(self.save_compression_quality)
|
||||||
el.toggled.connect(jq.setEnabled)
|
el.toggled.connect(jq.setEnabled)
|
||||||
self.jql = la = QLabel(_('Compression &quality:'))
|
self.jql = la = QLabel(_('Compression &quality:'))
|
||||||
la.setBuddy(jq)
|
la.setBuddy(jq)
|
||||||
@ -195,6 +196,9 @@ class CompressImages(Dialog):
|
|||||||
l.addStretch(10)
|
l.addStretch(10)
|
||||||
l.addWidget(self.bb)
|
l.addWidget(self.bb)
|
||||||
|
|
||||||
|
def save_compression_quality(self):
|
||||||
|
tprefs.set('jpeg_compression_quality_for_lossless_compression', self.jq.value())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def names(self):
|
def names(self):
|
||||||
return {item.text() for item in self.images.selectedItems()}
|
return {item.text() for item in self.images.selectedItems()}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user