diff --git a/src/calibre/gui2/convert/bulk.py b/src/calibre/gui2/convert/bulk.py index f825d4bd73..fd922604f8 100644 --- a/src/calibre/gui2/convert/bulk.py +++ b/src/calibre/gui2/convert/bulk.py @@ -21,7 +21,7 @@ from calibre.ebooks.conversion.plumber import Plumber from calibre.ebooks.conversion.config import sort_formats_by_preference, get_output_formats from calibre.utils.config import prefs from calibre.utils.logging import Log -from polyglot.builtins import unicode_type +from polyglot.builtins import unicode_type, native_string_type class BulkConfig(Config): @@ -45,7 +45,7 @@ class BulkConfig(Config): 'values saved in a previous conversion (if they exist) instead ' 'of using the defaults specified in the Preferences')) - self.output_formats.currentIndexChanged[str].connect(self.setup_pipeline) + self.output_formats.currentIndexChanged[native_string_type].connect(self.setup_pipeline) self.groups.setSpacing(5) self.groups.activated[(QModelIndex)].connect(self.show_pane) self.groups.clicked[(QModelIndex)].connect(self.show_pane) diff --git a/src/calibre/gui2/convert/regex_builder.py b/src/calibre/gui2/convert/regex_builder.py index 6a02384aa6..7e5874e358 100644 --- a/src/calibre/gui2/convert/regex_builder.py +++ b/src/calibre/gui2/convert/regex_builder.py @@ -18,7 +18,7 @@ from calibre.constants import iswindows from calibre.utils.ipc.simple_worker import fork_job, WorkerError from calibre.ebooks.conversion.search_replace import compile_regular_expression from calibre.ptempfile import TemporaryFile -from polyglot.builtins import unicode_type, range +from polyglot.builtins import unicode_type, range, native_string_type class RegexBuilder(QDialog, Ui_RegexBuilder): @@ -42,7 +42,7 @@ class RegexBuilder(QDialog, Ui_RegexBuilder): self.cancelled = False self.button_box.accepted.connect(self.accept) - self.regex.textChanged[str].connect(self.regex_valid) + self.regex.textChanged[native_string_type].connect(self.regex_valid) for src, slot in (('test', 'do'), ('previous', 'goto'), ('next', 'goto')): getattr(self, src).clicked.connect(getattr(self, '%s_%s'%(slot, diff --git a/src/calibre/gui2/cover_flow.py b/src/calibre/gui2/cover_flow.py index ec708602e2..a482b3e3a3 100644 --- a/src/calibre/gui2/cover_flow.py +++ b/src/calibre/gui2/cover_flow.py @@ -12,7 +12,7 @@ Module to implement the Cover Flow feature import sys, os, time from PyQt5.Qt import (QImage, QSizePolicy, QTimer, QDialog, Qt, QSize, QAction, - QStackedLayout, QLabel, QByteArray, pyqtSignal, QKeySequence, QFont) + QStackedLayout, QLabel, pyqtSignal, QKeySequence, QFont) from calibre import plugins from calibre.ebooks.metadata import rating_to_stars @@ -242,9 +242,8 @@ class CBDialog(QDialog): self.setWindowTitle(_('Browse by covers')) self.layout().addWidget(cover_flow) - geom = gprefs.get('cover_browser_dialog_geometry', bytearray('')) - geom = QByteArray(geom) - if not self.restoreGeometry(geom): + geom = gprefs.get('cover_browser_dialog_geometry', None) + if not geom or not self.restoreGeometry(geom): h, w = available_height()-60, int(available_width()/1.5) self.resize(w, h) self.action_fs_toggle = a = QAction(self) diff --git a/src/calibre/gui2/dialogs/catalog.py b/src/calibre/gui2/dialogs/catalog.py index 25a3d2a3ac..6230b0b4c8 100644 --- a/src/calibre/gui2/dialogs/catalog.py +++ b/src/calibre/gui2/dialogs/catalog.py @@ -22,7 +22,7 @@ class Catalog(QDialog, Ui_Dialog): ''' Catalog Dialog builder''' def __init__(self, parent, dbspec, ids, db): - import re, io + import re from calibre import prints as info from PyQt5.uic import compileUi @@ -67,13 +67,14 @@ class Catalog(QDialog, Ui_Dialog): # Compile the .ui form provided in plugin.zip if not os.path.exists(compiled_form): + from polyglot.io import PolyglotStringIO # info('\tCompiling form', form) - buf = io.BytesIO() + buf = PolyglotStringIO() compileUi(form, buf) dat = buf.getvalue() dat = re.compile(r'QtGui.QApplication.translate\(.+?,\s+"(.+?)(?