=== modified file 'src/scanner.vala' --- src/scanner.vala 2013-11-01 00:57:54 +0000 +++ src/scanner.vala 2014-01-06 17:49:31 +0000 @@ -345,24 +345,35 @@ } var devices = new List (); + + string[] allowed_device_type = { + "film scanner", + "flatbed scanner", + "frame grabber", + "handheld scanner", + "multi-function peripheral", + "sheetfed scanner" + }; + for (var i = 0; device_list[i] != null; i++) { debug ("Device: name=\"%s\" vendor=\"%s\" model=\"%s\" type=\"%s\"", device_list[i].name, device_list[i].vendor, device_list[i].model, device_list[i].type); - - var scan_device = new ScanDevice (); - scan_device.name = device_list[i].name; - - /* Abbreviate HP as it is a long string and does not match what is on the physical scanner */ - var vendor = device_list[i].vendor; - if (vendor == "Hewlett-Packard") - vendor = "HP"; - - scan_device.label = "%s %s".printf (vendor, device_list[i].model); - /* Replace underscores in name */ - scan_device.label.replace ("_", " "); - - devices.append (scan_device); + if (device_list[i].type in allowed_device_type) { + var scan_device = new ScanDevice (); + scan_device.name = device_list[i].name; + + /* Abbreviate HP as it is a long string and does not match what is on the physical scanner */ + var vendor = device_list[i].vendor; + if (vendor == "Hewlett-Packard") + vendor = "HP"; + + scan_device.label = "%s %s".printf (vendor, device_list[i].model); + /* Replace underscores in name */ + scan_device.label.replace ("_", " "); + + devices.append (scan_device); + } } /* Sort devices by priority */