- Use gpk-install-package-name instead of trying to use the D-Bus API.
- Spot stopped jobs with CUPS 1.4 as well (trac #177). This, along with the previous fix, addresses bug #509177. - Map gutenprint filenames to the package name. - Fixed sensitivity of class member selection arrows (bug #508653).
This commit is contained in:
parent
09775bd93f
commit
acaff656d7
79
system-config-printer-arrows.patch
Normal file
79
system-config-printer-arrows.patch
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
diff -up system-config-printer-1.1.8/glade/NewPrinterWindow.glade.arrows system-config-printer-1.1.8/glade/NewPrinterWindow.glade
|
||||||
|
--- system-config-printer-1.1.8/glade/NewPrinterWindow.glade.arrows 2009-06-03 09:20:26.000000000 +0100
|
||||||
|
+++ system-config-printer-1.1.8/glade/NewPrinterWindow.glade 2009-07-03 18:18:50.640997051 +0100
|
||||||
|
@@ -3662,6 +3662,7 @@ DTR/DSR (Hardware)</property>
|
||||||
|
<property name="fixed_height_mode">False</property>
|
||||||
|
<property name="hover_selection">False</property>
|
||||||
|
<property name="hover_expand">False</property>
|
||||||
|
+ <signal name="cursor_changed" handler="on_tvNCMembers_cursor_changed" last_modification_time="Tue, 30 Jun 2009 15:15:42 GMT"/>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
@@ -3693,6 +3694,7 @@ DTR/DSR (Hardware)</property>
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="btnNCAddMember">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
+ <property name="sensitive">False</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||||
|
@@ -3771,6 +3773,7 @@ DTR/DSR (Hardware)</property>
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="btnNCDelMember">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
+ <property name="sensitive">False</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||||
|
@@ -3823,6 +3826,7 @@ DTR/DSR (Hardware)</property>
|
||||||
|
<property name="fixed_height_mode">False</property>
|
||||||
|
<property name="hover_selection">False</property>
|
||||||
|
<property name="hover_expand">False</property>
|
||||||
|
+ <signal name="cursor_changed" handler="on_tvNCNotMembers_cursor_changed" last_modification_time="Tue, 30 Jun 2009 15:15:49 GMT"/>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
diff -up system-config-printer-1.1.8/system-config-printer.py.arrows system-config-printer-1.1.8/system-config-printer.py
|
||||||
|
--- system-config-printer-1.1.8/system-config-printer.py.arrows 2009-07-03 18:18:36.478996538 +0100
|
||||||
|
+++ system-config-printer-1.1.8/system-config-printer.py 2009-07-03 18:18:50.643996718 +0100
|
||||||
|
@@ -174,7 +174,6 @@ def moveClassMembers(treeview_from, tree
|
||||||
|
for row in rows:
|
||||||
|
path = row.get_path()
|
||||||
|
iter = model_from.get_iter(path)
|
||||||
|
-
|
||||||
|
row_data = model_from.get(iter, 0)
|
||||||
|
model_to.append(row_data)
|
||||||
|
model_from.remove(iter)
|
||||||
|
@@ -3547,6 +3546,8 @@ class NewPrinterGUI(GtkGUI):
|
||||||
|
"entNPTDevice",
|
||||||
|
"tvNCMembers",
|
||||||
|
"tvNCNotMembers",
|
||||||
|
+ "btnNCAddMember",
|
||||||
|
+ "btnNCDelMember",
|
||||||
|
"ntbkPPDSource",
|
||||||
|
"rbtnNPPPD",
|
||||||
|
"tvNPMakes",
|
||||||
|
@@ -4089,11 +4090,23 @@ class NewPrinterGUI(GtkGUI):
|
||||||
|
moveClassMembers(self.tvNCNotMembers, self.tvNCMembers)
|
||||||
|
self.btnNPApply.set_sensitive(
|
||||||
|
bool(getCurrentClassMembers(self.tvNCMembers)))
|
||||||
|
+ button.set_sensitive(False)
|
||||||
|
|
||||||
|
def on_btnNCDelMember_clicked(self, button):
|
||||||
|
moveClassMembers(self.tvNCMembers, self.tvNCNotMembers)
|
||||||
|
self.btnNPApply.set_sensitive(
|
||||||
|
bool(getCurrentClassMembers(self.tvNCMembers)))
|
||||||
|
+ button.set_sensitive(False)
|
||||||
|
+
|
||||||
|
+ def on_tvNCMembers_cursor_changed(self, widget):
|
||||||
|
+ selection = widget.get_selection()
|
||||||
|
+ model_from, rows = selection.get_selected_rows()
|
||||||
|
+ self.btnNCDelMember.set_sensitive(rows != [])
|
||||||
|
+
|
||||||
|
+ def on_tvNCNotMembers_cursor_changed(self, widget):
|
||||||
|
+ selection = widget.get_selection()
|
||||||
|
+ model_from, rows = selection.get_selected_rows()
|
||||||
|
+ self.btnNCAddMember.set_sensitive(rows != [])
|
||||||
|
|
||||||
|
# Navigation buttons
|
||||||
|
|
14
system-config-printer-gutenprint.patch
Normal file
14
system-config-printer-gutenprint.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
diff -up system-config-printer-1.1.8/cupshelpers/cupshelpers.py.gutenprint system-config-printer-1.1.8/cupshelpers/cupshelpers.py
|
||||||
|
--- system-config-printer-1.1.8/cupshelpers/cupshelpers.py.gutenprint 2009-06-17 18:39:51.000000000 +0100
|
||||||
|
+++ system-config-printer-1.1.8/cupshelpers/cupshelpers.py 2009-07-03 18:09:03.598995561 +0100
|
||||||
|
@@ -736,8 +736,10 @@ def missingPackagesAndExecutables(ppd):
|
||||||
|
# IJS servers (used by foomatic)
|
||||||
|
'hpijs': 'hpijs',
|
||||||
|
'ijsgutenprint.5.0': 'gutenprint',
|
||||||
|
+ 'ijsgutenprint.5.2': 'gutenprint',
|
||||||
|
# CUPS filters
|
||||||
|
'rastertogutenprint.5.0': 'gutenprint-cups',
|
||||||
|
+ 'rastertogutenprint.5.2': 'gutenprint-cups',
|
||||||
|
'commandtoepson': 'gutenprint-cups',
|
||||||
|
'commandtocanon': 'gutenprint-cups',
|
||||||
|
}
|
77
system-config-printer-packagekit.patch
Normal file
77
system-config-printer-packagekit.patch
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
diff -up system-config-printer-1.1.8/installpackage.py.packagekit system-config-printer-1.1.8/installpackage.py
|
||||||
|
--- system-config-printer-1.1.8/installpackage.py.packagekit 2009-05-12 10:36:36.000000000 +0100
|
||||||
|
+++ system-config-printer-1.1.8/installpackage.py 2009-07-03 18:07:09.560995667 +0100
|
||||||
|
@@ -2,8 +2,8 @@
|
||||||
|
|
||||||
|
## system-config-printer
|
||||||
|
|
||||||
|
-## Copyright (C) 2008 Red Hat, Inc.
|
||||||
|
-## Copyright (C) 2008 Tim Waugh <twaugh@redhat.com>
|
||||||
|
+## Copyright (C) 2008, 2009 Red Hat, Inc.
|
||||||
|
+## Copyright (C) 2008, 2009 Tim Waugh <twaugh@redhat.com>
|
||||||
|
|
||||||
|
## 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
|
||||||
|
@@ -19,53 +19,18 @@
|
||||||
|
## along with this program; if not, write to the Free Software
|
||||||
|
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
-import dbus
|
||||||
|
-import xml.etree.ElementTree
|
||||||
|
-from dbus.mainloop.glib import DBusGMainLoop
|
||||||
|
-DBusGMainLoop (set_as_default=True)
|
||||||
|
+import os
|
||||||
|
+import glib
|
||||||
|
|
||||||
|
class PackageKit:
|
||||||
|
def __init__ (self):
|
||||||
|
- bus = dbus.SessionBus ()
|
||||||
|
- obj = bus.get_object ("org.freedesktop.PackageKit",
|
||||||
|
- "/org/freedesktop/PackageKit")
|
||||||
|
-
|
||||||
|
- # Find out which API is required.
|
||||||
|
- num_args = -1
|
||||||
|
- introsp = dbus.Interface (obj, "org.freedesktop.DBus.Introspectable")
|
||||||
|
- api = introsp.Introspect ()
|
||||||
|
- top = xml.etree.ElementTree.XML (api)
|
||||||
|
- for interface in top.findall ("interface"):
|
||||||
|
- if interface.attrib.get ("name") != "org.freedesktop.PackageKit":
|
||||||
|
- continue
|
||||||
|
-
|
||||||
|
- for method in interface.findall ("method"):
|
||||||
|
- if method.attrib.get ("name") != "InstallPackageName":
|
||||||
|
- continue
|
||||||
|
+ for dir in os.environ.get ("PATH", "").split (":"):
|
||||||
|
+ path = dir + os.path.sep + "gpk-install-package-name"
|
||||||
|
+ if os.access (path, os.X_OK):
|
||||||
|
+ self.gpk_install_package_name = path
|
||||||
|
+ return
|
||||||
|
|
||||||
|
- num_args = len (method.findall ("arg"))
|
||||||
|
- break
|
||||||
|
-
|
||||||
|
- if num_args == -1:
|
||||||
|
- raise RuntimeError, "Introspection failed for PackageKit"
|
||||||
|
-
|
||||||
|
- self.proxy = dbus.Interface (obj, "org.freedesktop.PackageKit")
|
||||||
|
- self.num_args = num_args
|
||||||
|
+ raise RuntimeError, "No gpk-install-package-name program available"
|
||||||
|
|
||||||
|
def InstallPackageName (self, xid, timestamp, name):
|
||||||
|
- proxy = self.proxy
|
||||||
|
- if self.num_args == 3:
|
||||||
|
- return proxy.InstallPackageName (xid, timestamp, name,
|
||||||
|
- reply_handler=self.reply_handler,
|
||||||
|
- error_handler=self.error_handler)
|
||||||
|
- else:
|
||||||
|
- # Old PackageKit interface
|
||||||
|
- return proxy.InstallPackageName (name,
|
||||||
|
- reply_handler=self.reply_handler,
|
||||||
|
- error_handler=self.error_handler)
|
||||||
|
-
|
||||||
|
- def reply_handler (self, *args):
|
||||||
|
- pass
|
||||||
|
-
|
||||||
|
- def error_handler (self, *args):
|
||||||
|
- pass
|
||||||
|
+ glib.spawn_async ([self.gpk_install_package_name, name])
|
15
system-config-printer-stopped-jobs.patch
Normal file
15
system-config-printer-stopped-jobs.patch
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
diff -up system-config-printer-1.1.8/jobviewer.py.stopped-jobs system-config-printer-1.1.8/jobviewer.py
|
||||||
|
--- system-config-printer-1.1.8/jobviewer.py.stopped-jobs 2009-06-17 18:39:51.000000000 +0100
|
||||||
|
+++ system-config-printer-1.1.8/jobviewer.py 2009-07-03 18:08:28.040995881 +0100
|
||||||
|
@@ -1375,7 +1375,10 @@ class JobViewer (GtkGUI, monitor.Watcher
|
||||||
|
self.notify_completed_job (jobid)
|
||||||
|
|
||||||
|
# Look out for stopped jobs.
|
||||||
|
- if (self.trayicon and eventname == 'job-stopped' and
|
||||||
|
+ if (self.trayicon and
|
||||||
|
+ (eventname == 'job-stopped' or
|
||||||
|
+ (eventname == 'job-state-changed' and
|
||||||
|
+ event['job-state'] == cups.IPP_JOB_STOPPED))and
|
||||||
|
not jobid in self.stopped_job_prompts):
|
||||||
|
# Why has the job stopped? It might be due to a job error
|
||||||
|
# of some sort, or it might be that the backend requires
|
@ -7,7 +7,7 @@
|
|||||||
Summary: A printer administration tool
|
Summary: A printer administration tool
|
||||||
Name: system-config-printer
|
Name: system-config-printer
|
||||||
Version: 1.1.8
|
Version: 1.1.8
|
||||||
Release: 3%{?dist}
|
Release: 5%{?dist}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: http://cyberelk.net/tim/software/system-config-printer/
|
URL: http://cyberelk.net/tim/software/system-config-printer/
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
@ -21,6 +21,10 @@ Patch4: system-config-printer-remote-location-field.patch
|
|||||||
Patch5: system-config-printer-nmblookup-failure.patch
|
Patch5: system-config-printer-nmblookup-failure.patch
|
||||||
Patch6: system-config-printer-properties-cancel.patch
|
Patch6: system-config-printer-properties-cancel.patch
|
||||||
Patch7: system-config-printer-incorrect-auth.patch
|
Patch7: system-config-printer-incorrect-auth.patch
|
||||||
|
Patch8: system-config-printer-packagekit.patch
|
||||||
|
Patch9: system-config-printer-stopped-jobs.patch
|
||||||
|
Patch10: system-config-printer-gutenprint.patch
|
||||||
|
Patch11: system-config-printer-arrows.patch
|
||||||
|
|
||||||
BuildRequires: cups-devel >= 1.2
|
BuildRequires: cups-devel >= 1.2
|
||||||
BuildRequires: python-devel >= 2.4
|
BuildRequires: python-devel >= 2.4
|
||||||
@ -77,6 +81,10 @@ the configuration tool.
|
|||||||
%patch5 -p1 -b .nmblookup-failure
|
%patch5 -p1 -b .nmblookup-failure
|
||||||
%patch6 -p1 -b .properties-cancel
|
%patch6 -p1 -b .properties-cancel
|
||||||
%patch7 -p1 -b .incorrect-auth
|
%patch7 -p1 -b .incorrect-auth
|
||||||
|
%patch8 -p1 -b .packagekit
|
||||||
|
%patch9 -p1 -b .stopped-jobs
|
||||||
|
%patch10 -p1 -b .gutenprint
|
||||||
|
%patch11 -p1 -b .arrows
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure
|
||||||
@ -179,6 +187,13 @@ rm -rf %buildroot
|
|||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jul 3 2009 Tim Waugh <twaugh@redhat.com> 1.1.8-5
|
||||||
|
- Use gpk-install-package-name instead of trying to use the D-Bus API.
|
||||||
|
- Spot stopped jobs with CUPS 1.4 as well (trac #177). This, along
|
||||||
|
with the previous fix, addresses bug #509177.
|
||||||
|
- Map gutenprint filenames to the package name.
|
||||||
|
- Fixed sensitivity of class member selection arrows (bug #508653).
|
||||||
|
|
||||||
* Thu Jun 25 2009 Tim Waugh <twaugh@redhat.com> 1.1.8-3
|
* Thu Jun 25 2009 Tim Waugh <twaugh@redhat.com> 1.1.8-3
|
||||||
- Use correct 'location' field for printers added remotely.
|
- Use correct 'location' field for printers added remotely.
|
||||||
- Parse nmblookup failures correctly in troubleshooter.
|
- Parse nmblookup failures correctly in troubleshooter.
|
||||||
|
Loading…
Reference in New Issue
Block a user