/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-23 13:45:02 UTC
  • Revision ID: jelmer@samba.org-20120323134502-fsxyhpb0ilbabozp
Ignore bzr-handle-patch in software center.

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
from bzrlib.plugin import load_plugins
10
10
load_plugins()
11
11
 
12
 
from bzrlib.plugins.gtk import open_display, icon_path
 
12
from bzrlib.plugins.gtk.commands import open_display
13
13
 
14
14
from bzrlib.plugins.gtk.notify import NotifyPopupMenu
15
 
gtk = open_display()
 
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_file(icon_path("bzr-icon-64.png"))
 
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-icon-64", appindicator.CATEGORY_APPLICATION_STATUS)
38
 
    indicator.set_status (appindicator.STATUS_PASSIVE)
39
 
    indicator.set_attention_icon("bzr-icon-64")
 
39
    indicator = AppIndicator3.Indicator.new(
 
40
        "bzr-gtk-notify", "bzr-panel", AppIndicator3.IndicatorCategory.OTHER)
 
41
    indicator.set_status (AppIndicator3.IndicatorStatus.PASSIVE)
 
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()