Merge pull request #1189 from RumovZ/fix-change-model

Fix browser.onChangeModel()
This commit is contained in:
Damien Elmes 2021-05-24 10:49:03 +10:00 committed by GitHub
commit 54a790c93e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -498,21 +498,6 @@ class Browser(QMainWindow):
def selectedNotesAsCards(self) -> Sequence[CardId]:
return self.table.get_card_ids_from_selected_note_ids()
def oneModelNotes(self) -> Sequence[NoteId]:
sf = self.selected_notes()
if not sf:
return []
mods = self.col.db.scalar(
"""
select count(distinct mid) from notes
where id in %s"""
% ids2str(sf)
)
if mods > 1:
showInfo(tr.browsing_please_select_cards_from_only_one())
return []
return sf
def onHelp(self) -> None:
openHelp(HelpPage.BROWSING)
@ -528,7 +513,17 @@ where id in %s"""
@skip_if_selection_is_empty
@ensure_editor_saved
def onChangeModel(self) -> None:
ChangeModel(self, self.oneModelNotes())
ids = self.selected_notes()
if self._is_one_notetype(ids):
ChangeModel(self, ids)
else:
showInfo(tr.browsing_please_select_cards_from_only_one())
def _is_one_notetype(self, ids: Sequence[NoteId]) -> bool:
query = f"select count(distinct mid) from notes where id in {ids2str(ids)}"
if self.col.db.scalar(query) == 1:
return True
return False
def createFilteredDeck(self) -> None:
search = self.current_search()