mirror of
https://github.com/ankitects/anki.git
synced 2025-09-25 09:16:38 -04:00
Merge branch 'main' into fix-duplicate-deck-drag-drop
This commit is contained in:
commit
3fa01c50df
2 changed files with 32 additions and 11 deletions
|
@ -172,10 +172,11 @@ class Card(DeprecatedNamesMixin):
|
|||
|
||||
def template(self) -> TemplateDict:
|
||||
notetype = self.note_type()
|
||||
templates = notetype["tmpls"]
|
||||
if notetype["type"] == MODEL_STD:
|
||||
return self.note_type()["tmpls"][self.ord]
|
||||
return templates[self.ord]
|
||||
else:
|
||||
return self.note_type()["tmpls"][0]
|
||||
return templates[0]
|
||||
|
||||
def start_timer(self) -> None:
|
||||
self.timer_started = time.time()
|
||||
|
|
|
@ -40,10 +40,10 @@ from aqt import gui_hooks
|
|||
from aqt.log import ADDON_LOGGER_PREFIX, find_addon_logger, get_addon_logs_folder
|
||||
from aqt.qt import *
|
||||
from aqt.utils import (
|
||||
addCloseShortcut,
|
||||
askUser,
|
||||
disable_help_button,
|
||||
getFile,
|
||||
is_win,
|
||||
openFolder,
|
||||
openLink,
|
||||
restoreGeom,
|
||||
|
@ -821,12 +821,17 @@ class AddonsDialog(QDialog):
|
|||
qconnect(f.config.clicked, self.onConfig)
|
||||
qconnect(self.form.addonList.itemDoubleClicked, self.onConfig)
|
||||
qconnect(self.form.addonList.currentRowChanged, self._onAddonItemSelected)
|
||||
qconnect(
|
||||
self.form.addonList.itemSelectionChanged, self._onAddonSelectionChanged
|
||||
)
|
||||
self.setWindowTitle(tr.addons_window_title())
|
||||
disable_help_button(self)
|
||||
self.setAcceptDrops(True)
|
||||
self.redrawAddons()
|
||||
restoreGeom(self, "addons")
|
||||
addCloseShortcut(self)
|
||||
gui_hooks.addons_dialog_will_show(self)
|
||||
self._onAddonSelectionChanged()
|
||||
self.show()
|
||||
|
||||
def dragEnterEvent(self, event: QDragEnterEvent) -> None:
|
||||
|
@ -902,11 +907,19 @@ class AddonsDialog(QDialog):
|
|||
|
||||
addonList.reset()
|
||||
|
||||
def _onAddonItemSelected(self, row_int: int) -> None:
|
||||
try:
|
||||
addon = self.addons[row_int]
|
||||
except IndexError:
|
||||
return
|
||||
def _onAddonSelectionChanged(self) -> None:
|
||||
self.form.viewFiles.setEnabled(False)
|
||||
self.form.viewPage.setEnabled(False)
|
||||
self.form.config.setEnabled(False)
|
||||
|
||||
selected_count = len(self.selectedAddons())
|
||||
if selected_count == 0:
|
||||
# View Files button shows top-level add-ons directory when nothing is selected
|
||||
self.form.viewFiles.setEnabled(True)
|
||||
elif selected_count == 1:
|
||||
addon = self.addons[self.form.addonList.currentRow()]
|
||||
|
||||
self.form.viewFiles.setEnabled(True)
|
||||
self.form.viewPage.setEnabled(addon.page() is not None)
|
||||
self.form.config.setEnabled(
|
||||
bool(
|
||||
|
@ -914,6 +927,13 @@ class AddonsDialog(QDialog):
|
|||
or self.mgr.configAction(addon.dir_name)
|
||||
)
|
||||
)
|
||||
return
|
||||
|
||||
def _onAddonItemSelected(self, row_int: int) -> None:
|
||||
try:
|
||||
addon = self.addons[row_int]
|
||||
except IndexError:
|
||||
return
|
||||
gui_hooks.addons_dialog_did_change_selected_addon(self, addon)
|
||||
return
|
||||
|
||||
|
@ -949,7 +969,7 @@ class AddonsDialog(QDialog):
|
|||
openLink(page)
|
||||
|
||||
def onViewFiles(self) -> None:
|
||||
# if nothing selected, open top level folder
|
||||
# if nothing selected, open top-level folder
|
||||
selected = self.selectedAddons()
|
||||
if not selected:
|
||||
openFolder(self.mgr.addonsFolder())
|
||||
|
|
Loading…
Reference in a new issue