Viewer: Dont flash the home page before loading a book if a book has been specified

This commit is contained in:
Kovid Goyal 2019-10-08 19:23:08 +05:30
parent 96ebc4bda3
commit c264cf7a21
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
3 changed files with 6 additions and 3 deletions

View File

@ -281,6 +281,7 @@ class EbookViewer(MainWindow):
self.load_ebook(entry['pathtoebook'])
def load_ebook(self, pathtoebook, open_at=None, reload_book=False):
self.web_view.show_home_page_on_ready = False
if open_at:
self.pending_open_at = open_at
self.setWindowTitle(_('Loading book') + '… — {}'.format(self.base_window_title))

View File

@ -385,6 +385,7 @@ class WebView(RestartingWebEngineView):
self.dead_renderer_error_shown = False
self.render_process_failed.connect(self.render_process_died)
w = QApplication.instance().desktop().availableGeometry(self).width()
self.show_home_page_on_ready = True
self._size_hint = QSize(int(w/3), int(w/2))
self._page = WebPage(self)
self.bridge.bridge_ready.connect(self.on_bridge_ready)
@ -467,7 +468,7 @@ class WebView(RestartingWebEngineView):
fi = QFontInfo(f)
self.bridge.create_view(
vprefs['session_data'], QFontDatabase().families(), field_metadata.all_metadata(),
f.family(), '{}px'.format(fi.pixelSize()))
f.family(), '{}px'.format(fi.pixelSize()), self.show_home_page_on_ready)
for func, args in iteritems(self.pending_bridge_ready_actions):
getattr(self.bridge, func)(*args)

View File

@ -188,7 +188,7 @@ def create_session_data(prefs):
@from_python
def create_view(prefs, all_font_families, field_metadata, ui_font_family, ui_font_sz):
def create_view(prefs, all_font_families, field_metadata, ui_font_family, ui_font_sz, show_home_page_on_ready):
nonlocal view
runtime.all_font_families = all_font_families
library_data.field_metadata = field_metadata
@ -197,7 +197,8 @@ def create_view(prefs, all_font_families, field_metadata, ui_font_family, ui_fon
if view is None:
create_session_data(prefs)
view = View(document.getElementById('view'))
view.overlay.open_book(False)
if show_home_page_on_ready:
view.overlay.open_book(False)
@from_python