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