Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move "Grid rule editor" to its own widget #2662

Merged
merged 1 commit into from
Feb 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/calibre/gui2/preferences/look_feel_tabs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,10 @@ class ColumnIconRules(LazyEditRulesBase):
rule_set_name = 'column_icon_rules'


class GridEmblemnRules(LazyEditRulesBase):
rule_set_name = 'cover_grid_icon_rules'


def export_layout(in_widget, model=None):
filename = choose_save_file(in_widget, 'look_feel_prefs_import_export_field_list',
_('Save column list to file'),
Expand Down
19 changes: 7 additions & 12 deletions src/calibre/gui2/preferences/look_feel_tabs/cover_grid.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,12 @@

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.gui2 import gprefs, open_local_file, question_dialog
from calibre.gui2.library.alternate_views import CM_TO_INCH, auto_height
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.widgets import BusyCursor
from calibre.startup import connect_lambda
Expand Down Expand Up @@ -83,11 +81,8 @@ def genesis(self, gui):
key=lambda x:sort_key(x[0]))
r('field_under_covers_in_grid', db.prefs, choices=choices)

self.grid_rules = EditRules(self.emblems_tab)
self.grid_rules.changed.connect(self.changed_signal)
self.emblems_tab.setLayout(QVBoxLayout())
self.emblems_tab.layout().addWidget(self.grid_rules)

self.grid_rules.genesis(self.gui)
self.grid_rules.changed_signal.connect(self.changed_signal)
self.size_calculated.connect(self.update_cg_cache_size, type=Qt.ConnectionType.QueuedConnection)

l = self.cg_background_box.layout()
Expand Down Expand Up @@ -118,9 +113,9 @@ def genesis(self, gui):
def lazy_initialize(self):
self.show_current_cache_usage()

db = self.gui.current_db
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.set_cg_color(gprefs['cover_grid_color'])
self.set_cg_texture(gprefs['cover_grid_texture'])
Expand Down Expand Up @@ -210,14 +205,14 @@ def restore_cover_grid_appearance(self):

def commit(self):
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_texture'] = self.cg_bg_widget.btex
return LazyConfigWidgetBase.commit(self)

def 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_texture(gprefs.defaults['cover_grid_texture'])
self.changed_signal.emit()
Expand Down
14 changes: 13 additions & 1 deletion src/calibre/gui2/preferences/look_feel_tabs/cover_grid.ui
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ A value of zero means calculate automatically.</string>
</item>
</layout>
</widget>
<widget class="QWidget" name="emblems_tab">
<widget class="GridEmblemnRules" name="grid_rules">
<attribute name="title">
<string>&amp;Emblems</string>
</attribute>
Expand Down Expand Up @@ -412,6 +412,18 @@ A value of zero means calculate automatically.</string>
</layout>
</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>
<include location="../../../../../resources/images.qrc"/>
</resources>
Expand Down