diff --git a/ui/reader.ui b/ui/reader.ui
index f6995b3..39146c3 100644
--- a/ui/reader.ui
+++ b/ui/reader.ui
@@ -64,7 +64,7 @@
-
+
@@ -460,7 +460,7 @@
&Kanji
-
+
Import &Kindle deck...
diff --git a/yomi_base/gen/about_ui.py b/yomi_base/gen/about_ui.py
index c8ddcdf..de323ad 100644
--- a/yomi_base/gen/about_ui.py
+++ b/yomi_base/gen/about_ui.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'ui/about.ui'
#
-# Created: Sat Dec 20 19:45:21 2014
+# Created: Sat Dec 20 20:08:12 2014
# by: PyQt4 UI code generator 4.10.4
#
# WARNING! All changes made in this file will be lost!
diff --git a/yomi_base/gen/preferences_ui.py b/yomi_base/gen/preferences_ui.py
index 8716637..5a15775 100644
--- a/yomi_base/gen/preferences_ui.py
+++ b/yomi_base/gen/preferences_ui.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'ui/preferences.ui'
#
-# Created: Sat Dec 20 19:45:21 2014
+# Created: Sat Dec 20 20:08:12 2014
# by: PyQt4 UI code generator 4.10.4
#
# WARNING! All changes made in this file will be lost!
diff --git a/yomi_base/gen/reader_ui.py b/yomi_base/gen/reader_ui.py
index 0c31afc..22f88c8 100644
--- a/yomi_base/gen/reader_ui.py
+++ b/yomi_base/gen/reader_ui.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'ui/reader.ui'
#
-# Created: Sat Dec 20 19:45:21 2014
+# Created: Sat Dec 20 20:08:13 2014
# by: PyQt4 UI code generator 4.10.4
#
# WARNING! All changes made in this file will be lost!
@@ -211,13 +211,13 @@ class Ui_MainWindowReader(object):
self.actionToggleKanji = QtGui.QAction(MainWindowReader)
self.actionToggleKanji.setCheckable(True)
self.actionToggleKanji.setObjectName(_fromUtf8("actionToggleKanji"))
- self.menuImportKindleDeck = QtGui.QAction(MainWindowReader)
- self.menuImportKindleDeck.setObjectName(_fromUtf8("menuImportKindleDeck"))
+ self.actionImportKindleDeck = QtGui.QAction(MainWindowReader)
+ self.actionImportKindleDeck.setObjectName(_fromUtf8("actionImportKindleDeck"))
self.menuFile.addAction(self.actionOpen)
self.menuFile.addAction(self.menuOpenArchive.menuAction())
self.menuFile.addAction(self.menuOpenRecent.menuAction())
self.menuFile.addSeparator()
- self.menuFile.addAction(self.menuImportKindleDeck)
+ self.menuFile.addAction(self.actionImportKindleDeck)
self.menuFile.addSeparator()
self.menuFile.addAction(self.actionQuit)
self.menuEdit.addSeparator()
@@ -308,6 +308,6 @@ class Ui_MainWindowReader(object):
self.actionToggleAnki.setText(_translate("MainWindowReader", "&Anki", None))
self.actionFeedback.setText(_translate("MainWindowReader", "&Feedback...", None))
self.actionToggleKanji.setText(_translate("MainWindowReader", "&Kanji", None))
- self.menuImportKindleDeck.setText(_translate("MainWindowReader", "Import &Kindle deck...", None))
+ self.actionImportKindleDeck.setText(_translate("MainWindowReader", "Import &Kindle deck...", None))
import resources_rc
diff --git a/yomi_base/gen/resources_rc.py b/yomi_base/gen/resources_rc.py
index 29386e0..07a7b53 100644
--- a/yomi_base/gen/resources_rc.py
+++ b/yomi_base/gen/resources_rc.py
@@ -2,7 +2,7 @@
# Resource object code
#
-# Created: Sat Dec 20 19:45:21 2014
+# Created: Sat Dec 20 20:08:13 2014
# by: The Resource Compiler for PyQt (Qt v4.8.6)
#
# WARNING! All changes made in this file will be lost!
diff --git a/yomi_base/reader.py b/yomi_base/reader.py
index a52ad63..a9adca0 100644
--- a/yomi_base/reader.py
+++ b/yomi_base/reader.py
@@ -72,6 +72,7 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader):
self.actionFind.triggered.connect(self.onActionFind)
self.actionFindNext.triggered.connect(self.onActionFindNext)
self.actionHomepage.triggered.connect(self.onActionHomepage)
+ self.actionImportKindleDeck.triggered.connect(self.onActionImportKindleDeck)
self.actionOpen.triggered.connect(self.onActionOpen)
self.actionPreferences.triggered.connect(self.onActionPreferences)
self.actionToggleWrap.toggled.connect(self.onActionToggleWrap)
@@ -182,6 +183,17 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader):
self.openFile(filename)
+ def onActionImportKindleDeck(self):
+ filename = QtGui.QFileDialog.getOpenFileName(
+ parent=self,
+ caption='Select a Kindle deck to import',
+ filter='Deck files (*.db)'
+ )
+ if filename:
+ words = reader_util.extractKindleDeck(filename)
+ self.importWordList(words)
+
+
def onActionPreferences(self):
dialog = preferences.DialogPreferences(self, self.preferences, self.anki)
if dialog.exec_() == QtGui.QDialog.Accepted:
@@ -539,5 +551,9 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader):
self.textKanjiDefs.setHtml(html)
+ def importWordList(self, words):
+ pass
+
+
def setStatus(self, status):
self.statusBar.showMessage(status)
diff --git a/yomi_base/reader_util.py b/yomi_base/reader_util.py
index 83df133..131bfc6 100644
--- a/yomi_base/reader_util.py
+++ b/yomi_base/reader_util.py
@@ -18,6 +18,7 @@
from PyQt4 import QtGui
import re
+import sqlite3
def decodeContent(content):
@@ -232,3 +233,21 @@ def buildKanjiDefs(definitions, query):
html += buildEmpty()
return html + buildDefFooter()
+
+
+def extractKindleDeck(filename):
+ words = list()
+
+ try:
+ connection = sqlite3.connect(unicode(filename))
+ for row in connection.execute('select word from WORDS'):
+ words.append(row[0])
+ connection.close()
+ except sqlite3.OperationalError:
+ pass
+
+ return words
+
+
+def importWordList(self, words):
+ pass