ocarina/ocarina/menu.py
Bryan Schumaker 08fa12d76d Don't create menu items in ocarina.py
I was creating the "Pause after current track" menu item in ocarina.py,
but it can easily be done in menu.py.
2011-05-01 12:00:55 -04:00

67 lines
1.4 KiB
Python

# Bryan Schumaker
import ocarina
import libsaria
gtk = ocarina.gtk
Menu = gtk.Menu
MenuItem = gtk.MenuItem
common_items = []
lib_items = []
plist_items = []
queue_items = []
def add_menu_item(items, text, func):
items.append( (text, func) )
items.sort()
def add_common_menu_item(text, func):
add_menu_item(common_items, text, func)
def add_lib_menu_item(text, func):
add_menu_item(lib_items, text, func)
def add_plist_menu_item(text, func):
add_menu_item(plist_items, text, func)
def add_queue_menu_item(text, func):
add_menu_item(queue_items, text, func)
def make_menu_item(text, func):
item = MenuItem(text)
item.connect("activate", func)
item.show()
return item
def make_menu(items, button, time):
show = False
if len(items) > 0:
show = True
menu = Menu()
if len(common_items) > 0:
show = True
for (text, func) in common_items:
menu.append(make_menu_item(text, func))
if len(items) > 0:
div = MenuItem()
div.show()
menu.append(div)
for (text, func) in items:
menu.append(make_menu_item(text, func))
if show == True:
menu.popup(None, None, None, button, time)
def make_lib_menu(button, time):
make_menu(lib_items, button, time)
def make_plist_menu(button, time):
make_menu(plist_items, button, time)
def make_queue_menu(button, time):
make_menu(queue_items, button, time)
add_common_menu_item("Pause after current song", libsaria.controls.do_pause_after)