diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-06-09 19:01:15 +0300 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-06-09 19:01:15 +0300 |
commit | f63ed76597b462c60b3a6ad89f8c165ffb87d00c (patch) | |
tree | 2aca3537930bce28acff14c0cee0a11fa1988661 /src/ui/keys.c | |
parent | 5f9685010addd4a0f04c13f889856084381dd1c6 (diff) | |
parent | ee17ef3d0135027fbc4ff816dd9e793b4bb0b883 (diff) |
Merge branch 'dev' into work/typesetter
# Conflicts:
# src/gmdocument.c
# src/ui/documentwidget.c
# src/ui/inputwidget.h
Diffstat (limited to 'src/ui/keys.c')
-rw-r--r-- | src/ui/keys.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/ui/keys.c b/src/ui/keys.c index 42d0d613..9df505e0 100644 --- a/src/ui/keys.c +++ b/src/ui/keys.c | |||
@@ -188,6 +188,7 @@ static void clear_Keys_(iKeys *d) { | |||
188 | enum iBindFlag { | 188 | enum iBindFlag { |
189 | argRepeat_BindFlag = iBit(1), | 189 | argRepeat_BindFlag = iBit(1), |
190 | argRelease_BindFlag = iBit(2), | 190 | argRelease_BindFlag = iBit(2), |
191 | noDirectTrigger_BindFlag = iBit(3), /* can only be triggered via LabelWidget */ | ||
191 | }; | 192 | }; |
192 | 193 | ||
193 | /* TODO: This indirection could be used for localization, although all UI strings | 194 | /* TODO: This indirection could be used for localization, although all UI strings |
@@ -227,7 +228,16 @@ static const struct { int id; iMenuItem bind; int flags; } defaultBindings_[] = | |||
227 | { 81, { "${keys.tab.next}", nextTab_KeyShortcut, "tabs.next" }, 0 }, | 228 | { 81, { "${keys.tab.next}", nextTab_KeyShortcut, "tabs.next" }, 0 }, |
228 | { 90, { "${keys.split.menu}", SDLK_j, KMOD_PRIMARY, "splitmenu.open" }, 0 }, | 229 | { 90, { "${keys.split.menu}", SDLK_j, KMOD_PRIMARY, "splitmenu.open" }, 0 }, |
229 | { 91, { "${keys.split.next}", SDLK_TAB, KMOD_CTRL, "keyroot.next", }, 0 }, | 230 | { 91, { "${keys.split.next}", SDLK_TAB, KMOD_CTRL, "keyroot.next", }, 0 }, |
231 | { 92, { "${keys.split.item} ${menu.split.merge}", '1', 0, "ui.split arg:0", }, noDirectTrigger_BindFlag }, | ||
232 | { 93, { "${keys.split.item} ${menu.split.swap}", SDLK_x, 0, "ui.split swap:1", }, noDirectTrigger_BindFlag }, | ||
233 | { 94, { "${keys.split.item} ${menu.split.horizontal}", '3', 0, "ui.split arg:3 axis:0", }, noDirectTrigger_BindFlag }, | ||
234 | { 95, { "${keys.split.item} ${menu.split.horizontal} 1:2", SDLK_d, 0, "ui.split arg:1 axis:0", }, noDirectTrigger_BindFlag }, | ||
235 | { 96, { "${keys.split.item} ${menu.split.horizontal} 2:1", SDLK_e, 0, "ui.split arg:2 axis:0", }, noDirectTrigger_BindFlag }, | ||
236 | { 97, { "${keys.split.item} ${menu.split.vertical}", '2', 0, "ui.split arg:3 axis:1", }, noDirectTrigger_BindFlag }, | ||
237 | { 98, { "${keys.split.item} ${menu.split.vertical} 1:2", SDLK_f, 0, "ui.split arg:1 axis:1", }, noDirectTrigger_BindFlag }, | ||
238 | { 99, { "${keys.split.item} ${menu.split.vertical} 2:1", SDLK_r, 0, "ui.split arg:2 axis:1", }, noDirectTrigger_BindFlag }, | ||
230 | { 100,{ "${keys.hoverurl}", '/', KMOD_PRIMARY, "prefs.hoverlink.toggle" }, 0 }, | 239 | { 100,{ "${keys.hoverurl}", '/', KMOD_PRIMARY, "prefs.hoverlink.toggle" }, 0 }, |
240 | { 110,{ "${menu.save.downloads}", SDLK_s, KMOD_PRIMARY, "document.save" }, 0 }, | ||
231 | /* The following cannot currently be changed (built-in duplicates). */ | 241 | /* The following cannot currently be changed (built-in duplicates). */ |
232 | #if defined (iPlatformApple) | 242 | #if defined (iPlatformApple) |
233 | { 1002, { NULL, SDLK_LEFTBRACKET, KMOD_PRIMARY, "navigate.back" }, 0 }, | 243 | { 1002, { NULL, SDLK_LEFTBRACKET, KMOD_PRIMARY, "navigate.back" }, 0 }, |
@@ -301,7 +311,10 @@ static iBinding *findCommand_Keys_(iKeys *d, const char *command) { | |||
301 | static void updateLookup_Keys_(iKeys *d) { | 311 | static void updateLookup_Keys_(iKeys *d) { |
302 | clear_PtrSet(&d->lookup); | 312 | clear_PtrSet(&d->lookup); |
303 | iConstForEach(Array, i, &d->bindings) { | 313 | iConstForEach(Array, i, &d->bindings) { |
304 | insert_PtrSet(&d->lookup, i.value); | 314 | const iBinding *bind = i.value; |
315 | if (~bind->flags & noDirectTrigger_BindFlag) { | ||
316 | insert_PtrSet(&d->lookup, i.value); | ||
317 | } | ||
305 | } | 318 | } |
306 | } | 319 | } |
307 | 320 | ||