def mimeData(self, indexes):
     """
     Public method to return the mime data.
     
     @param indexes list of indexes (QModelIndexList)
     @return mime data (QMimeData)
     """
     data = QByteArray()
     stream = QDataStream(data, QIODevice.WriteOnly)
     urls = []
     
     for index in indexes:
         if index.column() != 0 or not index.isValid():
             continue
         
         encodedData = QByteArray()
         buffer = QBuffer(encodedData)
         buffer.open(QIODevice.ReadWrite)
         writer = XbelWriter()
         parentNode = self.node(index)
         writer.write(buffer, parentNode)
         stream << encodedData
         urls.append(index.data(self.UrlRole).toUrl())
     
     mdata = QMimeData()
     mdata.setData(self.MIMETYPE, data)
     mdata.setUrls(urls)
     return mdata
 def exportBookmarks(self):
     """
     Public method to export the bookmarks.
     """
     fileName = KQFileDialog.getSaveFileName(\
         None,
         self.trUtf8("Export Bookmarks"),
         "eric4_bookmarks.xbel",
         self.trUtf8("XBEL bookmarks").append(" (*.xbel *.xml)"))
     if fileName.isEmpty():
         return
     
     writer = XbelWriter()
     if not writer.write(fileName, self.__bookmarkRootNode):
         KQMessageBox.critical(None,
             self.trUtf8("Exporting Bookmarks"),
             self.trUtf8("""Error exporting bookmarks to <b>%1</b>.""")\
                 .arg(fileName))
 def save(self):
     """
     Public method to save the bookmarks.
     """
     if not self.__loaded:
         return
     
     writer = XbelWriter()
     bookmarkFile = os.path.join(Utilities.getConfigDir(), "browser", "bookmarks.xbel")
     
     # save root folder titles in English (i.e. not localized)
     self.__menu.title = BOOKMARKMENU
     self.__toolbar.title = BOOKMARKBAR
     if not writer.write(bookmarkFile, self.__bookmarkRootNode):
         KQMessageBox.warning(None,
             self.trUtf8("Saving Bookmarks"),
             self.trUtf8("""Error saving bookmarks to <b>%1</b>.""").arg(bookmarkFile))
     
     # restore localized titles
     self.__menu.title = self.trUtf8(BOOKMARKMENU)
     self.__toolbar.title = self.trUtf8(BOOKMARKBAR)