kopia lustrzana https://gitlab.com/sane-project/frontends
Add xcam spinner.
rodzic
fb21102577
commit
a9b7b510bf
38
po/en.po
38
po/en.po
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: sconfig\n"
|
||||
"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n"
|
||||
"POT-Creation-Date: 2025-06-05 20:15+0200\n"
|
||||
"POT-Creation-Date: 2025-06-05 23:28+0200\n"
|
||||
"Language: en\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -206,11 +206,11 @@ msgstr ""
|
|||
msgid "Restore device settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/xscanimage.c:1897 src/xcam.c:1717
|
||||
#: src/xscanimage.c:1897 src/xcam.c:1797
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#: src/xscanimage.c:1904 src/xcam.c:1731
|
||||
#: src/xscanimage.c:1904 src/xcam.c:1811
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
|
@ -242,11 +242,11 @@ msgstr ""
|
|||
msgid "Select device"
|
||||
msgstr ""
|
||||
|
||||
#: src/xscanimage.c:2206
|
||||
#: src/xscanimage.c:2206 src/xcam.c:903
|
||||
msgid "Searching for scanners..."
|
||||
msgstr ""
|
||||
|
||||
#: src/xscanimage.c:2211
|
||||
#: src/xscanimage.c:2211 src/xcam.c:908
|
||||
msgid "Search for devices in progress..."
|
||||
msgstr ""
|
||||
|
||||
|
@ -267,61 +267,61 @@ msgstr ""
|
|||
msgid "%s: GIMP support missing.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1253
|
||||
#: src/xcam.c:1350
|
||||
#, c-format
|
||||
msgid "Failed to start webcam: %s."
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1263
|
||||
#: src/xcam.c:1360
|
||||
#, c-format
|
||||
msgid "Failed to get parameters: %s."
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1331
|
||||
#: src/xcam.c:1428
|
||||
msgid " Play "
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1337
|
||||
#: src/xcam.c:1434
|
||||
msgid " Stop "
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1361
|
||||
#: src/xcam.c:1458
|
||||
msgid "Saving started"
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1378
|
||||
#: src/xcam.c:1475
|
||||
#, c-format
|
||||
msgid "Failed to scan, wrong file extension, use pnm, pgm, pbm or ppm `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1386
|
||||
#: src/xcam.c:1483
|
||||
#, c-format
|
||||
msgid "Failed to open `%s': %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1396
|
||||
#: src/xcam.c:1493
|
||||
msgid ""
|
||||
"Save\n"
|
||||
"Frame"
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1412
|
||||
#: src/xcam.c:1509
|
||||
msgid ""
|
||||
" TXT \n"
|
||||
" OFF "
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1417
|
||||
#: src/xcam.c:1514
|
||||
msgid ""
|
||||
" TXT \n"
|
||||
" ON "
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1596
|
||||
#: src/xcam.c:1676
|
||||
msgid "Output Filename"
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1619
|
||||
#: src/xcam.c:1699
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [DEVICE]\n"
|
||||
|
@ -334,11 +334,11 @@ msgid ""
|
|||
"-V, --version print version information\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1724
|
||||
#: src/xcam.c:1804
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1767
|
||||
#: src/xcam.c:1847
|
||||
msgid "Image view"
|
||||
msgstr ""
|
||||
|
||||
|
|
38
po/en_GB.po
38
po/en_GB.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: SANE frontends\n"
|
||||
"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n"
|
||||
"POT-Creation-Date: 2025-06-05 20:15+0200\n"
|
||||
"POT-Creation-Date: 2025-06-05 23:28+0200\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Ralph Little <skelband@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
|
@ -214,11 +214,11 @@ msgstr "Save device settings"
|
|||
msgid "Restore device settings"
|
||||
msgstr "Restore device settings"
|
||||
|
||||
#: src/xscanimage.c:1897 src/xcam.c:1717
|
||||
#: src/xscanimage.c:1897 src/xcam.c:1797
|
||||
msgid "File"
|
||||
msgstr "File"
|
||||
|
||||
#: src/xscanimage.c:1904 src/xcam.c:1731
|
||||
#: src/xscanimage.c:1904 src/xcam.c:1811
|
||||
msgid "Preferences"
|
||||
msgstr "Preferences"
|
||||
|
||||
|
@ -250,11 +250,11 @@ msgstr "Preview Window"
|
|||
msgid "Select device"
|
||||
msgstr "Select device"
|
||||
|
||||
#: src/xscanimage.c:2206
|
||||
#: src/xscanimage.c:2206 src/xcam.c:903
|
||||
msgid "Searching for scanners..."
|
||||
msgstr "Searching for scanners..."
|
||||
|
||||
#: src/xscanimage.c:2211
|
||||
#: src/xscanimage.c:2211 src/xcam.c:908
|
||||
msgid "Search for devices in progress..."
|
||||
msgstr "Search for devices in progress..."
|
||||
|
||||
|
@ -282,39 +282,39 @@ msgstr ""
|
|||
msgid "%s: GIMP support missing.\n"
|
||||
msgstr "%s: GIMP support missing.\n"
|
||||
|
||||
#: src/xcam.c:1253
|
||||
#: src/xcam.c:1350
|
||||
#, c-format
|
||||
msgid "Failed to start webcam: %s."
|
||||
msgstr "Failed to start webcam: %s."
|
||||
|
||||
#: src/xcam.c:1263
|
||||
#: src/xcam.c:1360
|
||||
#, c-format
|
||||
msgid "Failed to get parameters: %s."
|
||||
msgstr "Failed to get parameters: %s."
|
||||
|
||||
#: src/xcam.c:1331
|
||||
#: src/xcam.c:1428
|
||||
msgid " Play "
|
||||
msgstr " Play "
|
||||
|
||||
#: src/xcam.c:1337
|
||||
#: src/xcam.c:1434
|
||||
msgid " Stop "
|
||||
msgstr " Stop "
|
||||
|
||||
#: src/xcam.c:1361
|
||||
#: src/xcam.c:1458
|
||||
msgid "Saving started"
|
||||
msgstr "Saving started"
|
||||
|
||||
#: src/xcam.c:1378
|
||||
#: src/xcam.c:1475
|
||||
#, c-format
|
||||
msgid "Failed to scan, wrong file extension, use pnm, pgm, pbm or ppm `%s'"
|
||||
msgstr "Failed to scan, wrong file extension, use pnm, pgm, pbm or ppm `%s'"
|
||||
|
||||
#: src/xcam.c:1386
|
||||
#: src/xcam.c:1483
|
||||
#, c-format
|
||||
msgid "Failed to open `%s': %s"
|
||||
msgstr "Failed to open `%s': %s"
|
||||
|
||||
#: src/xcam.c:1396
|
||||
#: src/xcam.c:1493
|
||||
msgid ""
|
||||
"Save\n"
|
||||
"Frame"
|
||||
|
@ -322,7 +322,7 @@ msgstr ""
|
|||
"Save\n"
|
||||
"Frame"
|
||||
|
||||
#: src/xcam.c:1412
|
||||
#: src/xcam.c:1509
|
||||
msgid ""
|
||||
" TXT \n"
|
||||
" OFF "
|
||||
|
@ -330,7 +330,7 @@ msgstr ""
|
|||
" TXT \n"
|
||||
" OFF "
|
||||
|
||||
#: src/xcam.c:1417
|
||||
#: src/xcam.c:1514
|
||||
msgid ""
|
||||
" TXT \n"
|
||||
" ON "
|
||||
|
@ -338,11 +338,11 @@ msgstr ""
|
|||
" TXT \n"
|
||||
" ON "
|
||||
|
||||
#: src/xcam.c:1596
|
||||
#: src/xcam.c:1676
|
||||
msgid "Output Filename"
|
||||
msgstr "Output Filename"
|
||||
|
||||
#: src/xcam.c:1619
|
||||
#: src/xcam.c:1699
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [DEVICE]\n"
|
||||
|
@ -363,13 +363,13 @@ msgstr ""
|
|||
"-B, --buffersize set buffersize 1024 * 1024\n"
|
||||
"-V, --version print version information\n"
|
||||
|
||||
#: src/xcam.c:1724
|
||||
#: src/xcam.c:1804
|
||||
#, fuzzy
|
||||
#| msgid "Device"
|
||||
msgid "Devices"
|
||||
msgstr "Device"
|
||||
|
||||
#: src/xcam.c:1767
|
||||
#: src/xcam.c:1847
|
||||
msgid "Image view"
|
||||
msgstr "Image view"
|
||||
|
||||
|
|
97
po/fr.po
97
po/fr.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: sconfig-plugin-bluez\n"
|
||||
"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n"
|
||||
"POT-Creation-Date: 2025-06-05 20:15+0200\n"
|
||||
"POT-Creation-Date: 2025-06-05 23:28+0200\n"
|
||||
"PO-Revision-Date: 2021-07-20 13:35+0200\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -216,11 +216,11 @@ msgstr "Enregistrer les paramètres du périphérique"
|
|||
msgid "Restore device settings"
|
||||
msgstr "Restaurer les paramètres du périphérique"
|
||||
|
||||
#: src/xscanimage.c:1897 src/xcam.c:1717
|
||||
#: src/xscanimage.c:1897 src/xcam.c:1797
|
||||
msgid "File"
|
||||
msgstr "Fichier"
|
||||
|
||||
#: src/xscanimage.c:1904 src/xcam.c:1731
|
||||
#: src/xscanimage.c:1904 src/xcam.c:1811
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
|
@ -252,11 +252,11 @@ msgstr "Fenêtre d'aperçu"
|
|||
msgid "Select device"
|
||||
msgstr "Sélectionner un périphérique"
|
||||
|
||||
#: src/xscanimage.c:2206
|
||||
#: src/xscanimage.c:2206 src/xcam.c:903
|
||||
msgid "Searching for scanners..."
|
||||
msgstr "Recherche de scanners..."
|
||||
|
||||
#: src/xscanimage.c:2211
|
||||
#: src/xscanimage.c:2211 src/xcam.c:908
|
||||
msgid "Search for devices in progress..."
|
||||
msgstr "Recherche des périphériques en cours..."
|
||||
|
||||
|
@ -284,61 +284,61 @@ msgstr ""
|
|||
msgid "%s: GIMP support missing.\n"
|
||||
msgstr "%s: Support GIMP manquant.\n"
|
||||
|
||||
#: src/xcam.c:1253
|
||||
#: src/xcam.c:1350
|
||||
#, c-format
|
||||
msgid "Failed to start webcam: %s."
|
||||
msgstr "Échec du démarrage de la webcam : %s."
|
||||
|
||||
#: src/xcam.c:1263
|
||||
#: src/xcam.c:1360
|
||||
#, c-format
|
||||
msgid "Failed to get parameters: %s."
|
||||
msgstr "Échec de l'obtention des paramètres : %s."
|
||||
|
||||
#: src/xcam.c:1331
|
||||
#: src/xcam.c:1428
|
||||
msgid " Play "
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1337
|
||||
#: src/xcam.c:1434
|
||||
msgid " Stop "
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1361
|
||||
#: src/xcam.c:1458
|
||||
msgid "Saving started"
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1378
|
||||
#: src/xcam.c:1475
|
||||
#, c-format
|
||||
msgid "Failed to scan, wrong file extension, use pnm, pgm, pbm or ppm `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1386
|
||||
#: src/xcam.c:1483
|
||||
#, c-format
|
||||
msgid "Failed to open `%s': %s"
|
||||
msgstr "Échec de l'ouverture de %s : %s."
|
||||
|
||||
#: src/xcam.c:1396
|
||||
#: src/xcam.c:1493
|
||||
msgid ""
|
||||
"Save\n"
|
||||
"Frame"
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1412
|
||||
#: src/xcam.c:1509
|
||||
msgid ""
|
||||
" TXT \n"
|
||||
" OFF "
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1417
|
||||
#: src/xcam.c:1514
|
||||
msgid ""
|
||||
" TXT \n"
|
||||
" ON "
|
||||
msgstr ""
|
||||
|
||||
#: src/xcam.c:1596
|
||||
#: src/xcam.c:1676
|
||||
msgid "Output Filename"
|
||||
msgstr "Nom du fichier de sorti"
|
||||
|
||||
#: src/xcam.c:1619
|
||||
#: src/xcam.c:1699
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [DEVICE]\n"
|
||||
|
@ -358,64 +358,64 @@ msgstr ""
|
|||
"-h, --help afficher ce message d'aide et quitter\n"
|
||||
"-V, --version afficher les informations de version\n"
|
||||
|
||||
#: src/xcam.c:1724
|
||||
#: src/xcam.c:1804
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
msgstr "Appareils"
|
||||
|
||||
#: src/xcam.c:1767
|
||||
#: src/xcam.c:1847
|
||||
msgid "Image view"
|
||||
msgstr "aperçu image"
|
||||
|
||||
#: src/scanadf.c:165
|
||||
#, c-format
|
||||
msgid "%s: stopping scanner...\n"
|
||||
msgstr ""
|
||||
msgstr "%s: arrêt du scanner...\n"
|
||||
|
||||
#: src/scanadf.c:328
|
||||
msgid "Width of scan-area."
|
||||
msgstr ""
|
||||
msgstr "Largeur de la zone de balayage."
|
||||
|
||||
#: src/scanadf.c:332
|
||||
msgid "Height of scan-area."
|
||||
msgstr ""
|
||||
msgstr "Hauteur de la zone de balayage."
|
||||
|
||||
#: src/scanadf.c:393
|
||||
#, c-format
|
||||
msgid "%s: option --%s: bad option value (rest of option: %s)\n"
|
||||
msgstr ""
|
||||
msgstr "%s: option --%s : mauvaise valeur de l'option (reste de l'option : %s)\n"
|
||||
|
||||
#: src/scanadf.c:432
|
||||
#, c-format
|
||||
msgid "%s: option --%s: illegal unit (rest of option: %s)\n"
|
||||
msgstr ""
|
||||
msgstr "%s : option --%s : unité illégale (reste de l'option : %s)\n"
|
||||
|
||||
#: src/scanadf.c:494
|
||||
#, c-format
|
||||
msgid "%s: option --%s: closing bracket missing (rest of option: %s)\n"
|
||||
msgstr ""
|
||||
msgstr "%s : option --%s : parenthèse fermante manquante (reste de l'option : %s)\n"
|
||||
|
||||
#: src/scanadf.c:505
|
||||
#, c-format
|
||||
msgid "%s: option --%s: index %d out of range [0..%ld]\n"
|
||||
msgstr ""
|
||||
msgstr "%s : option --%s : index %d hors de la plage [0..%ld]\n"
|
||||
|
||||
#: src/scanadf.c:518
|
||||
#, c-format
|
||||
msgid "%s: option --%s: illegal separator (rest of option: %s)\n"
|
||||
msgstr ""
|
||||
msgstr "%s : option --%s : séparateur illégal (reste de l'option : %s)\n"
|
||||
|
||||
#: src/scanadf.c:550
|
||||
#, c-format
|
||||
msgid "%s: value for --%s is: "
|
||||
msgstr ""
|
||||
msgstr "%s: la valeur pour --%s est: "
|
||||
|
||||
#: src/scanadf.c:573
|
||||
#, c-format
|
||||
msgid "Could not get option descriptor for option 0\n"
|
||||
msgstr ""
|
||||
msgstr "Impossible d'obtenir le descripteur d'option pour l'option 0\n"
|
||||
|
||||
#: src/scanadf.c:580
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
#| msgid "Failed to set value of option %s: %s."
|
||||
msgid "Could not get value for option 0: %s\n"
|
||||
msgstr "Échec de la restauration de la valeur de l'option %s : %s."
|
||||
|
@ -423,48 +423,48 @@ msgstr "Échec de la restauration de la valeur de l'option %s : %s."
|
|||
#: src/scanadf.c:590
|
||||
#, c-format
|
||||
msgid "Could not get option descriptor for option %d\n"
|
||||
msgstr ""
|
||||
msgstr "Impossible d'obtenir le descripteur d'option pour l'option %d\n"
|
||||
|
||||
#: src/scanadf.c:647
|
||||
msgid "Scan width"
|
||||
msgstr ""
|
||||
msgstr "Largeur de balayage"
|
||||
|
||||
#: src/scanadf.c:648
|
||||
msgid "Width of scanning area."
|
||||
msgstr ""
|
||||
msgstr "Largeur de la zone de numérisation."
|
||||
|
||||
#: src/scanadf.c:659
|
||||
msgid "Scan height"
|
||||
msgstr ""
|
||||
msgstr "Hauteur de balayage"
|
||||
|
||||
#: src/scanadf.c:660
|
||||
msgid "Height of scanning area."
|
||||
msgstr ""
|
||||
msgstr "Hauteur de la zone de numérisation."
|
||||
|
||||
#: src/scanadf.c:693
|
||||
#, c-format
|
||||
msgid "Closing device\n"
|
||||
msgstr ""
|
||||
msgstr "Dispositif de fermeture\n"
|
||||
|
||||
#: src/scanadf.c:699
|
||||
#, c-format
|
||||
msgid "Calling sane_exit\n"
|
||||
msgstr ""
|
||||
msgstr "Appel à sane_exit\n"
|
||||
|
||||
#: src/scanadf.c:707
|
||||
#, c-format
|
||||
msgid "%s: finished\n"
|
||||
msgstr ""
|
||||
msgstr "%s: terminé"
|
||||
|
||||
#: src/scanadf.c:728
|
||||
#, c-format
|
||||
msgid "%s: setting of option --%s failed (%s)\n"
|
||||
msgstr ""
|
||||
msgstr "%s : la définition de l'option --%s a échoué (%s)\n"
|
||||
|
||||
#: src/scanadf.c:736
|
||||
#, c-format
|
||||
msgid "%s: rounded value of %s from %d to %d\n"
|
||||
msgstr ""
|
||||
msgstr "%s : valeur arrondie de %s de %d à %d\n"
|
||||
|
||||
#: src/scanadf.c:739
|
||||
#, c-format
|
||||
|
@ -515,7 +515,7 @@ msgstr ""
|
|||
#, fuzzy, c-format
|
||||
#| msgid "Error during read: %s."
|
||||
msgid "Error forking: %s (%d)\n"
|
||||
msgstr "Erreur lors de la lecture : %s."
|
||||
msgstr "Erreur de fork : %s (%d)\n"
|
||||
|
||||
#: src/scanadf.c:1011
|
||||
#, c-format
|
||||
|
@ -555,7 +555,7 @@ msgid "%s: bad %s frame: must be last_frame\n"
|
|||
msgstr ""
|
||||
|
||||
#: src/scanadf.c:1172
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
#| msgid "%s.input_available: bad frame format %d\n"
|
||||
msgid "%s: unknown frame format %d\n"
|
||||
msgstr "%s.input_available : format de trame incorrect %d\n"
|
||||
|
@ -616,7 +616,7 @@ msgid "%s: no SANE devices found\n"
|
|||
msgstr ""
|
||||
|
||||
#: src/scanadf.c:1521
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
#| msgid "%s: device %d is unavailable.\n"
|
||||
msgid "%s: open of device %s failed: %s\n"
|
||||
msgstr "%s : le périphérique %d est indisponible.\n"
|
||||
|
@ -624,19 +624,19 @@ msgstr "%s : le périphérique %d est indisponible.\n"
|
|||
#: src/scanadf.c:1536
|
||||
#, c-format
|
||||
msgid "%s: unable to determine option count\n"
|
||||
msgstr ""
|
||||
msgstr "%s: Impossible de déterminer le nombre d'options\n"
|
||||
|
||||
#: src/scanadf.c:1547
|
||||
#, c-format
|
||||
msgid "%s: out of memory in fetch_options()\n"
|
||||
msgstr ""
|
||||
msgstr "%s: manque de mémoire dans fetch_options()\n"
|
||||
|
||||
#: src/scanadf.c:1646
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"Options specific to device `%s':\n"
|
||||
msgstr ""
|
||||
msgstr "\nOptions spécifiques au dispositif `%s':\n"
|
||||
|
||||
#: src/scanadf.c:1679
|
||||
#, c-format
|
||||
|
@ -645,6 +645,9 @@ msgid ""
|
|||
"\n"
|
||||
"List of available devices:"
|
||||
msgstr ""
|
||||
"Tapez ``%s --help -d DEVICE'' pour obtenir la liste de toutes les options pour DEVICE.\n"
|
||||
"\n"
|
||||
"Liste des appareils disponibles :"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%s: device %d is unavailable.\n"
|
||||
|
|
210
src/xcam.c
210
src/xcam.c
|
@ -70,6 +70,12 @@
|
|||
# define atexit(func) on_exit(func, 0) /* works for SunOS, at least */
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
GtkWidget *dialog;
|
||||
GtkWidget *spinner;
|
||||
GtkWidget *menu;
|
||||
} ScanUI;
|
||||
|
||||
typedef struct Canvas
|
||||
{
|
||||
GtkWidget *preview;
|
||||
|
@ -789,47 +795,138 @@ device_activate_callback (GtkWidget * widget, gpointer data)
|
|||
g_idle_add (delayed_switch, data);
|
||||
}
|
||||
|
||||
static void
|
||||
xcam_exit (void)
|
||||
{
|
||||
static int active = 0;
|
||||
|
||||
DBG (DBG_debug, "xcam: xcam_exit: enter\n");
|
||||
if (active)
|
||||
return;
|
||||
|
||||
active = 1;
|
||||
pref_xcam_save ();
|
||||
sane_exit ();
|
||||
/* this has the habit of calling exit itself: */
|
||||
gtk_main_quit ();
|
||||
DBG (DBG_debug, "xcam: xcam_exit: exit\n");
|
||||
}
|
||||
|
||||
static gboolean on_scan_finished(gpointer data) {
|
||||
ScanUI *ui = (ScanUI *)data;
|
||||
GtkWidget *menu, *item;
|
||||
SANE_Status status;
|
||||
int i;
|
||||
|
||||
for (i = 0; device[i]; ++i)
|
||||
{
|
||||
item = gtk_menu_item_new_with_label ((char *) device[i]->name);
|
||||
gtk_container_add (GTK_CONTAINER (ui->menu), item);
|
||||
g_signal_connect (G_OBJECT (item), "activate",
|
||||
G_CALLBACK (device_activate_callback),
|
||||
(gpointer) device[i]);
|
||||
gtk_widget_show (item);
|
||||
}
|
||||
|
||||
item = gtk_menu_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (ui->menu), item);
|
||||
gtk_widget_show (item);
|
||||
|
||||
item = gtk_menu_item_new_with_label ("Refresh device list...");
|
||||
g_signal_connect (G_OBJECT (item), "activate",
|
||||
G_CALLBACK (rescan_devices), 0);
|
||||
gtk_container_add (GTK_CONTAINER (ui->menu), item);
|
||||
gtk_widget_show (item);
|
||||
|
||||
item = gtk_menu_item_new_with_label ("Specify device name...");
|
||||
g_signal_connect (G_OBJECT (item), "activate",
|
||||
G_CALLBACK (prompt_for_device_name), 0);
|
||||
gtk_container_add (GTK_CONTAINER (ui->menu), item);
|
||||
gtk_widget_show (item);
|
||||
|
||||
if (device[0])
|
||||
{
|
||||
switch_device (device[0]);
|
||||
load_defaults (1);
|
||||
}
|
||||
else
|
||||
{
|
||||
DBG (DBG_fatal,
|
||||
" No vidcams were identified. If you were expecting something\n"
|
||||
" different, check that the vidcam is plugged in, turned on and\n"
|
||||
" detected by sane-find-scanner (if appropriate). Please read\n"
|
||||
" the documentation which came with this software (README, FAQ,\n"
|
||||
" manpages).\n");
|
||||
atexit (xcam_exit);
|
||||
}
|
||||
|
||||
if (dialog && gsg_dialog_get_device (dialog)
|
||||
&& (sane_get_parameters (gsg_dialog_get_device (dialog), &win.params)
|
||||
== SANE_STATUS_GOOD))
|
||||
{
|
||||
gtk_widget_set_size_request (win.canvas.preview,
|
||||
win.params.pixels_per_line, win.params.lines);
|
||||
}
|
||||
|
||||
|
||||
gtk_spinner_stop(GTK_SPINNER(ui->spinner));
|
||||
gtk_widget_destroy(ui->dialog);
|
||||
g_free(ui);
|
||||
|
||||
return G_SOURCE_REMOVE;
|
||||
}
|
||||
|
||||
static gpointer scan_thread_func(gpointer data) {
|
||||
SANE_Status status;
|
||||
ScanUI *ui = (ScanUI *)data;
|
||||
|
||||
status = sane_get_devices((const SANE_Device ***)&device, SANE_FALSE);
|
||||
|
||||
// Appeler ici la suite du traitement si besoin
|
||||
if (status != SANE_STATUS_GOOD)
|
||||
{
|
||||
DBG (DBG_fatal, "init: sane_get_devices failed: %s\n",
|
||||
sane_strstatus (status));
|
||||
exit (1);
|
||||
}
|
||||
|
||||
// Retourner à l’UI
|
||||
g_idle_add(on_scan_finished, ui);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void show_scan_progress_and_start(GtkWidget *menu) {
|
||||
ScanUI *ui = g_new0(ScanUI, 1);
|
||||
|
||||
ui->menu = menu;
|
||||
ui->dialog = gtk_dialog_new();
|
||||
gtk_window_set_title(GTK_WINDOW(ui->dialog), _("Searching for scanners..."));
|
||||
gtk_window_set_modal(GTK_WINDOW(ui->dialog), TRUE);
|
||||
|
||||
GtkWidget *content_area = gtk_dialog_get_content_area(GTK_DIALOG(ui->dialog));
|
||||
|
||||
GtkWidget *label = gtk_label_new(_("Search for devices in progress..."));
|
||||
gtk_box_pack_start(GTK_BOX(content_area), label, FALSE, FALSE, 5);
|
||||
|
||||
ui->spinner = gtk_spinner_new();
|
||||
gtk_box_pack_start(GTK_BOX(content_area), ui->spinner, FALSE, FALSE, 5);
|
||||
|
||||
gtk_widget_show_all(ui->dialog);
|
||||
gtk_spinner_start(GTK_SPINNER(ui->spinner));
|
||||
|
||||
gtk_spinner_start(GTK_SPINNER(ui->spinner));
|
||||
|
||||
g_thread_new("scan_thread", scan_thread_func, ui);
|
||||
}
|
||||
|
||||
|
||||
static GtkWidget *
|
||||
build_device_menu (void)
|
||||
{
|
||||
GtkWidget *menu, *item;
|
||||
SANE_Status status;
|
||||
int i;
|
||||
GtkWidget *menu;
|
||||
|
||||
menu = gtk_menu_new ();
|
||||
|
||||
status = sane_get_devices (&device, SANE_FALSE);
|
||||
if (status != SANE_STATUS_GOOD)
|
||||
{
|
||||
fprintf (stderr, "%s: %s\n", prog_name, sane_strstatus (status));
|
||||
exit (1);
|
||||
}
|
||||
|
||||
for (i = 0; device[i]; ++i)
|
||||
{
|
||||
item = gtk_menu_item_new_with_label ((char *) device[i]->name);
|
||||
gtk_container_add (GTK_CONTAINER (menu), item);
|
||||
g_signal_connect (G_OBJECT (item), "activate",
|
||||
G_CALLBACK (device_activate_callback),
|
||||
(gpointer) device[i]);
|
||||
gtk_widget_show (item);
|
||||
}
|
||||
|
||||
item = gtk_menu_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (menu), item);
|
||||
gtk_widget_show (item);
|
||||
|
||||
item = gtk_menu_item_new_with_label ("Refresh device list...");
|
||||
g_signal_connect (G_OBJECT (item), "activate",
|
||||
G_CALLBACK (rescan_devices), 0);
|
||||
gtk_container_add (GTK_CONTAINER (menu), item);
|
||||
gtk_widget_show (item);
|
||||
|
||||
item = gtk_menu_item_new_with_label ("Specify device name...");
|
||||
g_signal_connect (G_OBJECT (item), "activate",
|
||||
G_CALLBACK (prompt_for_device_name), 0);
|
||||
gtk_container_add (GTK_CONTAINER (menu), item);
|
||||
gtk_widget_show (item);
|
||||
show_scan_progress_and_start (menu);
|
||||
|
||||
return menu;
|
||||
}
|
||||
|
@ -1554,23 +1651,6 @@ save_frame (void)
|
|||
DBG (DBG_debug, "xcam: save_frame: exit\n");
|
||||
}
|
||||
|
||||
static void
|
||||
xcam_exit (void)
|
||||
{
|
||||
static int active = 0;
|
||||
|
||||
DBG (DBG_debug, "xcam: xcam_exit: enter\n");
|
||||
if (active)
|
||||
return;
|
||||
|
||||
active = 1;
|
||||
pref_xcam_save ();
|
||||
sane_exit ();
|
||||
/* this has the habit of calling exit itself: */
|
||||
gtk_main_quit ();
|
||||
DBG (DBG_debug, "xcam: xcam_exit: exit\n");
|
||||
}
|
||||
|
||||
/* Invoked when window manager's "delete" (or "close") function is
|
||||
invoked. */
|
||||
static gint
|
||||
|
@ -1793,30 +1873,6 @@ main (int argc, char **argv)
|
|||
|
||||
gtk_widget_show (GTK_WIDGET (scrolled_window));
|
||||
|
||||
if (device[0])
|
||||
{
|
||||
switch_device (device[0]);
|
||||
load_defaults (1);
|
||||
}
|
||||
else
|
||||
{
|
||||
DBG (DBG_fatal,
|
||||
" No vidcams were identified. If you were expecting something\n"
|
||||
" different, check that the vidcam is plugged in, turned on and\n"
|
||||
" detected by sane-find-scanner (if appropriate). Please read\n"
|
||||
" the documentation which came with this software (README, FAQ,\n"
|
||||
" manpages).\n");
|
||||
atexit (xcam_exit);
|
||||
}
|
||||
|
||||
if (dialog && gsg_dialog_get_device (dialog)
|
||||
&& (sane_get_parameters (gsg_dialog_get_device (dialog), &win.params)
|
||||
== SANE_STATUS_GOOD))
|
||||
{
|
||||
gtk_widget_set_size_request (win.canvas.preview,
|
||||
win.params.pixels_per_line, win.params.lines);
|
||||
}
|
||||
|
||||
/* The bottom row */
|
||||
|
||||
DBG (DBG_debug, "xcam main, button row: info\n");
|
||||
|
|
Ładowanie…
Reference in New Issue