diff -r 66b9dc45f2bd -r 5d7ce61b64aa Helpviewer/Bookmarks/BookmarksManager.py --- a/Helpviewer/Bookmarks/BookmarksManager.py Sat Mar 24 16:10:48 2012 +0100 +++ b/Helpviewer/Bookmarks/BookmarksManager.py Sat Mar 24 17:57:55 2012 +0100 @@ -10,7 +10,7 @@ import os from PyQt4.QtCore import pyqtSignal, Qt, QT_TRANSLATE_NOOP, QObject, QFile, QByteArray, \ - QBuffer, QIODevice, QXmlStreamReader, QDate, QFileInfo, QUrl + QBuffer, QIODevice, QXmlStreamReader, QDate, QDateTime, QFileInfo, QUrl from PyQt4.QtGui import QUndoStack, QUndoCommand, QApplication, QDialog from E5Gui import E5MessageBox, E5FileDialog @@ -216,6 +216,8 @@ if not self.__loaded: return + self.setTimestamp(node, BookmarkNode.TsAdded, QDateTime.currentDateTime()) + command = InsertBookmarksCommand(self, parent, node, row) self.__commands.push(command) @@ -259,6 +261,30 @@ command = ChangeBookmarkCommand(self, node, newUrl, False) self.__commands.push(command) + def setTimestamp(self, node, timestampType, timestamp): + """ + Public method to set the URL of a bookmark. + + @param node reference to the node to be changed (BookmarkNode) + @param timestampType type of the timestamp to set (BookmarkNode.TsAdded, + BookmarkNode.TsModified, BookmarkNode.TsVisited) + @param timestamp timestamp to set (QDateTime) + """ + if not self.__loaded: + return + + assert timestampType in [BookmarkNode.TsAdded, + BookmarkNode.TsModified, + BookmarkNode.TsVisited] + + if timestampType == BookmarkNode.TsAdded: + node.added = timestamp + elif timestampType == BookmarkNode.TsModified: + node.modified = timestamp + elif timestampType == BookmarkNode.TsVisited: + node.visited = timestamp + self.__saveTimer.changeOccurred() + def bookmarks(self): """ Public method to get a reference to the root bookmark node.