diff --git a/README.md b/README.md index 93a8a6e..57be3d1 100644 --- a/README.md +++ b/README.md @@ -31,10 +31,14 @@ Right click on the 'New' label to specify the number of faces and whether double Right click on the 'Scan' button to set the device properties. -'Ctrl - right' click on the 'Scan' button to define stamps. +'Ctrl - right click' on the 'Scan' button to define stamps. Press 'Esc' to cancel and reset a scan project. +Press 'Ctrl + N' to open a new window. + +Press 'Ctrl + Q' to close a window. + Outputs: - a single PDF file with the number of requested pages diff --git a/Resources/Lokalize/fr/S7.po b/Resources/Lokalize/fr/S7.po index 8738b24..0368091 100644 --- a/Resources/Lokalize/fr/S7.po +++ b/Resources/Lokalize/fr/S7.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-11 21:35+0200\n" +"POT-Creation-Date: 2025-07-13 21:00+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -56,8 +56,7 @@ msgstr "" "déterminée par le format de sortie." #: ../../Resources/InsaneWidget/UI/InsaneWidget.cpp:139 -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:188 -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:302 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:182 msgid "Scan" msgstr "Numériser" @@ -92,66 +91,66 @@ msgstr "Mode de numérisation" msgid "Scan resolution" msgstr "Résolution de la numérisation" -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:171 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:208 msgid "A scan library error occurred." msgstr "Une erreur de bibliothèque est survenue." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:177 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:216 msgid "A general error occurred." msgstr "Une erreur générale est survenue." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:181 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:221 msgid "A session read error occurred." msgstr "Une erreur de lecture est survenue." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:190 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:233 msgid "Session cancelled." msgstr "Session annulée." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:208 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:250 msgid "Scanning: " msgstr "Numérisation :" -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:210 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:252 msgid "Front face: " msgstr "Recto :" -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:212 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:254 msgid "Back face: " msgstr "Verso :" -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:216 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:258 msgid ". Turn the whole stack of pages." msgstr ". Retournez toute la pile de pages." msgid "Failed to create PNG image." msgstr "Échec de création d'image PNG." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:248 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:289 msgid "Wrong paper size: " msgstr "Mauvaise taille de papier :" -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:248 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:289 msgid "; using A4." msgstr "; utilisation du format A4." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:255 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:296 msgid "Failed to add page to PDF document." msgstr "Échec d'ajout de page au document PDF." msgid "Unhandled output file format." msgstr "Format de fichier de sortie non pris en charge." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:298 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:339 msgid "Finished." msgstr "Terminé." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:398 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:452 msgid "Scan all front faces first, then all back faces in reverse order." msgstr "" "Numériser tous les faces recto, puis toutes les faces verso en ordre inverse." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:401 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:455 msgid "Total number of sides to scan (not total number of sheets)." msgstr "" "Nombre total de faces à numériser (et non pas le nombre total de feuilles)." @@ -164,18 +163,18 @@ msgstr "NUM" msgid "CAPS" msgstr "CAPS" -#: ../../Resources/InsaneWidget/XScannerWidget.cpp:64 +#: ../../Resources/InsaneWidget/XScannerWidget.cpp:89 msgid "Searching for devices..." msgstr "Recherche de périphériques..." -#: ../../Resources/InsaneWidget/XScannerWidget.cpp:67 +#: ../../Resources/InsaneWidget/XScannerWidget.cpp:92 msgid "Could not initialise insane api." msgstr "Échec d'initialisation de la bibliothèque 'insane'." msgid "'Shift + left' click'' to generate a new destination file name." msgstr "'Maj + clic gauche' pour générer un nouveau fichier de sortie." -#: ../../XS7.cpp:107 +#: ../../XS7.cpp:95 msgid "Could not launch default file manager" msgstr "Échec de lancement du gestionnaire de fichier par défaut." @@ -231,19 +230,19 @@ msgstr "Résolution :" msgid "Paper size:" msgstr "Format de page :" -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:397 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:451 msgid "Double sided:" msgstr "Recto-verso :" -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:399 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:453 msgid "Total:" msgstr "Total :" -#: ../../XS7.cpp:84 +#: ../../XS7.cpp:49 msgid "'Shift + left' click to generate a new destination file name." msgstr "'Maj + clic gauche' pour générer un nouveau fichier de sortie." -#: ../../XS7.cpp:47 ../../XS7.cpp:164 +#: ../../Resources/UI/S7/s7app.cpp:174 ../../XS7.cpp:164 msgid " - version " msgstr " - version " @@ -255,23 +254,23 @@ msgstr "" ", utilisant InsaneWidget.\n" "\n" -#: ../../Resources/InsaneWidget/XScannerWidget.cpp:87 +#: ../../Resources/InsaneWidget/XScannerWidget.cpp:112 msgid " device(s) found." msgstr " périphériques trouvé(s)." -#: ../../XS7.cpp:31 +#: ../../Resources/UI/S7/s7app.cpp:158 msgid "Config file tag." msgstr "Suffixe du fichier de configuration." -#: ../../XS7.cpp:32 +#: ../../Resources/UI/S7/s7app.cpp:159 msgid "Show version and quit." msgstr "Afficher la version et quitter." -#: ../../XS7.cpp:33 +#: ../../Resources/UI/S7/s7app.cpp:160 msgid "Show help and quit." msgstr "Afficher l'aide et quitter." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:461 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:515 msgid "Destination file missing." msgstr "Fichier de destination manquant." @@ -309,7 +308,7 @@ msgstr "Échec de lecture du fichier brut." msgid "Unhandled output image format." msgstr "Format de fichier d'image en sortie non pris en charge." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:229 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:270 msgid "Failed to create output image." msgstr "Échec de création de l'image de sortie." @@ -383,7 +382,7 @@ msgstr "" "'Clic droit' pour afficher les options du numériseur.\n" "'Ctrl + Clic droit' pour définir un tampon." -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:423 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:477 msgid "Stamps" msgstr "Tampons" @@ -424,6 +423,10 @@ msgid "" "Check for a completely transparent background and for a transparent text." msgstr "Activez la transparence du texte et de l'arrière-plan. " -#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:511 +#: ../../Resources/InsaneWidget/XInsaneWidget.cpp:189 msgid "Cancel" msgstr "Annuler" + +#: ../../XS7.cpp:74 +msgid "Veto: scanner discovery is running." +msgstr "Veto : recherche de périphériques en cours." diff --git a/XS7.cpp b/XS7.cpp index d1501ce..3cbe2d6 100644 --- a/XS7.cpp +++ b/XS7.cpp @@ -105,6 +105,18 @@ void XS7::OnAppKeyPressed(wxKeyEvent& evt) { if (evt.GetKeyCode() == 'Q') Close(); + // Create a new instance of the application window. + if (evt.GetKeyCode() == 'N') + { + static int instanceId = 0; + instanceId++; + XS7 * instance = new XS7(nullptr, wxID_ANY); + instance->Show(false); + instance->Setup(m_config); + const wxString title = instance->GetTitle() + _T(" (#") + to_string(instanceId) + _T(")"); + instance->SetTitle(title); + instance->Show(true); + } } if (evt.GetKeyCode() == WXK_ESCAPE) if (m_insaneWidget)