Added a bookmarks importer for Opera.

Sun, 18 Mar 2012 16:15:50 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 18 Mar 2012 16:15:50 +0100
changeset 1715
558e44df025a
parent 1714
e9bd88363184
child 1716
d634df56a664

Added a bookmarks importer for Opera.

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
APIs/Python3/eric5.bas file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html file | annotate | diff | comparison | revisions
Documentation/Source/index-eric5.Helpviewer.Bookmarks.BookmarksImporters.html file | annotate | diff | comparison | revisions
Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py file | annotate | diff | comparison | revisions
Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py file | annotate | diff | comparison | revisions
Helpviewer/Bookmarks/BookmarksImporters/__init__.py file | annotate | diff | comparison | revisions
i18n/eric5_cs.ts file | annotate | diff | comparison | revisions
i18n/eric5_de.qm file | annotate | diff | comparison | revisions
i18n/eric5_de.ts file | annotate | diff | comparison | revisions
i18n/eric5_en.ts file | annotate | diff | comparison | revisions
i18n/eric5_es.ts file | annotate | diff | comparison | revisions
i18n/eric5_fr.ts file | annotate | diff | comparison | revisions
i18n/eric5_it.ts file | annotate | diff | comparison | revisions
i18n/eric5_ru.ts file | annotate | diff | comparison | revisions
i18n/eric5_tr.ts file | annotate | diff | comparison | revisions
i18n/eric5_zh_CN.GB2312.ts file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric5.api	Sun Mar 18 15:05:38 2012 +0100
+++ b/APIs/Python3/eric5.api	Sun Mar 18 16:15:50 2012 +0100
@@ -1805,6 +1805,11 @@
 eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter.HtmlImporter?1(id="", parent=None)
 eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter.extract_js?7
 eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter.getImporterInfo?4(id)
+eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.OperaImporter.importedBookmarks?4()
+eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.OperaImporter.open?4()
+eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.OperaImporter.setPath?4(path)
+eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.OperaImporter?1(id="", parent=None)
+eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.getImporterInfo?4(id)
 eric5.Helpviewer.Bookmarks.BookmarksImporters.XbelImporter.XbelImporter.importedBookmarks?4()
 eric5.Helpviewer.Bookmarks.BookmarksImporters.XbelImporter.XbelImporter.open?4()
 eric5.Helpviewer.Bookmarks.BookmarksImporters.XbelImporter.XbelImporter.setPath?4(path)
--- a/APIs/Python3/eric5.bas	Sun Mar 18 15:05:38 2012 +0100
+++ b/APIs/Python3/eric5.bas	Sun Mar 18 16:15:50 2012 +0100
@@ -396,6 +396,7 @@
 OpenSearchManager QObject
 OpenSearchReader QXmlStreamReader
 OpenSearchWriter QXmlStreamWriter
+OperaImporter BookmarksImporter
 PackageDiagram UMLDialog
 PackageItem UMLItem
 PageScreenDialog QDialog Ui_PageScreenDialog
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sun Mar 18 15:05:38 2012 +0100
+++ b/Documentation/Help/source.qhp	Sun Mar 18 16:15:50 2012 +0100
@@ -204,6 +204,7 @@
                 <section title="eric5.Helpviewer.Bookmarks.BookmarksImporters.BookmarksImporter" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.BookmarksImporter.html" />
                 <section title="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html" />
                 <section title="eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter.html" />
+                <section title="eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html" />
                 <section title="eric5.Helpviewer.Bookmarks.BookmarksImporters.XbelImporter" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.XbelImporter.html" />
                 <section title="eric5.Helpviewer.Bookmarks.BookmarksImporters.__init__" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.__init__.html" />
               </section>
@@ -6751,6 +6752,12 @@
       <keyword name="OpenSearchWriter (Module)" id="OpenSearchWriter (Module)" ref="eric5.Helpviewer.OpenSearch.OpenSearchWriter.html" />
       <keyword name="OpenSearchWriter.__write" id="OpenSearchWriter.__write" ref="eric5.Helpviewer.OpenSearch.OpenSearchWriter.html#OpenSearchWriter.__write" />
       <keyword name="OpenSearchWriter.write" id="OpenSearchWriter.write" ref="eric5.Helpviewer.OpenSearch.OpenSearchWriter.html#OpenSearchWriter.write" />
