Skip to content

Commit aa7bb3c

Browse files
authored
New: Option to disable tap zones
1 parent f61e6ce commit aa7bb3c

8 files changed

Lines changed: 44 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
3333
- Improved extract performance of big files [`5c50739`](https://github.com/ollm/OpenComic/commit/5c507391939c9e56cb1d304df9b3824116de67f4)
3434
- Support MyAnimeList tracking [`5f40b4a`](https://github.com/ollm/OpenComic/commit/5f40b4af1b70e8cfaad0beb79fec676c9c1c83fe)
3535
- Multi-layer folder labeling/favoriting and header bar filter options [`652a6a5`](https://github.com/ollm/OpenComic/commit/652a6a522b32fb9bf77a8dbfebafc0496050c634)
36+
- Option to disable tap zones
3637

3738
##### 🐛 Bug Fixes
3839

languages/ca.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@
359359
},
360360
"tapZones": {
361361
"main": "Zones de toc",
362+
"disable": "Desactiva les zones de toc",
362363
"leftClick": "Clic esquerre",
363364
"rightClick": "Clic dret",
364365
"middleClick": "Clic central"

languages/en.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,8 @@
359359
},
360360
"tapZones": {
361361
"main": "Tap zones",
362+
"disable": "Disable tap zones",
363+
"": "",
362364
"leftClick": "Left click",
363365
"rightClick": "Right click",
364366
"middleClick": "Middle click"

languages/es.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@
359359
},
360360
"tapZones": {
361361
"main": "Zonas de toque",
362+
"disable": "Desactivar zonas de toque",
362363
"leftClick": "Clic izquierdo",
363364
"rightClick": "Clic derecho",
364365
"middleClick": "Clic central"

scripts/settings.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -906,6 +906,8 @@ function restoreShortcuts()
906906
shortcuts.restoreDefaults();
907907

908908
generateShortcutsTable(gamepad.currentHighlightItem());
909+
910+
events.events();
909911
}
910912

911913
function generateTapZonesTable(list)
@@ -991,15 +993,19 @@ function setTapZone(button, action)
991993
function getTapZoneActions(button)
992994
{
993995
const list = shortcuts.shortcuts();
994-
const actions = [];
996+
const actions = [
997+
{
998+
key: 'disabled',
999+
name: language.settings.imageInterpolation.disabled,
1000+
select: (currentTapZone.tapZone[button].action == 'disabled' ? true : false),
1001+
},
1002+
];
9951003

9961004
for(let key in list.reading.actionsOrder)
9971005
{
9981006
const action = list.reading.actionsOrder[key];
9991007
const data = list.reading.actions[action];
10001008

1001-
console.log(currentTapZone.tapZone[button], button, action);
1002-
10031009
actions.push({
10041010
key: action,
10051011
name: data.name.replace(/\<br\s*\/?\>/, ' | '),
@@ -1018,6 +1024,8 @@ function restoreTapZones()
10181024
shortcuts.restoreDefaultsTapZones();
10191025

10201026
generateTapZonesTable(shortcuts.shortcuts());
1027+
1028+
events.events();
10211029
}
10221030

10231031
function getImageInterpolationMethods(upscaling = false)
@@ -1449,6 +1457,12 @@ function set(key, value, save = true)
14491457

14501458
dom.query('.settings-body .settings-download-opds-folder').class(!value, 'disable-pointer');
14511459

1460+
break;
1461+
1462+
case 'disableTapZones':
1463+
1464+
dom.query('.settings-body .settings-tap-zones').class(value, 'disable-pointer');
1465+
14521466
break;
14531467
}
14541468

scripts/shortcuts.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ function inputIsFocused()
3636

3737
function clickTapZone(event, button)
3838
{
39+
if(config.disableTapZones)
40+
return false;
41+
3942
if(reading.abortClick(event) && button != 'rightClick' && button != 'middleClick')
4043
return false;
4144

@@ -346,6 +349,14 @@ function loadShortcuts()
346349
},
347350
],
348351
actions: {
352+
disabled: { // Disabled action
353+
name: language.settings.imageInterpolation.disabled,
354+
function: function(event){
355+
356+
return false;
357+
358+
},
359+
},
349360
prev: {
350361
name: language.reading.previous,
351362
function: function(event){

scripts/storage.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const safe = require(p.join(appDir, 'scripts/storage/safe.js'));
22

3-
const changes = 114; // Update this if readingPagesConfig is updated
3+
const changes = 115; // Update this if readingPagesConfig is updated
44

55
const readingPagesConfig = {
66
readingConfigName: '',
@@ -163,6 +163,7 @@ const storageDefault = {
163163
gamepadDeadZone: 0.1,
164164
disableGamepadInput: false,
165165
mouseWheelSensitivityInZoom: 10,
166+
disableTapZones: false,
166167
saveImageTemplate: '[parentFolder] - [folder] - [image] - [page]',
167168
saveImageFolder: getDownloadsPath(),
168169
saveImageToFolder: false,

templates/settings.content.right.tap.zones.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
<h2 class="headline-small">{{language.settings.tapZones.main}}</h2>
22

3-
<table class="body-large full withoutThead">
3+
<div class="menu-simple-text gamepad-item">
4+
<span>{{language.settings.tapZones.disable}}</span>
5+
<div class="switch{{#if config.disableTapZones}} a{{/if}}" on="settings.set('disableTapZones', true)" off="settings.set('disableTapZones', false)">
6+
<div></div>
7+
<svg viewBox="0 0 52 32"><path d="M 8,0 C 3.58,0 0,3.58 0,8 0,12.42 3.58,16 8,16 8,16 8,16 8,16 12.42,16 16,12.42 16,8 16,3.58 12.42,0 8,0 8,0 8,0 8,0 Z"></path></svg>
8+
</div>
9+
</div>
10+
11+
<table class="body-large full withoutThead settings-tap-zones{{#if config.disableTapZones}} disable-pointer{{/if}}">
412

513
<tbody>
614
{{#each tapZones}}

0 commit comments

Comments
 (0)