mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-30 23:00:21 -04:00
Make line edit clear buttons available in more places. Fixes #1933538 [[Enhancement] Add clear buttons to the fields in the Convert book window](https://bugs.launchpad.net/calibre/+bug/1933538)
This commit is contained in:
parent
8eb05c2a69
commit
0c03155074
@ -291,6 +291,7 @@ class LineEdit(QLineEdit, LineEditECM):
|
||||
|
||||
def __init__(self, parent=None, completer_widget=None, sort_func=sort_key, strip_completion_entries=True):
|
||||
QLineEdit.__init__(self, parent)
|
||||
self.setClearButtonEnabled(True)
|
||||
|
||||
self.sep = ','
|
||||
self.space_before_sep = False
|
||||
@ -480,6 +481,9 @@ class EditWithComplete(EnComboBox):
|
||||
|
||||
def set_elide_mode(self, val):
|
||||
self.lineEdit().set_elide_mode(val)
|
||||
|
||||
def set_clear_button_enabled(self, val=True):
|
||||
self.lineEdit().setClearButtonEnabled(bool(val))
|
||||
# }}}
|
||||
|
||||
def text(self):
|
||||
|
@ -35,7 +35,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="opt_toc_title"/>
|
||||
<widget class="QLineEdit" name="opt_toc_title">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_mobi_toc_at_start">
|
||||
|
@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>599</width>
|
||||
<height>415</height>
|
||||
<height>445</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -157,7 +157,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLineEdit" name="opt_comic_image_size"/>
|
||||
<widget class="QLineEdit" name="opt_comic_image_size">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_dont_add_comic_pages_to_toc">
|
||||
|
@ -116,7 +116,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLineEdit" name="opt_toc_title"/>
|
||||
<widget class="QLineEdit" name="opt_toc_title">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
|
@ -70,7 +70,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLineEdit" name="font_size_key"/>
|
||||
<widget class="QLineEdit" name="font_size_key">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QDoubleSpinBox" name="output_base_font_size">
|
||||
|
@ -466,6 +466,9 @@
|
||||
<property name="toolTip">
|
||||
<string>Comma separated list of CSS properties to remove. For example: display, color, font-family</string>
|
||||
</property>
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
@ -135,7 +135,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="opt_header_format"/>
|
||||
<widget class="QLineEdit" name="opt_header_format">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
@ -176,13 +180,13 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="FontFamilyChooser" name="opt_serif_family"/>
|
||||
<widget class="FontFamilyChooser" name="opt_serif_family" native="true"/>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="FontFamilyChooser" name="opt_sans_family"/>
|
||||
<widget class="FontFamilyChooser" name="opt_sans_family" native="true"/>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="FontFamilyChooser" name="opt_mono_family"/>
|
||||
<widget class="FontFamilyChooser" name="opt_mono_family" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -138,6 +138,9 @@
|
||||
<property name="toolTip">
|
||||
<string>Change the title of this book</string>
|
||||
</property>
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
@ -177,6 +180,9 @@
|
||||
<property name="toolTip">
|
||||
<string>Change the author(s) of this book. Multiple authors should be separated by a comma</string>
|
||||
</property>
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
|
@ -32,7 +32,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="opt_toc_title"/>
|
||||
<widget class="QLineEdit" name="opt_toc_title">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_mobi_toc_at_start">
|
||||
@ -99,7 +103,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="opt_personal_doc"/>
|
||||
<widget class="QLineEdit" name="opt_personal_doc">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="opt_share_not_sync">
|
||||
|
@ -54,6 +54,9 @@
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@ -109,7 +112,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="QLineEdit" name="opt_toc_title"/>
|
||||
<widget class="QLineEdit" name="opt_toc_title">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
@ -208,7 +215,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="16" column="1">
|
||||
<widget class="QLineEdit" name="opt_pdf_page_number_map"/>
|
||||
<widget class="QLineEdit" name="opt_pdf_page_number_map">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="18" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="page_margins_box">
|
||||
@ -247,7 +258,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="opt_pdf_header_template"/>
|
||||
<widget class="QLineEdit" name="opt_pdf_header_template">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_13">
|
||||
@ -260,7 +275,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="opt_pdf_footer_template"/>
|
||||
<widget class="QLineEdit" name="opt_pdf_footer_template">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -26,7 +26,11 @@
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="regex"/>
|
||||
<widget class="QLineEdit" name="regex">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="test">
|
||||
|
@ -72,6 +72,9 @@
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@ -80,7 +83,7 @@
|
||||
<item row="2" column="0">
|
||||
<layout class="QHBoxLayout" name="buttonsLayout">
|
||||
<property name="spacing">
|
||||
<number>-1</number>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
@ -146,94 +149,94 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="sr_save">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Save this list of expressions so that you can re-use it easily</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Save</string>
|
||||
</property>
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Save this list of expressions so that you can re-use it easily</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<layout class="QHBoxLayout" name="searchReplaceLayout">
|
||||
<property name="spacing">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="search_replace">
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="positionLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="sr_up">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Ignored">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Move expression up.</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normaloff>:/images/arrow-up.png</normaloff>:/images/arrow-up.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="sr_down">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Ignored">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Move expression down.</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normaloff>:/images/arrow-down.png</normaloff>:/images/arrow-down.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
<layout class="QHBoxLayout" name="searchReplaceLayout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="search_replace">
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="positionLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="sr_up">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Ignored">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Move expression up.</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>
|
||||
<widget class="QPushButton" name="sr_down">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Ignored">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Move expression down.</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../../resources/images.qrc">
|
||||
<normaloff>:/images/arrow-down.png</normaloff>:/images/arrow-down.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="rh_label">
|
||||
|
@ -99,7 +99,11 @@
|
||||
<widget class="XPathEdit" name="opt_level2_toc" native="true"/>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="QLineEdit" name="opt_toc_filter"/>
|
||||
<widget class="QLineEdit" name="opt_toc_filter">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0" colspan="2">
|
||||
<widget class="XPathEdit" name="opt_level1_toc" native="true"/>
|
||||
|
@ -122,7 +122,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="value"/>
|
||||
<widget class="QLineEdit" name="value">
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="example_label">
|
||||
|
@ -15,7 +15,7 @@ from qt.core import (Qt, QComboBox, QLabel, QSpinBox, QDoubleSpinBox,
|
||||
QMessageBox, QToolButton, QPlainTextEdit, QApplication, QStyle, QDialog)
|
||||
|
||||
from calibre.utils.date import qt_to_dt, now, as_local_time, as_utc, internal_iso_format_string
|
||||
from calibre.gui2.complete2 import EditWithComplete
|
||||
from calibre.gui2.complete2 import EditWithComplete as EWC
|
||||
from calibre.gui2.comments_editor import Editor as CommentsEditor
|
||||
from calibre.gui2 import UNDEFINED_QDATETIME, error_dialog, elided_text
|
||||
from calibre.gui2.dialogs.tag_editor import TagEditor
|
||||
@ -27,6 +27,13 @@ from calibre.gui2.widgets2 import RatingEditor, DateTimeEdit as DateTimeEditBase
|
||||
from polyglot.builtins import unicode_type
|
||||
|
||||
|
||||
class EditWithComplete(EWC):
|
||||
|
||||
def __init__(self, *a, **kw):
|
||||
super().__init__(*a, **kw)
|
||||
self.set_clear_button_enabled(False)
|
||||
|
||||
|
||||
def safe_disconnect(signal):
|
||||
try:
|
||||
signal.disconnect()
|
||||
|
@ -107,6 +107,9 @@
|
||||
<property name="toolTip">
|
||||
<string>Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles.</string>
|
||||
</property>
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
|
@ -341,6 +341,7 @@ class AuthorsEdit(EditWithComplete, ToMetadataMixin):
|
||||
self.dialog = parent
|
||||
self.books_to_refresh = set()
|
||||
EditWithComplete.__init__(self, parent)
|
||||
self.set_clear_button_enabled(False)
|
||||
self.setToolTip(self.TOOLTIP)
|
||||
self.setWhatsThis(self.TOOLTIP)
|
||||
self.setEditable(True)
|
||||
@ -598,6 +599,7 @@ class SeriesEdit(EditWithComplete, ToMetadataMixin):
|
||||
|
||||
def __init__(self, parent):
|
||||
EditWithComplete.__init__(self, parent)
|
||||
self.set_clear_button_enabled(False)
|
||||
self.set_separator(None)
|
||||
self.dialog = parent
|
||||
self.setSizeAdjustPolicy(
|
||||
@ -1379,6 +1381,7 @@ class TagsEdit(EditWithComplete, ToMetadataMixin): # {{{
|
||||
|
||||
def __init__(self, parent):
|
||||
EditWithComplete.__init__(self, parent)
|
||||
self.set_clear_button_enabled(False)
|
||||
self.set_elide_mode(Qt.TextElideMode.ElideMiddle)
|
||||
self.currentTextChanged.connect(self.data_changed)
|
||||
self.lineEdit().setMaxLength(655360) # see https://bugs.launchpad.net/bugs/1630944
|
||||
@ -1462,6 +1465,7 @@ class LanguagesEdit(LE, ToMetadataMixin): # {{{
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
LE.__init__(self, *args, **kwargs)
|
||||
self.set_clear_button_enabled(False)
|
||||
self.textChanged.connect(self.data_changed)
|
||||
self.setToolTip(self.TOOLTIP)
|
||||
|
||||
@ -1779,6 +1783,7 @@ class PublisherEdit(EditWithComplete, ToMetadataMixin): # {{{
|
||||
|
||||
def __init__(self, parent):
|
||||
EditWithComplete.__init__(self, parent)
|
||||
self.set_clear_button_enabled(False)
|
||||
self.currentTextChanged.connect(self.data_changed)
|
||||
self.set_separator(None)
|
||||
self.setSizeAdjustPolicy(
|
||||
|
Loading…
x
Reference in New Issue
Block a user