+      <keyword name="OperaImporter" id="OperaImporter" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html#OperaImporter" />
+      <keyword name="OperaImporter (Constructor)" id="OperaImporter (Constructor)" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html#OperaImporter.__init__" />
+      <keyword name="OperaImporter (Module)" id="OperaImporter (Module)" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html" />
+      <keyword name="OperaImporter.importedBookmarks" id="OperaImporter.importedBookmarks" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html#OperaImporter.importedBookmarks" />
+      <keyword name="OperaImporter.open" id="OperaImporter.open" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html#OperaImporter.open" />
+      <keyword name="OperaImporter.setPath" id="OperaImporter.setPath" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html#OperaImporter.setPath" />
       <keyword name="PDFObjectTracker" id="PDFObjectTracker" ref="eric5.QScintilla.Exporters.ExporterPDF.html#PDFObjectTracker" />
       <keyword name="PDFObjectTracker (Constructor)" id="PDFObjectTracker (Constructor)" ref="eric5.QScintilla.Exporters.ExporterPDF.html#PDFObjectTracker.__init__" />
       <keyword name="PDFObjectTracker.add" id="PDFObjectTracker.add" ref="eric5.QScintilla.Exporters.ExporterPDF.html#PDFObjectTracker.add" />
@@ -11315,6 +11322,7 @@
       <keyword name="getImporter" id="getImporter" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.__init__.html#getImporter" />
       <keyword name="getImporterInfo" id="getImporterInfo" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html#getImporterInfo" />
       <keyword name="getImporterInfo" id="getImporterInfo" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter.html#getImporterInfo" />
+      <keyword name="getImporterInfo" id="getImporterInfo" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html#getImporterInfo" />
       <keyword name="getImporterInfo" id="getImporterInfo" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.XbelImporter.html#getImporterInfo" />
       <keyword name="getImporterInfo" id="getImporterInfo" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.__init__.html#getImporterInfo" />
       <keyword name="getImporters" id="getImporters" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.__init__.html#getImporters" />
@@ -11869,6 +11877,7 @@
       <file>eric5.Helpviewer.Bookmarks.BookmarksImporters.BookmarksImporter.html</file>
       <file>eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html</file>
       <file>eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter.html</file>
