Merge pull request #8 from glutanimate/gui-controls

Add API for controlling Anki's GUI
This commit is contained in:
Alex Yatskov 2017-05-28 15:51:19 -07:00 committed by GitHub
commit d33a5af837
2 changed files with 63 additions and 0 deletions

View File

@ -417,6 +417,21 @@ class AnkiBridge:
return collection.decks.allNames()
def guiBrowse(self, query):
browser = aqt.dialogs.open("Browser", self.window())
browser.activateWindow()
if query:
query = unicode('"{}"').format(query)
browser.form.searchEdit.lineEdit().setText(query)
browser.onSearch()
return browser.model.cards
def guiAddCards(self):
addcards = aqt.dialogs.open("AddCards", self.window())
addcards.activateWindow()
#
# AnkiConnect
#
@ -516,6 +531,13 @@ class AnkiConnect:
return API_VERSION
def api_guiBrowse(self, query):
return self.anki.guiBrowse(query)
def api_guiAddCards(self):
return self.anki.guiAddCards()
#
# Entry
#

View File

@ -292,6 +292,47 @@ rather than raw JSON. If you are writing raw requests be sure to send valid JSON
]
```
* **guiBrowse**
Invokes the card browser and searches for a given query. Returns an array of identifiers of the cards that were found.
*Sample request*:
```
{
action: 'guiBrowse',
params: {
query: 'deck:current'
}
}
```
*Sample response*:
```
[
1494723142483,
1494703460437,
1494703479525,
/* ... */
]
```
* **guiAddCards**
Invokes the AddCards dialog.
*Sample request*:
```
{
action: 'guiAddCards',
params: {}
}
```
*Sample response*:
```
null
```
* **upgrade**
Displays a confirmation dialog box in Anki asking the user if they wish to upgrade AnkiConnect to the latest version