Replace scroll_pos by scroll_pos_px()/_perc()
This commit is contained in:
parent
ed716b2b90
commit
363f3d7ea7
@ -150,8 +150,10 @@ class AbstractTab(QWidget):
|
||||
def load_status(self):
|
||||
raise NotImplementedError
|
||||
|
||||
@property
|
||||
def scroll_pos(self):
|
||||
def scroll_pos_perc(self):
|
||||
raise NotImplementedError
|
||||
|
||||
def scroll_pos_px(self):
|
||||
raise NotImplementedError
|
||||
|
||||
def openurl(self, url):
|
||||
|
@ -86,9 +86,11 @@ class WebEngineViewTab(tab.AbstractTab):
|
||||
def load_status(self):
|
||||
return usertypes.LoadStatus.success
|
||||
|
||||
@property
|
||||
def scroll_pos(self):
|
||||
return (0, 0)
|
||||
def scroll_pos_perc(self):
|
||||
return (0, 0) # FIXME
|
||||
|
||||
def scroll_pos_px(self):
|
||||
return self._widget.page().scrollPosition()
|
||||
|
||||
def set_zoom_factor(self, factor):
|
||||
self._widget.setZoomFactor(factor)
|
||||
|
@ -63,7 +63,7 @@ class WebViewHistory(tab.AbstractHistory):
|
||||
if 'zoom' in cur_data:
|
||||
self.tab.zoom_perc(cur_data['zoom'] * 100)
|
||||
if ('scroll-pos' in cur_data and
|
||||
self.tab.scroll_position() == QPoint(0, 0)):
|
||||
self.tab.scroll_pos_px() == QPoint(0, 0)):
|
||||
QTimer.singleShot(0, functools.partial(
|
||||
self.tab.scroll, cur_data['scroll-pos']))
|
||||
|
||||
@ -92,10 +92,12 @@ class WebViewTab(tab.AbstractTab):
|
||||
def load_status(self):
|
||||
return self._widget.load_status
|
||||
|
||||
@property
|
||||
def scroll_pos(self):
|
||||
def scroll_pos_perc(self):
|
||||
return self._widget.scroll_pos
|
||||
|
||||
def scroll_pos_px(self):
|
||||
return self._widget.page().mainFrame().scrollPosition()
|
||||
|
||||
def dump_async(self, callback=None, *, plain=False):
|
||||
frame = self._widget.page().mainFrame()
|
||||
if plain:
|
||||
|
@ -52,4 +52,4 @@ class Percentage(textbase.TextBase):
|
||||
@pyqtSlot(webview.WebView)
|
||||
def on_tab_changed(self, tab):
|
||||
"""Update scroll position when tab changed."""
|
||||
self.set_perc(*tab.scroll_pos)
|
||||
self.set_perc(*tab.scroll_pos_perc())
|
||||
|
@ -127,7 +127,7 @@ class TabWidget(QTabWidget):
|
||||
except qtutils.QtValueError:
|
||||
fields['host'] = ''
|
||||
|
||||
y = widget.scroll_pos[1]
|
||||
y = widget.scroll_pos_perc()[1]
|
||||
if y <= 0:
|
||||
scroll_pos = 'top'
|
||||
elif y >= 100:
|
||||
|
@ -165,15 +165,15 @@ class SessionManager(QObject):
|
||||
|
||||
user_data = item.userData()
|
||||
if tab.history.current_idx() == idx:
|
||||
pos = tab.scroll_pos
|
||||
pos = tab.scroll_pos_px()
|
||||
item_data['zoom'] = tab.zoom_factor()
|
||||
item_data['scroll-pos'] = {'x': pos[0], 'y': pos[1]}
|
||||
item_data['scroll-pos'] = {'x': pos.x(), 'y': pos.y()}
|
||||
elif user_data is not None:
|
||||
if 'zoom' in user_data:
|
||||
item_data['zoom'] = user_data['zoom']
|
||||
if 'scroll-pos' in user_data:
|
||||
pos = user_data['scroll-pos']
|
||||
item_data['scroll-pos'] = {'x': pos[0], 'y': pos[1]}
|
||||
item_data['scroll-pos'] = {'x': pos.x(), 'y': pos.y()}
|
||||
|
||||
data['history'].append(item_data)
|
||||
return data
|
||||
|
Loading…
Reference in New Issue
Block a user