+      <file>eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html</file>
       <file>eric5.Helpviewer.Bookmarks.BookmarksImporters.XbelImporter.html</file>
       <file>eric5.Helpviewer.Bookmarks.BookmarksImporters.__init__.html</file>
       <file>eric5.Helpviewer.Bookmarks.BookmarksManager.html</file>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html	Sun Mar 18 16:15:50 2012 +0100
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html><head>
+<title>eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter</title>
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter</h1>
+<p>
+Module implementing an importer for Opera bookmarks.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#OperaImporter">OperaImporter</a></td>
+<td>Class implementing the Opera bookmarks importer.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr>
+<td><a href="#getImporterInfo">getImporterInfo</a></td>
+<td>Module function to get information for the given source id.</td>
+</tr>
+</table>
+<hr /><hr />
+<a NAME="OperaImporter" ID="OperaImporter"></a>
+<h2>OperaImporter</h2>
+<p>
+    Class implementing the Opera bookmarks importer.
+</p>
+<h3>Derived from</h3>
+BookmarksImporter
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#OperaImporter.__init__">OperaImporter</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#OperaImporter.importedBookmarks">importedBookmarks</a></td>
+<td>Public method to get the imported bookmarks.</td>
+</tr><tr>
+<td><a href="#OperaImporter.open">open</a></td>
+<td>Public method to open the bookmarks file.</td>
+</tr><tr>
+<td><a href="#OperaImporter.setPath">setPath</a></td>
+<td>Public method to set the path of the bookmarks file or directory.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="OperaImporter.__init__" ID="OperaImporter.__init__"></a>
+<h4>OperaImporter (Constructor)</h4>
+<b>OperaImporter</b>(<i>id="", parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>id</i></dt>
+<dd>
+source ID (string)
+</dd><dt><i>parent</i></dt>
+<dd>
+reference to the parent object (QObject)
+</dd>
+</dl><a NAME="OperaImporter.importedBookmarks" ID="OperaImporter.importedBookmarks"></a>
+<h4>OperaImporter.importedBookmarks</h4>
+<b>importedBookmarks</b>(<i></i>)
+<p>
+        Public method to get the imported bookmarks.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+imported bookmarks (BookmarkNode)
+</dd>
+</dl><a NAME="OperaImporter.open" ID="OperaImporter.open"></a>
+<h4>OperaImporter.open</h4>
+<b>open</b>(<i></i>)
+<p>
+        Public method to open the bookmarks file.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating success (boolean)
+</dd>
+</dl><a NAME="OperaImporter.setPath" ID="OperaImporter.setPath"></a>
+<h4>OperaImporter.setPath</h4>
+<b>setPath</b>(<i>path</i>)
+<p>
+        Public method to set the path of the bookmarks file or directory.
+</p><dl>
+<dt><i>path</i></dt>
+<dd>
+bookmarks file or directory (string)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="getImporterInfo" ID="getImporterInfo"></a>
+<h2>getImporterInfo</h2>
+<b>getImporterInfo</b>(<i>id</i>)
+<p>
+    Module function to get information for the given source id.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+tuple with an icon (QPixmap), readable name (string), name of
+        the default bookmarks file (string), an info text (string),
+        a prompt (string) and the default directory of the bookmarks file (string)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/Documentation/Source/index-eric5.Helpviewer.Bookmarks.BookmarksImporters.html	Sun Mar 18 15:05:38 2012 +0100
+++ b/Documentation/Source/index-eric5.Helpviewer.Bookmarks.BookmarksImporters.html	Sun Mar 18 16:15:50 2012 +0100
@@ -38,6 +38,9 @@
 <td><a href="eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter.html">HtmlImporter</a></td>
 <td>Module implementing an importer for HTML bookmark files.</td>
 </tr><tr>
+<td><a href="eric5.Helpviewer.Bookmarks.BookmarksImporters.OperaImporter.html">OperaImporter</a></td>
+<td>Module implementing an importer for Opera bookmarks.</td>
+</tr><tr>
 <td><a href="eric5.Helpviewer.Bookmarks.BookmarksImporters.XbelImporter.html">XbelImporter</a></td>
 <td>Module implementing an importer for XBEL files.</td>
 </tr><tr>
--- a/Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py	Sun Mar 18 15:05:38 2012 +0100
+++ b/Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py	Sun Mar 18 16:15:50 2012 +0100
@@ -118,11 +118,10 @@
                 .format(self.__fileName, str(err))
             return None
         
-        importRootNode = BookmarkNode(BookmarkNode.Root)
+        importRootNode = BookmarkNode(BookmarkNode.Folder)
         if contents["version"] == 1:
             self.__processRoots(contents["roots"], importRootNode)
         
-        importRootNode.setType(BookmarkNode.Folder)
         if self._id == "chrome":
             importRootNode.title = self.trUtf8("Google Chrome Import")
         elif self._id == "chromium":
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py	Sun Mar 18 16:15:50 2012 +0100
@@ -0,0 +1,126 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing an importer for Opera bookmarks.
+"""
+
+import os
+
+from PyQt4.QtCore import QCoreApplication, QDate, Qt
+
+from ..BookmarkNode import BookmarkNode
+
+from .BookmarksImporter import BookmarksImporter
+
+import UI.PixmapCache
+import Globals
+
+
+def getImporterInfo(id):
+    """
+    Module function to get information for the given source id.
+    
+    @return tuple with an icon (QPixmap), readable name (string), name of
+        the default bookmarks file (string), an info text (string),
+        a prompt (string) and the default directory of the bookmarks file (string)
+    """
+    if id == "opera":
+        if Globals.isWindowsPlatform():
+            standardDir = os.path.expandvars("%APPDATA%\\Opera\\Opera")
+        else:
+            standardDir = os.path.expanduser("~/.opera")
+        return (
+            UI.PixmapCache.getPixmap("opera.png"),
+            "Opera",
+            "bookmarks.adr",
+            QCoreApplication.translate("OperaImporter",
+                """Opera stores its bookmarks in the <b>bookmarks.adr</b> """
+                """text file. This file is usually located in"""),
+            QCoreApplication.translate("OperaImporter",
+                """Please choose the file to begin importing bookmarks."""),
+            standardDir,
+        )
+    else:
+        raise ValueError("Unsupported browser ID given ({0}).".format(id))
+
+
+class OperaImporter(BookmarksImporter):
+    """
+    Class implementing the Opera bookmarks importer.
+    """
+    def __init__(self, id="", parent=None):
+        """
+        Constructor
+        
+        @param id source ID (string)
+        @param parent reference to the parent object (QObject)
+        """
+        super().__init__(id, parent)
+        
+        self.__fileName = ""
+    
+    def setPath(self, path):
+        """
+        Public method to set the path of the bookmarks file or directory.
+        
+        @param path bookmarks file or directory (string)
+        """
+        self.__fileName = path
+    
+    def open(self):
+        """
+        Public method to open the bookmarks file.
+        
+        @return flag indicating success (boolean)
+        """
+        if not os.path.exists(self.__fileName):
+            self._error = True
+            self._errorString = self.trUtf8("File '{0}' does not exist.")\
+                .format(self.__fileName)
+            return False
+        return True
+    
+    def importedBookmarks(self):
+        """
+        Public method to get the imported bookmarks.
+        
+        @return imported bookmarks (BookmarkNode)
+        """
+        try:
+            f = open(self.__fileName, "r")
+            contents = f.read()
+            f.close()
+        except IOError as err:
+            self._error = True
+            self._errorString = self.trUtf8("File '{0}' cannot be read.\nReason: {1}")\
+                .format(self.__fileName, str(err))
+            return None
+        
+        folderStack = []
+        
+        importRootNode = BookmarkNode(BookmarkNode.Folder)
+        folderStack.append(importRootNode)
+        
+        for line in contents.splitlines():
+            line = line.strip()
+            if line == "#FOLDER":
+                node = BookmarkNode(BookmarkNode.Folder, folderStack[-1])
+                folderStack.append(node)
+            elif line == "#URL":
+                node = BookmarkNode(BookmarkNode.Bookmark, folderStack[-1])
+            elif line == "-":
+                folderStack.pop()
+            elif line.startswith("NAME="):
+                node.title = line.replace("NAME=", "")
+            elif line.startswith("URL="):
+                node.url = line.replace("URL=", "")
+        
+        if self._id == "opera":
+            importRootNode.title = self.trUtf8("Opera Import")
+        else:
+            importRootNode.title = self.trUtf8("Imported {0}")\
+                .format(QDate.currentDate().toString(Qt.SystemLocaleShortDate))
+        return importRootNode
--- a/Helpviewer/Bookmarks/BookmarksImporters/__init__.py	Sun Mar 18 15:05:38 2012 +0100
+++ b/Helpviewer/Bookmarks/BookmarksImporters/__init__.py	Sun Mar 18 16:15:50 2012 +0100
@@ -22,18 +22,14 @@
     """
     importers = []
     importers.append(
-        (UI.PixmapCache.getIcon("ericWeb48.png"),
-         "eric5 Web Browser",
-         "e5browser"))
+        (UI.PixmapCache.getIcon("ericWeb48.png"), "eric5 Web Browser", "e5browser"))
     importers.append(
-        (UI.PixmapCache.getIcon("chrome.png"),
-         "Google Chrome",
-         "chrome"))
+        (UI.PixmapCache.getIcon("chrome.png"), "Google Chrome", "chrome"))
     if not Globals.isWindowsPlatform() and not Globals.isMacPlatform():
         importers.append(
-            (UI.PixmapCache.getIcon("chromium.png"),
-             "Chromium",
-             "chromium"))
+            (UI.PixmapCache.getIcon("chromium.png"), "Chromium", "chromium"))
+    importers.append(
+        (UI.PixmapCache.getIcon("opera.png"), "Opera", "opera"))
     importers.append(
         (UI.PixmapCache.getIcon("xbel.png"),
          QCoreApplication.translate("BookmarksImporters", "XBEL File"),
@@ -43,6 +39,7 @@
          QCoreApplication.translate("BookmarksImporters", "HTML File"),
          "html"))
     return importers
