parent
5f05eeb922
commit
63316f763d
@ -19,9 +19,7 @@ from aqt.qt import *
|
||||
from aqt.sound import av_player
|
||||
from aqt.utils import (
|
||||
HelpPage,
|
||||
addCloseShortcut,
|
||||
askUser,
|
||||
disable_help_button,
|
||||
downArrow,
|
||||
openHelp,
|
||||
restoreGeom,
|
||||
@ -33,17 +31,16 @@ from aqt.utils import (
|
||||
)
|
||||
|
||||
|
||||
class AddCards(QDialog):
|
||||
class AddCards(QMainWindow):
|
||||
def __init__(self, mw: AnkiQt) -> None:
|
||||
QDialog.__init__(self, None, Qt.WindowType.Window)
|
||||
mw.garbage_collect_on_dialog_finish(self)
|
||||
super().__init__(None, Qt.WindowType.Window)
|
||||
self._close_event_has_cleaned_up = False
|
||||
self.mw = mw
|
||||
self.col = mw.col
|
||||
form = aqt.forms.addcards.Ui_Dialog()
|
||||
form.setupUi(self)
|
||||
self.form = form
|
||||
self.setWindowTitle(tr.actions_add())
|
||||
disable_help_button(self)
|
||||
self.setMinimumHeight(300)
|
||||
self.setMinimumWidth(400)
|
||||
self.setup_choosers()
|
||||
@ -54,7 +51,6 @@ class AddCards(QDialog):
|
||||
self._last_added_note: Optional[Note] = None
|
||||
gui_hooks.operation_did_execute.append(self.on_operation_did_execute)
|
||||
restoreGeom(self, "add")
|
||||
addCloseShortcut(self)
|
||||
gui_hooks.add_cards_did_init(self)
|
||||
self.show()
|
||||
|
||||
@ -264,10 +260,20 @@ class AddCards(QDialog):
|
||||
|
||||
return True
|
||||
|
||||
def reject(self) -> None:
|
||||
self.ifCanClose(self._reject)
|
||||
def keyPressEvent(self, evt: QKeyEvent) -> None:
|
||||
if evt.key() == Qt.Key.Key_Escape:
|
||||
self.close()
|
||||
else:
|
||||
super().keyPressEvent(evt)
|
||||
|
||||
def _reject(self) -> None:
|
||||
def closeEvent(self, evt: QCloseEvent) -> None:
|
||||
if self._close_event_has_cleaned_up:
|
||||
evt.accept()
|
||||
return
|
||||
self.ifCanClose(self._close)
|
||||
evt.ignore()
|
||||
|
||||
def _close(self) -> None:
|
||||
av_player.stop_and_clear_queue()
|
||||
self.editor.cleanup()
|
||||
self.notetype_chooser.cleanup()
|
||||
@ -276,7 +282,9 @@ class AddCards(QDialog):
|
||||
self.mw.maybeReset()
|
||||
saveGeom(self, "add")
|
||||
aqt.dialogs.markClosed("AddCards")
|
||||
QDialog.reject(self)
|
||||
self._close_event_has_cleaned_up = True
|
||||
self.mw.deferred_delete_and_garbage_collect(self)
|
||||
self.close()
|
||||
|
||||
def ifCanClose(self, onOk: Callable) -> None:
|
||||
def afterSave() -> None:
|
||||
@ -290,7 +298,7 @@ class AddCards(QDialog):
|
||||
|
||||
def closeWithCallback(self, cb: Callable[[], None]) -> None:
|
||||
def doClose() -> None:
|
||||
self._reject()
|
||||
self._close()
|
||||
cb()
|
||||
|
||||
self.ifCanClose(doClose)
|
||||
|
@ -1,106 +1,471 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Dialog</class>
|
||||
<widget class="QDialog" name="Dialog">
|
||||
<widget class="QMainWindow" name="Dialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>453</width>
|
||||
<height>366</height>
|
||||
<width>750</width>
|
||||
<height>493</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>actions_add</string>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>400</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset resource="icons.qrc">
|
||||
<iconset>
|
||||
<normaloff>:/icons/anki.png</normaloff>:/icons/anki.png</iconset>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QWidget" name="modelArea" native="true">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>10</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="deckArea" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="fieldsArea" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>10</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::NoButton</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QMenuBar" name="menubar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>750</width>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>12</number>
|
||||
</widget>
|
||||
<action name="actionReschedule">
|
||||
<property name="text">
|
||||
<string notr="true">QT_ACCEL_RESCHEDULE</string>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</action>
|
||||
<action name="actionSelectAll">
|
||||
<property name="text">
|
||||
<string>qt_accel_select_all</string>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>12</number>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Alt+A</string>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>12</number>
|
||||
</action>
|
||||
<action name="actionUndo">
|
||||
<property name="text">
|
||||
<string>qt_accel_undo</string>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QWidget" name="modelArea" native="true">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>10</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="deckArea" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="fieldsArea" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>10</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::NoButton</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Z</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionInvertSelection">
|
||||
<property name="text">
|
||||
<string>qt_accel_invert_selection</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Alt+S</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionFind">
|
||||
<property name="text">
|
||||
<string>qt_accel_find</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+F</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionNote">
|
||||
<property name="text">
|
||||
<string>qt_accel_note</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+N</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionNextCard">
|
||||
<property name="text">
|
||||
<string>qt_accel_next_card</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+N</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionPreviousCard">
|
||||
<property name="text">
|
||||
<string>qt_accel_previous_card</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+P</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionGuide">
|
||||
<property name="text">
|
||||
<string>qt_accel_guide</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">F1</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionChangeModel">
|
||||
<property name="text">
|
||||
<string>browsing_change_note_type2</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+M</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSelectNotes">
|
||||
<property name="text">
|
||||
<string>qt_accel_select_notes</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionFindReplace">
|
||||
<property name="text">
|
||||
<string>qt_accel_find_and_replace</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Alt+F</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSidebarFilter">
|
||||
<property name="text">
|
||||
<string>qt_accel_filter</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+F</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionCardList">
|
||||
<property name="text">
|
||||
<string>browsing_card_list</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+L</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionFindDuplicates">
|
||||
<property name="text">
|
||||
<string>qt_accel_find_duplicates</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionReposition">
|
||||
<property name="text">
|
||||
<string>browsing_reposition</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+S</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionFirstCard">
|
||||
<property name="text">
|
||||
<string>browsing_first_card</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Home</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionLastCard">
|
||||
<property name="text">
|
||||
<string>browsing_last_card</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">End</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionClose">
|
||||
<property name="text">
|
||||
<string>actions_close</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+W</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_Info">
|
||||
<property name="text">
|
||||
<string>qt_accel_info</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+I</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionAdd_Tags">
|
||||
<property name="text">
|
||||
<string>browsing_add_tags2</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+A</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionRemove_Tags">
|
||||
<property name="text">
|
||||
<string>browsing_remove_tags</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Alt+Shift+A</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionToggle_Suspend">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>browsing_toggle_suspend</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+J</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDelete">
|
||||
<property name="text">
|
||||
<string>actions_delete</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Del</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionAdd">
|
||||
<property name="text">
|
||||
<string>browsing_add_notes</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+E</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionChange_Deck">
|
||||
<property name="text">
|
||||
<string>browsing_change_deck2</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+D</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionRed_Flag">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>actions_flag_red</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+1</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionOrange_Flag">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>actions_flag_orange</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+2</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionGreen_Flag">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>actions_flag_green</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+3</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionBlue_Flag">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>actions_flag_blue</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+4</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSidebar">
|
||||
<property name="text">
|
||||
<string>browsing_sidebar</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+R</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionClear_Unused_Tags">
|
||||
<property name="text">
|
||||
<string>browsing_clear_unused_tags</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionManage_Note_Types">
|
||||
<property name="text">
|
||||
<string>browsing_manage_note_types</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionToggle_Mark">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>browsing_toggle_mark</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+K</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionExport">
|
||||
<property name="text">
|
||||
<string>qt_accel_export_notes</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+E</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionCreateFilteredDeck">
|
||||
<property name="text">
|
||||
<string>qt_misc_create_filtered_deck</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+G</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_set_due_date">
|
||||
<property name="text">
|
||||
<string>qt_accel_set_due_date</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+D</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_forget">
|
||||
<property name="text">
|
||||
<string>qt_accel_forget</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Alt+N</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_toggle_mode">
|
||||
<property name="text">
|
||||
<string>browsing_toggle_showing_cards_notes</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Alt+T</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionRedo">
|
||||
<property name="text">
|
||||
<string>qt_accel_redo</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+Z</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionPink_Flag">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>actions_flag_pink</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+5</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionTurquoise_Flag">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>actions_flag_turquoise</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+6</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionPurple_Flag">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>actions_flag_purple</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+7</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>buttonBox</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="icons.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<sender>actionClose</sender>
|
||||
<signal>triggered()</signal>
|
||||
<receiver>Dialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
<slot>close()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>301</x>
|
||||
<x>-1</x>
|
||||
<y>-1</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
<x>374</x>
|
||||
<y>199</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
|
Loading…
Reference in New Issue
Block a user