From f6f518eacc7b5120d26bad129caedeebe55de019 Mon Sep 17 00:00:00 2001 From: Mike Swanson Date: Mon, 22 Dec 2025 00:54:50 -0800 Subject: [PATCH 1/3] Use lock emoji to indicate write-protected recent disk images. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes the menu look a little more visually distinct and obvious when a recent disk image item is set to write-protected mode. While an icon does exist, I have found it to be small and visually indistinguisable enough that I didn't even know it existed before I dug into the code. This prefixes image names with U+1F512 LOCK (đź”’). My first iteration also added U+1F513 OPEN LOCK (🔓) to read-write image names, but I quickly found that to be too visually distracting and confusing next to the write-protect symbols, so I have opted to only keep the first one. This might have a caveat that the symbol will fail to show up on systems without the lock emoji somewhere in their font set, but these days, I expect pretty much everyone to be on OSes that come with the full set of emoji fonts anyhow. --- src/qt/qt_mediamenu.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qt/qt_mediamenu.cpp b/src/qt/qt_mediamenu.cpp index b2dcf9c40..c5611ec2e 100644 --- a/src/qt/qt_mediamenu.cpp +++ b/src/qt/qt_mediamenu.cpp @@ -668,7 +668,7 @@ MediaMenu::updateImageHistory(int index, int slot, ui::MediaType type) else fi.setFile(fn); if (!fi.fileName().isEmpty() && (fn.left(5) == "wp://")) { - menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : fn.right(fn.length() - 5); + menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : "đź”’ " + fn.right(fn.length() - 5); imageHistoryUpdatePos->setIcon(getIconWithIndicator(menu_icon, pixmap_size, QIcon::Normal, WriteProtected)); } else { menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : fn; @@ -696,7 +696,7 @@ MediaMenu::updateImageHistory(int index, int slot, ui::MediaType type) else fi.setFile(fn); if (!fi.fileName().isEmpty() && (fn.left(5) == "wp://")) { - menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : fn.right(fn.length() - 5); + menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : "đź”’ " + fn.right(fn.length() - 5); imageHistoryUpdatePos->setIcon(getIconWithIndicator(menu_icon, pixmap_size, QIcon::Normal, WriteProtected)); } else { menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : fn; @@ -735,7 +735,7 @@ MediaMenu::updateImageHistory(int index, int slot, ui::MediaType type) else fi.setFile(fn); if (!fi.fileName().isEmpty() && (fn.left(5) == "wp://")) { - menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : fn.right(fn.length() - 5); + menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : "đź”’ " + fn.right(fn.length() - 5); imageHistoryUpdatePos->setIcon(getIconWithIndicator(menu_icon, pixmap_size, QIcon::Normal, WriteProtected)); } else { menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : fn; @@ -754,7 +754,7 @@ MediaMenu::updateImageHistory(int index, int slot, ui::MediaType type) else fi.setFile(fn); if (!fi.fileName().isEmpty() && (fn.left(5) == "wp://")) { - menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : fn.right(fn.length() - 5); + menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : "đź”’ " + fn.right(fn.length() - 5); imageHistoryUpdatePos->setIcon(getIconWithIndicator(menu_icon, pixmap_size, QIcon::Normal, WriteProtected)); } else { menu_item_name = fi.fileName().isEmpty() ? tr("Reload previous image") : fn; From cebf1502ac99f103ef69dfe99ad879533316bdc9 Mon Sep 17 00:00:00 2001 From: RSX798 Date: Tue, 23 Dec 2025 08:52:38 +0800 Subject: [PATCH 2/3] Update fr-FR.po --- src/qt/languages/fr-FR.po | 54 +++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/src/qt/languages/fr-FR.po b/src/qt/languages/fr-FR.po index cba81ff67..20c6483db 100644 --- a/src/qt/languages/fr-FR.po +++ b/src/qt/languages/fr-FR.po @@ -19,7 +19,7 @@ msgid "&Keyboard requires capture" msgstr "C&apturer le clavier" msgid "&Right CTRL is left ALT" -msgstr "CTRL &Droite devient ALT Gauche" +msgstr "CTRL &droite devient ALT gauche" msgid "&Hard reset" msgstr "&Hard reset" @@ -28,7 +28,7 @@ msgid "&Ctrl+Alt+Del" msgstr "&Ctrl+Alt+Suppr" msgid "Ctrl+Alt+&Esc" -msgstr "Ctrl+Alt+&Esc" +msgstr "Ctrl+A<+Échap" msgid "&Pause" msgstr "&Pause" @@ -79,7 +79,7 @@ msgid "Force &4:3 display ratio" msgstr "Forcer le ratio &4:3" msgid "&Window scale factor" -msgstr "Facteur d'&Echelle" +msgstr "Facteur d'Ă©ch&elle" msgid "&0.5x" msgstr "&0.5x" @@ -112,7 +112,7 @@ msgid "&8x" msgstr "&8x" msgid "Fi<er method" -msgstr "MĂ©t&hode de Filtre" +msgstr "MĂ©t&hode de filtre" msgid "&Nearest" msgstr "&Plus proche" @@ -139,16 +139,16 @@ msgid "&Square pixels (Keep ratio)" msgstr "Pixels &carrĂ©s (Conserver le ratio)" msgid "&Integer scale" -msgstr "&Echelle entière" +msgstr "Éch&elle entière" msgid "4:&3 Integer scale" -msgstr "Echelle entière 4:&3" +msgstr "Échelle entière 4:&3" msgid "EGA/(S)&VGA settings" msgstr "RĂ©glages EGA/(S)&VGA" msgid "&Inverted VGA monitor" -msgstr "Moniteur VGA &InversĂ©" +msgstr "Moniteur VGA &inversĂ©" msgid "VGA screen &type" msgstr "&Type d'Ă©cran VGA" @@ -160,22 +160,22 @@ msgid "RGB (no brown)" msgstr "RVB (sans brun)" msgid "&RGB Grayscale" -msgstr "Niveau de Gris &RVB" +msgstr "Niveau de gris &RVB" msgid "Generic RGBI color monitor" msgstr "Moniteur couleur RVB gĂ©nĂ©rique" msgid "&Amber monitor" -msgstr "Moniteur &Ambre" +msgstr "Moniteur &ambre" msgid "&Green monitor" -msgstr "Moniteur &Vert" +msgstr "Moniteur &vert" msgid "&White monitor" -msgstr "Moniteur &Blanc" +msgstr "Moniteur &blanc" msgid "Grayscale &conversion type" -msgstr "Type de &conversion du niveau de Gris" +msgstr "Type de &conversion du niveau de gris" msgid "BT&601 (NTSC/PAL)" msgstr "BT&601 (NTSC/PAL)" @@ -220,7 +220,7 @@ msgid "Enable &Discord integration" msgstr "Activer l'intĂ©gration &Discord" msgid "Sound &gain…" -msgstr "&Gain Son…" +msgstr "&Gain son…" msgid "Begin trace" msgstr "DĂ©marrer traces" @@ -229,22 +229,22 @@ msgid "End trace" msgstr "ArrĂŞter traces" msgid "&Help" -msgstr "Ai&de" +msgstr "&Aide" msgid "&Documentation…" msgstr "&Documentation…" msgid "&About 86Box…" -msgstr "&A Propos de 86Box…" +msgstr "Ă€ &propos de 86Box…" msgid "&New image…" msgstr "&Nouvelle image…" msgid "&Existing image…" -msgstr "Image &Existante…" +msgstr "Image &existante…" msgid "Existing image (&Write-protected)…" -msgstr "Image Existante (&Lecture seule)…" +msgstr "Image existante (&Lecture seule)…" msgid "&Record" msgstr "En®istrer" @@ -256,7 +256,7 @@ msgid "&Rewind to the beginning" msgstr "&Revenir au debut" msgid "&Fast forward to the end" -msgstr "Avance rapide jusqu'Ă  la &Fin" +msgstr "Avance rapide jusqu'Ă  la &fin" msgid "E&ject" msgstr "É&jecter" @@ -595,7 +595,7 @@ msgid "Type:" msgstr "Type :" msgid "Image Format:" -msgstr "Format Image :" +msgstr "Format image :" msgid "Block Size:" msgstr "Taille du bloc :" @@ -1300,7 +1300,7 @@ msgid "Warning" msgstr "Avertissement" msgid "&Kill" -msgstr "Fo&rcer Extinction" +msgstr "Fo&rcer extinction" msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?" msgstr "La fermeture forcĂ©e d'une machine virtuelle peut entraĂ®ner une perte de donnĂ©es. Ne procĂ©dez ainsi que si le processus 86Box est bloquĂ©.\n\nVoulez-vous vraiment fermer la machine virtuelle « %1 » ?" @@ -1459,10 +1459,10 @@ msgid "Differencing VHD (.vhd)" msgstr "VHD diffĂ©rentiel (.vhd)" msgid "Large blocks (2 MB)" -msgstr "Grands Blocs (2 Mo)" +msgstr "Grands blocs (2 Mo)" msgid "Small blocks (512 KB)" -msgstr "Petits Blocs (512 Ko)" +msgstr "Petits blocs (512 Ko)" msgid "VHD files" msgstr "Fichiers VHD" @@ -1624,10 +1624,10 @@ msgid "List of MCA devices:" msgstr "Liste des dispositifs MCA :" msgid "&Tablet tool" -msgstr "Outil Tablette" +msgstr "Outil tablette" msgid "About &Qt" -msgstr "A propos de &Qt" +msgstr "Ă€ propos de &Qt" msgid "&MCA devices…" msgstr "Dispositifs MCA…" @@ -1684,7 +1684,7 @@ msgid "Use target framerate:" msgstr "Utiliser le taux de rafraĂ®chissement cible :" msgid " fps" -msgstr " Images par seconde" +msgstr " images par seconde" msgid "VSync" msgstr "VSync" @@ -2707,7 +2707,7 @@ msgid "Ask for confirmation before saving settings" msgstr "Demander confirmation avant de sauvegarder les rĂ©glages" msgid "Ask for confirmation before hard resetting" -msgstr "Demander confirmation avant Hard Reset" +msgstr "Demander confirmation avant hard reset" msgid "Ask for confirmation before quitting" msgstr "Demander confirmation avant de quitter" @@ -2743,7 +2743,7 @@ msgid "Shader Manager" msgstr "Gestionnaire de shader" msgid "Shader Configuration" -msgstr "Configuration Shader" +msgstr "Configuration du shader" msgid "Add" msgstr "Ajouter" From 2e9c82bf3efe1e28c62d1b0b9620d3c8b4bd8f56 Mon Sep 17 00:00:00 2001 From: RSX798 Date: Tue, 23 Dec 2025 09:02:20 +0800 Subject: [PATCH 3/3] Make "d" as hotkey in "Aide" --- src/qt/languages/fr-FR.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/languages/fr-FR.po b/src/qt/languages/fr-FR.po index 20c6483db..6a5628f29 100644 --- a/src/qt/languages/fr-FR.po +++ b/src/qt/languages/fr-FR.po @@ -229,7 +229,7 @@ msgid "End trace" msgstr "ArrĂŞter traces" msgid "&Help" -msgstr "&Aide" +msgstr "Ai&de" msgid "&Documentation…" msgstr "&Documentation…"