+    # TODO: importers for Safari, Firefox, IE
 
 
 def getImporterInfo(id):
@@ -63,6 +60,9 @@
     elif id in ["chrome", "chromium"]:
         from . import ChromeImporter
         return ChromeImporter.getImporterInfo(id)
+    elif id == "opera":
+        from . import OperaImporter
+        return OperaImporter.getImporterInfo(id)
     else:
         raise ValueError("Invalid importer ID given ({0}).".format(id))
 
@@ -83,5 +83,8 @@
     elif id in ["chrome", "chromium"]:
         from . import ChromeImporter
         return ChromeImporter.ChromeImporter(id, parent)
+    elif id == "opera":
+        from . import OperaImporter
+        return OperaImporter.OperaImporter(id, parent)
     else:
         raise ValueError("No importer for ID {0}.".format(id))
--- a/i18n/eric5_cs.ts	Sun Mar 18 15:05:38 2012 +0100
+++ b/i18n/eric5_cs.ts	Sun Mar 18 16:15:50 2012 +0100
@@ -1597,12 +1597,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="33"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2490,17 +2490,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="126"/>
         <source>Google Chrome Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="128"/>
         <source>Chromium Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="130"/>
         <source>Imported {0}</source>
         <translation type="unfinished">Importováno {0}</translation>
     </message>
