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.dialog = ankiqt.forms.importing.Ui_ImportDialog()
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.setupOptions()
self.exec_()
@ -111,7 +114,7 @@ class ImportDialog(QDialog):
# windows sometimes has pending events permanently?
break
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()
try:
n = _("Import")

View file

@ -24,7 +24,6 @@ class Lookup(object):
return
text = text.strip()
if not text:
u
ui.utils.showInfo(_("Empty selection."))
return
function(text)
@ -44,7 +43,6 @@ class Lookup(object):
else:
baseUrl += "E"
url = baseUrl + urllib.quote(text.encode("utf-8"))
ui.utils.showInfo(_("Looking %s up on edict...") % text)
qurl = QUrl()
qurl.setEncodedUrl(url)
QDesktopServices.openUrl(qurl)
@ -56,7 +54,6 @@ class Lookup(object):
"http://eow.alc.co.jp/" +
newText +
"/UTF-8/?ref=sa")
ui.utils.showInfo(_("Looking %s up on ALC...") % text)
qurl = QUrl()
qurl.setEncodedUrl(url)
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.editor.deck = self.deck
if self.deck:
self.mainWin.menu_Lookup.setEnabled(True)
self.enableDeckMenuItems()
self.updateRecentFilesMenu()
self.updateViews(state)
@ -210,11 +209,9 @@ An error occurred. Please copy the following message into a bug report.\n\n""" +
elif state == "deckEmpty":
self.showWelcomeScreen()
self.disableCardMenuItems()
self.mainWin.menu_Lookup.setEnabled(False)
elif state == "deckFinished":
self.deck.s.flush()
self.hideButtons()
self.mainWin.menu_Lookup.setEnabled(False)
self.disableCardMenuItems()
self.startRefreshTimer()
self.bodyView.setState(state)
@ -865,14 +862,14 @@ Error was:\n%s\n...\n%s""") % (fmt1, fmt2))
try:
self.lookup.alc(self.currentCard.fact['Expression'])
except KeyError:
self.setStatus(_("No expression in current card."))
ui.utils.showInfo(_("No expression in current card."))
def onLookupMeaning(self):
self.initLookup()
try:
self.lookup.alc(self.currentCard.fact['Meaning'])
except KeyError:
self.setStatus(_("No meaning in current card."))
ui.utils.showInfo(_("No meaning in current card."))
def onLookupEdictSelection(self):
self.initLookup()
@ -982,6 +979,13 @@ Error was:\n%s\n...\n%s""") % (fmt1, fmt2))
self.reset()
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):
self.deck.undo()
self.reset(count=False)
@ -1258,7 +1262,6 @@ Error was:\n%s\n...\n%s""") % (fmt1, fmt2))
"Undo",
"Redo",
"Export",
"MarkCard",
"Graphs",
"Dstats",
"Kstats",
@ -1270,6 +1273,7 @@ Error was:\n%s\n...\n%s""") % (fmt1, fmt2))
"Tools",
"Advanced",
"Plugins",
"Current",
)
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.actionMarkCard, SIGNAL("toggled(bool)"), self.onMark)
self.connect(m.actionSuspendCard, s, self.onSuspend)
self.connect(m.actionDelete, s, self.onDelete)
self.connect(m.actionModelProperties, s, self.onModelProperties)
self.connect(m.actionRepeatAudio, s, self.onRepeatAudio)
self.connect(m.actionUndo, s, self.onUndo)
@ -1374,20 +1379,41 @@ Error was:\n%s\n...\n%s""") % (fmt1, fmt2))
def disableCardMenuItems(self):
self.maybeEnableUndo()
self.mainWin.actionMarkCard.setEnabled(False)
self.mainWin.actionSuspendCard.setEnabled(False)
self.mainWin.actionRepeatAudio.setEnabled(False)
self.mainWin.actionEditCurrent.setEnabled(False)
self.maybeShowLookup(False)
self.maybeShowKanjiStats()
self.mainWin.menuCurrent.setEnabled(False)
def enableCardMenuItems(self):
self.maybeEnableUndo()
self.mainWin.actionMarkCard.setEnabled(True)
self.mainWin.actionSuspendCard.setEnabled(True)
self.maybeShowLookup(True)
self.maybeShowKanjiStats()
snd = (hasSound(self.currentCard.question) or
(hasSound(self.currentCard.answer) and
self.state != "getQuestion"))
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):
if self.deck and self.deck.undoAvailable():

View file

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

View file

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