mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Merge branch 'lazy-grid-rule-editor' of https://github.com/un-pogaz/calibre
This commit is contained in:
commit
b906db229c
@ -254,6 +254,10 @@ class ColumnIconRules(LazyEditRulesBase):
|
|||||||
rule_set_name = 'column_icon_rules'
|
rule_set_name = 'column_icon_rules'
|
||||||
|
|
||||||
|
|
||||||
|
class GridEmblemnRules(LazyEditRulesBase):
|
||||||
|
rule_set_name = 'cover_grid_icon_rules'
|
||||||
|
|
||||||
|
|
||||||
def export_layout(in_widget, model=None):
|
def export_layout(in_widget, model=None):
|
||||||
filename = choose_save_file(in_widget, 'look_feel_prefs_import_export_field_list',
|
filename = choose_save_file(in_widget, 'look_feel_prefs_import_export_field_list',
|
||||||
_('Save column list to file'),
|
_('Save column list to file'),
|
||||||
|
@ -7,14 +7,12 @@ __docformat__ = 'restructuredtext en'
|
|||||||
|
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
|
|
||||||
from qt.core import QBrush, QColor, QColorDialog, QDialog, QPainter, QPixmap, QPushButton, QSize, QSizePolicy, Qt, QTabWidget, QVBoxLayout, QWidget, pyqtSignal
|
from qt.core import QBrush, QColor, QColorDialog, QDialog, QPainter, QPixmap, QPushButton, QSize, QSizePolicy, Qt, QTabWidget, QWidget, pyqtSignal
|
||||||
|
|
||||||
from calibre import human_readable
|
from calibre import human_readable
|
||||||
from calibre.gui2 import gprefs, open_local_file, question_dialog
|
from calibre.gui2 import gprefs, open_local_file, question_dialog
|
||||||
from calibre.gui2.library.alternate_views import CM_TO_INCH, auto_height
|
from calibre.gui2.library.alternate_views import CM_TO_INCH, auto_height
|
||||||
from calibre.gui2.preferences import LazyConfigWidgetBase
|
from calibre.gui2.preferences import LazyConfigWidgetBase
|
||||||
from calibre.gui2.preferences.coloring import EditRules
|
|
||||||
from calibre.gui2.preferences.look_feel_tabs import selected_rows_metadatas
|
|
||||||
from calibre.gui2.preferences.look_feel_tabs.cover_grid_ui import Ui_Form
|
from calibre.gui2.preferences.look_feel_tabs.cover_grid_ui import Ui_Form
|
||||||
from calibre.gui2.widgets import BusyCursor
|
from calibre.gui2.widgets import BusyCursor
|
||||||
from calibre.startup import connect_lambda
|
from calibre.startup import connect_lambda
|
||||||
@ -83,11 +81,8 @@ class CoverGridTab(QTabWidget, LazyConfigWidgetBase, Ui_Form):
|
|||||||
key=lambda x:sort_key(x[0]))
|
key=lambda x:sort_key(x[0]))
|
||||||
r('field_under_covers_in_grid', db.prefs, choices=choices)
|
r('field_under_covers_in_grid', db.prefs, choices=choices)
|
||||||
|
|
||||||
self.grid_rules = EditRules(self.emblems_tab)
|
self.grid_rules.genesis(self.gui)
|
||||||
self.grid_rules.changed.connect(self.changed_signal)
|
self.grid_rules.changed_signal.connect(self.changed_signal)
|
||||||
self.emblems_tab.setLayout(QVBoxLayout())
|
|
||||||
self.emblems_tab.layout().addWidget(self.grid_rules)
|
|
||||||
|
|
||||||
self.size_calculated.connect(self.update_cg_cache_size, type=Qt.ConnectionType.QueuedConnection)
|
self.size_calculated.connect(self.update_cg_cache_size, type=Qt.ConnectionType.QueuedConnection)
|
||||||
|
|
||||||
l = self.cg_background_box.layout()
|
l = self.cg_background_box.layout()
|
||||||
@ -118,9 +113,9 @@ class CoverGridTab(QTabWidget, LazyConfigWidgetBase, Ui_Form):
|
|||||||
def lazy_initialize(self):
|
def lazy_initialize(self):
|
||||||
self.show_current_cache_usage()
|
self.show_current_cache_usage()
|
||||||
|
|
||||||
db = self.gui.current_db
|
|
||||||
self.blockSignals(True)
|
self.blockSignals(True)
|
||||||
self.grid_rules.initialize(db.field_metadata, db.prefs, selected_rows_metadatas(), 'cover_grid_icon_rules')
|
self.grid_rules.lazy_initialize()
|
||||||
|
self.lazy_init_called = True
|
||||||
self.blockSignals(False)
|
self.blockSignals(False)
|
||||||
self.set_cg_color(gprefs['cover_grid_color'])
|
self.set_cg_color(gprefs['cover_grid_color'])
|
||||||
self.set_cg_texture(gprefs['cover_grid_texture'])
|
self.set_cg_texture(gprefs['cover_grid_texture'])
|
||||||
@ -210,14 +205,14 @@ class CoverGridTab(QTabWidget, LazyConfigWidgetBase, Ui_Form):
|
|||||||
|
|
||||||
def commit(self):
|
def commit(self):
|
||||||
with BusyCursor():
|
with BusyCursor():
|
||||||
self.grid_rules.commit(self.gui.current_db.prefs)
|
self.grid_rules.commit()
|
||||||
gprefs['cover_grid_color'] = tuple(self.cg_bg_widget.bcol.getRgb())[:3]
|
gprefs['cover_grid_color'] = tuple(self.cg_bg_widget.bcol.getRgb())[:3]
|
||||||
gprefs['cover_grid_texture'] = self.cg_bg_widget.btex
|
gprefs['cover_grid_texture'] = self.cg_bg_widget.btex
|
||||||
return LazyConfigWidgetBase.commit(self)
|
return LazyConfigWidgetBase.commit(self)
|
||||||
|
|
||||||
def restore_defaults(self):
|
def restore_defaults(self):
|
||||||
LazyConfigWidgetBase.restore_defaults(self)
|
LazyConfigWidgetBase.restore_defaults(self)
|
||||||
self.grid_rules.clear()
|
self.grid_rules.restore_defaults()
|
||||||
self.set_cg_color(gprefs.defaults['cover_grid_color'])
|
self.set_cg_color(gprefs.defaults['cover_grid_color'])
|
||||||
self.set_cg_texture(gprefs.defaults['cover_grid_texture'])
|
self.set_cg_texture(gprefs.defaults['cover_grid_texture'])
|
||||||
self.changed_signal.emit()
|
self.changed_signal.emit()
|
||||||
|
@ -271,7 +271,7 @@ A value of zero means calculate automatically.</string>
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="emblems_tab">
|
<widget class="GridEmblemnRules" name="grid_rules">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>&Emblems</string>
|
<string>&Emblems</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
@ -412,6 +412,18 @@ A value of zero means calculate automatically.</string>
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>ConfigWidgetBase</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>calibre/gui2/preferences/look_feel_tabs.h</header>
|
||||||
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>GridEmblemnRules</class>
|
||||||
|
<extends>ConfigWidgetBase</extends>
|
||||||
|
<header>calibre/gui2/preferences/look_feel_tabs.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="../../../../../resources/images.qrc"/>
|
<include location="../../../../../resources/images.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user