@@ -27832,6 +27832,40 @@
     </message>
 </context>
 <context>
+    <name>OperaImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Opera stores its bookmarks in the &lt;b&gt;bookmarks.adr&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="81"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="98"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="122"/>
+        <source>Opera Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="124"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished">Importováno {0}</translation>
+    </message>
+</context>
+<context>
     <name>PackageDiagram</name>
     <message>
         <location filename="Graphics/PackageDiagram.py" line="79"/>
Binary file i18n/eric5_de.qm has changed
--- a/i18n/eric5_de.ts	Sun Mar 18 15:05:38 2012 +0100
+++ b/i18n/eric5_de.ts	Sun Mar 18 16:15:50 2012 +0100
@@ -1586,12 +1586,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="33"/>
         <source>XBEL File</source>
         <translation>XBEL Datei</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>HTML File</source>
         <translation>HTML Datei</translation>
     </message>
@@ -2437,17 +2437,17 @@
 Ursache: {1}</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="126"/>
         <source>Google Chrome Import</source>
         <translation>Google Chrome Import</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="128"/>
         <source>Chromium Import</source>
         <translation>Chromium Import</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="130"/>
         <source>Imported {0}</source>
         <translation>Importiert {0}</translation>
     </message>
@@ -26976,6 +26976,41 @@
     </message>
 </context>
 <context>
+    <name>OperaImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Opera stores its bookmarks in the &lt;b&gt;bookmarks.adr&lt;/b&gt; text file. This file is usually located in</source>
+        <translation>Opera speichert die Lesezeichen in der Datei &lt;b&gt;bookmarks.adr&lt;/b&gt;. Diese Datei befindet sich gewöhnlich in</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation>Bitte wähle die Datei, um den Import von Lesezeichen zu starten.</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="81"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation>Datei &apos;{0}&apos; existiert nicht.</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="98"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation>Datei &apos;{0}&apos; kann nicht gelesen werden.
+Ursache: {1}</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="122"/>
+        <source>Opera Import</source>
+        <translation>Opera Import</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="124"/>
+        <source>Imported {0}</source>
+        <translation>Importiert {0}</translation>
+    </message>
+</context>
+<context>
     <name>PackageDiagram</name>
     <message>
         <location filename="Graphics/PackageDiagram.py" line="79"/>
