diff --git a/system-config-printer-autoselect-raw.patch b/system-config-printer-autoselect-raw.patch
new file mode 100644
index 0000000..1a93e44
--- /dev/null
+++ b/system-config-printer-autoselect-raw.patch
@@ -0,0 +1,14 @@
+diff -up system-config-printer-1.1.13/system-config-printer.py.autoselect-raw system-config-printer-1.1.13/system-config-printer.py
+--- system-config-printer-1.1.13/system-config-printer.py.autoselect-raw 2009-09-30 16:54:07.363635374 +0100
++++ system-config-printer-1.1.13/system-config-printer.py 2009-09-30 16:54:19.189761633 +0100
+@@ -3948,8 +3948,8 @@ class NewPrinterGUI(GtkGUI):
+ cupshelpers.ppds.ppdMakeModelSplit (makeandmodel)
+ else:
+ # Special CUPS names for a raw queue.
+- self.auto_make = 'Raw'
+- self.auto_model = 'Queue'
++ self.auto_make = 'Generic'
++ self.auto_model = 'Raw Queue'
+
+ try:
+ if self.dialog_mode == "ppd":
diff --git a/system-config-printer-find-return-accel.patch b/system-config-printer-find-return-accel.patch
new file mode 100644
index 0000000..a680e37
--- /dev/null
+++ b/system-config-printer-find-return-accel.patch
@@ -0,0 +1,11 @@
+diff -up system-config-printer-1.1.13/glade/NewPrinterWindow.glade.find-return-accel system-config-printer-1.1.13/glade/NewPrinterWindow.glade
+--- system-config-printer-1.1.13/glade/NewPrinterWindow.glade.find-return-accel 2009-09-04 10:35:48.000000000 +0100
++++ system-config-printer-1.1.13/glade/NewPrinterWindow.glade 2009-09-30 16:50:36.981760810 +0100
+@@ -2580,6 +2580,7 @@ DTR/DSR (Hardware)
+ GTK_RELIEF_NORMAL
+ True
+
++
+
+
+ 2
diff --git a/system-config-printer-jobs-window-visibility.patch b/system-config-printer-jobs-window-visibility.patch
new file mode 100644
index 0000000..96dca6c
--- /dev/null
+++ b/system-config-printer-jobs-window-visibility.patch
@@ -0,0 +1,11 @@
+diff -up system-config-printer-1.1.13/jobviewer.py.jobs-window-visibility system-config-printer-1.1.13/jobviewer.py
+--- system-config-printer-1.1.13/jobviewer.py.jobs-window-visibility 2009-09-04 10:35:48.000000000 +0100
++++ system-config-printer-1.1.13/jobviewer.py 2009-10-28 15:47:52.796015837 +0000
+@@ -378,6 +378,7 @@ class JobViewer (GtkGUI, monitor.Watcher
+ def on_delete_event(self, *args):
+ if self.trayicon or not self.loop:
+ self.JobsWindow.hide ()
++ self.JobsWindow.set_data ('visible', False)
+ if not self.loop:
+ # Being run from main app, not applet
+ self.cleanup ()
diff --git a/system-config-printer-network-model.patch b/system-config-printer-network-model.patch
new file mode 100644
index 0000000..a71d300
--- /dev/null
+++ b/system-config-printer-network-model.patch
@@ -0,0 +1,16 @@
+diff -up system-config-printer-1.1.13/system-config-printer.py.network-model system-config-printer-1.1.13/system-config-printer.py
+--- system-config-printer-1.1.13/system-config-printer.py.network-model 2009-09-30 16:55:46.115760592 +0100
++++ system-config-printer-1.1.13/system-config-printer.py 2009-09-30 16:55:52.545635754 +0100
+@@ -4217,6 +4217,12 @@ class NewPrinterGUI(GtkGUI):
+ if not self.install_hplip_plugin(self.device.uri):
+ self.on_NPCancel(None)
+ return
++
++ if not devid and self.device.type in ["socket", "lpd", "ipp"]:
++ # This is a network printer whose model we don't yet know.
++ # Try to discover it.
++ self.getNetworkPrinterMakeModel ()
++
+ uri = self.device.uri
+ if uri and uri.startswith ("smb://"):
+ uri = SMBURI (uri=uri[6:]).sanitize_uri ()
diff --git a/system-config-printer-no-cancel-properties-dialog.patch b/system-config-printer-no-cancel-properties-dialog.patch
new file mode 100644
index 0000000..9d18ba5
--- /dev/null
+++ b/system-config-printer-no-cancel-properties-dialog.patch
@@ -0,0 +1,14 @@
+diff -up system-config-printer-1.1.13/system-config-printer.py.no-cancel-properties-dialog system-config-printer-1.1.13/system-config-printer.py
+--- system-config-printer-1.1.13/system-config-printer.py.no-cancel-properties-dialog 2009-10-28 14:41:15.654017107 +0000
++++ system-config-printer-1.1.13/system-config-printer.py 2009-10-28 15:29:53.600140205 +0000
+@@ -6815,8 +6815,9 @@ class NewPrinterGUI(GtkGUI):
+ response = q.run ()
+ q.destroy ()
+ if response == gtk.RESPONSE_YES:
+- # Display the properties dialog.
++ # Load the printer details but hide the properties dialog.
+ self.mainapp.display_properties_dialog_for (name)
++ self.mainapp.PrinterPropertiesDialog.hide ()
+
+ # Click the test button.
+ self.mainapp.btnPrintTestPage.clicked ()
diff --git a/system-config-printer-physdev-traceback.patch b/system-config-printer-physdev-traceback.patch
new file mode 100644
index 0000000..fe5f532
--- /dev/null
+++ b/system-config-printer-physdev-traceback.patch
@@ -0,0 +1,12 @@
+diff -up system-config-printer-1.1.13/PhysicalDevice.py.physdev-traceback system-config-printer-1.1.13/PhysicalDevice.py
+--- system-config-printer-1.1.13/PhysicalDevice.py.physdev-traceback 2009-09-01 12:08:33.000000000 +0100
++++ system-config-printer-1.1.13/PhysicalDevice.py 2009-09-30 16:52:24.486760364 +0100
+@@ -48,6 +48,8 @@ class PhysicalDevice:
+ hostport = ipparam[3:]
+ else:
+ return None
++ else:
++ return None
+ else:
+ (hostport, rest) = urllib.splithost (rest)
+ if hostport == None:
diff --git a/system-config-printer-strip-zxs-pcl3.patch b/system-config-printer-strip-zxs-pcl3.patch
new file mode 100644
index 0000000..33bc8c5
--- /dev/null
+++ b/system-config-printer-strip-zxs-pcl3.patch
@@ -0,0 +1,12 @@
+diff -up system-config-printer-1.1.13/cupshelpers/ppds.py.strip-zxs-pcl3 system-config-printer-1.1.13/cupshelpers/ppds.py
+--- system-config-printer-1.1.13/cupshelpers/ppds.py.strip-zxs-pcl3 2009-09-01 12:08:33.000000000 +0100
++++ system-config-printer-1.1.13/cupshelpers/ppds.py 2009-10-28 15:53:28.990139713 +0000
+@@ -184,6 +184,8 @@ def ppdMakeModelSplit (ppd_make_and_mode
+ " ps3",
+ " pxl",
+ " series",
++ " zxs", # hpcups
++ " pcl3", # hpcups
+ "_bt",
+ ","]:
+ s = modell.find (suffix)
diff --git a/system-config-printer-troubleshoot-network-printers.patch b/system-config-printer-troubleshoot-network-printers.patch
new file mode 100644
index 0000000..b9c368c
--- /dev/null
+++ b/system-config-printer-troubleshoot-network-printers.patch
@@ -0,0 +1,26 @@
+diff -up system-config-printer-1.1.13/troubleshoot/ChooseNetworkPrinter.py.troubleshoot-network-printers system-config-printer-1.1.13/troubleshoot/ChooseNetworkPrinter.py
+--- system-config-printer-1.1.13/troubleshoot/ChooseNetworkPrinter.py.troubleshoot-network-printers 2009-09-01 12:08:33.000000000 +0100
++++ system-config-printer-1.1.13/troubleshoot/ChooseNetworkPrinter.py 2009-10-28 15:57:10.771014583 +0000
+@@ -2,8 +2,8 @@
+
+ ## Printing troubleshooter
+
+-## Copyright (C) 2008 Red Hat, Inc.
+-## Copyright (C) 2008 Tim Waugh
++## Copyright (C) 2008, 2009 Red Hat, Inc.
++## Author: Tim Waugh
+
+ ## This program is free software; you can redistribute it and/or modify
+ ## it under the terms of the GNU General Public License as published by
+@@ -77,8 +77,9 @@ class ChooseNetworkPrinter(Question):
+ parent = self.troubleshooter.get_window ()
+
+ try:
+- cups.setServer (server)
+- self.op = TimedOperation (cups.Connection, parent=parent)
++ self.op = TimedOperation (cups.Connection,
++ kwargs={"host": server},
++ parent=parent)
+ c = self.op.run ()
+ self.op = TimedOperation (c.getDests, parent=parent)
+ dests = self.op.run ()
diff --git a/system-config-printer.spec b/system-config-printer.spec
index 004a39b..06de609 100644
--- a/system-config-printer.spec
+++ b/system-config-printer.spec
@@ -7,7 +7,7 @@
Summary: A printer administration tool
Name: system-config-printer
Version: 1.1.13
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
URL: http://cyberelk.net/tim/software/system-config-printer/
Group: System Environment/Base
@@ -21,6 +21,14 @@ Patch3: system-config-printer-publish-printers.patch
Patch4: system-config-printer-iconify.patch
Patch5: system-config-printer-fetchdevices.patch
Patch6: system-config-printer-missing-import.patch
+Patch7: system-config-printer-find-return-accel.patch
+Patch8: system-config-printer-physdev-traceback.patch
+Patch9: system-config-printer-autoselect-raw.patch
+Patch10: system-config-printer-network-model.patch
+Patch11: system-config-printer-no-cancel-properties-dialog.patch
+Patch12: system-config-printer-jobs-window-visibility.patch
+Patch13: system-config-printer-strip-zxs-pcl3.patch
+Patch14: system-config-printer-troubleshoot-network-printers.patch
BuildRequires: cups-devel >= 1.2
BuildRequires: python-devel >= 2.4
@@ -87,6 +95,14 @@ printers.
%patch4 -p1 -b .iconify
%patch5 -p1 -b .fetchdevices
%patch6 -p1 -b .missing-import
+%patch7 -p1 -b .find-return-accel
+%patch8 -p1 -b .physdev-traceback
+%patch9 -p1 -b .autoselect-raw
+%patch10 -p1 -b .network-model
+%patch11 -p1 -b .no-cancel-properties-dialog
+%patch12 -p1 -b .jobs-window-visibility
+%patch13 -p1 -b .strip-zxs-pcl3
+%patch14 -p1 -b .troubleshoot-network-printers
%build
%configure --with-udev-rules --with-polkit-1
@@ -198,6 +214,17 @@ rm -rf %buildroot
exit 0
%changelog
+* Wed Oct 28 2009 Tim Waugh 1.1.13-4
+- Troubleshoot: connect to the right server when choosing a network
+ queue (bug #531482).
+- Strip 'zxs' and 'pcl3' from make-and-model (bug #531048).
+- Fixed visibility tracking for jobs window (bug #531438).
+- Don't display properties dialog for first test page (bug #531490).
+- Determine make/model for network printers (bug #524321).
+- Auto-select the correct driver entry for raw queues.
+- Avoid traceback in PhysicalDevice.py.
+- Let Return key activate the Find button for Find Network Printer.
+
* Tue Sep 22 2009 Tim Waugh 1.1.13-3
- Fixed missing import in probe_printer module.
- Fixed race when fetching device list (bug #521110).