fix #64
This commit is contained in:
parent
c316ec9a50
commit
dc6c3bd964
@ -20,7 +20,7 @@
|
|||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
from aqt import mw
|
from aqt import mw
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
from anki.hooks import addHook, wrap
|
from anki.hooks import addHook, wrap, remHook
|
||||||
from aqt.addcards import AddCards
|
from aqt.addcards import AddCards
|
||||||
from aqt.utils import showInfo, shortcut, downArrow
|
from aqt.utils import showInfo, shortcut, downArrow
|
||||||
from .gui import show_options, show_about_dialog, check_updates
|
from .gui import show_options, show_about_dialog, check_updates
|
||||||
@ -40,7 +40,6 @@ __all__ = [
|
|||||||
have_setup = False
|
have_setup = False
|
||||||
my_shortcut = ''
|
my_shortcut = ''
|
||||||
|
|
||||||
_wraps = []
|
|
||||||
_OK_ICON = get_icon('ok.png')
|
_OK_ICON = get_icon('ok.png')
|
||||||
_NULL_ICON = get_icon('null.png')
|
_NULL_ICON = get_icon('null.png')
|
||||||
|
|
||||||
@ -63,13 +62,15 @@ def browser_menu():
|
|||||||
"""
|
"""
|
||||||
on browser setupMenus was called
|
on browser setupMenus was called
|
||||||
"""
|
"""
|
||||||
#
|
|
||||||
# main menu
|
# main menu
|
||||||
menu = QMenu("FastWQ", browser.form.menubar)
|
menu = browser.form.menubar.addMenu("FastWQ")
|
||||||
browser.form.menubar.addMenu(menu)
|
# menu gen
|
||||||
|
def init_fastwq_menu():
|
||||||
def init_fastwq_menu(*args, **kwargs):
|
try:
|
||||||
menu.clear()
|
menu.clear()
|
||||||
|
except RuntimeError:
|
||||||
|
remHook('config.update', init_fastwq_menu)
|
||||||
|
return
|
||||||
# Query Selected
|
# Query Selected
|
||||||
action = QAction(_('QUERY_SELECTED'), browser)
|
action = QAction(_('QUERY_SELECTED'), browser)
|
||||||
action.triggered.connect(lambda: query_from_browser(browser))
|
action.triggered.connect(lambda: query_from_browser(browser))
|
||||||
@ -118,14 +119,7 @@ def browser_menu():
|
|||||||
|
|
||||||
# end init_fastwq_menu
|
# end init_fastwq_menu
|
||||||
init_fastwq_menu()
|
init_fastwq_menu()
|
||||||
# wrap config.update
|
addHook('config.update', init_fastwq_menu)
|
||||||
if Config.update not in _wraps:
|
|
||||||
Config.update = wrap(
|
|
||||||
Config.update,
|
|
||||||
init_fastwq_menu,
|
|
||||||
"after"
|
|
||||||
)
|
|
||||||
_wraps.append(Config.update)
|
|
||||||
addHook('browser.setupMenus', on_setup_menus)
|
addHook('browser.setupMenus', on_setup_menus)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -20,6 +20,7 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
from aqt import mw
|
from aqt import mw
|
||||||
|
from anki.hooks import runHook
|
||||||
from .constants import VERSION
|
from .constants import VERSION
|
||||||
from .utils import get_icon
|
from .utils import get_icon
|
||||||
|
|
||||||
@ -59,6 +60,7 @@ class Config(object):
|
|||||||
with open(self.path, 'wb') as f:
|
with open(self.path, 'wb') as f:
|
||||||
json.dump(self.data, f, indent=4, sort_keys=True)
|
json.dump(self.data, f, indent=4, sort_keys=True)
|
||||||
f.close()
|
f.close()
|
||||||
|
runHook('config.update')
|
||||||
|
|
||||||
def read(self):
|
def read(self):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
from aqt import mw
|
from aqt import mw
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
from anki.hooks import addHook, wrap
|
from anki.hooks import addHook, wrap, remHook
|
||||||
from aqt.addcards import AddCards
|
from aqt.addcards import AddCards
|
||||||
from aqt.utils import showInfo, shortcut, downArrow
|
from aqt.utils import showInfo, shortcut, downArrow
|
||||||
from .gui import show_options, show_about_dialog, check_updates
|
from .gui import show_options, show_about_dialog, check_updates
|
||||||
@ -40,7 +40,6 @@ __all__ = [
|
|||||||
have_setup = False
|
have_setup = False
|
||||||
my_shortcut = ''
|
my_shortcut = ''
|
||||||
|
|
||||||
_wraps = []
|
|
||||||
_OK_ICON = get_icon('ok.png')
|
_OK_ICON = get_icon('ok.png')
|
||||||
_NULL_ICON = get_icon('null.png')
|
_NULL_ICON = get_icon('null.png')
|
||||||
|
|
||||||
@ -63,13 +62,15 @@ def browser_menu():
|
|||||||
"""
|
"""
|
||||||
on browser setupMenus was called
|
on browser setupMenus was called
|
||||||
"""
|
"""
|
||||||
#
|
|
||||||
# main menu
|
# main menu
|
||||||
menu = QMenu("FastWQ", browser.form.menubar)
|
menu = browser.form.menubar.addMenu("FastWQ")
|
||||||
browser.form.menubar.addMenu(menu)
|
# menu gen
|
||||||
|
def init_fastwq_menu():
|
||||||
def init_fastwq_menu(*args, **kwargs):
|
try:
|
||||||
menu.clear()
|
menu.clear()
|
||||||
|
except RuntimeError:
|
||||||
|
remHook('config.update', init_fastwq_menu)
|
||||||
|
return
|
||||||
# Query Selected
|
# Query Selected
|
||||||
action = QAction(_('QUERY_SELECTED'), browser)
|
action = QAction(_('QUERY_SELECTED'), browser)
|
||||||
action.triggered.connect(lambda: query_from_browser(browser))
|
action.triggered.connect(lambda: query_from_browser(browser))
|
||||||
@ -118,14 +119,7 @@ def browser_menu():
|
|||||||
|
|
||||||
# end init_fastwq_menu
|
# end init_fastwq_menu
|
||||||
init_fastwq_menu()
|
init_fastwq_menu()
|
||||||
# wrap config.update
|
addHook('config.update', init_fastwq_menu)
|
||||||
if Config.update not in _wraps:
|
|
||||||
Config.update = wrap(
|
|
||||||
Config.update,
|
|
||||||
init_fastwq_menu,
|
|
||||||
"after"
|
|
||||||
)
|
|
||||||
_wraps.append(Config.update)
|
|
||||||
addHook('browser.setupMenus', on_setup_menus)
|
addHook('browser.setupMenus', on_setup_menus)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -20,6 +20,7 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
from aqt import mw
|
from aqt import mw
|
||||||
|
from anki.hooks import runHook
|
||||||
from .constants import VERSION
|
from .constants import VERSION
|
||||||
from .utils import get_icon
|
from .utils import get_icon
|
||||||
|
|
||||||
@ -59,7 +60,7 @@ class Config(object):
|
|||||||
with open(self.path, 'w', encoding='utf-8') as f:
|
with open(self.path, 'w', encoding='utf-8') as f:
|
||||||
json.dump(self.data, f, indent=4, sort_keys=True, ensure_ascii=False)
|
json.dump(self.data, f, indent=4, sort_keys=True, ensure_ascii=False)
|
||||||
f.close()
|
f.close()
|
||||||
|
runHook('config.update')
|
||||||
|
|
||||||
def read(self):
|
def read(self):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user