Trying to upload all related projects
[easy-deb-chroot] / diablo / easymer / src / usr / bin / ae-menu.py
1 #! /usr/bin/env python
2
3 import gobject
4 import gtk
5 import os
6 import csv
7 import string
8 import hildon
9 from ae_xpm import STI
10
11 class aeMenu():
12     def __init__(self):
13         self.statusIcon = gtk.StatusIcon()
14         self.statusIcon.connect('activate', self.on_activate)
15         self.stis = STI()
16         sti = gtk.gdk.pixbuf_new_from_xpm_data(self.stis.get_pixbuf(0))
17         self.statusIcon.set_from_pixbuf(sti)
18         if os.path.exists("/home/user/.ae-menu"):
19           self.rdr_mmenu = csv.reader(open("/home/user/.ae-menu", "rb"), delimiter=':')
20
21         #gobject.timeout_add(30000, self.chkdir)
22
23     def on_activate(self, si):
24         self.clicked_icon()
25
26     def chkdir(self):
27         str1=''
28
29     def clicked_icon(self):
30
31         menu = gtk.Menu()
32
33         if os.path.exists("/home/user/.ae-menu"):
34           rdr_mmenu = csv.reader(open("/home/user/.ae-menu", "rb"), delimiter=':')
35
36           for rowitem in rdr_mmenu:
37             # rowitem[0] = label
38             # rowitem[1] = command
39             item1 = gtk.MenuItem(rowitem[0])
40             menu.append(item1)
41             item1.connect_object("activate", self.cmd_run, rowitem[1], rowitem[0])
42             item1.show()
43
44         quit = gtk.ImageMenuItem(gtk.STOCK_QUIT)
45         menu.append(quit)
46         quit.connect_object("activate", gtk.main_quit, "menu.quit")
47         quit.show()
48         
49         # menu.show_all()
50         menu.popup(None, None, gtk.status_icon_position_menu, 0, gtk.get_current_event_time(), self.statusIcon)
51
52     def cmd_run(self, cmnd, appname):
53        # for some reason, I have to create a widget to pass to the banner.
54        throwaway = hildon.Window()
55        cmdmsg = "Starting '%s'" % (appname)
56        hildon.hildon_banner_show_information(throwaway, None, cmdmsg) 
57        os.system(cmnd+' &')
58
59     def popbox(self, something):
60         w = gtk.Window()
61         w.set_title('test')
62         w.connect('destroy', self.on_ok_clicked, w)
63         w.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
64
65         str1 = something
66         str2 = 'test'
67         l1 = gtk.Label(str1)
68         l2 = gtk.Label(str2)
69         hboxu = gtk.VBox(True, 0)
70         hboxu.pack_start(l1, False, False, 10)
71         hboxu.pack_start(l2, False, False, 10)
72
73         b = gtk.Button('OK', gtk.STOCK_OK)
74         b.connect('clicked', self.on_ok_clicked, w)
75         vboxd = gtk.VBox(True, 0)
76         vboxd.pack_start(b, False, False, 0)
77
78         vbox = gtk.HBox(False, 0)
79         vbox.pack_start(hboxu, False, False, 20)
80         vbox.pack_start(vboxd, False, False, 20)
81         w.add(vbox)
82
83         w.show_all() 
84
85     def on_ok_clicked(self, button, window):
86         window.hide()
87
88 if __name__ == "__main__":
89     tbd = aeMenu()
90     gtk.main()