tagcomp in import, fix lookup again, condition kanji/lookup, ondelete

This commit is contained in:
Damien Elmes 2008-12-04 04:34:04 +09:00
parent 30ef6ac450
commit 6f59cc7cd2
5 changed files with 53 additions and 82 deletions

View file

@ -48,6 +48,9 @@ class ImportDialog(QDialog):
self.parent = parent self.parent = parent
self.dialog = ankiqt.forms.importing.Ui_ImportDialog() self.dialog = ankiqt.forms.importing.Ui_ImportDialog()
self.dialog.setupUi(self) self.dialog.setupUi(self)
self.tags = ui.tagedit.TagEdit(parent)
self.tags.setDeck(parent.deck)
self.dialog.topGrid.addWidget(self.tags,2,1,1,1)
self.setupMappingFrame() self.setupMappingFrame()
self.setupOptions() self.setupOptions()
self.exec_() self.exec_()
@ -111,7 +114,7 @@ class ImportDialog(QDialog):
# windows sometimes has pending events permanently? # windows sometimes has pending events permanently?
break break
self.importer.mapping = self.mapping self.importer.mapping = self.mapping
self.importer.tagsToAdd = unicode(self.dialog.tags.text()) self.importer.tagsToAdd = unicode(self.tags.text())
self.importer.tagDuplicates = self.dialog.tagDuplicates.isChecked() self.importer.tagDuplicates = self.dialog.tagDuplicates.isChecked()
try: try:
n = _("Import") n = _("Import")

View file

@ -24,7 +24,6 @@ class Lookup(object):
return return
text = text.strip() text = text.strip()
if not text: if not text:
u
ui.utils.showInfo(_("Empty selection.")) ui.utils.showInfo(_("Empty selection."))
return return
function(text) function(text)
@ -44,7 +43,6 @@ class Lookup(object):
else: else:
baseUrl += "E" baseUrl += "E"
url = baseUrl + urllib.quote(text.encode("utf-8")) url = baseUrl + urllib.quote(text.encode("utf-8"))
ui.utils.showInfo(_("Looking %s up on edict...") % text)
qurl = QUrl() qurl = QUrl()
qurl.setEncodedUrl(url) qurl.setEncodedUrl(url)
QDesktopServices.openUrl(qurl) QDesktopServices.openUrl(qurl)
@ -56,7 +54,6 @@ class Lookup(object):
"http://eow.alc.co.jp/" + "http://eow.alc.co.jp/" +
newText + newText +
"/UTF-8/?ref=sa") "/UTF-8/?ref=sa")
ui.utils.showInfo(_("Looking %s up on ALC...") % text)
qurl = QUrl() qurl = QUrl()
qurl.setEncodedUrl(url) qurl.setEncodedUrl(url)
QDesktopServices.openUrl(qurl) QDesktopServices.openUrl(qurl)

View file

