/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to bzr-notify

  • Committer: Jelmer Vernooij
  • Date: 2012-03-29 13:15:14 UTC
  • mfrom: (786.1.1 register-lazy)
  • Revision ID: jelmer@samba.org-20120329131514-knrl1w2wzntx89rv
Use lazy registration.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
Gtk = open_display()
16
16
 
17
17
import cgi
 
18
import sys
 
19
 
18
20
import dbus
19
21
import dbus.service
20
 
import gobject
21
 
import pynotify
 
22
from gi.repository import GObject
 
23
from gi.repository import Notify
 
24
 
22
25
from bzrlib.bzrdir import BzrDir
23
26
from bzrlib.osutils import format_date
24
27
from bzrlib.transport import get_transport
25
28
 
26
29
menu = NotifyPopupMenu()
27
30
try:
28
 
    import appindicator
 
31
    from gi.repository import AppIndicator3
29
32
except ImportError:
30
 
    icon = gtk.status_icon_new_from_icon_name("bzr-panel")
 
33
    icon = Gtk.StatusIcon.new_from_icon_name("bzr-panel")
31
34
    icon.connect('popup-menu', menu.display)
32
35
    icon.set_visible(False)
33
36
    hide_icon = lambda: icon.set_visible(False)
34
37
    show_icon = lambda: icon.set_visible(True)
35
38
else:
36
 
    indicator = appindicator.Indicator ("bzr-gtk-notify",
37
 
        "bzr-panel", appindicator.CATEGORY_OTHER)
38
 
    indicator.set_status (appindicator.STATUS_PASSIVE)
 
39
    indicator = AppIndicator3.Indicator.new(
 
40
        "bzr-gtk-notify", "bzr-panel", AppIndicator3.IndicatorCategory.OTHER)
 
41
    indicator.set_status (AppIndicator3.IndicatorStatus.PASSIVE)
39
42
    indicator.set_attention_icon("bzr-panel")
40
43
    indicator.set_menu(menu)
41
 
    hide_icon = lambda: indicator.set_status (appindicator.STATUS_PASSIVE)
42
 
    show_icon = lambda: indicator.set_status (appindicator.STATUS_ATTENTION)
 
44
    hide_icon = lambda: indicator.set_status (
 
45
        AppIndicator3.IndicatorStatus.PASSIVE)
 
46
    show_icon = lambda: indicator.set_status (
 
47
        AppIndicator3.IndicatorStatus.ATTENTION)
43
48
 
44
49
if getattr(dbus, 'version', (0,0,0)) >= (0,41,0):
45
50
    import dbus.glib
64
69
        body += '\n'
65
70
        body += revision.message
66
71
        body = cgi.escape(body)
67
 
        nw = pynotify.Notification(summary, body)
 
72
        nw = Notify.Notification.new(summary, body, None)
68
73
        def start_viz(notification=None, action=None, data=None):
69
74
            """Start the viz program."""
70
75
            from bzrlib.plugins.gtk.commands import start_viz_window
75
80
            from bzrlib.plugins.gtk.branch import BranchDialog
76
81
            bd = BranchDialog(remote_path=url)
77
82
            bd.run()
78
 
        if "actions" in pynotify.get_server_caps():
 
83
        if "actions" in Notify.get_server_caps():
79
84
            nw.add_action("inspect", "Inspect", start_viz, None)
80
85
            nw.add_action("branch", "Branch", start_branch, None)
81
86
        show_icon()
82
 
        gobject.timeout_add(5000, hide_icon)
 
87
        GObject.timeout_add(5000, hide_icon)
83
88
        nw.set_timeout(5000)
84
89
        nw.show()
85
90
    except Exception, e:
88
93
bus.add_signal_receiver(catch_branch,
89
94
                        dbus_interface=BROADCAST_INTERFACE,
90
95
                        signal_name="Revision")
91
 
pynotify.init("bzr-notify")
92
 
gtk.main()
 
96
Notify.init("bzr-notify")
 
97
 
 
98
if sys.argv[-1] == 'test':
 
99
    # Exit before main loop.
 
100
    sys.exit(0)
 
101
 
 
102
Gtk.main()