Added a bookmarks importer for Google Chrome and Chromium.

Sun, 18 Mar 2012 15:05:38 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 18 Mar 2012 15:05:38 +0100
changeset 1714
e9bd88363184
parent 1713
56fdde8a2441
child 1715
558e44df025a

Added a bookmarks importer for Google Chrome and Chromium.

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.ChromeImporter.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/__init__.py file | annotate | diff | comparison | revisions
eric5.e4p 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 10:07:28 2012 +0100
+++ b/APIs/Python3/eric5.api	Sun Mar 18 15:05:38 2012 +0100
@@ -1794,6 +1794,11 @@
 eric5.Helpviewer.Bookmarks.BookmarksImporters.BookmarksImporter.BookmarksImporter.open?4()
 eric5.Helpviewer.Bookmarks.BookmarksImporters.BookmarksImporter.BookmarksImporter.setPath?4(path)
 eric5.Helpviewer.Bookmarks.BookmarksImporters.BookmarksImporter.BookmarksImporter?1(id="", parent=None)
+eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.ChromeImporter.importedBookmarks?4()
+eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.ChromeImporter.open?4()
+eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.ChromeImporter.setPath?4(path)
+eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.ChromeImporter?1(id="", parent=None)
+eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.getImporterInfo?4(id)
 eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter.HtmlImporter.importedBookmarks?4()
 eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter.HtmlImporter.open?4()
 eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter.HtmlImporter.setPath?4(path)
--- a/APIs/Python3/eric5.bas	Sun Mar 18 10:07:28 2012 +0100
+++ b/APIs/Python3/eric5.bas	Sun Mar 18 15:05:38 2012 +0100
@@ -57,6 +57,7 @@
 BrowserSysPathItem BrowserItem
 ChangeBookmarkCommand QUndoCommand
 ChatWidget QWidget Ui_ChatWidget
+ChromeImporter BookmarksImporter
 Class ClbrBase
 ClassItem UMLItem
 ClassScope Scope
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sun Mar 18 10:07:28 2012 +0100
+++ b/Documentation/Help/source.qhp	Sun Mar 18 15:05:38 2012 +0100
@@ -202,6 +202,7 @@
             <section title="eric5.Helpviewer.Bookmarks" ref="index-eric5.Helpviewer.Bookmarks.html">
               <section title="eric5.Helpviewer.Bookmarks.BookmarksImporters" ref="index-eric5.Helpviewer.Bookmarks.BookmarksImporters.html">
                 <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.XbelImporter" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.XbelImporter.html" />
                 <section title="eric5.Helpviewer.Bookmarks.BookmarksImporters.__init__" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.__init__.html" />
@@ -1815,6 +1816,15 @@
       <keyword name="Checker.scope" id="Checker.scope" ref="eric5.Utilities.py3flakes.checker.html#Checker.scope" />
       <keyword name="Checker.scope" id="Checker.scope" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.scope" />
       <keyword name="CheckerPlugins (Package)" id="CheckerPlugins (Package)" ref="index-eric5.Plugins.CheckerPlugins.html" />
+      <keyword name="ChromeImporter" id="ChromeImporter" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html#ChromeImporter" />
+      <keyword name="ChromeImporter (Constructor)" id="ChromeImporter (Constructor)" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html#ChromeImporter.__init__" />
+      <keyword name="ChromeImporter (Module)" id="ChromeImporter (Module)" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html" />
+      <keyword name="ChromeImporter.__generateFolderNode" id="ChromeImporter.__generateFolderNode" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html#ChromeImporter.__generateFolderNode" />
+      <keyword name="ChromeImporter.__generateUrlNode" id="ChromeImporter.__generateUrlNode" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html#ChromeImporter.__generateUrlNode" />
+      <keyword name="ChromeImporter.__processRoots" id="ChromeImporter.__processRoots" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html#ChromeImporter.__processRoots" />
+      <keyword name="ChromeImporter.importedBookmarks" id="ChromeImporter.importedBookmarks" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html#ChromeImporter.importedBookmarks" />
+      <keyword name="ChromeImporter.open" id="ChromeImporter.open" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html#ChromeImporter.open" />
+      <keyword name="ChromeImporter.setPath" id="ChromeImporter.setPath" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html#ChromeImporter.setPath" />
       <keyword name="Class" id="Class" ref="eric5.Utilities.ClassBrowsers.ClbrBaseClasses.html#Class" />
       <keyword name="Class" id="Class" ref="eric5.Utilities.ClassBrowsers.pyclbr.html#Class" />
       <keyword name="Class" id="Class" ref="eric5.Utilities.ClassBrowsers.rbclbr.html#Class" />