@ -162,7 +162,6 @@ An error occurred. Please copy the following message into a bug report.\n\n""" +
self.lastCard = None self.lastCard = None
self.editor.deck = self.deck self.editor.deck = self.deck
if self.deck: if self.deck:
self.mainWin.menu_Lookup.setEnabled(True)
self.enableDeckMenuItems() self.enableDeckMenuItems()
self.updateRecentFilesMenu() self.updateRecentFilesMenu()
self.updateViews(state) self.updateViews(state)
@ -210,11 +209,9 @@ An error occurred. Please copy the following message into a bug report.\n\n""" +
elif state == "deckEmpty": elif state == "deckEmpty":
self.showWelcomeScreen() self.showWelcomeScreen()
self.disableCardMenuItems() self.disableCardMenuItems()
self.mainWin.menu_Lookup.setEnabled(False)
elif state == "deckFinished": elif state == "deckFinished":
self.deck.s.flush() self.deck.s.flush()
self.hideButtons() self.hideButtons()
self.mainWin.menu_Lookup.setEnabled(False)
self.disableCardMenuItems() self.disableCardMenuItems()
self.startRefreshTimer() self.startRefreshTimer()
self.bodyView.setState(state) self.bodyView.setState(state)
@ -865,14 +862,14 @@ Error was:\n%s\n...\n%s""") % (fmt1, fmt2))
try: try:
self.lookup.alc(self.currentCard.fact['Expression']) self.lookup.alc(self.currentCard.fact['Expression'])
except KeyError: except KeyError:
self.setStatus(_("No expression in current card.")) ui.utils.showInfo(_("No expression in current card."))
def onLookupMeaning(self): def onLookupMeaning(self):
self.initLookup() self.initLookup()
try: try:
self.lookup.alc(self.currentCard.fact['Meaning']) self.lookup.alc(self.currentCard.fact['Meaning'])
except KeyError: except KeyError:
self.setStatus(_("No meaning in current card.")) ui.utils.showInfo(_("No meaning in current card."))
def onLookupEdictSelection(self): def onLookupEdictSelection(self):
self.initLookup() self.initLookup()
@ -982,6 +979,13 @@ Error was:\n%s\n...\n%s""") % (fmt1, fmt2))
self.reset() self.reset()
self.deck.setUndoEnd(undo) self.deck.setUndoEnd(undo)
def onDelete(self):
undo = _("Delete")
self.deck.setUndoStart(undo)
self.deck.deleteCard(self.currentCard.id)
self.reset()
self.deck.setUndoEnd(undo)
def onUndo(self): def onUndo(self):
self.deck.undo() self.deck.undo()
self.reset(count=False) self.reset(count=False)
@ -1258,7 +1262,6 @@ Error was:\n%s\n...\n%s""") % (fmt1, fmt2))
"Undo", "Undo",
"Redo", "Redo",
"Export", "Export",
"MarkCard",
"Graphs", "Graphs",
"Dstats", "Dstats",
"Kstats", "Kstats",
@ -1270,6 +1273,7 @@ Error was:\n%s\n...\n%s""") % (fmt1, fmt2))
"Tools", "Tools",
"Advanced", "Advanced",
"Plugins", "Plugins",
"Current",
) )
def connectMenuActions(self): def connectMenuActions(self):
@ -1307,6 +1311,7 @@ Error was:\n%s\n...\n%s""") % (fmt1, fmt2))
self.connect(m.actionExport, s, self.onExport) self.connect(m.actionExport, s, self.onExport)
self.connect(m.actionMarkCard, SIGNAL("toggled(bool)"), self.onMark) self.connect(m.actionMarkCard, SIGNAL("toggled(bool)"), self.onMark)
self.connect(m.actionSuspendCard, s, self.onSuspend) self.connect(m.actionSuspendCard, s, self.onSuspend)
self.connect(m.actionDelete, s, self.onDelete)
self.connect(m.actionModelProperties, s, self.onModelProperties) self.connect(m.actionModelProperties, s, self.onModelProperties)
self.connect(m.actionRepeatAudio, s, self.onRepeatAudio) self.connect(m.actionRepeatAudio, s, self.onRepeatAudio)
self.connect(m.actionUndo, s, self.onUndo) self.connect(m.actionUndo, s, self.onUndo)
@ -1374,20 +1379,41 @@ Error was:\n%s\n...\n%s""") % (fmt1, fmt2))
def disableCardMenuItems(self): def disableCardMenuItems(self):
self.maybeEnableUndo() self.maybeEnableUndo()
self.mainWin.actionMarkCard.setEnabled(False) self.maybeShowLookup(False)
self.mainWin.actionSuspendCard.setEnabled(False) self.maybeShowKanjiStats()
self.mainWin.actionRepeatAudio.setEnabled(False) self.mainWin.menuCurrent.setEnabled(False)
self.mainWin.actionEditCurrent.setEnabled(False)
def enableCardMenuItems(self): def enableCardMenuItems(self):
self.maybeEnableUndo() self.maybeEnableUndo()
self.mainWin.actionMarkCard.setEnabled(True) self.maybeShowLookup(True)
self.mainWin.actionSuspendCard.setEnabled(True) self.maybeShowKanjiStats()
snd = (hasSound(self.currentCard.question) or snd = (hasSound(self.currentCard.question) or
(hasSound(self.currentCard.answer) and (hasSound(self.currentCard.answer) and
self.state != "getQuestion")) self.state != "getQuestion"))
self.mainWin.actionRepeatAudio.setEnabled(snd) self.mainWin.actionRepeatAudio.setEnabled(snd)
self.mainWin.actionEditCurrent.setEnabled(True) self.mainWin.menuCurrent.setEnabled(True)
def maybeShowKanjiStats(self):
if not self.deck:
have = False
else:
if getattr(self.deck, "haveJapanese", None) is None:
self.deck.haveJapanese = False
if self.deck:
for m in self.deck.models:
if "Japanese" in m.tags:
self.deck.haveJapanese = True
break
have = self.deck.haveJapanese
self.mainWin.actionKstats.setVisible(have)
def maybeShowLookup(self, enable):
if (self.currentCard and
"Japanese" in self.currentCard.fact.model.tags):
self.mainWin.menu_Lookup.menuAction().setVisible(True)
else:
self.mainWin.menu_Lookup.menuAction().setVisible(False)
self.mainWin.menu_Lookup.setEnabled(enable)
def maybeEnableUndo(self): def maybeEnableUndo(self):
if self.deck and self.deck.undoAvailable(): if self.deck and self.deck.undoAvailable():

