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>.""")\ |