@@ -11303,6 +11313,7 @@
       <keyword name="getIconEditor" id="getIconEditor" ref="eric5.Preferences.__init__.html#getIconEditor" />
       <keyword name="getIcons" id="getIcons" ref="eric5.Preferences.__init__.html#getIcons" />
       <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.XbelImporter.html#getImporterInfo" />
       <keyword name="getImporterInfo" id="getImporterInfo" ref="eric5.Helpviewer.Bookmarks.BookmarksImporters.__init__.html#getImporterInfo" />
@@ -11856,6 +11867,7 @@
       <file>eric5.Helpviewer.Bookmarks.BookmarksDialog.html</file>
       <file>eric5.Helpviewer.Bookmarks.BookmarksImportDialog.html</file>
       <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.XbelImporter.html</file>
       <file>eric5.Helpviewer.Bookmarks.BookmarksImporters.__init__.html</file>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html	Sun Mar 18 15:05:38 2012 +0100
@@ -0,0 +1,190 @@
+<?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.ChromeImporter</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.ChromeImporter</h1>
+<p>
+Module implementing an importer for Chrome bookmarks.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#ChromeImporter">ChromeImporter</a></td>
+<td>Class implementing the Chrome 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="ChromeImporter" ID="ChromeImporter"></a>
+<h2>ChromeImporter</h2>
+<p>
+    Class implementing the Chrome 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="#ChromeImporter.__init__">ChromeImporter</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#ChromeImporter.__generateFolderNode">__generateFolderNode</a></td>
+<td>Private method to process a bookmarks folder.</td>
+</tr><tr>
+<td><a href="#ChromeImporter.__generateUrlNode">__generateUrlNode</a></td>
+<td>Private method to process a bookmarks node.</td>
+</tr><tr>
+<td><a href="#ChromeImporter.__processRoots">__processRoots</a></td>
+<td>Private method to process the bookmark roots.</td>
+</tr><tr>
+<td><a href="#ChromeImporter.importedBookmarks">importedBookmarks</a></td>
+<td>Public method to get the imported bookmarks.</td>
+</tr><tr>
+<td><a href="#ChromeImporter.open">open</a></td>
+<td>Public method to open the bookmarks file.</td>
+</tr><tr>
+<td><a href="#ChromeImporter.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="ChromeImporter.__init__" ID="ChromeImporter.__init__"></a>
+<h4>ChromeImporter (Constructor)</h4>
+<b>ChromeImporter</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="ChromeImporter.__generateFolderNode" ID="ChromeImporter.__generateFolderNode"></a>
+<h4>ChromeImporter.__generateFolderNode</h4>
+<b>__generateFolderNode</b>(<i>data, rootNode</i>)
+<p>
+        Private method to process a bookmarks folder.
+</p><dl>
+<dt><i>data</i></dt>
+<dd>
+dictionary with the bookmarks data (dict)
+</dd><dt><i>rootNode</i></dt>
+<dd>
+node to add the bookmarks to (BookmarkNode)
+</dd>
+</dl><a NAME="ChromeImporter.__generateUrlNode" ID="ChromeImporter.__generateUrlNode"></a>
+<h4>ChromeImporter.__generateUrlNode</h4>
+<b>__generateUrlNode</b>(<i>data, rootNode</i>)
+<p>
+        Private method to process a bookmarks node.
+</p><dl>
+<dt><i>data</i></dt>
+<dd>
+dictionary with the bookmarks data (dict)
+</dd><dt><i>rootNode</i></dt>
+<dd>
+node to add the bookmarks to (BookmarkNode)
+</dd>
+</dl><a NAME="ChromeImporter.__processRoots" ID="ChromeImporter.__processRoots"></a>
+<h4>ChromeImporter.__processRoots</h4>
+<b>__processRoots</b>(<i>data, rootNode</i>)
+<p>
+        Private method to process the bookmark roots.
+</p><dl>
+<dt><i>data</i></dt>
+<dd>
+dictionary with the bookmarks data (dict)
+</dd><dt><i>rootNode</i></dt>
+<dd>
+node to add the bookmarks to (BookmarkNode)
+</dd>
+</dl><a NAME="ChromeImporter.importedBookmarks" ID="ChromeImporter.importedBookmarks"></a>
+<h4>ChromeImporter.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="ChromeImporter.open" ID="ChromeImporter.open"></a>
+<h4>ChromeImporter.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="ChromeImporter.setPath" ID="ChromeImporter.setPath"></a>
+<h4>ChromeImporter.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 10:07:28 2012 +0100
+++ b/Documentation/Source/index-eric5.Helpviewer.Bookmarks.BookmarksImporters.html	Sun Mar 18 15:05:38 2012 +0100
@@ -32,6 +32,9 @@
 <td><a href="eric5.Helpviewer.Bookmarks.BookmarksImporters.BookmarksImporter.html">BookmarksImporter</a></td>
 <td>Module implementing a base class for the bookmarks importers.</td>
 </tr><tr>
