Helpviewer/Bookmarks/BookmarksManager.py

changeset 2403
e3d7a861547c
parent 2302
f29e9405c851
child 2525
8b507a9a2d40
child 2954
bf0215fe12d1
equal deleted inserted replaced
2402:304fcefd3b04 2403:e3d7a861547c
14 from PyQt4.QtGui import QUndoStack, QUndoCommand, QApplication, QDialog 14 from PyQt4.QtGui import QUndoStack, QUndoCommand, QApplication, QDialog
15 15
16 from E5Gui import E5MessageBox, E5FileDialog 16 from E5Gui import E5MessageBox, E5FileDialog
17 17
18 from .BookmarkNode import BookmarkNode 18 from .BookmarkNode import BookmarkNode
19 from .BookmarksModel import BookmarksModel
20 from .DefaultBookmarks import DefaultBookmarks
21 from .XbelReader import XbelReader
22 from .XbelWriter import XbelWriter
23 from .NsHtmlWriter import NsHtmlWriter
24 from .BookmarksImportDialog import BookmarksImportDialog
25 19
26 from Utilities.AutoSaver import AutoSaver 20 from Utilities.AutoSaver import AutoSaver
27 import Utilities 21 import Utilities
28 import Preferences 22 import Preferences
29 23
124 118
125 self.__loaded = True 119 self.__loaded = True
126 120
127 bookmarkFile = self.getFileName() 121 bookmarkFile = self.getFileName()
128 if not QFile.exists(bookmarkFile): 122 if not QFile.exists(bookmarkFile):
123 from .DefaultBookmarks import DefaultBookmarks
129 ba = QByteArray(DefaultBookmarks) 124 ba = QByteArray(DefaultBookmarks)
130 bookmarkFile = QBuffer(ba) 125 bookmarkFile = QBuffer(ba)
131 bookmarkFile.open(QIODevice.ReadOnly) 126 bookmarkFile.open(QIODevice.ReadOnly)
132 127
128 from .XbelReader import XbelReader
133 reader = XbelReader() 129 reader = XbelReader()
134 self.__bookmarkRootNode = reader.read(bookmarkFile) 130 self.__bookmarkRootNode = reader.read(bookmarkFile)
135 if reader.error() != QXmlStreamReader.NoError: 131 if reader.error() != QXmlStreamReader.NoError:
136 E5MessageBox.warning(None, 132 E5MessageBox.warning(None,
137 self.trUtf8("Loading Bookmarks"), 133 self.trUtf8("Loading Bookmarks"),
185 Public method to save the bookmarks. 181 Public method to save the bookmarks.
186 """ 182 """
187 if not self.__loaded: 183 if not self.__loaded:
188 return 184 return
189 185
186 from .XbelWriter import XbelWriter
190 writer = XbelWriter() 187 writer = XbelWriter()
191 bookmarkFile = self.getFileName() 188 bookmarkFile = self.getFileName()
192 189
193 # save root folder titles in English (i.e. not localized) 190 # save root folder titles in English (i.e. not localized)
194 self.__menu.title = BOOKMARKMENU 191 self.__menu.title = BOOKMARKMENU
329 Public method to get a reference to the bookmarks model. 326 Public method to get a reference to the bookmarks model.
330 327
331 @return reference to the bookmarks model (BookmarksModel) 328 @return reference to the bookmarks model (BookmarksModel)
332 """ 329 """
333 if self.__bookmarksModel is None: 330 if self.__bookmarksModel is None:
331 from .BookmarksModel import BookmarksModel
334 self.__bookmarksModel = BookmarksModel(self, self) 332 self.__bookmarksModel = BookmarksModel(self, self)
335 return self.__bookmarksModel 333 return self.__bookmarksModel
336 334
337 def importBookmarks(self): 335 def importBookmarks(self):
338 """ 336 """
339 Public method to import bookmarks. 337 Public method to import bookmarks.
340 """ 338 """
339 from .BookmarksImportDialog import BookmarksImportDialog
341 dlg = BookmarksImportDialog() 340 dlg = BookmarksImportDialog()
342 if dlg.exec_() == QDialog.Accepted: 341 if dlg.exec_() == QDialog.Accepted:
343 importRootNode = dlg.getImportedBookmarks() 342 importRootNode = dlg.getImportedBookmarks()
344 if importRootNode is not None: 343 if importRootNode is not None:
345 self.addBookmark(self.menu(), importRootNode) 344 self.addBookmark(self.menu(), importRootNode)
364 if ex: 363 if ex:
365 fileName += ex 364 fileName += ex
366 365
367 ext = QFileInfo(fileName).suffix() 366 ext = QFileInfo(fileName).suffix()
368 if ext == "html": 367 if ext == "html":
368 from .NsHtmlWriter import NsHtmlWriter
369 writer = NsHtmlWriter() 369 writer = NsHtmlWriter()
370 else: 370 else:
371 from .XbelWriter import XbelWriter
371 writer = XbelWriter() 372 writer = XbelWriter()
372 if not writer.write(fileName, self.__bookmarkRootNode): 373 if not writer.write(fileName, self.__bookmarkRootNode):
373 E5MessageBox.critical(None, 374 E5MessageBox.critical(None,
374 self.trUtf8("Exporting Bookmarks"), 375 self.trUtf8("Exporting Bookmarks"),
375 self.trUtf8("""Error exporting bookmarks to <b>{0}</b>.""")\ 376 self.trUtf8("""Error exporting bookmarks to <b>{0}</b>.""")\

eric ide

mercurial