diff --git a/src/calibre/gui2/preferences/look_feel.py b/src/calibre/gui2/preferences/look_feel.py
index f870ecfdf7..d3aa675d14 100644
--- a/src/calibre/gui2/preferences/look_feel.py
+++ b/src/calibre/gui2/preferences/look_feel.py
@@ -46,7 +46,6 @@ from calibre.ebooks.metadata.book.render import DEFAULT_AUTHOR_LINK
from calibre.ebooks.metadata.sources.prefs import msprefs
from calibre.gui2 import config, default_author_link, error_dialog, gprefs, icon_resource_manager, open_local_file, qt_app, question_dialog
from calibre.gui2.custom_column_widgets import get_field_list as em_get_field_list
-from calibre.gui2.dialogs.quickview import get_qv_field_list
from calibre.gui2.library.alternate_views import CM_TO_INCH, auto_height
from calibre.gui2.preferences import ConfigWidgetBase, Setting, set_help_tips, test_widget
from calibre.gui2.preferences.coloring import EditRules
@@ -255,106 +254,6 @@ class EMDisplayedFields(DisplayedFields): # {{{
# }}}
-class QVDisplayedFields(DisplayedFields): # {{{
-
- def __init__(self, db, parent=None):
- DisplayedFields.__init__(self, db, parent)
-
- def initialize(self, use_defaults=False):
- self.beginResetModel()
- self.fields = [[x[0], x[1]] for x in
- get_qv_field_list(self.db.field_metadata, use_defaults=use_defaults)]
- self.endResetModel()
- self.changed = True
-
- def commit(self):
- if self.changed:
- self.db.new_api.set_pref('qv_display_fields', self.fields)
-# }}}
-
-
-class TBDisplayedFields(DisplayedFields): # {{{
- # The code in this class depends on the fact that the tag browser is
- # initialized before this class is instantiated.
-
- def __init__(self, db, parent=None, category_icons=None):
- DisplayedFields.__init__(self, db, parent, category_icons=category_icons)
- from calibre.gui2.ui import get_gui
- self.gui = get_gui()
-
- def initialize(self, use_defaults=False, pref_data_override=None):
- tv = self.gui.tags_view
- cat_ord = tv.model().get_ordered_categories(use_defaults=use_defaults,
- pref_data_override=pref_data_override)
- if use_defaults:
- hc = []
- self.changed = True
- elif pref_data_override:
- hc = [k for k,v in pref_data_override if not v]
- self.changed = True
- else:
- hc = tv.hidden_categories
-
- self.beginResetModel()
- self.fields = [[x, x not in hc] for x in cat_ord]
- self.endResetModel()
-
- def commit(self):
- if self.changed:
- self.db.prefs.set('tag_browser_hidden_categories', [k for k,v in self.fields if not v])
- self.db.prefs.set('tag_browser_category_order', [k for k,v in self.fields])
-# }}}
-
-
-class TBPartitionedFields(DisplayedFields): # {{{
- # The code in this class depends on the fact that the tag browser is
- # initialized before this class is instantiated.
-
- def __init__(self, db, parent=None, category_icons=None):
- DisplayedFields.__init__(self, db, parent, category_icons=category_icons)
- from calibre.gui2.ui import get_gui
- self.gui = get_gui()
-
- def filter_user_categories(self, tv):
- cats = tv.model().categories
- answer = {}
- filtered = set()
- for key,name in cats.items():
- if key.startswith('@'):
- key = key.partition('.')[0]
- name = key[1:]
- if key not in filtered:
- answer[key] = name
- filtered.add(key)
- return answer
-
- def initialize(self, use_defaults=False, pref_data_override=None):
- tv = self.gui.tags_view
- cats = self.filter_user_categories(tv)
- ans = []
- if use_defaults:
- ans = [[k, True] for k in cats.keys()]
- self.changed = True
- elif pref_data_override:
- po = dict(pref_data_override)
- ans = [[k, po.get(k, True)] for k in cats.keys()]
- self.changed = True
- else:
- # Check if setting not migrated yet
- cats_to_partition = frozenset(self.db.prefs.get('tag_browser_dont_collapse', gprefs.get('tag_browser_dont_collapse')) or ())
- for key in cats:
- ans.append([key, key not in cats_to_partition])
- self.beginResetModel()
- self.fields = ans
- self.endResetModel()
-
- def commit(self):
- if self.changed:
- # Migrate to a per-library setting
- self.db.prefs.set('tag_browser_dont_collapse', [k for k,v in self.fields if not v])
-# }}}
-
-
class BDVerticalCats(DisplayedFields): # {{{
def __init__(self, db, parent=None, category_icons=None):
@@ -768,7 +667,6 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
self.display_model.restore_defaults()
self.em_display_model.restore_defaults()
self.bd_vertical_cats_model.restore_defaults()
- gprefs.set('tb_search_order', gprefs.defaults['tb_search_order'])
self.edit_rules.clear()
self.icon_rules.clear()
self.grid_rules.clear()
@@ -864,8 +762,6 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
m.update_db_prefs_cache()
m.beginResetModel(), m.endResetModel()
self.update_font_display()
- gui.tags_view.set_look_and_feel()
- gui.tags_view.reread_collapse_parameters()
gui.tags_view.model().reset_tag_browser()
gui.library_view.refresh_book_details(force=True)
gui.library_view.refresh_grid()
diff --git a/src/calibre/gui2/preferences/look_feel.ui b/src/calibre/gui2/preferences/look_feel.ui
index 52d0d1cbd2..69784aab70 100644
--- a/src/calibre/gui2/preferences/look_feel.ui
+++ b/src/calibre/gui2/preferences/look_feel.ui
@@ -1366,11 +1366,6 @@ columns". Editing with mouse clicks and the Tab key will be disabled.</p
QListView
calibre/gui2/preferences.h
-
- ListWidgetWithMoveByKeyPress
- QListWidget
- calibre/gui2/preferences.h
-
ScrollingTabWidget
QTabWidget
@@ -1378,39 +1373,39 @@ columns". Editing with mouse clicks and the Tab key will be disabled.</p
1
- ConfigWidget
+ ConfigWidgetBase
QWidget
- calibre/gui2/preferences/look_feel.h
+ calibre/gui2/preferences/look_feel_tabs.h
TbDisplayTab
- ConfigWidget
- calibre/gui2/preferences/look_feel_tabs.tb_display.h
+ ConfigWidgetBase
+ calibre/gui2/preferences/look_feel_tabs/tb_display.h
TbPartitioningTab
- ConfigWidget
- calibre/gui2/preferences/look_feel_tabs.tb_partitioning.h
+ ConfigWidgetBase
+ calibre/gui2/preferences/look_feel_tabs/tb_partitioning.h
TbIconRulesTab
- ConfigWidget
- calibre/gui2/preferences/look_feel_tabs.tb_icon_rules.h
+ ConfigWidgetBase
+ calibre/gui2/preferences/look_feel_tabs/tb_icon_rules.h
TbHierarchyTab
- ConfigWidget
- calibre/gui2/preferences/look_feel_tabs.tb_hierarchy.h
+ ConfigWidgetBase
+ calibre/gui2/preferences/look_feel_tabs/tb_hierarchy.h
CoverView
- ConfigWidget
- calibre/gui2/preferences/look_feel_tabs.cover_view.h
+ ConfigWidgetBase
+ calibre/gui2/preferences/look_feel_tabs/cover_view.h
QuickviewTab
- ConfigWidget
- calibre/gui2/preferences/look_feel_tabs.quickview.h
+ ConfigWidgetBase
+ calibre/gui2/preferences/look_feel_tabs/quickview.h
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/__init__.py b/src/calibre/gui2/preferences/look_feel_tabs/__init__.py
index a50b12f6a7..9252a5b93f 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/__init__.py
+++ b/src/calibre/gui2/preferences/look_feel_tabs/__init__.py
@@ -13,7 +13,7 @@ from calibre.gui2 import choose_files, choose_save_file, error_dialog
from calibre.gui2.book_details import get_field_list
-class DisplayedFields(QAbstractListModel): # {{{
+class DisplayedFields(QAbstractListModel):
def __init__(self, db, parent=None, pref_name=None, category_icons=None):
self.pref_name = pref_name or 'book_display_fields'
@@ -154,5 +154,3 @@ def move_field_down(widget, model):
sm = widget.selectionModel()
sm.select(idx, QItemSelectionModel.SelectionFlag.ClearAndSelect)
widget.setCurrentIndex(idx)
-
-# }}}
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/cover_view.py b/src/calibre/gui2/preferences/look_feel_tabs/cover_view.py
index 5d946b87a0..ec934384ad 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/cover_view.py
+++ b/src/calibre/gui2/preferences/look_feel_tabs/cover_view.py
@@ -10,7 +10,7 @@ from qt.core import QKeySequence
from calibre.gui2 import config, gprefs
from calibre.gui2.dialogs.template_dialog import TemplateDialog
-from calibre.gui2.preferences import ConfigWidgetBase, LazyConfigWidgetBase, set_help_tips
+from calibre.gui2.preferences import LazyConfigWidgetBase, set_help_tips
from calibre.gui2.preferences.look_feel_tabs.cover_view_ui import Ui_Form
@@ -41,8 +41,6 @@ class CoverView(LazyConfigWidgetBase, Ui_Form):
self.fs_help_msg.setText(self.fs_help_msg.text()%(
QKeySequence(QKeySequence.StandardKey.FullScreen).toString(QKeySequence.SequenceFormat.NativeText)))
- def lazy_initialize(self):
- ConfigWidgetBase.initialize(self)
set_help_tips(self.opt_cover_browser_narrow_view_position, _(
'This option controls the position of the cover browser when using the Narrow user '
'interface layout. "Automatic" will place the cover browser on top or on the right '
@@ -64,12 +62,6 @@ class CoverView(LazyConfigWidgetBase, Ui_Form):
if t.exec():
self.opt_cover_browser_title_template.setText(t.rule[1])
- def commit(self):
- return ConfigWidgetBase.commit(self)
-
- def restore_defaults(self):
- ConfigWidgetBase.restore_defaults(self)
-
def refresh_gui(self, gui):
gui.cover_flow.setShowReflections(gprefs['cover_browser_reflections'])
gui.cover_flow.setPreserveAspectRatio(gprefs['cb_preserve_aspect_ratio'])
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/cover_view.ui b/src/calibre/gui2/preferences/look_feel_tabs/cover_view.ui
index 545ccc4954..4e3cfaad46 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/cover_view.ui
+++ b/src/calibre/gui2/preferences/look_feel_tabs/cover_view.ui
@@ -2,13 +2,6 @@
Form
-
-
- :/images/cover_flow.png:/images/cover_flow.png
-
-
- Cover &browser
-
0
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/quickview.py b/src/calibre/gui2/preferences/look_feel_tabs/quickview.py
index a8bf913466..5fafe4530d 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/quickview.py
+++ b/src/calibre/gui2/preferences/look_feel_tabs/quickview.py
@@ -10,12 +10,12 @@ from functools import partial
from calibre.gui2 import gprefs
from calibre.gui2.actions.show_quickview import get_quickview_action_plugin
from calibre.gui2.dialogs.quickview import get_qv_field_list
-from calibre.gui2.preferences import ConfigWidgetBase, LazyConfigWidgetBase
+from calibre.gui2.preferences import LazyConfigWidgetBase
from calibre.gui2.preferences.look_feel_tabs import DisplayedFields, move_field_down, move_field_up
from calibre.gui2.preferences.look_feel_tabs.quickview_ui import Ui_Form
-class QVDisplayedFields(DisplayedFields): # {{{
+class QVDisplayedFields(DisplayedFields):
def __init__(self, db, parent=None):
DisplayedFields.__init__(self, db, parent)
@@ -31,8 +31,6 @@ class QVDisplayedFields(DisplayedFields): # {{{
if self.changed:
self.db.new_api.set_pref('qv_display_fields', self.fields)
-# }}}
-
class QuickviewTab(LazyConfigWidgetBase, Ui_Form):
@@ -59,7 +57,7 @@ class QuickviewTab(LazyConfigWidgetBase, Ui_Form):
self.qv_display_model.initialize()
def restore_defaults(self):
- ConfigWidgetBase.restore_defaults(self)
+ LazyConfigWidgetBase.restore_defaults(self)
self.qv_display_model.restore_defaults()
def refresh_gui(self, gui):
@@ -67,7 +65,6 @@ class QuickviewTab(LazyConfigWidgetBase, Ui_Form):
if qv:
qv.refill_quickview()
- def commit(self, *args):
- rr = ConfigWidgetBase.commit(self, *args)
+ def commit(self):
self.qv_display_model.commit()
- return rr
+ return LazyConfigWidgetBase.commit(self)
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/quickview.ui b/src/calibre/gui2/preferences/look_feel_tabs/quickview.ui
index cf4a3174ec..e3a8d62323 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/quickview.ui
+++ b/src/calibre/gui2/preferences/look_feel_tabs/quickview.ui
@@ -2,10 +2,6 @@
Form
-
-
- :/images/cover_flow.png:/images/cover_flow.png
-
-
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/tb_display.py b/src/calibre/gui2/preferences/look_feel_tabs/tb_display.py
index 99646fce8d..a29b390d06 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/tb_display.py
+++ b/src/calibre/gui2/preferences/look_feel_tabs/tb_display.py
@@ -9,12 +9,12 @@ from functools import partial
from calibre.db.categories import is_standard_category
from calibre.gui2 import config, gprefs
-from calibre.gui2.preferences import ConfigWidgetBase, LazyConfigWidgetBase
+from calibre.gui2.preferences import LazyConfigWidgetBase
from calibre.gui2.preferences.look_feel_tabs import DisplayedFields, export_layout, import_layout, move_field_down, move_field_up, reset_layout
from calibre.gui2.preferences.look_feel_tabs.tb_display_ui import Ui_Form
-class TBDisplayedFields(DisplayedFields): # {{{
+class TBDisplayedFields(DisplayedFields):
# The code in this class depends on the fact that the tag browser is
# initialized before this class is instantiated.
@@ -44,7 +44,6 @@ class TBDisplayedFields(DisplayedFields): # {{{
if self.changed:
self.db.prefs.set('tag_browser_hidden_categories', [k for k,v in self.fields if not v])
self.db.prefs.set('tag_browser_category_order', [k for k,v in self.fields])
-# }}}
class TbDisplayTab(LazyConfigWidgetBase, Ui_Form):
@@ -104,9 +103,12 @@ class TbDisplayTab(LazyConfigWidgetBase, Ui_Form):
move_field_up(self.tb_display_order, model)
def restore_defaults(self):
- ConfigWidgetBase.restore_defaults(self)
+ LazyConfigWidgetBase.restore_defaults(self)
self.tb_display_model.restore_defaults()
def commit(self):
self.tb_display_model.commit()
- return ConfigWidgetBase.commit(self)
+ return LazyConfigWidgetBase.commit(self)
+
+ def refresh_gui(self, gui):
+ gui.tags_view.set_look_and_feel()
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/tb_display.ui b/src/calibre/gui2/preferences/look_feel_tabs/tb_display.ui
index 893b1f93bb..a6df02e4aa 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/tb_display.ui
+++ b/src/calibre/gui2/preferences/look_feel_tabs/tb_display.ui
@@ -2,17 +2,6 @@
Form
-
-
- 0
- 0
- 1096
- 791
-
-
-
- Form
-
-
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/tb_hierarchy.py b/src/calibre/gui2/preferences/look_feel_tabs/tb_hierarchy.py
index ff1b40d22f..d14ec2c63d 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/tb_hierarchy.py
+++ b/src/calibre/gui2/preferences/look_feel_tabs/tb_hierarchy.py
@@ -16,7 +16,7 @@ from calibre.gui2.preferences.look_feel_tabs import DisplayedFields
from calibre.gui2.preferences.look_feel_tabs.tb_hierarchy_ui import Ui_Form
-class TBHierarchicalFields(DisplayedFields): # {{{
+class TBHierarchicalFields(DisplayedFields):
# The code in this class depends on the fact that the tag browser is
# initialized before this class is instantiated.
@@ -51,7 +51,6 @@ class TBHierarchicalFields(DisplayedFields): # {{{
def commit(self):
if self.changed:
self.db.prefs.set('categories_using_hierarchy', [k for k,v in self.fields if v])
-# }}}
class TbHierarchyTab(LazyConfigWidgetBase, Ui_Form):
@@ -175,3 +174,4 @@ class TbHierarchyTab(LazyConfigWidgetBase, Ui_Form):
def commit(self):
self.tb_search_order_commit()
self.tb_hierarchical_cats_model.commit()
+ return LazyConfigWidgetBase.commit(self)
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/tb_hierarchy.ui b/src/calibre/gui2/preferences/look_feel_tabs/tb_hierarchy.ui
index eaec795640..f51114c98e 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/tb_hierarchy.ui
+++ b/src/calibre/gui2/preferences/look_feel_tabs/tb_hierarchy.ui
@@ -2,17 +2,6 @@
Form
-
-
- 0
- 0
- 1035
- 547
-
-
-
- Form
-
-
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/tb_icon_rules.ui b/src/calibre/gui2/preferences/look_feel_tabs/tb_icon_rules.ui
index 7abf8e7f20..ee0bc3271d 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/tb_icon_rules.ui
+++ b/src/calibre/gui2/preferences/look_feel_tabs/tb_icon_rules.ui
@@ -2,17 +2,6 @@
Form
-
-
- 0
- 0
- 1035
- 547
-
-
-
- Form
-
-
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/tb_partitioning.py b/src/calibre/gui2/preferences/look_feel_tabs/tb_partitioning.py
index d09f36d8d2..9b453c04d1 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/tb_partitioning.py
+++ b/src/calibre/gui2/preferences/look_feel_tabs/tb_partitioning.py
@@ -9,12 +9,12 @@ __docformat__ = 'restructuredtext en'
from functools import partial
from calibre.gui2 import gprefs
-from calibre.gui2.preferences import ConfigWidgetBase, LazyConfigWidgetBase
+from calibre.gui2.preferences import LazyConfigWidgetBase
from calibre.gui2.preferences.look_feel_tabs import DisplayedFields, export_layout, import_layout, reset_layout
from calibre.gui2.preferences.look_feel_tabs.tb_partitioning_ui import Ui_Form
-class TBPartitionedFields(DisplayedFields): # {{{
+class TBPartitionedFields(DisplayedFields):
# The code in this class depends on the fact that the tag browser is
# initialized before this class is instantiated.
@@ -60,7 +60,6 @@ class TBPartitionedFields(DisplayedFields): # {{{
if self.changed:
# Migrate to a per-library setting
self.db.prefs.set('tag_browser_dont_collapse', [k for k,v in self.fields if not v])
-# }}}
class TbPartitioningTab(LazyConfigWidgetBase, Ui_Form):
@@ -92,4 +91,7 @@ class TbPartitioningTab(LazyConfigWidgetBase, Ui_Form):
def commit(self):
self.tb_categories_to_part_model.commit()
- return ConfigWidgetBase.commit(self)
+ return LazyConfigWidgetBase.commit(self)
+
+ def refresh_gui(self, gui):
+ gui.tags_view.reread_collapse_parameters()
diff --git a/src/calibre/gui2/preferences/look_feel_tabs/tb_partitioning.ui b/src/calibre/gui2/preferences/look_feel_tabs/tb_partitioning.ui
index e93be6e29c..fe16266be2 100644
--- a/src/calibre/gui2/preferences/look_feel_tabs/tb_partitioning.ui
+++ b/src/calibre/gui2/preferences/look_feel_tabs/tb_partitioning.ui
@@ -2,17 +2,6 @@
Form
-
-
- 0
- 0
- 1035
- 547
-
-
-
- Form
-
-
diff --git a/src/calibre/gui2/preferences/main.py b/src/calibre/gui2/preferences/main.py
index 91ee4407a8..306eb200f5 100644
--- a/src/calibre/gui2/preferences/main.py
+++ b/src/calibre/gui2/preferences/main.py
@@ -397,7 +397,7 @@ class Preferences(QDialog):
def commit(self, *args):
# Commit the child widgets first in case the main widget uses the information
- must_restart = bool(self.showing_widget.do_on_child_tabs('commit')) | self.showing_widget.commit()
+ must_restart = bool(self.showing_widget.do_on_child_tabs('commit')) | bool(self.showing_widget.commit())
rc = self.showing_widget.restart_critical
self.committed = True
do_restart = False