+<td><a href="eric5.Helpviewer.Bookmarks.BookmarksImporters.ChromeImporter.html">ChromeImporter</a></td>
+<td>Module implementing an importer for Chrome bookmarks.</td>
+</tr><tr>
 <td><a href="eric5.Helpviewer.Bookmarks.BookmarksImporters.HtmlImporter.html">HtmlImporter</a></td>
 <td>Module implementing an importer for HTML bookmark files.</td>
 </tr><tr>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py	Sun Mar 18 15:05:38 2012 +0100
@@ -0,0 +1,172 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing an importer for Chrome bookmarks.
+"""
+
+import os
+import json
+
+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 == "chrome":
+        if Globals.isWindowsPlatform():
+            standardDir = os.path.expandvars(
+                "%USERPROFILE%\\AppData\\Local\\Google\\Chrome\\User Data\\Default")
+        else:
+            standardDir = os.path.expanduser("~/.config/google-chrome/Default")
+        return (
+            UI.PixmapCache.getPixmap("chrome.png"),
+            "Google Chrome",
+            "Bookmarks",
+            QCoreApplication.translate("ChromeImporter",
+                """Google Chrome stores its bookmarks in the <b>Bookmarks</b> """
+                """text file. This file is usually located in"""),
+            QCoreApplication.translate("ChromeImporter",
+                """Please choose the file to begin importing bookmarks."""),
+            standardDir,
+        )
+    elif id == "chromium":
+        if Globals.isWindowsPlatform():
+            standardDir = os.path.expandvars(
+                "%USERPROFILE%\\AppData\\Local\\Google\\Chrome\\User Data\\Default")
+        else:
+            standardDir = os.path.expanduser("~/.config/chromium/Default")
+        return (
+            UI.PixmapCache.getPixmap("chromium.png"),
+            "Chromium",
+            "Bookmarks",
+            QCoreApplication.translate("ChromeImporter",
+                """Chromium stores its bookmarks in the <b>Bookmarks</b> text file. """
+                """This file is usually located in"""),
+            QCoreApplication.translate("ChromeImporter",
+                """Please choose the file to begin importing bookmarks."""),
+            standardDir,
+        )
+    else:
+        raise ValueError("Unsupported browser ID given ({0}).".format(id))
+
+
+class ChromeImporter(BookmarksImporter):
+    """
+    Class implementing the Chrome 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 = json.load(f)
+            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
+        
+        importRootNode = BookmarkNode(BookmarkNode.Root)
+        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":
+            importRootNode.title = self.trUtf8("Chromium Import")
+        else:
+            importRootNode.title = self.trUtf8("Imported {0}")\
+                .format(QDate.currentDate().toString(Qt.SystemLocaleShortDate))
+        return importRootNode
+    
+    def __processRoots(self, data, rootNode):
+        """
+        Private method to process the bookmark roots.
+        
+        @param data dictionary with the bookmarks data (dict)
+        @param rootNode node to add the bookmarks to (BookmarkNode)
+        """
+        for node in data.values():
+            if node["type"] == "folder":
+                self.__generateFolderNode(node, rootNode)
+            elif node["type"] == "url":
+                self.__generateUrlNode(node, rootNode)
+    
+    def __generateFolderNode(self, data, rootNode):
+        """
+        Private method to process a bookmarks folder.
+        
+        @param data dictionary with the bookmarks data (dict)
+        @param rootNode node to add the bookmarks to (BookmarkNode)
+        """
+        folder = BookmarkNode(BookmarkNode.Folder, rootNode)
+        folder.title = data["name"]
+        for node in data["children"]:
+            if node["type"] == "folder":
+                self.__generateFolderNode(node, folder)
+            elif node["type"] == "url":
+                self.__generateUrlNode(node, folder)
+    
+    def __generateUrlNode(self, data, rootNode):
+        """
+        Private method to process a bookmarks node.
+        
+        @param data dictionary with the bookmarks data (dict)
+        @param rootNode node to add the bookmarks to (BookmarkNode)
+        """
+        bookmark = BookmarkNode(BookmarkNode.Bookmark, rootNode)
+        bookmark.url = data["url"]
+        bookmark.title = data["name"]
--- a/Helpviewer/Bookmarks/BookmarksImporters/__init__.py	Sun Mar 18 10:07:28 2012 +0100
+++ b/Helpviewer/Bookmarks/BookmarksImporters/__init__.py	Sun Mar 18 15:05:38 2012 +0100
@@ -10,6 +10,7 @@
 from PyQt4.QtCore import QCoreApplication
 
 import UI.PixmapCache
