/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: Curtis Hovey
  • Date: 2012-02-03 18:59:38 UTC
  • mto: This revision was merged to the branch mainline in revision 773.
  • Revision ID: sinzui.is@verizon.net-20120203185938-ra0jl3b1rn69gmmz
Verify the menu and its items are created.

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