mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 10:14:46 -04:00
Use a check box instead of a button to save cover generation settings as defaults
This commit is contained in:
parent
d663c95b54
commit
b1dbaa82ac
@ -13,7 +13,7 @@ from PyQt5.Qt import (
|
|||||||
QWidget, QHBoxLayout, QTabWidget, QLabel, QSizePolicy, QSize, QFormLayout,
|
QWidget, QHBoxLayout, QTabWidget, QLabel, QSizePolicy, QSize, QFormLayout,
|
||||||
QSpinBox, pyqtSignal, QPixmap, QDialog, QVBoxLayout, QDialogButtonBox,
|
QSpinBox, pyqtSignal, QPixmap, QDialog, QVBoxLayout, QDialogButtonBox,
|
||||||
QListWidget, QListWidgetItem, Qt, QGridLayout, QPushButton, QIcon,
|
QListWidget, QListWidgetItem, Qt, QGridLayout, QPushButton, QIcon,
|
||||||
QColorDialog, QToolButton, QLineEdit, QColor, QFrame, QTimer)
|
QColorDialog, QToolButton, QLineEdit, QColor, QFrame, QTimer, QCheckBox)
|
||||||
|
|
||||||
from calibre.ebooks.covers import all_styles, cprefs, generate_cover, override_prefs, default_color_themes
|
from calibre.ebooks.covers import all_styles, cprefs, generate_cover, override_prefs, default_color_themes
|
||||||
from calibre.gui2 import gprefs, error_dialog
|
from calibre.gui2 import gprefs, error_dialog
|
||||||
@ -106,6 +106,7 @@ class CoverSettingsWidget(QWidget):
|
|||||||
self.for_global_prefs = for_global_prefs
|
self.for_global_prefs = for_global_prefs
|
||||||
|
|
||||||
self.l = l = QHBoxLayout(self)
|
self.l = l = QHBoxLayout(self)
|
||||||
|
l.setContentsMargins(0, 0, 0, 0)
|
||||||
self.setLayout(l)
|
self.setLayout(l)
|
||||||
self.settings_tabs = st = QTabWidget(self)
|
self.settings_tabs = st = QTabWidget(self)
|
||||||
l.addWidget(st)
|
l.addWidget(st)
|
||||||
@ -128,8 +129,7 @@ class CoverSettingsWidget(QWidget):
|
|||||||
else:
|
else:
|
||||||
msg = _('Choose a color scheme to be used for this generated cover.') + '<p>' + _(
|
msg = _('Choose a color scheme to be used for this generated cover.') + '<p>' + _(
|
||||||
'In normal cover generation, the color scheme is chosen at random from the list of color schemes below. You'
|
'In normal cover generation, the color scheme is chosen at random from the list of color schemes below. You'
|
||||||
' can prevent an individual color scheme from being chosen by unchecking it here and clicking the'
|
' can prevent an individual color scheme from being chosen by unchecking it here.')
|
||||||
' "Save as default settings" button.')
|
|
||||||
cp.la = la = QLabel('<p>' + msg)
|
cp.la = la = QLabel('<p>' + msg)
|
||||||
la.setWordWrap(True)
|
la.setWordWrap(True)
|
||||||
l.addWidget(la, 0, 0, 1, -1)
|
l.addWidget(la, 0, 0, 1, -1)
|
||||||
@ -157,8 +157,7 @@ class CoverSettingsWidget(QWidget):
|
|||||||
else:
|
else:
|
||||||
msg = _('Choose a style to be used for this generated cover.') + '<p>' + _(
|
msg = _('Choose a style to be used for this generated cover.') + '<p>' + _(
|
||||||
'In normal cover generation, the style is chosen at random from the list of styles below. You'
|
'In normal cover generation, the style is chosen at random from the list of styles below. You'
|
||||||
' can prevent an individual style from being chosen by unchecking it here and clicking the'
|
' can prevent an individual style from being chosen by unchecking it here.')
|
||||||
' "Save as default settings" button.')
|
|
||||||
sp.la = la = QLabel('<p>' + msg)
|
sp.la = la = QLabel('<p>' + msg)
|
||||||
la.setWordWrap(True)
|
la.setWordWrap(True)
|
||||||
l.addWidget(la)
|
l.addWidget(la)
|
||||||
@ -506,14 +505,15 @@ class CoverSettingsDialog(QDialog):
|
|||||||
self.setLayout(l)
|
self.setLayout(l)
|
||||||
self.settings = CoverSettingsWidget(mi=mi, prefs=prefs, parent=self)
|
self.settings = CoverSettingsWidget(mi=mi, prefs=prefs, parent=self)
|
||||||
l.addWidget(self.settings)
|
l.addWidget(self.settings)
|
||||||
|
self.save_settings = ss = QCheckBox(_('Save these settings as the &defaults for future use'))
|
||||||
|
ss.setChecked(gprefs.get('cover_generation_save_settings_for_future', True))
|
||||||
|
l.addWidget(ss)
|
||||||
self.bb = bb = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
|
self.bb = bb = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
|
||||||
l.addWidget(bb)
|
l.addWidget(bb)
|
||||||
bb.accepted.connect(self.accept), bb.rejected.connect(self.reject)
|
bb.accepted.connect(self.accept), bb.rejected.connect(self.reject)
|
||||||
bb.b = b = bb.addButton(_('Restore &defaults'), bb.ActionRole)
|
bb.b = b = bb.addButton(_('Restore &defaults'), bb.ActionRole)
|
||||||
b.clicked.connect(self.restore_defaults)
|
b.clicked.connect(self.restore_defaults)
|
||||||
bb.b2 = b = bb.addButton(_('&Save settings'), bb.ActionRole)
|
ss.setToolTip('<p>' + _(
|
||||||
b.clicked.connect(self.settings.save_as_prefs)
|
|
||||||
b.setToolTip('<p>' + _(
|
|
||||||
'Save the current settings as the settings to use always instead of just this time. Remember that'
|
'Save the current settings as the settings to use always instead of just this time. Remember that'
|
||||||
' for styles and colors the actual style or color used is chosen at random from'
|
' for styles and colors the actual style or color used is chosen at random from'
|
||||||
' the list of checked styles/colors.'))
|
' the list of checked styles/colors.'))
|
||||||
@ -528,18 +528,20 @@ class CoverSettingsDialog(QDialog):
|
|||||||
self.settings.restore_defaults()
|
self.settings.restore_defaults()
|
||||||
self.settings.save_as_prefs()
|
self.settings.save_as_prefs()
|
||||||
|
|
||||||
def sizeHint(self):
|
def _save_settings(self):
|
||||||
return QSize(800, 600)
|
gprefs.set('cover_generation_save_settings_for_future', self.save_settings.isChecked())
|
||||||
|
|
||||||
def accept(self):
|
|
||||||
gprefs.set('cover_settings_dialog_geom', bytearray(self.saveGeometry()))
|
gprefs.set('cover_settings_dialog_geom', bytearray(self.saveGeometry()))
|
||||||
self.settings.save_state()
|
self.settings.save_state()
|
||||||
|
|
||||||
|
def accept(self):
|
||||||
|
self._save_settings()
|
||||||
self.prefs_for_rendering = self.settings.prefs_for_rendering
|
self.prefs_for_rendering = self.settings.prefs_for_rendering
|
||||||
|
if self.save_settings.isChecked():
|
||||||
|
self.settings.save_as_prefs()
|
||||||
QDialog.accept(self)
|
QDialog.accept(self)
|
||||||
|
|
||||||
def reject(self):
|
def reject(self):
|
||||||
gprefs.set('cover_settings_dialog_geom', bytearray(self.saveGeometry()))
|
self._save_settings()
|
||||||
self.settings.save_state()
|
|
||||||
QDialog.reject(self)
|
QDialog.reject(self)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user