summaryrefslogtreecommitdiff
path: root/qutebrowser/misc/sessions.py
diff options
context:
space:
mode:
authorJimmy <jimmy@spalge.com>2018-09-11 20:15:56 +1200
committerJimmy <jimmy@spalge.com>2020-02-13 21:01:32 +1300
commitf157577da4d2105ee3f7cab5eb1a932e08348c44 (patch)
tree8d3c411d1855995c79d51d1ec6a7251d3afaa8f8 /qutebrowser/misc/sessions.py
parent0a0cb3276819270e0d0bf52ab68d39889e90c30f (diff)
downloadqutebrowser-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.py21
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'])