diff --git a/src/openfreebuds_applet/modules/actions.py b/src/openfreebuds_applet/modules/actions.py index ae17145..9562a33 100644 --- a/src/openfreebuds_applet/modules/actions.py +++ b/src/openfreebuds_applet/modules/actions.py @@ -9,14 +9,17 @@ log = create_log("AppletActions") +# TODO: Refactor + def do_next_mode(manager): dev = _get_device(manager) # type: BaseDevice if dev is not None: - current = dev.find_property("anc", "mode", -99) - if current == -99: + current = dev.find_property("anc", "mode") + if current is None: return - next_mode = (current + 1) % 3 + options = list(dev.find_property("anc", "mode_options").split(",")) + next_mode = options[(options.index(current) + 1) % len(options)] dev.set_property("anc", "mode", next_mode) log.debug("Switched to mode " + str(next_mode)) return True @@ -101,9 +104,9 @@ def do_toggle_connected(manager: FreebudsManager): def get_actions(manager: FreebudsManager): return { "next_mode": lambda *args: do_next_mode(manager), - "mode_0": lambda *args: do_mode(manager, 0), - "mode_1": lambda *args: do_mode(manager, 1), - "mode_2": lambda *args: do_mode(manager, 2), + "mode_normal": lambda *args: do_mode(manager, "normal"), + "mode_cancellation": lambda *args: do_mode(manager, "cancellation"), + "mode_awareness": lambda *args: do_mode(manager, "awareness"), "connect": lambda *args: do_connect(manager), "disconnect": lambda *args: do_disconnect(manager), "toggle_connect": lambda *args: do_toggle_connected(manager) @@ -113,9 +116,9 @@ def get_actions(manager: FreebudsManager): def get_action_names(): return { "next_mode": t("action_next_mode"), - "mode_0": t("noise_mode_0"), - "mode_1": t("noise_mode_1"), - "mode_2": t("noise_mode_2"), + "mode_normal": t("noise_mode_normal"), + "mode_cancellation": t("noise_mode_cancellation"), + "mode_awareness": t("noise_mode_awareness"), "connect": t("action_connect"), "disconnect": t("action_disconnect"), "toggle_connect": t("action_toggle_connection") diff --git a/src/openfreebuds_assets/locale/ru_RU.json b/src/openfreebuds_assets/locale/ru_RU.json index f498490..a964a91 100644 --- a/src/openfreebuds_assets/locale/ru_RU.json +++ b/src/openfreebuds_assets/locale/ru_RU.json @@ -96,7 +96,7 @@ "open_github": "Исходный код", "show_error": "Показать текст ошибки", "action_toggle_connection": "Подключить или отключить", - "hotkeys_not_available": "Эта функция недоступна.\nВозможные проблемы:\n\n- Linux: убедитесь, что установлен пакет python-xlib.", + "hotkeys_not_available": "Эта функция недоступна.\nВозможно, не установлен пакет python3-xlib.", "do_command_server_error": "Не удалось выполнить запрос \"{}\". Проверьте корректность команды, а также включен ли удалённый доступ в настройках OpenFreebuds.", "profile_select_message": "Это устройство не поддерживается, по крайней мере сейчас.\nЕсли вы хотите, вы всё равно можете его подключить, но для\nэтого нужно выбрать какое-нибудь существующее устройство, набор\nкоманд которого будет использован с вашим. Вы можете изменить это в\nлюбое время.\n\nУчтите, что это может быть опасно для некоторых устройств, продолжайте\nна свой страх и риск. Также, если ваше устройство заработает с каким-то\nпрофилем, вы можете сообщить об этом мне, написав через форму на сайте или\nна GitHub. Тогда, возможно, я добавлю ваше устройство в совместимые.", "state_no_device": "Устройство не выбрано",