summaryrefslogtreecommitdiff
path: root/src/scanner.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/scanner.vala')
-rw-r--r--src/scanner.vala20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/scanner.vala b/src/scanner.vala
index fbcc6c6..29c729b 100644
--- a/src/scanner.vala
+++ b/src/scanner.vala
@@ -931,7 +931,8 @@ public class Scanner : Object
Sane.I18N ("Flatbed"),
"FlatBed",
"Normal",
- Sane.I18N ("Normal")
+ Sane.I18N ("Normal"),
+ "Document Table" /* Epson scanners, eg. ET-3760 */
};
string[] adf_sources =
@@ -959,6 +960,7 @@ public class Scanner : Object
string[] adf_duplex_sources =
{
"ADF Duplex",
+ "Duplex ADF", /* Brother DS-720, #157 */
Sane.I18N ("ADF Duplex"),
"ADF Duplex - Long-Edge Binding", /* Samsung unified driver. LP: # 892915 */
"ADF Duplex - Short-Edge Binding",
@@ -1004,6 +1006,7 @@ public class Scanner : Object
"Color",
"24bit Color[Fast]", /* brother4 driver, Brother DCP-1622WE, #134 */
"24bit Color", /* Seen in the proprietary brother3 driver */
+ "24-bit Color", /* #161 Lexmark CX310dn */
"Color - 16 Million Colors" /* Samsung unified driver. LP: 892915 */
};
string[] gray_scan_modes =
@@ -1012,6 +1015,7 @@ public class Scanner : Object
"Gray",
"Grayscale",
Sane.I18N ("Grayscale"),
+ "8-bit Grayscale", /* #161 Lexmark CX310dn */
"True Gray", /* Seen in the proprietary brother3 driver */
"Grayscale - 256 Levels" /* Samsung unified driver. LP: 892915 */
};
@@ -1023,7 +1027,7 @@ public class Scanner : Object
Sane.I18N ("LineArt"),
"Black & White",
Sane.I18N ("Black & White"),
- "Binary",
+ "Binary", /* Epson PM-A820 */
Sane.I18N ("Binary"),
"Thresholded",
Sane.VALUE_SCAN_MODE_GRAY,
@@ -1031,8 +1035,10 @@ public class Scanner : Object
"Grayscale",
Sane.I18N ("Grayscale"),
"True Gray", /* Seen in the proprietary brother3 driver */
+ "1-bit Black & White", /* #161 Lexmark CX310dn */
"Black and White - Line Art", /* Samsung unified driver. LP: 892915 */
- "Black and White - Halftone"
+ "Black and White - Halftone",
+ "Monochrome" /* Epson */
};
switch (job.scan_mode)
@@ -1056,6 +1062,8 @@ public class Scanner : Object
/* Duplex */
option = get_option_by_name (handle, "duplex", out index);
+ if (option == null) /* #161 Lexmark CX310dn Duplex */
+ option = get_option_by_name (handle, "scan-both-sides", out index);
if (option != null)
{
if (option.type == Sane.ValueType.BOOL)
@@ -1096,6 +1104,8 @@ public class Scanner : Object
/* Set resolution and bit depth */
option = get_option_by_name (handle, Sane.NAME_SCAN_RESOLUTION, out index);
+ if (option == null) /* #161 Lexmark CX310dn Duplex */
+ option = get_option_by_name (handle, "scan-resolution", out index);
if (option != null)
{
set_fixed_or_int_option (handle, option, index, job.dpi, out job.dpi);
@@ -1283,6 +1293,10 @@ public class Scanner : Object
/* Error displayed when no documents at the start of scanning */
_("Document feeder empty"));
}
+ else if (status == Sane.Status.DEVICE_BUSY)
+ {
+ /* If device is busy don't interrupt, but keep waiting for scanner */
+ }
else
{
warning ("Unable to start device: %s", Sane.strstatus (status));