+import Globals
 
 
 def getImporters():
@@ -19,17 +20,29 @@
     @return list of tuples with an icon (QIcon), readable name (string) and
         internal name (string)
     """
-    return [
+    importers = []
+    importers.append(
         (UI.PixmapCache.getIcon("ericWeb48.png"),
          "eric5 Web Browser",
-         "e5browser"),
+         "e5browser"))
+    importers.append(
+        (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"))
+    importers.append(
         (UI.PixmapCache.getIcon("xbel.png"),
          QCoreApplication.translate("BookmarksImporters", "XBEL File"),
-         "xbel"),
+         "xbel"))
+    importers.append(
         (UI.PixmapCache.getIcon("html.png"),
          QCoreApplication.translate("BookmarksImporters", "HTML File"),
-         "html"),
-    ]
+         "html"))
+    return importers
 
 
 def getImporterInfo(id):
@@ -47,6 +60,11 @@
     elif id == "html":
         from . import HtmlImporter
         return HtmlImporter.getImporterInfo(id)
+    elif id in ["chrome", "chromium"]:
+        from . import ChromeImporter
+        return ChromeImporter.getImporterInfo(id)
+    else:
+        raise ValueError("Invalid importer ID given ({0}).".format(id))
 
 def getImporter(id, parent=None):
     """
@@ -62,5 +80,8 @@
     elif id == "html":
         from . import HtmlImporter
         return HtmlImporter.HtmlImporter(id, parent)
+    elif id in ["chrome", "chromium"]:
+        from . import ChromeImporter
+        return ChromeImporter.ChromeImporter(id, parent)
     else:
         raise ValueError("No importer for ID {0}.".format(id))
--- a/eric5.e4p	Sun Mar 18 10:07:28 2012 +0100
+++ b/eric5.e4p	Sun Mar 18 15:05:38 2012 +0100
@@ -991,6 +991,7 @@
     <Source>Helpviewer/Bookmarks/BookmarksImporters/XbelImporter.py</Source>
     <Source>Helpviewer/Bookmarks/BookmarksImporters/HtmlImporter.py</Source>
     <Source>Helpviewer/Bookmarks/BookmarksImporters/BookmarksImporter.py</Source>
+    <Source>Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py</Source>
   </Sources>
   <Forms>
     <Form>PyUnit/UnittestDialog.ui</Form>
--- a/i18n/eric5_cs.ts	Sun Mar 18 10:07:28 2012 +0100
+++ b/i18n/eric5_cs.ts	Sun Mar 18 15:05:38 2012 +0100
@@ -1597,12 +1597,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="26"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="29"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2462,6 +2462,50 @@
     </message>
 </context>
 <context>
