~ubuntu-branches/ubuntu/maverick/kdeutils/maverick-proposed

« back to all changes in this revision

Viewing changes to debian/patches/kubuntu_01_printer_applet_statusnotifier_port.diff

  • Committer: Bazaar Package Importer
  • Author(s): Alessandro Ghersi
  • Date: 2010-02-05 02:09:03 UTC
  • mfrom: (1.2.40 upstream)
  • Revision ID: james.westby@ubuntu.com-20100205020903-8cj7w32i7mcmqem8
Tags: 4:4.4.0-0ubuntu1
* New upstream release
  - Bump build-deps 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Index: kdeutils-4.3.98/printer-applet/printer-applet.py
 
2
===================================================================
 
3
--- kdeutils-4.3.98.orig/printer-applet/printer-applet.py       2010-02-02 18:32:33.463050816 -0500
 
4
+++ kdeutils-4.3.98/printer-applet/printer-applet.py    2010-02-02 18:36:49.360052925 -0500
 
5
@@ -43,7 +43,7 @@
 
6
 from PyQt4.QtGui import *
 
7
 from PyQt4 import uic
 
8
 from PyKDE4.kdecore import i18n, i18nc, i18np, i18ncp, ki18n, KAboutData, KCmdLineArgs, KCmdLineOptions, KStandardDirs, KLocalizedString
 
9
-from PyKDE4.kdeui import KApplication, KXmlGuiWindow, KStandardAction, KIcon, KToggleAction, KNotification, KMessageBox
 
10
+from PyKDE4.kdeui import KApplication, KXmlGuiWindow, KStandardAction, KIcon, KToggleAction, KNotification, KMenu, KMessageBox, KStatusNotifierItem
 
11
 
 
12
 def translate(self, prop):
 
13
     """reimplement method from uic to change it to use gettext"""
 
14
@@ -242,19 +242,15 @@
 
15
         self.printersWindow = PrintersWindow(self)
 
16
         uic.loadUi(APPDIR + "/" + "printer-applet-printers.ui", self.printersWindow)
 
17
 
 
18
-        self.sysTray = QSystemTrayIcon(KIcon("printer"), self.mainWindow)
 
19
-        #self.sysTray.show()
 
20
-        self.connect(self.sysTray, SIGNAL("activated( QSystemTrayIcon::ActivationReason )"), self.toggle_window_display)
 
21
-
 
22
-        self.menu = QMenu()
 
23
-        self.menu.addAction(i18n("_Hide").replace("_", ""), self.on_icon_hide_activate)
 
24
-        self.menu.addAction(KIcon("application-exit"), i18n("Quit"), self.on_icon_quit_activate)
 
25
-        self.sysTray.setContextMenu(self.menu)
 
26
+        self.sysTray = KStatusNotifierItem(self.mainWindow)
 
27
+        self.sysTray.setCategory(KStatusNotifierItem.Hardware)
 
28
+        self.sysTray.setIconByName("printer")
 
29
+        self.sysTray.setAssociatedWidget(self.mainWindow)
 
30
 
 
31
         self.mainWindow.treeWidget.setContextMenuPolicy(Qt.CustomContextMenu)
 
32
         self.connect(self.mainWindow.treeWidget, SIGNAL("customContextMenuRequested(const QPoint&)"), self.show_treeview_popup_menu)
 
33
         #self.connect(self.mainWindow.treeWidget, SIGNAL("itemClicked(QTreeWidgetItem*, int)"), self.printItemClicked)
 
34
-        self.rightClickMenu = QMenu(self.mainWindow.treeWidget)
 
35
+        self.rightClickMenu = KMenu(self.mainWindow.treeWidget)
 
36
         self.cancel = self.rightClickMenu.addAction(i18n("Cancel"), self.on_job_cancel_activate)
 
37
         self.hold = self.rightClickMenu.addAction(i18n("_Hold").replace("_",""), self.on_job_hold_activate)
 
