From 4ab25def835077e04cf6df19f4aadc7a2e9dc0d7 Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Wed, 9 Sep 2020 19:59:06 +0300 Subject: Added header file for keyboard shortcuts --- src/ui/documentwidget.c | 5 +++-- src/ui/keys.h | 37 +++++++++++++++++++++++++++++++++++++ src/ui/window.c | 9 +++++++-- 3 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 src/ui/keys.h (limited to 'src/ui') diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c index f99280d7..6e10ff54 100644 --- a/src/ui/documentwidget.c +++ b/src/ui/documentwidget.c @@ -26,6 +26,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "labelwidget.h" #include "paint.h" #include "command.h" +#include "keys.h" #include "util.h" #include "history.h" #include "app.h" @@ -245,8 +246,8 @@ void init_DocumentWidget(iDocumentWidget *d) { #if !defined (iPlatformApple) /* in system menu */ addAction_Widget(w, SDLK_w, KMOD_PRIMARY, "tabs.close"); #endif - addAction_Widget(w, SDLK_LEFT, KMOD_PRIMARY, "navigate.back"); - addAction_Widget(w, SDLK_RIGHT, KMOD_PRIMARY, "navigate.forward"); + addAction_Widget(w, navigateBack_KeyShortcut, "navigate.back"); + addAction_Widget(w, navigateForward_KeyShortcut, "navigate.forward"); } void deinit_DocumentWidget(iDocumentWidget *d) { diff --git a/src/ui/keys.h b/src/ui/keys.h new file mode 100644 index 00000000..cf6aad04 --- /dev/null +++ b/src/ui/keys.h @@ -0,0 +1,37 @@ +/* Copyright 2020 Jaakko Keränen + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + +#pragma once + +#include + +#if defined (iPlatformApple) +# define prevTab_KeyShortcut SDLK_LEFTBRACKET, KMOD_SHIFT | KMOD_PRIMARY +# define nextTab_KeyShortcut SDLK_RIGHTBRACKET, KMOD_SHIFT | KMOD_PRIMARY +# define navigateBack_KeyShortcut SDLK_LEFT, KMOD_PRIMARY +# define navigateForward_KeyShortcut SDLK_RIGHT, KMOD_PRIMARY +#else +# define prevTab_KeyShortcut SDLK_PAGEUP, KMOD_PRIMARY +# define nextTab_KeyShortcut SDLK_PAGEDOWN, KMOD_PRIMARY +# define navigateBack_KeyShortcut SDLK_LEFT, KMOD_ALT +# define navigateForward_KeyShortcut SDLK_RIGHT, KMOD_ALT +#endif diff --git a/src/ui/window.c b/src/ui/window.c index a419684c..8d76c68b 100644 --- a/src/ui/window.c +++ b/src/ui/window.c @@ -31,6 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "command.h" #include "paint.h" #include "util.h" +#include "keys.h" #include "../app.h" #include "../visited.h" #include "../gmcerts.h" @@ -433,11 +434,15 @@ static void setupUserInterface_Window(iWindow *d) { 6); setId_Widget(tabsMenu, "doctabs.menu"); /* Global keyboard shortcuts. */ { - addAction_Widget(d->root, SDLK_LEFTBRACKET, KMOD_SHIFT | KMOD_PRIMARY, "tabs.prev"); - addAction_Widget(d->root, SDLK_RIGHTBRACKET, KMOD_SHIFT | KMOD_PRIMARY, "tabs.next"); + addAction_Widget(d->root, prevTab_KeyShortcut, "tabs.prev"); + addAction_Widget(d->root, nextTab_KeyShortcut, "tabs.next"); #if !defined (iHaveNativeMenus) addAction_Widget(d->root, 'l', KMOD_PRIMARY, "focus.set id:url"); addAction_Widget(d->root, 'f', KMOD_PRIMARY, "focus.set id:find.input"); + addAction_Widget(d->root, '1', KMOD_PRIMARY, "sidebar.mode arg:0 toggle:1"); + addAction_Widget(d->root, '2', KMOD_PRIMARY, "sidebar.mode arg:1 toggle:1"); + addAction_Widget(d->root, '3', KMOD_PRIMARY, "sidebar.mode arg:2 toggle:1"); + addAction_Widget(d->root, '4', KMOD_PRIMARY, "sidebar.mode arg:3 toggle:1"); #endif } } -- cgit v1.2.3