comparison finch/plugins/pietray.py @ 18384:22b9b6f148be

Add a 'Close' option for pietray to close the docklet.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sat, 30 Jun 2007 23:50:07 +0000
parents 12ab14848af4
children
comparison
equal deleted inserted replaced
18383:9eb2f4d27990 18384:22b9b6f148be
76 menu.append(item) 76 menu.append(item)
77 77
78 def toggle_pref(item, pref): 78 def toggle_pref(item, pref):
79 purple.PurplePrefsSetBool(pref, item.get_active()) 79 purple.PurplePrefsSetBool(pref, item.get_active())
80 80
81 def quit_finch(item, null):
82 # XXX: Ask first
83 purple.PurpleCoreQuit()
84 gtk.main_quit()
85
86 def close_docklet(item, null):
87 gtk.main_quit()
88
81 def popup_menu(icon, button, tm, none): 89 def popup_menu(icon, button, tm, none):
82 menu = gtk.Menu() 90 menu = gtk.Menu()
91
92 #item = gtk.ImageMenuItem(gtk.STOCK_QUIT)
93 #item.connect("activate", quit_finch, None)
94 #menu.append(item)
95
96 item = gtk.ImageMenuItem(gtk.STOCK_CLOSE)
97 item.connect("activate", close_docklet, None)
98 menu.append(item)
99
100 menu.append(gtk.MenuItem())
83 101
84 item = gtk.CheckMenuItem("Blink for unread IM") 102 item = gtk.CheckMenuItem("Blink for unread IM")
85 item.set_active(purple.PurplePrefsGetBool("/plugins/dbus/docklet/blink/im")) 103 item.set_active(purple.PurplePrefsGetBool("/plugins/dbus/docklet/blink/im"))
86 item.connect("activate", toggle_pref, "/plugins/dbus/docklet/blink/im") 104 item.connect("activate", toggle_pref, "/plugins/dbus/docklet/blink/im")
87 menu.append(item) 105 menu.append(item)
174 signal_name="SavedstatusChanged") 192 signal_name="SavedstatusChanged")
175 193
176 t = gtk.StatusIcon() 194 t = gtk.StatusIcon()
177 t.connect("popup-menu", popup_menu, None) 195 t.connect("popup-menu", popup_menu, None)
178 196
179 init_prefs() 197 try:
180 detect_unread_conversations() 198 init_prefs()
181 199 detect_unread_conversations()
182 gtk.main () 200 gtk.main ()
183 201 except:
202 dialog = gtk.Dialog("pietray: Error", None, gtk.DIALOG_NO_SEPARATOR | gtk.DIALOG_MODAL, ("Close", gtk.RESPONSE_CLOSE))
203 dialog.set_resizable(False)
204 dialog.vbox.pack_start(gtk.Label("There was some error. Perhaps a purple client is not running."), False, False, 0)
205 dialog.show_all()
206 dialog.run()
207