Skip to content
This repository has been archived by the owner on Aug 17, 2023. It is now read-only.

Commit

Permalink
fix #3
Browse files Browse the repository at this point in the history
  • Loading branch information
tatsumoto-ren committed Jun 27, 2022
1 parent f23ffae commit 5c24e7b
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 12 deletions.
6 changes: 4 additions & 2 deletions context_menu.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from aqt.qt import *
from aqt.utils import tooltip

from .helpers import config
from .helpers import config, default
from .mecab_controller import to_katakana, to_hiragana
from .reading import reading, reading_no_kanji

Expand All @@ -26,7 +26,7 @@ def __init__(self, editor: Editor):

@classmethod
def enabled(cls) -> bool:
return config['context_menu'][cls.key]
return config['context_menu'].get(cls.key, default['context_menu'][cls.key])

@property
@abc.abstractmethod
Expand Down Expand Up @@ -54,11 +54,13 @@ class GenerateFurigana(ContextMenuAction):
label = "Furigana for selection"
action = staticmethod(reading)


class GenerateFuriganaNoKanji(ContextMenuAction):
key = "generate_furigana_no_kanji"
label = "Furigana without kanji for selection"
action = staticmethod(reading_no_kanji)


class ToKatakana(ContextMenuAction):
key = "to_katakana"
label = "Convert to katakana"
Expand Down
7 changes: 7 additions & 0 deletions helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ def get_config():
return mw.addonManager.getConfig(__name__)


def get_default_config():
manager = aqt.mw.addonManager
addon = manager.addonFromModule(__name__)
return manager.addonConfigDefaults(addon)


def clean_furigana(expr: str) -> str:
return re.sub(r'([^ ]+)\[[^ ]+]', r'\g<1>', expr, flags=RE_FLAGS).replace(' ', '')

Expand Down Expand Up @@ -46,3 +52,4 @@ def is_supported_notetype(note: Note) -> bool:


config = get_config()
default = get_default_config()
14 changes: 4 additions & 10 deletions toolbar.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,19 @@
from aqt import gui_hooks
from aqt.editor import Editor

from .helpers import *
from .helpers import config, default, clean_furigana
from .reading import reading, reading_no_kanji


def get_default_config():
manager = aqt.mw.addonManager
addon = manager.addonFromModule(__name__)
return manager.addonConfigDefaults(addon)


@dataclass(frozen=True)
class BtnCfg:
id: str
on_press: Callable[[str], str]
tip: str
__default = get_default_config()

def __get(self, button_id: str):
return config['toolbar'].get(button_id, self.__default['toolbar'][button_id])
@staticmethod
def __get(button_id: str):
return config['toolbar'].get(button_id, default['toolbar'][button_id])

@property
def enabled(self) -> bool:
Expand Down

0 comments on commit 5c24e7b

Please sign in to comment.