rpms/system-config-printer/devel system-config-printer-git-1.1.x.patch, 1.3, 1.4 system-config-printer.spec, 1.248, 1.249

Tim Waugh twaugh at fedoraproject.org
Wed Feb 11 11:47:16 UTC 2009


Author: twaugh

Update of /cvs/pkgs/rpms/system-config-printer/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9572

Modified Files:
	system-config-printer-git-1.1.x.patch 
	system-config-printer.spec 
Log Message:
* Wed Feb 11 2009 Tim Waugh <twaugh at redhat.com> 1.1.3-7
- Updated from git:
  - Avoid tracebacks in main application (bug #484130) and job viewer.
  - Avoid unnecessary modal dialog when adding printer (bug #484960).
  - Don't use notification when authentication is required, just
    display the dialog.


system-config-printer-git-1.1.x.patch:

Index: system-config-printer-git-1.1.x.patch
===================================================================
RCS file: /cvs/pkgs/rpms/system-config-printer/devel/system-config-printer-git-1.1.x.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- system-config-printer-git-1.1.x.patch	10 Feb 2009 18:35:55 -0000	1.3
+++ system-config-printer-git-1.1.x.patch	11 Feb 2009 11:47:16 -0000	1.4
@@ -1,6 +1,6 @@
 diff -up system-config-printer-1.1.3/authconn.py.git-1.1.x system-config-printer-1.1.3/authconn.py
 --- system-config-printer-1.1.3/authconn.py.git-1.1.x	2009-02-02 17:49:39.000000000 +0000
-+++ system-config-printer-1.1.3/authconn.py	2009-02-10 18:35:04.000000000 +0000
++++ system-config-printer-1.1.3/authconn.py	2009-02-11 11:10:17.000000000 +0000
 @@ -19,8 +19,10 @@
  
  import threading
@@ -57,10 +57,55 @@
                  if not self._cancel and (e == cups.IPP_NOT_AUTHORIZED or
                                           e == cups.IPP_FORBIDDEN):
                      self._failed (e == cups.IPP_FORBIDDEN)
+@@ -390,8 +409,6 @@ class Connection:
+         d.set_keep_above (True)
+         d.show_all ()
+         d.show_now ()
+-        gtk.gdk.keyboard_grab (d.window, True)
+-        gtk.gdk.pointer_grab (d.window, True)
+         self._dialog_shown = True
+         if self._lock:
+             d.connect ("response", self._on_authentication_response)
+@@ -401,8 +418,6 @@ class Connection:
+             self._on_authentication_response (d, response)
+ 
+     def _on_authentication_response (self, dialog, response):
+-        gtk.gdk.pointer_ungrab ()
+-        gtk.gdk.keyboard_ungrab ()
+         (self._use_user,
+          self._use_password) = dialog.get_auth_info ()
+         dialog.destroy ()
 diff -U0 system-config-printer-1.1.3/ChangeLog.git-1.1.x system-config-printer-1.1.3/ChangeLog
 --- system-config-printer-1.1.3/ChangeLog.git-1.1.x	2009-02-02 17:49:39.000000000 +0000
-+++ system-config-printer-1.1.3/ChangeLog	2009-02-10 18:35:04.000000000 +0000
-@@ -0,0 +1,19 @@
++++ system-config-printer-1.1.3/ChangeLog	2009-02-11 11:10:17.000000000 +0000
+@@ -0,0 +1,46 @@
++2009-02-11  Tim Waugh  <twaugh at redhat.com>
++
++	* jobviewer.py (JobViewer.update_job): Don't display a
++	notification when authentication is required, just go straight to
++	the authentication dialog.  Don't grab keyboard and pointer for
++	that dialog and instead let the window manager prevent keyboard
++	input accidentally going to the wrong window.
++
++2009-02-11  Tim Waugh  <twaugh at redhat.com>
++
++	* authconn.py (Connection._perform_authentication): Don't grab
++	keyboard and pointer when displaying authentication dialog.
++	Instead let the window manager prevent keyboard input accidentally
++	going to the wrong window.
++
++2009-02-11  Tim Waugh  <twaugh at redhat.com>
++
++	* system-config-printer.py (NewPrinterGUI.on_btnNPApply_clicked):
++	Don't show wait window when adding a new printer, as that may	
++	require an authentication dialog and we don't want them competing
++	for focus (bug #484960).
++
++2009-02-11  Tim Waugh  <twaugh at redhat.com>
++
++	* system-config-printer.py (NewPrinterGUI.getNPPPD): Fixed
++	indentation.
++
 +2009-02-10  Tim Waugh  <twaugh at redhat.com>
 +
 +	* system-config-printer.py (NewPrinterGUI.getJockeyDriver_thread):
@@ -81,8 +126,8 @@
 +	display status icon for completed jobs (trac #140).
 +
 diff -up /dev/null system-config-printer-1.1.3/cupspk.py
---- /dev/null	2009-02-10 09:39:07.061189340 +0000
-+++ system-config-printer-1.1.3/cupspk.py	2009-02-10 18:35:04.000000000 +0000
+--- /dev/null	2009-02-11 08:44:26.046189319 +0000
++++ system-config-printer-1.1.3/cupspk.py	2009-02-11 11:10:17.000000000 +0000
 @@ -0,0 +1,732 @@
 +# vim: set ts=4 sw=4 et: coding=UTF-8
 +#
@@ -818,14 +863,100 @@
 +#    printFiles
 diff -up system-config-printer-1.1.3/jobviewer.py.git-1.1.x system-config-printer-1.1.3/jobviewer.py
 --- system-config-printer-1.1.3/jobviewer.py.git-1.1.x	2009-02-03 12:30:29.000000000 +0000
-+++ system-config-printer-1.1.3/jobviewer.py	2009-02-10 18:35:04.000000000 +0000
++++ system-config-printer-1.1.3/jobviewer.py	2009-02-11 11:10:17.000000000 +0000
 @@ -1,5 +1,4 @@
  
 -
  ## Copyright (C) 2007, 2008, 2009 Tim Waugh <twaugh at redhat.com>
  ## Copyright (C) 2007, 2008, 2009 Red Hat, Inc.
  
-@@ -841,7 +840,7 @@ class JobViewer (GtkGUI, monitor.Watcher
+@@ -144,13 +143,11 @@ class JobViewer (GtkGUI, monitor.Watcher
+         self.num_jobs_when_hidden = 0
+         self.connecting_to_device = {} # dict of printer->time first seen
+         self.state_reason_notifications = {}
+-        self.auth_notifications = {} # by job ID
+         self.auth_info_dialogs = {} # by job ID
+         self.job_creation_times_timer = None
+         self.special_status_icon = False
+         self.new_printer_notifications = {}
+         self.completed_job_notifications = {}
+-        self.reasoniters = {}
+         self.authenticated_jobs = set() # of job IDs
+ 
+         self.getWidgets ({"JobsWindow":
+@@ -308,7 +305,6 @@ class JobViewer (GtkGUI, monitor.Watcher
+ 
+         # Close any open notifications.
+         for l in [self.new_printer_notifications.values (),
+-                  self.auth_notifications.values (),
+                   self.state_reason_notifications.values ()]:
+             for notification in l:
+                 if notification.get_data ('closed') != True:
+@@ -607,7 +603,6 @@ class JobViewer (GtkGUI, monitor.Watcher
+         # Check whether authentication is required.
+         if self.trayicon:
+             if (job_requires_auth and
+-                not self.auth_notifications.has_key (job) and
+                 not self.auth_info_dialogs.has_key (job)):
+                 try:
+                     cups.require ("1.9.37")
+@@ -685,33 +680,7 @@ class JobViewer (GtkGUI, monitor.Watcher
+                         c._end_operation ()
+                         nonfatalException ()
+ 
+-                title = _("Authentication Required")
+-                text = _("Job requires authentication to proceed.")
+-                notification = pynotify.Notification (title, text, 'printer')
+-                notification.set_data ('job-id', job)
+-                notification.set_data ('keyring-attrs', keyring_attrs)
+-                notification.set_urgency (pynotify.URGENCY_NORMAL)
+-                notification.set_timeout (pynotify.EXPIRES_NEVER)
+-                notification.connect ('closed',
+-                                      self.on_auth_notification_closed)
+-                notification.add_action ("authenticate", _("Authenticate"),
+-                                         self.on_auth_notification_authenticate)
+-                self.auth_notifications[job] = notification
+-                debugprint ("auth notification opened for job %s" % job)
+-                self.set_statusicon_visibility ()
+-
+-                # In set_statusicon_visibility we process pending
+-                # events, so we need to check that we still have a
+-                # notification to show.
+-                if notification.get_data ('closed') != True:
+-                    notification.attach_to_status_icon (self.statusicon)
+-                    notification.show ()
+-            elif (not job_requires_auth and
+-                  self.auth_notifications.has_key (job)):
+-                debugprint ("job %s no longer requires auth" % job)
+-                self.auth_notifications[job].close ()
+-                self.auth_notifications[job].set_data ('closed', True)
+-                del self.auth_notifications[job]
++                self.display_auth_info_dialog (job)
+ 
+     def on_auth_notification_closed (self, notification, reason=None):
+         job = notification.get_data ('job-id')
+@@ -763,15 +732,11 @@ class JobViewer (GtkGUI, monitor.Watcher
+         dialog.show_all ()
+         dialog.set_keep_above (True)
+         dialog.show_now ()
+-        gtk.gdk.keyboard_grab (dialog.window, True)
+-        gtk.gdk.pointer_grab (dialog.window, True)
+ 
+     def auth_info_dialog_delete (self, dialog, event):
+         self.auth_info_dialog_response (dialog, gtk.RESPONSE_CANCEL)
+ 
+     def auth_info_dialog_response (self, dialog, response):
+-        gtk.gdk.pointer_ungrab ()
+-        gtk.gdk.keyboard_ungrab ()
+         jobid = dialog.get_data ('job-id')
+         del self.auth_info_dialogs[jobid]
+         if response != gtk.RESPONSE_OK:
+@@ -836,12 +801,11 @@ class JobViewer (GtkGUI, monitor.Watcher
+             return
+ 
+         open_notifications = len (self.new_printer_notifications.keys ())
+-        open_notifications += len (self.auth_notifications.keys ())
+         open_notifications += len (self.completed_job_notifications.keys ())
          for reason, notification in self.state_reason_notifications.iteritems():
              if notification.get_data ('closed') != True:
                  open_notifications += 1
@@ -834,7 +965,7 @@
  
          debugprint ("open notifications: %d" % open_notifications)
          debugprint ("num_jobs: %d" % num_jobs)
-@@ -1294,7 +1293,11 @@ class JobViewer (GtkGUI, monitor.Watcher
+@@ -1294,7 +1258,11 @@ class JobViewer (GtkGUI, monitor.Watcher
          if not self.jobiters.has_key (jobid):
              self.add_job (jobid, jobdata)
  
@@ -847,7 +978,7 @@
          self.update_status (have_jobs=True)
          if self.trayicon:
              if not self.job_is_active (jobdata):
-@@ -1314,10 +1317,13 @@ class JobViewer (GtkGUI, monitor.Watcher
+@@ -1314,10 +1282,13 @@ class JobViewer (GtkGUI, monitor.Watcher
              printer = uri
          jobdata['job-printer-name'] = printer
  
@@ -861,9 +992,46 @@
  
          self.update_job (jobid, jobdata)
          jobdata = self.jobs[jobid]
+@@ -1464,11 +1435,6 @@ class JobViewer (GtkGUI, monitor.Watcher
+         if jobid in self.active_jobs:
+             self.active_jobs.remove (jobid)
+ 
+-        if self.auth_notifications.has_key (jobid):
+-            self.auth_notifications[jobid].close ()
+-            self.auth_notifications[jobid].set_data ('closed', True)
+-            del self.auth_notifications[jobid]
+-
+         self.update_status ()
+ 
+     def state_reason_added (self, mon, reason):
+@@ -1476,11 +1442,6 @@ class JobViewer (GtkGUI, monitor.Watcher
+ 
+         (title, text) = reason.get_description ()
+         printer = reason.get_printer ()
+-        iter = self.store_printers.append (None)
+-        self.store_printers.set_value (iter, 0, reason.get_level ())
+-        self.store_printers.set_value (iter, 1, printer)
+-        self.store_printers.set_value (iter, 2, text)
+-        self.reasoniters[reason.get_tuple ()] = iter
+ 
+         try:
+             l = self.printer_state_reasons[printer]
+@@ -1507,12 +1468,6 @@ class JobViewer (GtkGUI, monitor.Watcher
+     def state_reason_removed (self, mon, reason):
+         monitor.Watcher.state_reason_removed (self, mon, reason)
+ 
+-        try:
+-            iter = self.reasoniters[reason.get_tuple ()]
+-            self.store_printers.remove (iter)
+-        except KeyError:
+-            debugprint ("Reason iter not found")
+-
+         printer = reason.get_printer ()
+         try:
+             reasons = self.printer_state_reasons[printer]
 diff -up system-config-printer-1.1.3/Makefile.am.git-1.1.x system-config-printer-1.1.3/Makefile.am
 --- system-config-printer-1.1.3/Makefile.am.git-1.1.x	2009-02-02 17:49:39.000000000 +0000
-+++ system-config-printer-1.1.3/Makefile.am	2009-02-10 18:35:04.000000000 +0000
++++ system-config-printer-1.1.3/Makefile.am	2009-02-11 11:10:17.000000000 +0000
 @@ -68,6 +68,7 @@ nobase_pkgdata_DATA=					\
  	AdvancedServerSettings.py			\
  	authconn.py					\
@@ -874,7 +1042,7 @@
  	HIG.py						\
 diff -up system-config-printer-1.1.3/PhysicalDevice.py.git-1.1.x system-config-printer-1.1.3/PhysicalDevice.py
 --- system-config-printer-1.1.3/PhysicalDevice.py.git-1.1.x	2009-01-12 16:46:56.000000000 +0000
-+++ system-config-printer-1.1.3/PhysicalDevice.py	2009-02-10 18:35:04.000000000 +0000
++++ system-config-printer-1.1.3/PhysicalDevice.py	2009-02-11 11:10:17.000000000 +0000
 @@ -1,7 +1,7 @@
  #!/usr/bin/env python
  
@@ -900,7 +1068,7 @@
      def add_device (self, device):
 diff -up system-config-printer-1.1.3/po/fi.po.git-1.1.x system-config-printer-1.1.3/po/fi.po
 --- system-config-printer-1.1.3/po/fi.po.git-1.1.x	2009-02-03 12:33:33.000000000 +0000
-+++ system-config-printer-1.1.3/po/fi.po	2009-02-10 18:35:04.000000000 +0000
++++ system-config-printer-1.1.3/po/fi.po	2009-02-11 11:10:17.000000000 +0000
 @@ -3,59 +3,58 @@
  #
  # Mikko Ikola <ikola at iki.fi>, 2004.
@@ -3752,7 +3920,7 @@
  #~ msgstr "Luo uusi tulostinryhmä"
 diff -up system-config-printer-1.1.3/po/ko.po.git-1.1.x system-config-printer-1.1.3/po/ko.po
 --- system-config-printer-1.1.3/po/ko.po.git-1.1.x	2009-02-03 12:33:33.000000000 +0000
-+++ system-config-printer-1.1.3/po/ko.po	2009-02-10 18:35:04.000000000 +0000
++++ system-config-printer-1.1.3/po/ko.po	2009-02-11 11:10:17.000000000 +0000
 @@ -7,15 +7,15 @@ msgid ""
  msgstr ""
  "Project-Id-Version: system-config-printer.1.1.x\n"
@@ -4394,7 +4562,7 @@
 -#~ msgstr "프린터 상태"
 diff -up system-config-printer-1.1.3/po/sk.po.git-1.1.x system-config-printer-1.1.3/po/sk.po
 --- system-config-printer-1.1.3/po/sk.po.git-1.1.x	2009-02-03 12:33:33.000000000 +0000
-+++ system-config-printer-1.1.3/po/sk.po	2009-02-10 18:35:04.000000000 +0000
++++ system-config-printer-1.1.3/po/sk.po	2009-02-11 11:10:17.000000000 +0000
 @@ -5,20 +5,20 @@
  #
  # Mike Karas <zoliqe at gmail.com>, 2005.
@@ -5366,7 +5534,7 @@
  msgid "System tray icon for managing print jobs"
 diff -up system-config-printer-1.1.3/po/zh_CN.po.git-1.1.x system-config-printer-1.1.3/po/zh_CN.po
 --- system-config-printer-1.1.3/po/zh_CN.po.git-1.1.x	2009-02-03 12:33:33.000000000 +0000
-+++ system-config-printer-1.1.3/po/zh_CN.po	2009-02-10 18:35:04.000000000 +0000
++++ system-config-printer-1.1.3/po/zh_CN.po	2009-02-11 11:10:17.000000000 +0000
 @@ -1,4 +1,4 @@
 -# translation of system-config-printer.1.0.x.po to Simplified Chinese
 +# translation of system-config-printer.1.1.x.po to Simplified Chinese
@@ -5743,7 +5911,7 @@
  msgid "Printer Location"
 diff -up system-config-printer-1.1.3/system-config-printer.py.git-1.1.x system-config-printer-1.1.3/system-config-printer.py
 --- system-config-printer-1.1.3/system-config-printer.py.git-1.1.x	2009-02-03 12:30:29.000000000 +0000
-+++ system-config-printer-1.1.3/system-config-printer.py	2009-02-10 18:35:04.000000000 +0000
++++ system-config-printer-1.1.3/system-config-printer.py	2009-02-11 11:10:17.000000000 +0000
 @@ -854,6 +854,8 @@ class GUI(GtkGUI, monitor.Watcher):
              name = unicode (model.get_value (iter, 2))
              if name == queue:
@@ -5802,18 +5970,46 @@
                      f = self.mainapp.cups.getServerPPD(ppd)
                      ppd = cups.PPD(f)
                      os.unlink(f)
-@@ -5994,7 +5996,9 @@ class NewPrinterGUI(GtkGUI):
+@@ -5994,6 +5996,8 @@ class NewPrinterGUI(GtkGUI):
                  nonfatalException()
                  debugprint ("CUPS 1.3 server not available: never mind")
  
--        return ppd
 +            self.mainapp.cups._end_operation ()
 +
-+       return ppd
+         return ppd
  
      # Installable Options
+@@ -6091,11 +6095,6 @@ class NewPrinterGUI(GtkGUI):
+                 option.writeback()
  
-@@ -6358,7 +6362,7 @@ if __name__ == "__main__":
+             self.busy (self.NewPrinterWindow)
+-            self.lblWait.set_markup ('<span weight="bold" size="larger">' +
+-                                     _('Adding') + '</span>\n\n' +
+-                                     _('Adding printer'))
+-            self.WaitWindow.set_transient_for (self.NewPrinterWindow)
+-            self.WaitWindow.show ()
+             while gtk.events_pending ():
+                 gtk.main_iteration ()
+             self.mainapp.cups._begin_operation (_("adding printer %s") % name)
+@@ -6115,17 +6114,14 @@ class NewPrinterGUI(GtkGUI):
+                     checkppd = ppd
+             except cups.IPPError, (e, msg):
+                 self.ready (self.NewPrinterWindow)
+-                self.WaitWindow.hide ()
+                 self.show_IPP_Error(e, msg)
+                 self.mainapp.cups._end_operation()
+                 return
+             except:
+                 self.ready (self.NewPrinterWindow)
+-                self.WaitWindow.hide ()
+                 self.mainapp.cups._end_operation()
+                 fatalException (1)
+             self.mainapp.cups._end_operation()
+-            self.WaitWindow.hide ()
+             self.ready (self.NewPrinterWindow)
+         if self.dialog_mode in ("class", "printer"):
+             self.mainapp.cups._begin_operation (_("modifying printer %s") %
+@@ -6358,7 +6354,7 @@ if __name__ == "__main__":
              configure_printer = optarg
              if opt == "--choose-driver":
                  change_ppd = True


Index: system-config-printer.spec
===================================================================
RCS file: /cvs/pkgs/rpms/system-config-printer/devel/system-config-printer.spec,v
retrieving revision 1.248
retrieving revision 1.249
diff -u -r1.248 -r1.249
--- system-config-printer.spec	10 Feb 2009 18:35:55 -0000	1.248
+++ system-config-printer.spec	11 Feb 2009 11:47:16 -0000	1.249
@@ -7,7 +7,7 @@
 Summary: A printer administration tool
 Name: system-config-printer
 Version: 1.1.3
-Release: 6%{?dist}
+Release: 7%{?dist}
 License: GPLv2+
 URL: http://cyberelk.net/tim/software/system-config-printer/
 Group: System Environment/Base
@@ -169,6 +169,13 @@
 exit 0
 
 %changelog
+* Wed Feb 11 2009 Tim Waugh <twaugh at redhat.com> 1.1.3-7
+- Updated from git:
+  - Avoid tracebacks in main application (bug #484130) and job viewer.
+  - Avoid unnecessary modal dialog when adding printer (bug #484960).
+  - Don't use notification when authentication is required, just
+    display the dialog.
+
 * Tue Feb 10 2009 Tim Waugh <twaugh at redhat.com> 1.1.3-6
 - Updated from git:
   - Better make/model discovery for multiple devices (bug #484130).




More information about the fedora-extras-commits mailing list