From b363e92b5d14d988833242b4ce876bcdfac3cc65 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Thu, 10 Aug 2017 18:05:54 +1000 Subject: [PATCH] Don't process every character individually when searching - this reduces lag if you keep typing while a big list is searched. (nw) patch up German translation --- language/German/strings.po | 366 +++++------------------- src/emu/uiinput.cpp | 51 ++-- src/emu/uiinput.h | 33 ++- src/frontend/mame/ui/menu.cpp | 8 +- src/frontend/mame/ui/selgame.cpp | 24 +- src/frontend/mame/ui/selgame.h | 2 +- src/frontend/mame/ui/selmenu.cpp | 46 ++- src/frontend/mame/ui/selmenu.h | 1 + src/frontend/mame/ui/selsoft.cpp | 15 - src/frontend/mame/ui/selsoft.h | 1 - src/frontend/mame/ui/ui.cpp | 2 +- src/osd/modules/debugger/debugimgui.cpp | 2 +- src/osd/modules/input/input_uwp.cpp | 2 +- 13 files changed, 157 insertions(+), 396 deletions(-) diff --git a/language/German/strings.po b/language/German/strings.po index f84ce9223aa..2be504a9f6f 100644 --- a/language/German/strings.po +++ b/language/German/strings.po @@ -22,7 +22,7 @@ msgstr "" #: src/frontend/mame/ui/slotopt.cpp:290 #, c-format msgid "%s [internal]" -msgstr "" +msgstr "%s [intern]" #: src/frontend/mame/ui/slotopt.cpp:301 src/frontend/mame/ui/inputmap.cpp:625 #: src/frontend/mame/ui/miscmenu.cpp:97 @@ -97,26 +97,26 @@ msgstr "Erweiterungen" #: src/frontend/mame/ui/selgame.cpp:1022 #, c-format msgid "Romset\t%1$-.100s\n" -msgstr "" +msgstr "ROM-Satz\t%1$-.100s\n" #: src/frontend/mame/ui/selgame.cpp:1023 #, c-format msgid "Year\t%1$s\n" -msgstr "" +msgstr "Jahr\t%1$s\n" #: src/frontend/mame/ui/selgame.cpp:1024 #, c-format msgid "Manufacturer\t%1$-.100s\n" -msgstr "" +msgstr "Hersteller\t%1$-.100s\n" #: src/frontend/mame/ui/selgame.cpp:1028 #, c-format msgid "Driver is Clone of\t%1$-.100s\n" -msgstr "" +msgstr "Treiber ist ein Klon von\t%1$-.100s\n" #: src/frontend/mame/ui/selgame.cpp:1030 msgid "Driver is Parent\t\n" -msgstr "" +msgstr "Treiber ist Ursprungs-Treiber\t\n" #: src/frontend/mame/ui/selgame.cpp:1033 msgid "Analog Controls\tYes\n" @@ -128,47 +128,47 @@ msgstr "" #: src/frontend/mame/ui/selgame.cpp:1038 msgid "Overall\tNOT WORKING\n" -msgstr "" +msgstr "Insgesamt\tFUNKTIONIERT NICHT\n" #: src/frontend/mame/ui/selgame.cpp:1040 msgid "Overall\tUnemulated Protection\n" -msgstr "" +msgstr "Insgesamt\tNicht emulierter Kopierschutz\n" #: src/frontend/mame/ui/selgame.cpp:1042 msgid "Overall\tWorking\n" -msgstr "" +msgstr "Insgesamt\tFunktioniert\n" #: src/frontend/mame/ui/selgame.cpp:1045 msgid "Graphics\tUnimplemented\n" -msgstr "" +msgstr "Grafik\tNicht implementiert\n" #: src/frontend/mame/ui/selgame.cpp:1049 msgid "Graphics\tImperfect Colors\n" -msgstr "" +msgstr "Grafik\tFehlerhafte Farben\n" #: src/frontend/mame/ui/selgame.cpp:1051 msgid "Graphics\tImperfect\n" -msgstr "" +msgstr "Grafik\tFehlerhaft\n" #: src/frontend/mame/ui/selgame.cpp:1053 msgid "Graphics\tOK\n" -msgstr "" +msgstr "Grafik\tOK\n" #: src/frontend/mame/ui/selgame.cpp:1056 msgid "Sound\tNone\n" -msgstr "" +msgstr "Sound\tKeine\n" #: src/frontend/mame/ui/selgame.cpp:1058 msgid "Sound\tUnimplemented\n" -msgstr "" +msgstr "Sound\tNicht implementiert\n" #: src/frontend/mame/ui/selgame.cpp:1060 msgid "Sound\tImperfect\n" -msgstr "" +msgstr "Sound\tFehlerhaft\n" #: src/frontend/mame/ui/selgame.cpp:1062 msgid "Sound\tOK\n" -msgstr "" +msgstr "Sound\tOK\n" #: src/frontend/mame/ui/selgame.cpp:1065 msgid "Controls\tUnimplemented\n" @@ -272,32 +272,32 @@ msgstr "Nein" #: src/frontend/mame/ui/selgame.cpp:1115 #, c-format msgid "Requires Artwork\t%1$s\n" -msgstr "" +msgstr "Benötigt Illustrationen\t%1$s\n" #: src/frontend/mame/ui/selgame.cpp:1116 #, c-format msgid "Requires Clickable Artwork\t%1$s\n" -msgstr "" +msgstr "Benötigt klickbare Illustrationen\t%1$s\n" #: src/frontend/mame/ui/selgame.cpp:1117 #, c-format msgid "Support Cocktail\t%1$s\n" -msgstr "" +msgstr "Unterstützt Cocktail-Modus\t%1$s\n" #: src/frontend/mame/ui/selgame.cpp:1118 #, c-format msgid "Driver is BIOS\t%1$s\n" -msgstr "" +msgstr "Treiber ist BIOS\t%1$s\n" #: src/frontend/mame/ui/selgame.cpp:1119 #, c-format msgid "Support Save\t%1$s\n" -msgstr "" +msgstr "Unterstützt Speichern\t%1$s\n" #: src/frontend/mame/ui/selgame.cpp:1120 #, c-format msgid "Screen Orientation\t%1$s\n" -msgstr "" +msgstr "Bildschirm-Ausrichtung\t%1$s\n" #: src/frontend/mame/ui/selgame.cpp:1120 msgid "Vertical" @@ -310,33 +310,35 @@ msgstr "Horizontal" #: src/frontend/mame/ui/selgame.cpp:1129 #, c-format msgid "Requires CHD\t%1$s\n" -msgstr "" +msgstr "Benötigt CHD\t%1$s\n" #: src/frontend/mame/ui/selgame.cpp:1142 msgid "Roms Audit Pass\tOK\n" -msgstr "" +msgstr "ROM-Überprüfung\tOK\n" #: src/frontend/mame/ui/selgame.cpp:1144 msgid "Roms Audit Pass\tBAD\n" -msgstr "" +msgstr "ROM-Überprüfung\tFEHLERHAFT\n" #: src/frontend/mame/ui/selgame.cpp:1147 msgid "Samples Audit Pass\tNone Needed\n" -msgstr "" +msgstr "Samples-Überprüfung\tNicht nötig\n" #: src/frontend/mame/ui/selgame.cpp:1149 msgid "Samples Audit Pass\tOK\n" -msgstr "" +msgstr "Samples-Überprüfung\tOK\n" #: src/frontend/mame/ui/selgame.cpp:1151 msgid "Samples Audit Pass\tBAD\n" -msgstr "" +msgstr "Samples-Überprüfung\tFEHLERHAFT\n" #: src/frontend/mame/ui/selgame.cpp:1154 msgid "" "Roms Audit Pass\tDisabled\n" "Samples Audit Pass\tDisabled\n" msgstr "" +"ROM-Überprüfung\tDeaktiviert\n" +"Samples-Überprüfung\tDeaktiviert\n" #: src/frontend/mame/ui/selgame.cpp:1462 #, c-format @@ -346,17 +348,17 @@ msgstr "%1$s %2$s ( %3$d / %4$d Maschinen (%5$d BIOS) )" #: src/frontend/mame/ui/selgame.cpp:1475 #, c-format msgid "%1$s (%2$s - %3$s) - Search: %4$s_" -msgstr "" +msgstr "%1$s (%2$s - %3$s) - Suche: %4$s_" #: src/frontend/mame/ui/selgame.cpp:1486 src/frontend/mame/ui/selsoft.cpp:757 #, c-format msgid "%1$s: %2$s - Search: %3$s_" -msgstr "" +msgstr "%1$s: %2$s - Suche: %3$s_" #: src/frontend/mame/ui/selgame.cpp:1488 src/frontend/mame/ui/selsoft.cpp:759 #, c-format msgid "Search: %1$s_" -msgstr "" +msgstr "Suche: %1$s_" #: src/frontend/mame/ui/selgame.cpp:1498 #, c-format @@ -374,10 +376,13 @@ msgid "" "Please select a different machine.\n" "\n" msgstr "" +"Der gewählten Maschine fehlen ein oder mehrere benötigte ROM- oder CHD-" +"Abbilder. Bitte wählen Sie eine andere Maschine aus.\n" +"\n" #: src/frontend/mame/ui/selgame.cpp:1518 src/frontend/mame/ui/selsoft.cpp:529 msgid "Press any key to continue." -msgstr "" +msgstr "Drücken Sie eine beliebige Taste, um fortzufahren." #: src/frontend/mame/ui/cheatopt.cpp:92 #, c-format @@ -565,7 +570,7 @@ msgstr "Softwareauswahl:" #: src/frontend/mame/ui/selmenu.cpp:354 msgid "BIOS selection:" -msgstr "" +msgstr "BIOS-Auswahl:" #: src/frontend/mame/ui/selmenu.cpp:580 src/frontend/mame/ui/selmenu.cpp:616 #: src/frontend/mame/ui/simpleselgame.cpp:312 @@ -611,7 +616,7 @@ msgstr "Treiber ist Ursprungs-Treiber" #: src/frontend/mame/ui/selmenu.cpp:629 #: src/frontend/mame/ui/simpleselgame.cpp:331 msgid "Overall: NOT WORKING" -msgstr "Insgesamt: FUNKTIONIERT NICHT\n" +msgstr "Insgesamt: FUNKTIONIERT NICHT" #: src/frontend/mame/ui/selmenu.cpp:631 #: src/frontend/mame/ui/simpleselgame.cpp:333 @@ -625,7 +630,7 @@ msgstr "Insgesamt: Funktioniert\n" #: src/frontend/mame/ui/selmenu.cpp:637 msgid "Graphics: Unimplemented, " -msgstr "" +msgstr "Grafik: Nicht implementiert, " #: src/frontend/mame/ui/selmenu.cpp:639 msgid "Graphics: Imperfect, " @@ -637,11 +642,11 @@ msgstr "Grafik: OK, " #: src/frontend/mame/ui/selmenu.cpp:644 msgid "Sound: None" -msgstr "" +msgstr "Sound: Keine" #: src/frontend/mame/ui/selmenu.cpp:646 msgid "Sound: Unimplemented" -msgstr "Sound: nicht implementiert" +msgstr "Sound: Nicht implementiert" #: src/frontend/mame/ui/selmenu.cpp:648 msgid "Sound: Imperfect" @@ -722,7 +727,7 @@ msgstr "Weitere Bedienelemente" #: src/frontend/mame/ui/swlist.cpp:88 msgid "[file manager]" -msgstr "Dateimanager" +msgstr "[Dateimanager]" #: src/frontend/mame/ui/swlist.cpp:228 msgid "Switch Item Ordering" @@ -1018,7 +1023,7 @@ msgstr "Mouseover" #: src/frontend/mame/ui/custui.cpp:740 msgid "ARGB Settings" -msgstr "" +msgstr "ARGB-Einstellungen" #: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748 msgid "Alpha" @@ -1098,11 +1103,11 @@ msgstr "" #: src/frontend/mame/ui/utils.cpp:35 msgid "Working" -msgstr "" +msgstr "Funktioniert" #: src/frontend/mame/ui/utils.cpp:36 msgid "Not Working" -msgstr "" +msgstr "Funktioniert Nicht" #: src/frontend/mame/ui/utils.cpp:37 msgid "Mechanical" @@ -1122,7 +1127,7 @@ msgstr "" #: src/frontend/mame/ui/utils.cpp:41 src/frontend/mame/ui/miscmenu.cpp:763 msgid "BIOS" -msgstr "" +msgstr "BIOS" #: src/frontend/mame/ui/utils.cpp:42 src/frontend/mame/ui/utils.cpp:58 msgid "Parents" @@ -1134,11 +1139,11 @@ msgstr "" #: src/frontend/mame/ui/utils.cpp:44 msgid "Manufacturer" -msgstr "" +msgstr "Hersteller" #: src/frontend/mame/ui/utils.cpp:45 src/frontend/mame/ui/utils.cpp:60 msgid "Year" -msgstr "" +msgstr "Jahr" #: src/frontend/mame/ui/utils.cpp:46 msgid "Save Supported" @@ -1170,7 +1175,7 @@ msgstr "" #: src/frontend/mame/ui/utils.cpp:61 msgid "Publisher" -msgstr "" +msgstr "Herausgeber" #: src/frontend/mame/ui/utils.cpp:62 msgid "Supported" @@ -1190,11 +1195,11 @@ msgstr "" #: src/frontend/mame/ui/utils.cpp:66 msgid "Device Type" -msgstr "" +msgstr "Gerätetyp" #: src/frontend/mame/ui/utils.cpp:67 msgid "Software List" -msgstr "" +msgstr "Softwareliste" #: src/frontend/mame/ui/utils.cpp:215 msgid "" @@ -1295,7 +1300,7 @@ msgstr "CPU %1$s übertakten" #: src/frontend/mame/ui/ui.cpp:1408 #, c-format msgid "Overclock %1$s sound" -msgstr "" +msgstr "Sound %1$s übertakten" #: src/frontend/mame/ui/ui.cpp:1429 #, c-format @@ -1551,13 +1556,13 @@ msgstr "" #: src/frontend/mame/ui/info.cpp:203 src/frontend/mame/ui/info.cpp:219 #, c-format msgid "%s" -msgstr "" +msgstr "%s" #: src/frontend/mame/ui/info.cpp:203 src/frontend/mame/ui/info.cpp:219 #: src/frontend/mame/ui/info.cpp:264 #, c-format msgid ", %s" -msgstr "" +msgstr ", %s" #: src/frontend/mame/ui/info.cpp:213 msgid "Imperfectly emulated features: " @@ -1569,7 +1574,7 @@ msgstr "Die Bildschirmdrehung im Cocktailmodus wird nicht unterstützt.\n" #: src/frontend/mame/ui/info.cpp:230 msgid "This machine requires external artwork files.\n" -msgstr "" +msgstr "Die Maschine benötigt externe Illustrationsdateien.\n" #: src/frontend/mame/ui/info.cpp:232 msgid "" @@ -1615,6 +1620,9 @@ msgid "" "\n" "There are working clones of this machine: %s" msgstr "" +"\n" +"\n" +"Es gibt funktionsfähige Klone dieser Maschine: %s" #: src/frontend/mame/ui/info.cpp:275 msgid "" @@ -1745,7 +1753,7 @@ msgstr "Bedienung Cassettendeck" #: src/frontend/mame/ui/mainmenu.cpp:102 msgid "BIOS Selection" -msgstr "" +msgstr "BIOS-Auswahl" #: src/frontend/mame/ui/mainmenu.cpp:106 msgid "Slot Devices" @@ -1961,6 +1969,9 @@ msgid "" "different software.\n" "\n" msgstr "" +"Dem gewählten Programm fehlen eine oder mehrere Dateien. Bitte wählen Sie " +"ein anderes Programm aus.\n" +"\n" #: src/frontend/mame/ui/selsoft.cpp:751 #, c-format @@ -2075,7 +2086,7 @@ msgstr "Treiber" #: src/frontend/mame/ui/miscmenu.cpp:770 msgid "This machine has no BIOS." -msgstr "" +msgstr "Diese Maschine besitzt kein BIOS." #: src/frontend/mame/ui/miscmenu.cpp:784 msgid "Save machine configuration" @@ -2119,7 +2130,7 @@ msgstr "Bild als Hintergrund verwenden" #: src/frontend/mame/ui/submenu.cpp:31 msgid "Skip BIOS selection menu" -msgstr "" +msgstr "Menü zur BIOS-Auswahl überspringen" #: src/frontend/mame/ui/submenu.cpp:32 msgid "Skip software parts selection menu" @@ -2434,43 +2445,19 @@ msgstr "OK" #: src/frontend/mame/ui/simpleselgame.cpp:348 msgid "None" -msgstr "" +msgstr "Keine" #: src/frontend/mame/ui/simpleselgame.cpp:356 #, c-format msgid "Gfx: %s, Sound: %s" msgstr "Grafik: %s, Sound: %s" -#~ msgid "%1$s (%2$s - %3$s) - " -#~ msgstr "%1$s (%2$s - %3$s) - " - -#~ msgid "%1$s (%2$s) - " -#~ msgstr "%1$s (%2$s) - " - -#~ msgid "%1$s Search: %2$s_" -#~ msgstr "%1$s Suche: %2$s_" - #~ msgid "Main filter" #~ msgstr "Hauptfilter" #~ msgid "Other filter" #~ msgstr "Weiterer Filter" -#~ msgid "^!Manufacturer" -#~ msgstr "^!Hersteller" - -#~ msgid "^!Year" -#~ msgstr "Jahr: " - -#~ msgid "^!Publisher" -#~ msgstr "^!Herausgeber" - -#~ msgid "^!Software List" -#~ msgstr "^!Softwareliste" - -#~ msgid "^!Device type" -#~ msgstr "^!Gerätetyp" - #~ msgid "^!Region" #~ msgstr "^!Region" @@ -2480,48 +2467,9 @@ msgstr "Grafik: %s, Sound: %s" #~ msgid "Region: %1$s -" #~ msgstr "Region: %1$s -" -#~ msgid "Publisher: %1$s -" -#~ msgstr "Herausgeber: %1$s -" - -#~ msgid "Year: %1$s -" -#~ msgstr "Jahr: %1$s -" - -#~ msgid "Software List: %1$s -" -#~ msgstr "Softwareliste: %1$s -" - -#~ msgid "Device type: %1$s -" -#~ msgstr "Gerätetyp: %1$s -" - -#~ msgid "%s Search: %s_" -#~ msgstr "%s Suche: %s_" - -#~ msgid "Bios selection:" -#~ msgstr "BIOS-Auswahl" - -#~ msgid "Skip bios selection menu" -#~ msgstr "Menü zur BIOS-Auswahl überspringen" - -#~ msgid "Bios" -#~ msgstr "BIOS" - -#~ msgid "This machine has no bios." -#~ msgstr "Diese Maschine besitzt kein BIOS." - -#~ msgid "Bios Selection" -#~ msgstr "BIOS-Auswahl" - -#~ msgid " - ARGB Settings" -#~ msgstr " - ARGB-Einstellungen" - #~ msgid "Software History" #~ msgstr "Geschichte der Software" -#~ msgid "Mameinfo" -#~ msgstr "Mameinfo" - -#~ msgid "Messinfo" -#~ msgstr "Messinfo" - #~ msgid "The keyboard emulation may not be 100% accurate.\n" #~ msgstr "Die Tastaturemulation könnte nicht 100% korrekt sein.\n" @@ -2540,9 +2488,6 @@ msgstr "Grafik: %s, Sound: %s" #~ msgid "The machine lacks sound.\n" #~ msgstr "Der Maschine fehlt die Soundemulation.\n" -#~ msgid "The machine requires external artwork files\n" -#~ msgstr "Die Maschine benötigt externe Illustrationsdateien\n" - #~ msgid "The machine has protection which isn't fully emulated.\n" #~ msgstr "" #~ "Die Maschine besitzt einen Kopierschutz, der nicht vollständig emuliert " @@ -2560,137 +2505,18 @@ msgstr "Grafik: %s, Sound: %s" #~ "beinhalten. Es ist nicht möglich, diese Maschine vollständig zu " #~ "verwenden.\n" -#~ msgid "" -#~ "\n" -#~ "\n" -#~ "There are working clones of this machine: " -#~ msgstr "" -#~ "\n" -#~ "\n" -#~ "Es gibt funktionsfähige Klone dieser Maschine: " - -#~ msgid "" -#~ "The selected machine is missing one or more required ROM or CHD images. " -#~ "Please select a different machine.\n" -#~ "\n" -#~ "Press any key to continue." -#~ msgstr "" -#~ "Der gewählten Maschine fehlen ein oder mehrere benötigte ROM- oder CHD-" -#~ "Abbilder. Bitte wählen Sie eine andere Maschine aus.\n" -#~ "\n" -#~ "Drücken Sie eine beliebige Taste, um fortzufahren." - -#~ msgid "Romset: %1$-.100s\n" -#~ msgstr "ROM-Satz: %1$-.100s\n" - -#~ msgid "Year: %1$s\n" -#~ msgstr "Jahr: %1$s\n" - -#~ msgid "Manufacturer: %1$-.100s\n" -#~ msgstr "Hersteller: %1$-.100s\n" - -#~ msgid "Driver is Clone of: %1$-.100s\n" -#~ msgstr "Treiber ist ein Klon von: %1$-.100s\n" - -#~ msgid "Driver is Parent\n" -#~ msgstr "Treiber ist Ursprungs-Treiber\n" - -#~ msgid "Overall: NOT WORKING\n" -#~ msgstr "Insgesamt: FUNKTIONIERT NICHT\n" - -#~ msgid "Overall: Unemulated Protection\n" -#~ msgstr "Insgesamt: Nicht emulierter Kopierschutz\n" - -#~ msgid "Overall: Working\n" -#~ msgstr "Insgesamt: Funktioniert\n" - -#~ msgid "Graphics: Imperfect Colors\n" -#~ msgstr "Grafik: Fehlerhafte Farben\n" - -#~ msgid "Graphics: Imperfect\n" -#~ msgstr "Grafik: Fehlerhaft\n" - -#~ msgid "Graphics: OK\n" -#~ msgstr "Grafik: OK\n" - #~ msgid "Sound: Unimplemented\n" #~ msgstr "Sound: nicht implementiert\n" -#~ msgid "Sound: Imperfect\n" -#~ msgstr "Sound: Fehlerhaft\n" - -#~ msgid "Sound: OK\n" -#~ msgstr "Sound: OK\n" - -#~ msgid "Driver is Skeleton: %1$s\n" -#~ msgstr "Treiber ist ein \"Skelett\": %s\n" - #~ msgid "Game is Mechanical: %1$s\n" #~ msgstr "Spiel ist mechanisch: %1$s\n" -#~ msgid "Requires Artwork: %1$s\n" -#~ msgstr "Benötigt Illustrationen: %1$s\n" - -#~ msgid "Requires Clickable Artwork: %1$s\n" -#~ msgstr "Benötigt klickbare Illustrationen: %1$s\n" - -#~ msgid "Support Cocktail: %1$s\n" -#~ msgstr "Unterstützt Cocktail-Modus: %1$s\n" - -#~ msgid "Driver is Bios: %1$s\n" -#~ msgstr "Treiber ist BIOS: %1$s\n" - -#~ msgid "Support Save: %1$s\n" -#~ msgstr "Unterstützt Speichern: %1$s\n" - -#~ msgid "Screen Orientation: %1$s\n" -#~ msgstr "Bildschirm-Ausrichtung: %1$s\n" - -#~ msgid "Requires CHD: %1$s\n" -#~ msgstr "Benötigt CHD: %1$s\n" - -#~ msgid "Roms Audit Pass: OK\n" -#~ msgstr "ROM-Überprüfung: OK\n" - -#~ msgid "Roms Audit Pass: BAD\n" -#~ msgstr "ROM-Überprüfung: FEHLERHAFT\n" - -#~ msgid "Samples Audit Pass: None Needed\n" -#~ msgstr "Samples-Überprüfung: Nicht nötig\n" - -#~ msgid "Samples Audit Pass: OK\n" -#~ msgstr "Samples-Überprüfung: OK\n" - -#~ msgid "Samples Audit Pass: BAD\n" -#~ msgstr "Samples-Überprüfung: FEHLERHAFT\n" - -#~ msgid "" -#~ "Roms Audit Pass: Disabled\n" -#~ "Samples Audit Pass: Disabled\n" -#~ msgstr "" -#~ "ROM-Überprüfung: Deaktiviert\n" -#~ "Samples-Überprüfung: Deaktiviert\n" - #~ msgid "Usage" #~ msgstr "Verwendung" #~ msgid "No Infos Available" #~ msgstr "Keine Informationen verfügbar" -#~ msgid "" -#~ "The selected software is missing one or more required files. Please " -#~ "select a different software.\n" -#~ "\n" -#~ "Press any key to continue." -#~ msgstr "" -#~ "Dem gewählten Programm fehlen eine oder mehrere Dateien. Bitte wählen Sie " -#~ "ein anderes Programm aus.\n" -#~ "\n" -#~ "Drücken Sie eine beliebige Taste, um fortzufahren." - -#~ msgid " [internal]" -#~ msgstr " [intern]" - #~ msgid "DATs info" #~ msgstr "DAT-Informationen" @@ -2706,12 +2532,6 @@ msgstr "Grafik: %s, Sound: %s" #~ msgid "Load from position %s" #~ msgstr "Lade von Position %s" -#~ msgid "Export XML format (like -listxml)" -#~ msgstr "Im XML-Format exportieren" - -#~ msgid "Export TXT format (like -listfull)" -#~ msgstr "Im TXT-Format exportieren" - #~ msgid "Dummy" #~ msgstr "Platzhalter" @@ -2767,55 +2587,3 @@ msgstr "Grafik: %s, Sound: %s" #~ "\n" #~ "Andernfalls geben Sie \"OK\" ein oder bewegen Sie den Joystick nach links " #~ "und dann nach rechts um fortzufahren" - -#~ msgid "" -#~ "\n" -#~ "\n" -#~ "Type OK or move the joystick left then right to continue" -#~ msgstr "" -#~ "\n" -#~ "\n" -#~ "Geben Sie \"OK\" ein oder bewegen Sie den Joystick nach links und dann " -#~ "nach rechts, um fortzufahren" - -#~ msgid "Multi-Threaded Rendering" -#~ msgstr "Multi-Thread-Rendering" - -#~ msgid "Hardware Stretch" -#~ msgstr "Hardware-Streckung" - -#~ msgid "**Error loading %s.ini**" -#~ msgstr "**Fehler beim Laden von %s.ini**" - -#~ msgid "**Error loading ui.ini**" -#~ msgstr "**Fehler beim Laden von ui.ini**" - -#~ msgid "Double click or press " -#~ msgstr "Doppelklicken Sie oder drücken Sie " - -#~ msgid " to change the color value" -#~ msgstr " um den Farbwert zu ändern" - -#~ msgid " to select" -#~ msgstr " um auszuwählen" - -#~ msgid "Current " -#~ msgstr "Aktuelle " - -#~ msgid " Folders" -#~ msgstr " Ordner" - -#~ msgid "Change)" -#~ msgstr "Ändern)" - -#~ msgid "Add" -#~ msgstr "Hinzufügen" - -#~ msgid " Folder - Search: " -#~ msgstr " Ordner - Suche: " - -#~ msgid "Remove " -#~ msgstr "Entferne " - -#~ msgid " Folder" -#~ msgstr " Ordner" diff --git a/src/emu/uiinput.cpp b/src/emu/uiinput.cpp index 9123a6af526..18fee890eec 100644 --- a/src/emu/uiinput.cpp +++ b/src/emu/uiinput.cpp @@ -98,13 +98,13 @@ bool ui_input_manager::push_event(ui_event evt) /* some pre-processing (this is an icky place to do this stuff!) */ switch (evt.event_type) { - case UI_EVENT_MOUSE_MOVE: + case ui_event::MOUSE_MOVE: m_current_mouse_target = evt.target; m_current_mouse_x = evt.mouse_x; m_current_mouse_y = evt.mouse_y; break; - case UI_EVENT_MOUSE_LEAVE: + case ui_event::MOUSE_LEAVE: if (m_current_mouse_target == evt.target) { m_current_mouse_target = nullptr; @@ -113,11 +113,11 @@ bool ui_input_manager::push_event(ui_event evt) } break; - case UI_EVENT_MOUSE_DOWN: + case ui_event::MOUSE_DOWN: m_current_mouse_down = true; break; - case UI_EVENT_MOUSE_UP: + case ui_event::MOUSE_UP: m_current_mouse_down = false; break; @@ -142,20 +142,17 @@ bool ui_input_manager::push_event(ui_event evt) bool ui_input_manager::pop_event(ui_event *evt) { - bool result; - if (m_events_start != m_events_end) { *evt = m_events[m_events_start++]; m_events_start %= ARRAY_LENGTH(m_events); - result = true; + return true; } else { memset(evt, 0, sizeof(*evt)); - result = false; + return false; } - return result; } @@ -293,8 +290,8 @@ g_profiler.stop(); void ui_input_manager::push_mouse_move_event(render_target* target, s32 x, s32 y) { - ui_event event = { UI_EVENT_NONE }; - event.event_type = UI_EVENT_MOUSE_MOVE; + ui_event event = { ui_event::NONE }; + event.event_type = ui_event::MOUSE_MOVE; event.target = target; event.mouse_x = x; event.mouse_y = y; @@ -308,8 +305,8 @@ void ui_input_manager::push_mouse_move_event(render_target* target, s32 x, s32 y void ui_input_manager::push_mouse_leave_event(render_target* target) { - ui_event event = { UI_EVENT_NONE }; - event.event_type = UI_EVENT_MOUSE_LEAVE; + ui_event event = { ui_event::NONE }; + event.event_type = ui_event::MOUSE_LEAVE; event.target = target; push_event(event); } @@ -321,8 +318,8 @@ void ui_input_manager::push_mouse_leave_event(render_target* target) void ui_input_manager::push_mouse_down_event(render_target* target, s32 x, s32 y) { - ui_event event = { UI_EVENT_NONE }; - event.event_type = UI_EVENT_MOUSE_DOWN; + ui_event event = { ui_event::NONE }; + event.event_type = ui_event::MOUSE_DOWN; event.target = target; event.mouse_x = x; event.mouse_y = y; @@ -336,8 +333,8 @@ void ui_input_manager::push_mouse_down_event(render_target* target, s32 x, s32 y void ui_input_manager::push_mouse_up_event(render_target* target, s32 x, s32 y) { - ui_event event = { UI_EVENT_NONE }; - event.event_type = UI_EVENT_MOUSE_UP; + ui_event event = { ui_event::NONE }; + event.event_type = ui_event::MOUSE_UP; event.target = target; event.mouse_x = x; event.mouse_y = y; @@ -351,8 +348,8 @@ down event to the specified render_target void ui_input_manager::push_mouse_rdown_event(render_target* target, s32 x, s32 y) { - ui_event event = { UI_EVENT_NONE }; - event.event_type = UI_EVENT_MOUSE_RDOWN; + ui_event event = { ui_event::NONE }; + event.event_type = ui_event::MOUSE_RDOWN; event.target = target; event.mouse_x = x; event.mouse_y = y; @@ -366,8 +363,8 @@ down event to the specified render_target void ui_input_manager::push_mouse_rup_event(render_target* target, s32 x, s32 y) { - ui_event event = { UI_EVENT_NONE }; - event.event_type = UI_EVENT_MOUSE_RUP; + ui_event event = { ui_event::NONE }; + event.event_type = ui_event::MOUSE_RUP; event.target = target; event.mouse_x = x; event.mouse_y = y; @@ -381,8 +378,8 @@ void ui_input_manager::push_mouse_rup_event(render_target* target, s32 x, s32 y) -------------------------------------------------*/ void ui_input_manager::push_mouse_double_click_event(render_target* target, s32 x, s32 y) { - ui_event event = { UI_EVENT_NONE }; - event.event_type = UI_EVENT_MOUSE_DOUBLE_CLICK; + ui_event event = { ui_event::NONE }; + event.event_type = ui_event::MOUSE_DOUBLE_CLICK; event.target = target; event.mouse_x = x; event.mouse_y = y; @@ -395,8 +392,8 @@ void ui_input_manager::push_mouse_double_click_event(render_target* target, s32 -------------------------------------------------*/ void ui_input_manager::push_char_event(render_target* target, char32_t ch) { - ui_event event = { UI_EVENT_NONE }; - event.event_type = UI_EVENT_CHAR; + ui_event event = { ui_event::NONE }; + event.event_type = ui_event::IME_CHAR; event.target = target; event.ch = ch; push_event(event); @@ -409,8 +406,8 @@ void ui_input_manager::push_char_event(render_target* target, char32_t ch) void ui_input_manager::push_mouse_wheel_event(render_target *target, s32 x, s32 y, short delta, int ucNumLines) { - ui_event event = { UI_EVENT_NONE }; - event.event_type = UI_EVENT_MOUSE_WHEEL; + ui_event event = { ui_event::NONE }; + event.event_type = ui_event::MOUSE_WHEEL; event.target = target; event.mouse_x = x; event.mouse_y = y; diff --git a/src/emu/uiinput.h b/src/emu/uiinput.h index e6673c4d763..2a7aeeff084 100644 --- a/src/emu/uiinput.h +++ b/src/emu/uiinput.h @@ -23,23 +23,23 @@ TYPE DEFINITIONS ***************************************************************************/ -enum ui_event_type -{ - UI_EVENT_NONE, - UI_EVENT_MOUSE_MOVE, - UI_EVENT_MOUSE_LEAVE, - UI_EVENT_MOUSE_DOWN, - UI_EVENT_MOUSE_UP, - UI_EVENT_MOUSE_RDOWN, - UI_EVENT_MOUSE_RUP, - UI_EVENT_MOUSE_DOUBLE_CLICK, - UI_EVENT_MOUSE_WHEEL, - UI_EVENT_CHAR -}; - struct ui_event { - ui_event_type event_type; + enum type + { + NONE, + MOUSE_MOVE, + MOUSE_LEAVE, + MOUSE_DOWN, + MOUSE_UP, + MOUSE_RDOWN, + MOUSE_RUP, + MOUSE_DOUBLE_CLICK, + MOUSE_WHEEL, + IME_CHAR + }; + + type event_type; render_target * target; s32 mouse_x; s32 mouse_y; @@ -65,6 +65,9 @@ public: /* pops an event off of the queue */ bool pop_event(ui_event *event); + /* check the next event type without removing it */ + ui_event::type peek_event_type() const { return (m_events_start != m_events_end) ? m_events[m_events_start].event_type : ui_event::NONE; } + /* clears all outstanding events */ void reset(); diff --git a/src/frontend/mame/ui/menu.cpp b/src/frontend/mame/ui/menu.cpp index eac424ea412..5f1056bc45d 100644 --- a/src/frontend/mame/ui/menu.cpp +++ b/src/frontend/mame/ui/menu.cpp @@ -907,7 +907,7 @@ void menu::handle_events(uint32_t flags, event &ev) switch (local_menu_event.event_type) { // if we are hovering over a valid item, select it with a single click - case UI_EVENT_MOUSE_DOWN: + case ui_event::MOUSE_DOWN: if (custom_mouse_down()) return; @@ -943,7 +943,7 @@ void menu::handle_events(uint32_t flags, event &ev) break; // if we are hovering over a valid item, fake a UI_SELECT with a double-click - case UI_EVENT_MOUSE_DOUBLE_CLICK: + case ui_event::MOUSE_DOUBLE_CLICK: if (!(flags & PROCESS_ONLYCHAR) && hover >= 0 && hover < item.size()) { selected = hover; @@ -958,7 +958,7 @@ void menu::handle_events(uint32_t flags, event &ev) break; // caught scroll event - case UI_EVENT_MOUSE_WHEEL: + case ui_event::MOUSE_WHEEL: if (!(flags & PROCESS_ONLYCHAR)) { if (local_menu_event.zdelta > 0) @@ -991,7 +991,7 @@ void menu::handle_events(uint32_t flags, event &ev) break; // translate CHAR events into specials - case UI_EVENT_CHAR: + case ui_event::IME_CHAR: ev.iptkey = IPT_SPECIAL; ev.unichar = local_menu_event.ch; stop = true; diff --git a/src/frontend/mame/ui/selgame.cpp b/src/frontend/mame/ui/selgame.cpp index 86e1ac06dce..cb66194acb5 100644 --- a/src/frontend/mame/ui/selgame.cpp +++ b/src/frontend/mame/ui/selgame.cpp @@ -224,11 +224,6 @@ void menu_select_game::handle() highlight = machine_filter::LAST; break; - case IPT_SPECIAL: - // typed characters append to the buffer - inkey_special(menu_event); - break; - case IPT_OTHER: // this is generated when something in the left box is clicked m_prev_selected = nullptr; @@ -849,22 +844,9 @@ void menu_select_game::inkey_select_favorite(const event *menu_event) // returns if the search can be activated //------------------------------------------------- -inline bool menu_select_game::isfavorite() const +bool menu_select_game::isfavorite() const { - return (main_filters::actual == machine_filter::FAVORITE); -} - -//------------------------------------------------- -// handle special key event -//------------------------------------------------- - -void menu_select_game::inkey_special(const event *menu_event) -{ - if (!isfavorite()) - { - if (input_character(m_search, menu_event->unichar, uchar_is_printable)) - reset(reset_options::SELECT_FIRST); - } + return machine_filter::FAVORITE == main_filters::actual; } @@ -1432,7 +1414,7 @@ void menu_select_game::make_topbox_text(std::string &line0, std::string &line1, { line1.clear(); } - if (main_filters::actual == machine_filter::CATEGORY && inifile.total() > 0) + else if (main_filters::actual == machine_filter::CATEGORY && inifile.total() > 0) { line1 = string_format(_("%1$s (%2$s - %3$s) - Search: %4$s_"), machine_filter::display_name(main_filters::actual), diff --git a/src/frontend/mame/ui/selgame.h b/src/frontend/mame/ui/selgame.h index e8093ff5f78..0a2b49e08bd 100644 --- a/src/frontend/mame/ui/selgame.h +++ b/src/frontend/mame/ui/selgame.h @@ -56,6 +56,7 @@ private: // get selected software and/or driver virtual void get_selection(ui_software_info const *&software, game_driver const *&driver) const override; + virtual bool accept_search() const override { return !isfavorite(); } // text for main top/bottom panels virtual void make_topbox_text(std::string &line0, std::string &line1, std::string &line2) const override; @@ -88,7 +89,6 @@ private: // handlers void inkey_select(const event *menu_event); void inkey_select_favorite(const event *menu_event); - void inkey_special(const event *menu_event); void inkey_export(); }; diff --git a/src/frontend/mame/ui/selmenu.cpp b/src/frontend/mame/ui/selmenu.cpp index 2af76f00d0b..7ae24e1cdae 100644 --- a/src/frontend/mame/ui/selmenu.cpp +++ b/src/frontend/mame/ui/selmenu.cpp @@ -1310,9 +1310,6 @@ void menu_select_launch::handle_keys(uint32_t flags, int &iptkey) void menu_select_launch::handle_events(uint32_t flags, event &ev) { - bool stop = false; - ui_event local_menu_event; - if (m_pressed) { bool const pressed = mouse_pressed(); @@ -1331,12 +1328,14 @@ void menu_select_launch::handle_events(uint32_t flags, event &ev) } // loop while we have interesting events + bool stop(false), search_changed(false); + ui_event local_menu_event; while (!stop && machine().ui_input().pop_event(&local_menu_event)) { switch (local_menu_event.event_type) { // if we are hovering over a valid item, select it with a single click - case UI_EVENT_MOUSE_DOWN: + case ui_event::MOUSE_DOWN: if (m_ui_error) { ev.iptkey = IPT_OTHER; @@ -1433,7 +1432,7 @@ void menu_select_launch::handle_events(uint32_t flags, event &ev) break; // if we are hovering over a valid item, fake a UI_SELECT with a double-click - case UI_EVENT_MOUSE_DOUBLE_CLICK: + case ui_event::MOUSE_DOUBLE_CLICK: if (hover >= 0 && hover < item.size()) { selected = hover; @@ -1449,7 +1448,7 @@ void menu_select_launch::handle_events(uint32_t flags, event &ev) break; // caught scroll event - case UI_EVENT_MOUSE_WHEEL: + case ui_event::MOUSE_WHEEL: if (hover >= 0 && hover < item.size() - skip_main_items - 1) { if (local_menu_event.zdelta > 0) @@ -1481,21 +1480,25 @@ void menu_select_launch::handle_events(uint32_t flags, event &ev) break; // translate CHAR events into specials - case UI_EVENT_CHAR: + case ui_event::IME_CHAR: if (exclusive_input_pressed(ev.iptkey, IPT_UI_CONFIGURE, 0)) { ev.iptkey = IPT_UI_CONFIGURE; stop = true; } - else + else if (m_ui_error) { ev.iptkey = IPT_SPECIAL; - ev.unichar = local_menu_event.ch; stop = true; } + else if (accept_search()) + { + if (input_character(m_search, local_menu_event.ch, uchar_is_printable)) + search_changed = true; + } break; - case UI_EVENT_MOUSE_RDOWN: + case ui_event::MOUSE_RDOWN: if (hover >= 0 && hover < item.size() - skip_main_items - 1) { selected = hover; @@ -1512,7 +1515,30 @@ void menu_select_launch::handle_events(uint32_t flags, event &ev) default: break; } + + // need to update search before processing certain kinds of events, but others don't matter + if (search_changed) + { + switch (machine().ui_input().peek_event_type()) + { + case ui_event::MOUSE_DOWN: + case ui_event::MOUSE_RDOWN: + case ui_event::MOUSE_DOUBLE_CLICK: + case ui_event::MOUSE_WHEEL: + stop = true; + break; + case ui_event::NONE: + case ui_event::MOUSE_MOVE: + case ui_event::MOUSE_LEAVE: + case ui_event::MOUSE_UP: + case ui_event::MOUSE_RUP: + case ui_event::IME_CHAR: + break; + } + } } + if (search_changed) + reset(reset_options::SELECT_FIRST); } diff --git a/src/frontend/mame/ui/selmenu.h b/src/frontend/mame/ui/selmenu.h index 888a72e085d..8b8d0157448 100644 --- a/src/frontend/mame/ui/selmenu.h +++ b/src/frontend/mame/ui/selmenu.h @@ -195,6 +195,7 @@ private: // get selected software and/or driver virtual void get_selection(ui_software_info const *&software, game_driver const *&driver) const = 0; + virtual bool accept_search() const { return true; } void select_prev() { if (!m_prev_selected) diff --git a/src/frontend/mame/ui/selsoft.cpp b/src/frontend/mame/ui/selsoft.cpp index a3a3cd072ef..e64a6136cf7 100644 --- a/src/frontend/mame/ui/selsoft.cpp +++ b/src/frontend/mame/ui/selsoft.cpp @@ -244,11 +244,6 @@ void menu_select_software::handle() } } } - else if (menu_event->iptkey == IPT_SPECIAL) - { - // typed characters append to the buffer - inkey_special(menu_event); - } } } } @@ -528,16 +523,6 @@ void menu_select_software::inkey_select(const event *menu_event) } } -//------------------------------------------------- -// handle special key event -//------------------------------------------------- - -void menu_select_software::inkey_special(const event *menu_event) -{ - if (input_character(m_search, menu_event->unichar, uchar_is_printable)) - reset(reset_options::SELECT_FIRST); -} - //------------------------------------------------- // load custom filters info from file diff --git a/src/frontend/mame/ui/selsoft.h b/src/frontend/mame/ui/selsoft.h index bcde4479f80..0982580a5f0 100644 --- a/src/frontend/mame/ui/selsoft.h +++ b/src/frontend/mame/ui/selsoft.h @@ -62,7 +62,6 @@ private: // handlers void inkey_select(const event *menu_event); - void inkey_special(const event *menu_event); virtual void general_info(const game_driver *driver, std::string &buffer) override {} }; diff --git a/src/frontend/mame/ui/ui.cpp b/src/frontend/mame/ui/ui.cpp index 04a03f7fc44..a7434c6df54 100644 --- a/src/frontend/mame/ui/ui.cpp +++ b/src/frontend/mame/ui/ui.cpp @@ -821,7 +821,7 @@ void mame_ui_manager::process_natural_keyboard() while (machine().ui_input().pop_event(&event)) { // if this was a UI_EVENT_CHAR event, post it - if (event.event_type == UI_EVENT_CHAR) + if (event.event_type == ui_event::IME_CHAR) machine().ioport().natkeyboard().post(event.ch); } diff --git a/src/osd/modules/debugger/debugimgui.cpp b/src/osd/modules/debugger/debugimgui.cpp index 05f56521b18..293ac0229df 100644 --- a/src/osd/modules/debugger/debugimgui.cpp +++ b/src/osd/modules/debugger/debugimgui.cpp @@ -358,7 +358,7 @@ void debug_imgui::handle_keys() { switch (event.event_type) { - case UI_EVENT_CHAR: + case ui_event::IME_CHAR: m_key_char = event.ch; if(focus_view != nullptr) focus_view->view->process_char(m_key_char); diff --git a/src/osd/modules/input/input_uwp.cpp b/src/osd/modules/input/input_uwp.cpp index 2130d000fea..6b3b8675cff 100644 --- a/src/osd/modules/input/input_uwp.cpp +++ b/src/osd/modules/input/input_uwp.cpp @@ -492,7 +492,7 @@ internal: { ui_event uiev; memset(&uiev, 0, sizeof(uiev)); - uiev.event_type = UI_EVENT_CHAR; + uiev.event_type = ui_event::IME_CHAR; this->Machine.ui_input().push_event(uiev); } }