View file

@ -22,36 +22,15 @@
<property name="spacing" > <property name="spacing" >
<number>6</number> <number>6</number>
</property> </property>
<property name="leftMargin" > <property name="margin" >
<number>9</number>
</property>
<property name="topMargin" >
<number>9</number>
</property>
<property name="rightMargin" >
<number>9</number>
</property>
<property name="bottomMargin" >
<number>9</number> <number>9</number>
</property> </property>
<item> <item>
<layout class="QGridLayout" > <layout class="QGridLayout" name="topGrid" >
<property name="leftMargin" > <property name="margin" >
<number>0</number> <number>0</number>
</property> </property>
<property name="topMargin" > <property name="spacing" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<number>0</number>
</property>
<property name="horizontalSpacing" >
<number>6</number>
</property>
<property name="verticalSpacing" >
<number>6</number> <number>6</number>
</property> </property>
<item row="1" column="0" > <item row="1" column="0" >
@ -95,9 +74,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1" >
<widget class="QLineEdit" name="tags" />
</item>
</layout> </layout>
</item> </item>
<item> <item>
@ -128,36 +104,15 @@
<property name="spacing" > <property name="spacing" >
<number>6</number> <number>6</number>
</property> </property>
<property name="leftMargin" > <property name="margin" >
<number>9</number>
</property>
<property name="topMargin" >
<number>9</number>
</property>
<property name="rightMargin" >
<number>9</number>
</property>
<property name="bottomMargin" >
<number>9</number> <number>9</number>
</property> </property>
<item> <item>
<layout class="QGridLayout" > <layout class="QGridLayout" >
<property name="leftMargin" > <property name="margin" >
<number>0</number> <number>0</number>
</property> </property>
<property name="topMargin" > <property name="spacing" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<number>0</number>
</property>
<property name="horizontalSpacing" >
<number>6</number>
</property>
<property name="verticalSpacing" >
<number>6</number> <number>6</number>
</property> </property>
<item row="0" column="2" > <item row="0" column="2" >
@ -197,16 +152,7 @@
<property name="spacing" > <property name="spacing" >
<number>6</number> <number>6</number>
</property> </property>
<property name="leftMargin" > <property name="margin" >
<number>9</number>
</property>
<property name="topMargin" >
<number>9</number>
</property>
<property name="rightMargin" >
<number>9</number>
</property>
<property name="bottomMargin" >
<number>9</number> <number>9</number>
</property> </property>
<item> <item>
@ -234,7 +180,6 @@
<tabstops> <tabstops>
<tabstop>type</tabstop> <tabstop>type</tabstop>
<tabstop>file</tabstop> <tabstop>file</tabstop>
<tabstop>tags</tabstop>
<tabstop>tagDuplicates</tabstop> <tabstop>tagDuplicates</tabstop>
<tabstop>importButton</tabstop> <tabstop>importButton</tabstop>
<tabstop>status</tabstop> <tabstop>status</tabstop>

View file

@ -737,7 +737,7 @@
<addaction name="separator" /> <addaction name="separator" />
<addaction name="menuStartup" /> <addaction name="menuStartup" />
</widget> </widget>
<widget class="QMenu" name="menu_Current_2" > <widget class="QMenu" name="menuCurrent" >
<property name="title" > <property name="title" >
<string>&amp;Current</string> <string>&amp;Current</string>
</property> </property>
@ -750,7 +750,7 @@
</widget> </widget>
<addaction name="menuDeck" /> <addaction name="menuDeck" />
<addaction name="menuEdit" /> <addaction name="menuEdit" />
<addaction name="menu_Current_2" /> <addaction name="menuCurrent" />
<addaction name="menuTools" /> <addaction name="menuTools" />
<addaction name="menuPlugins" /> <addaction name="menuPlugins" />
<addaction name="menuAdvanced" /> <addaction name="menuAdvanced" />