diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/HotKeysController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/HotKeysController.java new file mode 100644 index 0000000000000000000000000000000000000000..95ae9cd60332352e1402d0f2e8d889f95e16d6c0 --- /dev/null +++ b/src/main/java/de/deadlocker8/budgetmaster/controller/HotKeysController.java @@ -0,0 +1,27 @@ +package de.deadlocker8.budgetmaster.controller; + +import de.deadlocker8.budgetmaster.settings.SettingsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; + + +@Controller +public class HotKeysController extends BaseController +{ + private final SettingsService settingsService; + + @Autowired + public HotKeysController(SettingsService settingsService) + { + this.settingsService = settingsService; + } + + @RequestMapping("/hotkeys") + public String index(Model model) + { + model.addAttribute("settings", settingsService.getSettings()); + return "hotkeys"; + } +} \ No newline at end of file diff --git a/src/main/resources/languages/_de.properties b/src/main/resources/languages/_de.properties index 2591ba91fcbae0c545885b2d5094bd797c726604..e924b330f3f2fa04a02613a81dbbfacf5c03322e 100644 --- a/src/main/resources/languages/_de.properties +++ b/src/main/resources/languages/_de.properties @@ -91,6 +91,7 @@ info.button.account.delete=Konto und Buchungen l info.title.transaction.delete=Buchung l�schen info.text.transaction.delete=M�chtest du die Buchung "{0}" wirklich unwiderruflich l�schen? info.text.transaction.repeating.delete=M�chtest du die Buchung "{0}" wirklich unwiderruflich l�schen? <br>Hinweis: Es handelt sich um eine wiederholende Buchung. Beim L�schen dieser Buchung werden alle zugeh�rigen Wiederholungen ebenfalls gel�scht! + info.title.database.delete=Datenbank l�schen info.header.text.database.delete=Soll die Datenbank wirklich unwiderruflich gel�scht werden?<br>Hinweis: Beim L�schen der Datenbank werden alle Buchungen, Kategorien und Konten unwiderruflich gel�scht. info.text.database.delete=Zur Best�tigung gib folgenden Code ein:\t{0} @@ -135,6 +136,7 @@ menu.reports=Berichte menu.settings=Einstellungen menu.settings.database=Datenbank menu.about=�ber +menu.hotkeys=Tastenkombination menu.logout=Logout menu.accounts=Konten menu.update=Update verf�gbar @@ -304,3 +306,15 @@ home.menu.categories.action.new=Neue Kategorie anlegen home.menu.settings=Verwalte allgemeine Einstellungen wie dein Login-Passwort, deine bevorzugte Sprache und wie Updates verwaltet werden sollen. Dieser Bereich bietet zudem die M�glichkeit, deine Daten zu exportieren oder zu l�schen, sowie eine bestehende Datenbank zu importieren. home.menu.settings.action.manage=Einstellungen + +# hotkeys +hotkeys.transactions.new.normal=Neue Buchung anlegen +hotkeys.transactions.new.normal.key=n +hotkeys.transactions.new.repeating=Neue widerholende Buchung anlegen +hotkeys.transactions.new.repeating.key=r +hotkeys.transactions.new.transfer=Neue Umbuchung anlegen +hotkeys.transactions.new.transfer.key=t +hotkeys.transactions.filter=Filtern +hotkeys.transactions.filter.key=f +hotkeys.search=Suchen +hotkeys.search.key=s diff --git a/src/main/resources/languages/_en.properties b/src/main/resources/languages/_en.properties index 516de0089c5f3e7fff52a1d6c30e21680cc21cbd..72222212539be39f0215878acdb2762f1f13c6ab 100644 --- a/src/main/resources/languages/_en.properties +++ b/src/main/resources/languages/_en.properties @@ -135,6 +135,7 @@ menu.charts.chartHistogram=Histogram menu.reports=Reports menu.settings=Settings menu.settings.database=Database +menu.hotkeys=Hotkeys menu.about=About menu.logout=Logout menu.accounts=Accounts @@ -306,5 +307,14 @@ home.menu.categories.action.new=Create a category home.menu.settings=Manage general settings such as login password, your preferred language and how to handle updates. This section also offers the possibility to export or delete your data or importing an existing database. home.menu.settings.action.manage=Settings - - +# hotkeys +hotkeys.transactions.new.normal=Create a transaction +hotkeys.transactions.new.normal.key=n +hotkeys.transactions.new.repeating=Create a recuring transaction +hotkeys.transactions.new.repeating.key=r +hotkeys.transactions.new.transfer=Create a transfer +hotkeys.transactions.new.transfer.key=t +hotkeys.transactions.filter=Filter +hotkeys.transactions.filter.key=f +hotkeys.search=Search +hotkeys.search.key=s diff --git a/src/main/resources/static/css/dark/hotkeys.css b/src/main/resources/static/css/dark/hotkeys.css new file mode 100644 index 0000000000000000000000000000000000000000..82ea278531de25ca236d1a5fdd9bc551a20357aa --- /dev/null +++ b/src/main/resources/static/css/dark/hotkeys.css @@ -0,0 +1,9 @@ +.keyboard-key { + padding: 0.2rem 0.7rem; + color: #FFFFFF; + background-color: #212121; + border-radius: .2rem; + font-family: Consolas, "Courier New", monospace; + display: inline-block; + margin-right: 2rem; +} \ No newline at end of file diff --git a/src/main/resources/static/css/hotkeys.css b/src/main/resources/static/css/hotkeys.css new file mode 100644 index 0000000000000000000000000000000000000000..82ea278531de25ca236d1a5fdd9bc551a20357aa --- /dev/null +++ b/src/main/resources/static/css/hotkeys.css @@ -0,0 +1,9 @@ +.keyboard-key { + padding: 0.2rem 0.7rem; + color: #FFFFFF; + background-color: #212121; + border-radius: .2rem; + font-family: Consolas, "Courier New", monospace; + display: inline-block; + margin-right: 2rem; +} \ No newline at end of file diff --git a/src/main/resources/templates/helpers/navbar.ftl b/src/main/resources/templates/helpers/navbar.ftl index eac9575fe24b8d7cfca12cca859a7f12240ee95d..f9bdea7efb25cfd9650ecf1b58f79f00bd43761f 100644 --- a/src/main/resources/templates/helpers/navbar.ftl +++ b/src/main/resources/templates/helpers/navbar.ftl @@ -24,6 +24,7 @@ <@itemWithIcon "settings", "/settings", locale.getString("menu.settings"), "settings", "budgetmaster-red", activeID/> <@itemDivider/> + <@itemWithIcon "hotkeys", "/hotkeys", locale.getString("menu.hotkeys"), "keyboard", "budgetmaster-grey", activeID/> <@itemWithIcon "about", "/about", locale.getString("menu.about"), "info", "budgetmaster-grey", activeID/> <@itemDivider/> diff --git a/src/main/resources/templates/hotkeys.ftl b/src/main/resources/templates/hotkeys.ftl new file mode 100644 index 0000000000000000000000000000000000000000..71f5393ec4b33310dec4bbae25873eecb52d9382 --- /dev/null +++ b/src/main/resources/templates/hotkeys.ftl @@ -0,0 +1,54 @@ +<html> + <head> + <#import "helpers/header.ftl" as header> + <@header.header "BudgetMaster"/> + <@header.style "hotkeys"/> + </head> + <body class="budgetmaster-blue-light"> + <#import "helpers/navbar.ftl" as navbar> + <@navbar.navbar "hotkeys" settings/> + + <main> + <div class="card main-card background-color"> + <div class="container"> + <div class="section center-align"> + <div class="headline">${locale.getString("menu.hotkeys")}</div> + </div> + </div> + + <br> + + <div class="row"> + <@cellKey locale.getString("hotkeys.transactions.new.normal.key")/> + <div class="col s8 m5 l5">${locale.getString("hotkeys.transactions.new.normal")}</div> + </div> + <div class="row"> + <@cellKey locale.getString("hotkeys.transactions.new.repeating.key")/> + <div class="col s8 m5 l5">${locale.getString("hotkeys.transactions.new.repeating")}</div> + </div> + <div class="row"> + <@cellKey locale.getString("hotkeys.transactions.new.transfer.key")/> + <div class="col s8 m5 l5">${locale.getString("hotkeys.transactions.new.transfer")}</div> + </div> + <div class="row"> + <@cellKey locale.getString("hotkeys.transactions.filter.key")/> + <div class="col s8 m5 l5">${locale.getString("hotkeys.transactions.filter")}</div> + </div> + <div class="row"> + <@cellKey locale.getString("hotkeys.search.key")/> + <div class="col s8 m5 l5">${locale.getString("hotkeys.search")}</div> + </div> + </div> + </main> + + <!-- Scripts--> + <#import "helpers/scripts.ftl" as scripts> + <@scripts.scripts/> + </body> +</html> + +<#macro cellKey key> + <div class="col s4 m3 offset-m2 l2 offset-l3 right-align bold"> + <div class="keyboard-key">${key}</div> + </div> +</#macro> \ No newline at end of file