mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
move "Look & Feel/Edit_metadata" to its own widget
This commit is contained in:
parent
b32e1beaf4
commit
78bfa97e03
@ -5,80 +5,20 @@ __license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
from functools import partial
|
||||
|
||||
from qt.core import QIcon, QKeySequence, QListWidgetItem, Qt
|
||||
|
||||
from calibre.gui2 import gprefs
|
||||
from calibre.gui2.custom_column_widgets import get_field_list as em_get_field_list
|
||||
from calibre.gui2.preferences import ConfigWidgetBase, test_widget
|
||||
from calibre.gui2.preferences.coloring import EditRules
|
||||
from calibre.gui2.preferences.look_feel_tabs import (
|
||||
DisplayedFields,
|
||||
export_layout,
|
||||
import_layout,
|
||||
move_field_down,
|
||||
move_field_up,
|
||||
reset_layout,
|
||||
selected_rows_metadatas,
|
||||
)
|
||||
from calibre.gui2.preferences.look_feel_tabs import selected_rows_metadatas
|
||||
from calibre.gui2.preferences.look_feel_ui import Ui_Form
|
||||
from calibre.gui2.widgets import BusyCursor
|
||||
|
||||
|
||||
class EMDisplayedFields(DisplayedFields): # {{{
|
||||
def __init__(self, db, parent=None):
|
||||
DisplayedFields.__init__(self, db, parent)
|
||||
|
||||
def initialize(self, use_defaults=False, pref_data_override=None):
|
||||
self.beginResetModel()
|
||||
self.fields = [[x[0], x[1]] for x in
|
||||
em_get_field_list(self.db, use_defaults=use_defaults, pref_data_override=pref_data_override)]
|
||||
self.endResetModel()
|
||||
self.changed = True
|
||||
|
||||
def commit(self):
|
||||
if self.changed:
|
||||
self.db.new_api.set_pref('edit_metadata_custom_columns_to_display', self.fields)
|
||||
# }}}
|
||||
|
||||
|
||||
class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
||||
|
||||
def genesis(self, gui):
|
||||
self.gui = gui
|
||||
|
||||
db = gui.library_view.model().db
|
||||
|
||||
r = self.register
|
||||
|
||||
choices = [(_('Default'), 'default'), (_('Compact metadata'), 'alt1'),
|
||||
(_('All on 1 tab'), 'alt2')]
|
||||
r('edit_metadata_single_layout', gprefs,
|
||||
choices=[(_('Default'), 'default'), (_('Compact metadata'), 'alt1'),
|
||||
(_('All on 1 tab'), 'alt2')])
|
||||
r('edit_metadata_ignore_display_order', db.prefs)
|
||||
r('edit_metadata_elision_point', gprefs,
|
||||
choices=[(_('Left'), 'left'), (_('Middle'), 'middle'),
|
||||
(_('Right'), 'right')])
|
||||
r('edit_metadata_elide_labels', gprefs)
|
||||
r('edit_metadata_single_use_2_cols_for_custom_fields', gprefs)
|
||||
r('edit_metadata_bulk_cc_label_length', gprefs)
|
||||
r('edit_metadata_single_cc_label_length', gprefs)
|
||||
r('edit_metadata_templates_only_F2_on_booklist', gprefs)
|
||||
|
||||
self.em_display_model = EMDisplayedFields(self.gui.current_db, self.em_display_order)
|
||||
self.em_display_model.dataChanged.connect(self.changed_signal)
|
||||
self.em_display_order.setModel(self.em_display_model)
|
||||
mu = partial(move_field_up, self.em_display_order, self.em_display_model)
|
||||
md = partial(move_field_down, self.em_display_order, self.em_display_model)
|
||||
self.em_display_order.set_movement_functions(mu, md)
|
||||
self.em_up_button.clicked.connect(mu)
|
||||
self.em_down_button.clicked.connect(md)
|
||||
self.em_export_layout_button.clicked.connect(partial(export_layout, self, model=self.em_display_model))
|
||||
self.em_import_layout_button.clicked.connect(partial(import_layout, self, model=self.em_display_model))
|
||||
self.em_reset_layout_button.clicked.connect(partial(reset_layout, model=self.em_display_model))
|
||||
|
||||
self.edit_rules = EditRules(self.tabWidget)
|
||||
self.edit_rules.changed.connect(self.changed_signal)
|
||||
self.tabWidget.addTab(self.edit_rules, QIcon.ic('format-fill-color.png'), _('Column &coloring'))
|
||||
@ -108,7 +48,6 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
||||
def initialize(self):
|
||||
ConfigWidgetBase.initialize(self)
|
||||
|
||||
self.em_display_model.initialize()
|
||||
db = self.gui.current_db
|
||||
mi = selected_rows_metadatas()
|
||||
self.edit_rules.initialize(db.field_metadata, db.prefs, mi, 'column_color_rules')
|
||||
@ -116,14 +55,12 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
||||
|
||||
def restore_defaults(self):
|
||||
ConfigWidgetBase.restore_defaults(self)
|
||||
self.em_display_model.restore_defaults()
|
||||
self.edit_rules.clear()
|
||||
self.icon_rules.clear()
|
||||
self.changed_signal.emit()
|
||||
|
||||
def commit(self, *args):
|
||||
with BusyCursor():
|
||||
self.em_display_model.commit()
|
||||
self.edit_rules.commit(self.gui.current_db.prefs)
|
||||
self.icon_rules.commit(self.gui.current_db.prefs)
|
||||
|
||||
|
@ -46,7 +46,7 @@
|
||||
<string>&Book details</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="QWidget" name="edit_metadata_tab">
|
||||
<widget class="EditMetadataTab" name="edit_metadata_tab">
|
||||
<attribute name="icon">
|
||||
<iconset resource="../../../../resources/images.qrc">
|
||||
<normaloff>:/images/edit_input.png</normaloff>:/images/edit_input.png</iconset>
|
||||
@ -54,257 +54,6 @@
|
||||
<attribute name="title">
|
||||
<string>Edit &metadata</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="vbox_layout_61">
|
||||
<item>
|
||||
<layout class="QFormLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="edit_metadata_single_label">
|
||||
<property name="text">
|
||||
<string>Edit metadata (single) &layout:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_edit_metadata_single_layout</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="opt_edit_metadata_single_layout">
|
||||
<property name="toolTip">
|
||||
<string>Choose a different layout for the Edit metadata dialog. The compact metadata layout favors editing custom metadata over changing covers and formats.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Select the custom columns (for this library) to display in the edit metadata dialogs and their order:</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="3" column="1">
|
||||
<widget class="QToolButton" name="em_down_button">
|
||||
<property name="toolTip">
|
||||
<string>Move down. Keyboard shortcut: Ctrl-Down arrow</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../resources/images.qrc">
|
||||
<normaloff>:/images/arrow-down.png</normaloff>:/images/arrow-down.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QToolButton" name="em_up_button">
|
||||
<property name="toolTip">
|
||||
<string>Move up. Keyboard shortcut: Ctrl-Up arrow</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../resources/images.qrc">
|
||||
<normaloff>:/images/arrow-up.png</normaloff>:/images/arrow-up.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0" rowspan="3">
|
||||
<widget class="ListViewWithMoveByKeyPress" name="em_display_order">
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QPushButton" name="em_reset_layout_button">
|
||||
<property name="toolTip">
|
||||
<string>Click this button to reset the list to its default order.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Reset list</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="em_import_layout_button">
|
||||
<property name="toolTip">
|
||||
<string><p>Click this button to set the list to one
|
||||
previously exported. This could be useful if you have several libraries with
|
||||
similar structure and you want to use the same column order for each one. Columns
|
||||
in the imported list that aren't in the current library are ignored. Columns in
|
||||
the library that are not in the imported list are put at the end and marked
|
||||
as displayable.</p></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Import list</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="em_export_layout_button">
|
||||
<property name="toolTip">
|
||||
<string><p>Click this button to write the current display
|
||||
settings to a file. This could be useful if you have several libraries with similar
|
||||
structure and you want to use the same column order for each one.</p></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Export list</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout">
|
||||
<item>
|
||||
<layout class="QFormLayout">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_edit_metadata_ignore_display_order">
|
||||
<property name="toolTip">
|
||||
<string><p>Check this box to make the edit metadata dialogs ignore the
|
||||
above specifications, showing all the columns in the default order. This is
|
||||
useful for temporarily seeing all your columns in the dialogs without losing
|
||||
the display and order specifications.</p></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Show &all columns in default order when editing metadata</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_edit_metadata_elide_labels">
|
||||
<property name="toolTip">
|
||||
<string>If checked then labels wider than the label width
|
||||
will be elided, otherwise they will be word wrapped.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Elide labels when editing custom columns</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_1023">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<layout class="QHBoxLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_102">
|
||||
<property name="text">
|
||||
<string>Elision point:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_edit_metadata_elision_point</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="opt_edit_metadata_elision_point">
|
||||
<property name="toolTip">
|
||||
<string>Choose where in the label to put the...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_edit_metadata_templates_only_F2_on_booklist">
|
||||
<property name="toolTip">
|
||||
<string><p>Check this box to allow only the F2 (Edit) key to
|
||||
open the template editor in the book list for a "Column built from other
|
||||
columns". Editing with mouse clicks and the Tab key will be disabled.</p></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Only the &F2 (Edit) key edits column templates in the book list</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QFormLayout">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_edit_metadata_single_use_2_cols_for_custom_fields">
|
||||
<property name="text">
|
||||
<string>Use &two columns for custom columns in the Default layout</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_102">
|
||||
<property name="text">
|
||||
<string>&Bulk edit custom column label length:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_edit_metadata_bulk_cc_label_length</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="opt_edit_metadata_bulk_cc_label_length">
|
||||
<property name="toolTip">
|
||||
<string>The maximum width of a custom column label for the bulk metadata edit dialog in average characters.</string>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> chars</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_1022">
|
||||
<property name="text">
|
||||
<string>&Single edit custom column label length:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_edit_metadata_single_cc_label_length</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QSpinBox" name="opt_edit_metadata_single_cc_label_length">
|
||||
<property name="toolTip">
|
||||
<string>The maximum width of a custom column label for the single metadata edit dialog in average characters.</string>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> chars</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QTabWidget" name="tag_browser_tab">
|
||||
<attribute name="icon">
|
||||
@ -368,11 +117,6 @@ columns". Editing with mouse clicks and the Tab key will be disabled.</p
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>ListViewWithMoveByKeyPress</class>
|
||||
<extends>QListView</extends>
|
||||
<header>calibre/gui2/preferences.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>ScrollingTabWidget</class>
|
||||
<extends>QTabWidget</extends>
|
||||
@ -399,6 +143,11 @@ columns". Editing with mouse clicks and the Tab key will be disabled.</p
|
||||
<extends>ConfigWidgetBase</extends>
|
||||
<header>calibre/gui2/preferences/look_feel_tabs/book_details.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>EditMetadataTab</class>
|
||||
<extends>ConfigWidgetBase</extends>
|
||||
<header>calibre/gui2/preferences/look_feel_tabs/edit_metadata.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>TbDisplayTab</class>
|
||||
<extends>ConfigWidgetBase</extends>
|
||||
|
77
src/calibre/gui2/preferences/look_feel_tabs/edit_metadata.py
Normal file
77
src/calibre/gui2/preferences/look_feel_tabs/edit_metadata.py
Normal file
@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2025, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
|
||||
from functools import partial
|
||||
|
||||
from calibre.gui2 import gprefs
|
||||
from calibre.gui2.custom_column_widgets import get_field_list as em_get_field_list
|
||||
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.edit_metadata_ui import Ui_Form
|
||||
from calibre.gui2.widgets import BusyCursor
|
||||
|
||||
|
||||
class EMDisplayedFields(DisplayedFields):
|
||||
def __init__(self, db, parent=None):
|
||||
DisplayedFields.__init__(self, db, parent)
|
||||
|
||||
def initialize(self, use_defaults=False, pref_data_override=None):
|
||||
self.beginResetModel()
|
||||
self.fields = [[x[0], x[1]] for x in
|
||||
em_get_field_list(self.db, use_defaults=use_defaults, pref_data_override=pref_data_override)]
|
||||
self.endResetModel()
|
||||
self.changed = True
|
||||
|
||||
def commit(self):
|
||||
if self.changed:
|
||||
self.db.new_api.set_pref('edit_metadata_custom_columns_to_display', self.fields)
|
||||
|
||||
|
||||
class EditMetadataTab(LazyConfigWidgetBase, Ui_Form):
|
||||
|
||||
def genesis(self, gui):
|
||||
self.gui = gui
|
||||
db = self.gui.library_view.model().db
|
||||
r = self.register
|
||||
|
||||
r('edit_metadata_single_layout', gprefs,
|
||||
choices=[(_('Default'), 'default'), (_('Compact metadata'), 'alt1'),
|
||||
(_('All on 1 tab'), 'alt2')])
|
||||
r('edit_metadata_ignore_display_order', db.prefs)
|
||||
r('edit_metadata_elision_point', gprefs,
|
||||
choices=[(_('Left'), 'left'), (_('Middle'), 'middle'),
|
||||
(_('Right'), 'right')])
|
||||
r('edit_metadata_elide_labels', gprefs)
|
||||
r('edit_metadata_single_use_2_cols_for_custom_fields', gprefs)
|
||||
r('edit_metadata_bulk_cc_label_length', gprefs)
|
||||
r('edit_metadata_single_cc_label_length', gprefs)
|
||||
r('edit_metadata_templates_only_F2_on_booklist', gprefs)
|
||||
|
||||
self.em_display_model = EMDisplayedFields(self.gui.current_db, self.em_display_order)
|
||||
self.em_display_model.dataChanged.connect(self.changed_signal)
|
||||
self.em_display_order.setModel(self.em_display_model)
|
||||
mu = partial(move_field_up, self.em_display_order, self.em_display_model)
|
||||
md = partial(move_field_down, self.em_display_order, self.em_display_model)
|
||||
self.em_display_order.set_movement_functions(mu, md)
|
||||
self.em_up_button.clicked.connect(mu)
|
||||
self.em_down_button.clicked.connect(md)
|
||||
self.em_export_layout_button.clicked.connect(partial(export_layout, self, model=self.em_display_model))
|
||||
self.em_import_layout_button.clicked.connect(partial(import_layout, self, model=self.em_display_model))
|
||||
self.em_reset_layout_button.clicked.connect(partial(reset_layout, model=self.em_display_model))
|
||||
|
||||
def lazy_initialize(self):
|
||||
self.em_display_model.initialize()
|
||||
|
||||
def commit(self):
|
||||
with BusyCursor():
|
||||
self.em_display_model.commit()
|
||||
return LazyConfigWidgetBase.commit(self)
|
||||
|
||||
def restore_defaults(self):
|
||||
LazyConfigWidgetBase.restore_defaults(self)
|
||||
self.em_display_model.restore_defaults()
|
||||
self.changed_signal.emit()
|
274
src/calibre/gui2/preferences/look_feel_tabs/edit_metadata.ui
Normal file
274
src/calibre/gui2/preferences/look_feel_tabs/edit_metadata.ui
Normal file
@ -0,0 +1,274 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="edit_metadata_tab">
|
||||
<attribute name="icon">
|
||||
<iconset resource="../../../../resources/images.qrc">
|
||||
<normaloff>:/images/edit_input.png</normaloff>:/images/edit_input.png</iconset>
|
||||
</attribute>
|
||||
<attribute name="title">
|
||||
<string>Edit &metadata</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="vbox_layout_61">
|
||||
<item>
|
||||
<layout class="QFormLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="edit_metadata_single_label">
|
||||
<property name="text">
|
||||
<string>Edit metadata (single) &layout:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_edit_metadata_single_layout</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="opt_edit_metadata_single_layout">
|
||||
<property name="toolTip">
|
||||
<string>Choose a different layout for the Edit metadata dialog. The compact metadata layout favors editing custom metadata over changing covers and formats.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Select the custom columns (for this library) to display in the edit metadata dialogs and their order:</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="3" column="1">
|
||||
<widget class="QToolButton" name="em_down_button">
|
||||
<property name="toolTip">
|
||||
<string>Move down. Keyboard shortcut: Ctrl-Down arrow</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../resources/images.qrc">
|
||||
<normaloff>:/images/arrow-down.png</normaloff>:/images/arrow-down.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QToolButton" name="em_up_button">
|
||||
<property name="toolTip">
|
||||
<string>Move up. Keyboard shortcut: Ctrl-Up arrow</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../resources/images.qrc">
|
||||
<normaloff>:/images/arrow-up.png</normaloff>:/images/arrow-up.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0" rowspan="3">
|
||||
<widget class="ListViewWithMoveByKeyPress" name="em_display_order">
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QPushButton" name="em_reset_layout_button">
|
||||
<property name="toolTip">
|
||||
<string>Click this button to reset the list to its default order.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Reset list</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="em_import_layout_button">
|
||||
<property name="toolTip">
|
||||
<string><p>Click this button to set the list to one
|
||||
previously exported. This could be useful if you have several libraries with
|
||||
similar structure and you want to use the same column order for each one. Columns
|
||||
in the imported list that aren't in the current library are ignored. Columns in
|
||||
the library that are not in the imported list are put at the end and marked
|
||||
as displayable.</p></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Import list</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="em_export_layout_button">
|
||||
<property name="toolTip">
|
||||
<string><p>Click this button to write the current display
|
||||
settings to a file. This could be useful if you have several libraries with similar
|
||||
structure and you want to use the same column order for each one.</p></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Export list</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout">
|
||||
<item>
|
||||
<layout class="QFormLayout">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_edit_metadata_ignore_display_order">
|
||||
<property name="toolTip">
|
||||
<string><p>Check this box to make the edit metadata dialogs ignore the
|
||||
above specifications, showing all the columns in the default order. This is
|
||||
useful for temporarily seeing all your columns in the dialogs without losing
|
||||
the display and order specifications.</p></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Show &all columns in default order when editing metadata</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_edit_metadata_elide_labels">
|
||||
<property name="toolTip">
|
||||
<string>If checked then labels wider than the label width
|
||||
will be elided, otherwise they will be word wrapped.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Elide labels when editing custom columns</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_1023">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<layout class="QHBoxLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_102">
|
||||
<property name="text">
|
||||
<string>Elision point:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_edit_metadata_elision_point</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="opt_edit_metadata_elision_point">
|
||||
<property name="toolTip">
|
||||
<string>Choose where in the label to put the...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_edit_metadata_templates_only_F2_on_booklist">
|
||||
<property name="toolTip">
|
||||
<string><p>Check this box to allow only the F2 (Edit) key to
|
||||
open the template editor in the book list for a "Column built from other
|
||||
columns". Editing with mouse clicks and the Tab key will be disabled.</p></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Only the &F2 (Edit) key edits column templates in the book list</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QFormLayout">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_edit_metadata_single_use_2_cols_for_custom_fields">
|
||||
<property name="text">
|
||||
<string>Use &two columns for custom columns in the Default layout</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_102">
|
||||
<property name="text">
|
||||
<string>&Bulk edit custom column label length:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_edit_metadata_bulk_cc_label_length</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="opt_edit_metadata_bulk_cc_label_length">
|
||||
<property name="toolTip">
|
||||
<string>The maximum width of a custom column label for the bulk metadata edit dialog in average characters.</string>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> chars</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_1022">
|
||||
<property name="text">
|
||||
<string>&Single edit custom column label length:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>opt_edit_metadata_single_cc_label_length</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QSpinBox" name="opt_edit_metadata_single_cc_label_length">
|
||||
<property name="toolTip">
|
||||
<string>The maximum width of a custom column label for the single metadata edit dialog in average characters.</string>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> chars</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>ListViewWithMoveByKeyPress</class>
|
||||
<extends>QListView</extends>
|
||||
<header>calibre/gui2/preferences.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../../../../resources/images.qrc"/>
|
||||
</resources>
|
||||
</ui>
|
Loading…
x
Reference in New Issue
Block a user