--- a/i18n/eric5_en.ts	Sun Mar 18 15:05:38 2012 +0100
+++ b/i18n/eric5_en.ts	Sun Mar 18 16:15:50 2012 +0100
@@ -1559,12 +1559,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="33"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2404,17 +2404,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="126"/>
         <source>Google Chrome Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="128"/>
         <source>Chromium Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="130"/>
         <source>Imported {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -26827,6 +26827,40 @@
     </message>
 </context>
 <context>
+    <name>OperaImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Opera stores its bookmarks in the &lt;b&gt;bookmarks.adr&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="81"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="98"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="122"/>
+        <source>Opera Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="124"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PackageDiagram</name>
     <message>
         <location filename="Graphics/PackageDiagram.py" line="79"/>
--- a/i18n/eric5_es.ts	Sun Mar 18 15:05:38 2012 +0100
+++ b/i18n/eric5_es.ts	Sun Mar 18 16:15:50 2012 +0100
@@ -1595,12 +1595,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="33"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2485,17 +2485,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="126"/>
         <source>Google Chrome Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="128"/>
         <source>Chromium Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="130"/>
         <source>Imported {0}</source>
         <translation type="unfinished">Importado {0}</translation>
     </message>
@@ -27541,6 +27541,40 @@
     </message>
 </context>
 <context>
+    <name>OperaImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Opera stores its bookmarks in the &lt;b&gt;bookmarks.adr&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="81"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="98"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="122"/>
+        <source>Opera Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="124"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished">Importado {0}</translation>
+    </message>
+</context>
+<context>
     <name>PackageDiagram</name>
     <message>
         <location filename="Graphics/PackageDiagram.py" line="79"/>
--- a/i18n/eric5_fr.ts	Sun Mar 18 15:05:38 2012 +0100
+++ b/i18n/eric5_fr.ts	Sun Mar 18 16:15:50 2012 +0100
@@ -1778,12 +1778,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="33"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2633,17 +2633,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="126"/>
         <source>Google Chrome Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="128"/>
         <source>Chromium Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="130"/>
         <source>Imported {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -29217,6 +29217,40 @@
     </message>
 </context>
 <context>
+    <name>OperaImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Opera stores its bookmarks in the &lt;b&gt;bookmarks.adr&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="81"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="98"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="122"/>
+        <source>Opera Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="124"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PackageDiagram</name>
     <message>
         <location filename="Graphics/PackageDiagram.py" line="79"/>
--- a/i18n/eric5_it.ts	Sun Mar 18 15:05:38 2012 +0100
+++ b/i18n/eric5_it.ts	Sun Mar 18 16:15:50 2012 +0100
@@ -1597,12 +1597,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="33"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2485,17 +2485,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="126"/>
         <source>Google Chrome Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="128"/>
         <source>Chromium Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="130"/>
         <source>Imported {0}</source>
         <translation type="unfinished">Importato {0}</translation>
     </message>
@@ -27433,6 +27433,40 @@
     </message>
 </context>
 <context>
+    <name>OperaImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Opera stores its bookmarks in the &lt;b&gt;bookmarks.adr&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="81"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="98"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="122"/>
+        <source>Opera Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="124"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished">Importato {0}</translation>
+    </message>
+</context>
+<context>
     <name>PackageDiagram</name>
     <message>
         <location filename="Graphics/PackageDiagram.py" line="79"/>
--- a/i18n/eric5_ru.ts	Sun Mar 18 15:05:38 2012 +0100
+++ b/i18n/eric5_ru.ts	Sun Mar 18 16:15:50 2012 +0100
@@ -1594,12 +1594,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="33"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2492,17 +2492,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="126"/>
         <source>Google Chrome Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="128"/>
         <source>Chromium Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="130"/>
         <source>Imported {0}</source>
         <translation type="unfinished">Импортировано {0}</translation>
     </message>
@@ -27560,6 +27560,40 @@
     </message>
 </context>
 <context>
+    <name>OperaImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Opera stores its bookmarks in the &lt;b&gt;bookmarks.adr&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="81"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="98"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="122"/>
+        <source>Opera Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="124"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished">Импортировано {0}</translation>
+    </message>
+</context>
+<context>
     <name>PackageDiagram</name>
     <message>
         <location filename="Graphics/PackageDiagram.py" line="79"/>
--- a/i18n/eric5_tr.ts	Sun Mar 18 15:05:38 2012 +0100
+++ b/i18n/eric5_tr.ts	Sun Mar 18 16:15:50 2012 +0100
@@ -1595,12 +1595,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="33"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2490,17 +2490,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="126"/>
         <source>Google Chrome Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="128"/>
         <source>Chromium Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="130"/>
         <source>Imported {0}</source>
         <translation type="unfinished">İçe Aktarılmış {0}</translation>
     </message>
@@ -27738,6 +27738,40 @@
     </message>
 </context>
 <context>
+    <name>OperaImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Opera stores its bookmarks in the &lt;b&gt;bookmarks.adr&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="81"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="98"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="122"/>
+        <source>Opera Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="124"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished">İçe Aktarılmış {0}</translation>
+    </message>
+</context>
+<context>
     <name>PackageDiagram</name>
     <message>
         <location filename="Graphics/PackageDiagram.py" line="79"/>
--- a/i18n/eric5_zh_CN.GB2312.ts	Sun Mar 18 15:05:38 2012 +0100
+++ b/i18n/eric5_zh_CN.GB2312.ts	Sun Mar 18 16:15:50 2012 +0100
@@ -1771,12 +1771,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="33"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2626,17 +2626,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="126"/>
         <source>Google Chrome Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="128"/>
         <source>Chromium Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="130"/>
         <source>Imported {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -29184,6 +29184,40 @@
     </message>
 </context>
 <context>
+    <name>OperaImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Opera stores its bookmarks in the &lt;b&gt;bookmarks.adr&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="35"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="81"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="98"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="122"/>
+        <source>Opera Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/OperaImporter.py" line="124"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PackageDiagram</name>
     <message>
         <location filename="Graphics/PackageDiagram.py" line="79"/>

eric ide

mercurial