diff options
author | Jimmy <jimmy@spalge.com> | 2018-09-11 20:15:56 +1200 |
---|---|---|
committer | Jimmy <jimmy@spalge.com> | 2020-02-13 21:01:32 +1300 |
commit | f157577da4d2105ee3f7cab5eb1a932e08348c44 (patch) | |
tree | 8d3c411d1855995c79d51d1ec6a7251d3afaa8f8 /qutebrowser/misc/sessions.py | |
parent | 0a0cb3276819270e0d0bf52ab68d39889e90c30f (diff) | |
download | qutebrowser-f157577da4d2105ee3f7cab5eb1a932e08348c44.tar.gz qutebrowser-f157577da4d2105ee3f7cab5eb1a932e08348c44.zip |
Add history entry last visited time to session file.
If loading old session files the entries with be 1601.01.01 which is
apparently the ANSI (Windows?) epoch.
Diffstat (limited to 'qutebrowser/misc/sessions.py')
-rw-r--r-- | qutebrowser/misc/sessions.py | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/qutebrowser/misc/sessions.py b/qutebrowser/misc/sessions.py index 1bcd42baf..389eb7c40 100644 --- a/qutebrowser/misc/sessions.py +++ b/qutebrowser/misc/sessions.py @@ -25,7 +25,8 @@ import itertools import urllib import typing -from PyQt5.QtCore import QUrl, QObject, QPoint, QTimer, pyqtSlot +from PyQt5.QtCore import (Qt, QUrl, QObject, QPoint, QTimer, QDateTime, + pyqtSlot) from PyQt5.QtWidgets import QApplication import yaml @@ -96,7 +97,7 @@ class TabHistoryItem: """ def __init__(self, url, title, *, original_url=None, active=False, - user_data=None): + user_data=None, last_visited=None): self.url = url if original_url is None: self.original_url = url @@ -105,11 +106,13 @@ class TabHistoryItem: self.title = title self.active = active self.user_data = user_data + self.last_visited = last_visited def __repr__(self): return utils.get_repr(self, constructor=True, url=self.url, original_url=self.original_url, title=self.title, - active=self.active, user_data=self.user_data) + active=self.active, user_data=self.user_data, + last_visited=self.last_visited) class SessionManager(QObject): @@ -195,6 +198,8 @@ class SessionManager(QObject): # QtWebEngine user_data = None + data['last_visited'] = item.lastVisited().toString(Qt.ISODate) + if tab.history.current_idx() == idx: pos = tab.scroller.pos_px() data['zoom'] = tab.zoom.factor() @@ -403,9 +408,17 @@ class SessionManager(QObject): histentry['original-url'].encode('ascii')) else: orig_url = url + if histentry.get("last_visited"): + last_visited = QDateTime.fromString( + histentry.get("last_visited"), + Qt.ISODate, + ) + else: + last_visited = None entry = TabHistoryItem(url=url, original_url=orig_url, title=histentry['title'], active=active, - user_data=user_data) + user_data=user_data, + last_visited=last_visited) entries.append(entry) if active: new_tab.title_changed.emit(histentry['title']) |