38
         self.release = self.rightClickMenu.addAction(i18n("_Release").replace("_",""), self.on_job_release_activate)
 
39
@@ -316,7 +312,7 @@
 
40
     """
 
41
 
 
42
     def notify_new_printer (self, printer, title, text):
 
43
-        self.sysTray.show()
 
44
+        self.sysTray.setStatus(KStatusNotifierItem.Active)
 
45
         KNotification.event(title, text, KIcon("konqueror").pixmap(QSize(22,22)))
 
46
 
 
47
     """unused, see set_special_statusicon
 
48
@@ -354,14 +350,6 @@
 
49
         error_text = error_text.replace("\n", "<br />")
 
50
         error_text = error_text.replace("span", "strong")
 
51
         KMessageBox.error(self.mainWindow, error_text, i18n("Error"))
 
52
-
 
53
-    def toggle_window_display(self, activationReason):
 
54
-        if activationReason == QSystemTrayIcon.Trigger:
 
55
-            if self.mainWindow.isVisible():
 
56
-                self.mainWindow.hide()
 
57
-            else:
 
58
-                self.mainWindow.show()
 
59
-                self.monitor.refresh()
 
60
     
 
61
     #FIXME, hide printer status window?
 
62
     def hideMainWindow(self):
 
63
@@ -533,8 +521,10 @@
 
64
         debugprint ("num_jobs: %d" % num_jobs)
 
65
         debugprint ("num_jobs_when_hidden: %d" % self.num_jobs_when_hidden)
 
66
 
 
67
-        self.sysTray.setVisible(self.special_status_icon or
 
68
-                                     num_jobs > self.num_jobs_when_hidden)
 
69
+        if self.special_status_icon or num_jobs > self.num_jobs_when_hidden:
 
70
+            self.sysTray.setStatus(KStatusNotifierItem.Active)
 
71
+        else:
 
72
+            self.sysTray.setStatus(KStatusNotifierItem.Passive)
 
73
 
 
74
     def show_treeview_popup_menu(self, postition):
 
75
         # Right-clicked.
 
76
@@ -566,13 +556,6 @@
 
77
     def on_icon_popupmenu(self, icon, button, time):
 
78
         self.icon_popupmenu.popup (None, None, None, button, time)
 
79
 
 
80
-    def on_icon_hide_activate(self):
 
81
-        self.num_jobs_when_hidden = len (self.jobs.keys ())
 
82
-        self.set_statusicon_visibility ()
 
83
-
 
84
-    def on_icon_quit_activate(self):
 
85
-        app.quit()
 
86
-
 
87
     def on_job_cancel_activate(self):
 
88
         try:
 
89
             c = authconn.Connection (self.mainWindow)
 
90
@@ -652,11 +635,11 @@
 
91
         if tooltip == None:
 
92
             num_jobs = len (self.jobs)
 
93
             if num_jobs == 0:
 
94
-                tooltip = i18n("No documents queued")
 
95
+                tooltipText = i18n("No documents queued")
 
96
             else:
 
97
-                tooltip = i18np("1 document queued", "%1 documents queued", num_jobs)
 
98
+                tooltipText = i18np("1 document queued", "%1 documents queued", num_jobs)
 
99
 
 
100
-        self.sysTray.setToolTip(tooltip)
 
101
+        self.sysTray.setToolTip("printer", i18n("Printer Applet"), tooltipText)
 
102
 
 
103
     def update_status (self, have_jobs=None):
 
104
         # Found out which printer state reasons apply to our active jobs.
 
105
@@ -1161,5 +1144,5 @@
 
106
     applet = JobManager()
 
107
     if args.isSet("show"):
 
108
         applet.mainWindow.show()
 
109
-        applet.sysTray.show()
 
110
+        applet.sysTray.setStatus(KStatusNotifierItem.Active)
 
111
     sys.exit(app.exec_())