Add "cycle reading direction" hotkey

This commit is contained in:
schroda
2024-12-17 16:27:20 +01:00
parent ce15e4db70
commit 8ca0c58ee0
5 changed files with 20 additions and 0 deletions

View File

@@ -869,6 +869,7 @@
"offset_spread_pages": "Toggle offset spread pages", "offset_spread_pages": "Toggle offset spread pages",
"previous_chapter": "Previous chapter", "previous_chapter": "Previous chapter",
"previous_page": "Previous page", "previous_page": "Previous page",
"reading_direction": "Cycle reading direction",
"reading_mode": "Cycle reading mode", "reading_mode": "Cycle reading mode",
"scale_type": "Cycle image scale type", "scale_type": "Cycle image scale type",
"scroll_backward": "Scroll backward", "scroll_backward": "Scroll backward",

View File

@@ -17,6 +17,7 @@ import { getNextRotationValue } from '@/modules/core/utils/ValueRotationButton.u
import { import {
READER_PAGE_SCALE_MODE_VALUES, READER_PAGE_SCALE_MODE_VALUES,
ReaderScrollAmount, ReaderScrollAmount,
READING_DIRECTION_VALUES,
READING_MODE_VALUES, READING_MODE_VALUES,
} from '@/modules/reader/constants/ReaderSettings.constants.tsx'; } from '@/modules/reader/constants/ReaderSettings.constants.tsx';
import { useReaderStateMangaContext } from '@/modules/reader/contexts/state/ReaderStateMangaContext.tsx'; import { useReaderStateMangaContext } from '@/modules/reader/contexts/state/ReaderStateMangaContext.tsx';
@@ -174,6 +175,21 @@ export const ReaderHotkeys = ({
}, },
[updateSetting, deleteSetting, readingMode.value, readingMode.isDefault], [updateSetting, deleteSetting, readingMode.value, readingMode.isDefault],
); );
useHotkeys(
hotkeys[ReaderHotkey.CYCLE_READING_DIRECTION],
() => {
updateSettingCycleThrough(
updateSetting,
deleteSetting,
'readingDirection',
readingDirection.value,
READING_DIRECTION_VALUES,
readingDirection.isDefault,
true,
);
},
[updateSetting, deleteSetting, readingDirection.value, readingDirection.isDefault],
);
useEffect(() => { useEffect(() => {
enableScope(HotkeyScope.READER); enableScope(HotkeyScope.READER);

View File

@@ -32,6 +32,7 @@ const READER_HOTKEY_TO_TITLE: Record<ReaderHotkey, TranslationKey> = {
[ReaderHotkey.STRETCH_IMAGE]: 'reader.settings.hotkey.stretch_image', [ReaderHotkey.STRETCH_IMAGE]: 'reader.settings.hotkey.stretch_image',
[ReaderHotkey.OFFSET_SPREAD_PAGES]: 'reader.settings.hotkey.offset_spread_pages', [ReaderHotkey.OFFSET_SPREAD_PAGES]: 'reader.settings.hotkey.offset_spread_pages',
[ReaderHotkey.CYCLE_READING_MODE]: 'reader.settings.hotkey.reading_mode', [ReaderHotkey.CYCLE_READING_MODE]: 'reader.settings.hotkey.reading_mode',
[ReaderHotkey.CYCLE_READING_DIRECTION]: 'reader.settings.hotkey.reading_direction',
}; };
export const ReaderSettingHotkey = ({ export const ReaderSettingHotkey = ({

View File

@@ -120,6 +120,7 @@ export const DEFAULT_READER_SETTINGS: IReaderSettings = {
[ReaderHotkey.STRETCH_IMAGE]: ['f'], [ReaderHotkey.STRETCH_IMAGE]: ['f'],
[ReaderHotkey.OFFSET_SPREAD_PAGES]: ['o'], [ReaderHotkey.OFFSET_SPREAD_PAGES]: ['o'],
[ReaderHotkey.CYCLE_READING_MODE]: ['r'], [ReaderHotkey.CYCLE_READING_MODE]: ['r'],
[ReaderHotkey.CYCLE_READING_DIRECTION]: ['t'],
}, },
imagePreLoadAmount: 5, imagePreLoadAmount: 5,
}; };

View File

@@ -205,6 +205,7 @@ export enum ReaderHotkey {
STRETCH_IMAGE, STRETCH_IMAGE,
OFFSET_SPREAD_PAGES, OFFSET_SPREAD_PAGES,
CYCLE_READING_MODE, CYCLE_READING_MODE,
CYCLE_READING_DIRECTION,
} }
export interface ReaderPagerProps export interface ReaderPagerProps