+    <name>ChromeImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="37"/>
+        <source>Google Chrome stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Chromium stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="100"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="117"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <source>Google Chrome Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <source>Chromium Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished">Importováno {0}</translation>
+    </message>
+</context>
+<context>
     <name>ClickToFlash</name>
     <message>
         <location filename="Helpviewer/WebPlugins/ClickToFlash/ClickToFlash.ui" line="43"/>
Binary file i18n/eric5_de.qm has changed
--- a/i18n/eric5_de.ts	Sun Mar 18 10:07:28 2012 +0100
+++ b/i18n/eric5_de.ts	Sun Mar 18 15:05:38 2012 +0100
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage="">
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -1585,12 +1586,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="26"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>XBEL File</source>
         <translation>XBEL Datei</translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="29"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
         <source>HTML File</source>
         <translation>HTML Datei</translation>
     </message>
@@ -1699,8 +1700,8 @@
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksMenu.py" line="142"/>
-        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem &amp;Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New &amp;Tab	Ctrl+LMB</source>
+        <translation>In neuem &amp;Register öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksMenu.py" line="148"/>
@@ -1936,7 +1937,7 @@
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksToolBar.py" line="90"/>
-        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
+        <source>Open in New &amp;Tab	Ctrl+LMB</source>
         <translation>In neuem &amp;Register öffnen\tStrg+LMK</translation>
     </message>
 </context>
@@ -2407,6 +2408,51 @@
     </message>
 </context>
 <context>
+    <name>ChromeImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="37"/>
+        <source>Google Chrome stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation>Google Chrome speichert die Lesezeichen in der Datei &lt;b&gt;Bookmarks&lt;/b&gt;. Diese Datei befindet sich gewöhnlich in</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <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/ChromeImporter.py" line="54"/>
+        <source>Chromium stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation>Chromium speichert die Lesezeichen in der Datei &lt;b&gt;Bookmarks&lt;/b&gt;. Diese Datei befindet sich gewöhnlich in</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="100"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation>Datei &apos;{0}&apos; existiert nicht.</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="117"/>
+        <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/ChromeImporter.py" line="127"/>
+        <source>Google Chrome Import</source>
+        <translation>Google Chrome Import</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <source>Chromium Import</source>
+        <translation>Chromium Import</translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <source>Imported {0}</source>
+        <translation>Importiert {0}</translation>
+    </message>
+</context>
+<context>
     <name>ClickToFlash</name>
     <message>
         <location filename="Helpviewer/WebPlugins/ClickToFlash/ClickToFlash.ui" line="43"/>
@@ -13173,7 +13219,7 @@
     </message>
     <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="899"/>
-        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <source>Open Link in New Tab	Ctrl+LMB</source>
         <translation>Link in neuem Fenster öffnen\tStrg+LMK</translation>
     </message>
     <message>
--- a/i18n/eric5_en.ts	Sun Mar 18 10:07:28 2012 +0100
+++ b/i18n/eric5_en.ts	Sun Mar 18 15:05:38 2012 +0100
@@ -1559,12 +1559,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="26"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="29"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2376,6 +2376,50 @@
     </message>
 </context>
 <context>
+    <name>ChromeImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="37"/>
+        <source>Google Chrome stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Chromium stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="100"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="117"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <source>Google Chrome Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <source>Chromium Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ClickToFlash</name>
     <message>
         <location filename="Helpviewer/WebPlugins/ClickToFlash/ClickToFlash.ui" line="43"/>
--- a/i18n/eric5_es.ts	Sun Mar 18 10:07:28 2012 +0100
+++ b/i18n/eric5_es.ts	Sun Mar 18 15:05:38 2012 +0100
@@ -1595,12 +1595,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="26"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="29"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2457,6 +2457,50 @@
     </message>
 </context>
 <context>
+    <name>ChromeImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="37"/>
+        <source>Google Chrome stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Chromium stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="100"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="117"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <source>Google Chrome Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <source>Chromium Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished">Importado {0}</translation>
+    </message>
+</context>
+<context>
     <name>ClickToFlash</name>
     <message>
         <location filename="Helpviewer/WebPlugins/ClickToFlash/ClickToFlash.ui" line="43"/>
