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