--- a/i18n/eric5_fr.ts	Sun Mar 18 10:07:28 2012 +0100
+++ b/i18n/eric5_fr.ts	Sun Mar 18 15:05:38 2012 +0100
@@ -1778,12 +1778,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="26"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="29"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2605,6 +2605,50 @@
     </message>
 </context>
 <context>
+    <name>ChromeImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="37"/>
+        <source>Google Chrome stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Chromium stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="100"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="117"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <source>Google Chrome Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <source>Chromium Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ClickToFlash</name>
     <message>
         <location filename="Helpviewer/WebPlugins/ClickToFlash/ClickToFlash.ui" line="43"/>
--- a/i18n/eric5_it.ts	Sun Mar 18 10:07:28 2012 +0100
+++ b/i18n/eric5_it.ts	Sun Mar 18 15:05:38 2012 +0100
@@ -1597,12 +1597,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="26"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="29"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2457,6 +2457,50 @@
     </message>
 </context>
 <context>
+    <name>ChromeImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="37"/>
+        <source>Google Chrome stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Chromium stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="100"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="117"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <source>Google Chrome Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <source>Chromium Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished">Importato {0}</translation>
+    </message>
+</context>
+<context>
     <name>ClickToFlash</name>
     <message>
         <location filename="Helpviewer/WebPlugins/ClickToFlash/ClickToFlash.ui" line="43"/>
--- a/i18n/eric5_ru.ts	Sun Mar 18 10:07:28 2012 +0100
+++ b/i18n/eric5_ru.ts	Sun Mar 18 15:05:38 2012 +0100
@@ -1594,12 +1594,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="26"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="29"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2464,6 +2464,50 @@
     </message>
 </context>
 <context>
+    <name>ChromeImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="37"/>
+        <source>Google Chrome stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Chromium stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="100"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="117"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <source>Google Chrome Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <source>Chromium Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished">Импортировано {0}</translation>
+    </message>
+</context>
+<context>
     <name>ClickToFlash</name>
     <message>
         <location filename="Helpviewer/WebPlugins/ClickToFlash/ClickToFlash.ui" line="43"/>
--- a/i18n/eric5_tr.ts	Sun Mar 18 10:07:28 2012 +0100
+++ b/i18n/eric5_tr.ts	Sun Mar 18 15:05:38 2012 +0100
@@ -1595,12 +1595,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="26"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="29"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2462,6 +2462,50 @@
     </message>
 </context>
 <context>
+    <name>ChromeImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="37"/>
+        <source>Google Chrome stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Chromium stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="100"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="117"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <source>Google Chrome Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <source>Chromium Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished">İçe Aktarılmış {0}</translation>
+    </message>
+</context>
+<context>
     <name>ClickToFlash</name>
     <message>
         <location filename="Helpviewer/WebPlugins/ClickToFlash/ClickToFlash.ui" line="43"/>
--- a/i18n/eric5_zh_CN.GB2312.ts	Sun Mar 18 10:07:28 2012 +0100
+++ b/i18n/eric5_zh_CN.GB2312.ts	Sun Mar 18 15:05:38 2012 +0100
@@ -1771,12 +1771,12 @@
 <context>
     <name>BookmarksImporters</name>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="26"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="37"/>
         <source>XBEL File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="29"/>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/__init__.py" line="41"/>
         <source>HTML File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2598,6 +2598,50 @@
     </message>
 </context>
 <context>
+    <name>ChromeImporter</name>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="37"/>
+        <source>Google Chrome stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Please choose the file to begin importing bookmarks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="54"/>
+        <source>Chromium stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="100"/>
+        <source>File &apos;{0}&apos; does not exist.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="117"/>
+        <source>File &apos;{0}&apos; cannot be read.
+Reason: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="127"/>
+        <source>Google Chrome Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="129"/>
+        <source>Chromium Import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Helpviewer/Bookmarks/BookmarksImporters/ChromeImporter.py" line="131"/>
+        <source>Imported {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ClickToFlash</name>
     <message>
         <location filename="Helpviewer/WebPlugins/ClickToFlash/ClickToFlash.ui" line="43"/>

eric ide

mercurial