ocarina: Added random button
I also added code for creating toggle buttons easily.
This commit is contained in:
parent
86bac243d2
commit
f8c64e0f78
|
@ -8,11 +8,19 @@ SIZE = gtk.ICON_SIZE_MENU
|
||||||
def on_click(button, func):
|
def on_click(button, func):
|
||||||
func()
|
func()
|
||||||
|
|
||||||
|
def on_toggle(button, func):
|
||||||
|
func(button.get_active())
|
||||||
|
|
||||||
def stock_image(stock_item):
|
def stock_image(stock_item):
|
||||||
img = gtk.image_new_from_stock(stock_item, SIZE)
|
img = gtk.image_new_from_stock(stock_item, SIZE)
|
||||||
img.show()
|
img.show()
|
||||||
return img
|
return img
|
||||||
|
|
||||||
|
def file_image(file):
|
||||||
|
img = gtk.image_new_from_file(file)
|
||||||
|
img.show()
|
||||||
|
return img
|
||||||
|
|
||||||
def make_text(text):
|
def make_text(text):
|
||||||
lbl = gtk.Label(text)
|
lbl = gtk.Label(text)
|
||||||
lbl.show()
|
lbl.show()
|
||||||
|
@ -33,6 +41,22 @@ def make_button(stock_item, func, tooltip, show):
|
||||||
b.set_tooltip_text(tooltip)
|
b.set_tooltip_text(tooltip)
|
||||||
return b
|
return b
|
||||||
|
|
||||||
|
def toggle_button(func, is_active, show):
|
||||||
|
b = gtk.ToggleButton()
|
||||||
|
b.set_relief(gtk.RELIEF_NONE)
|
||||||
|
b.set_active(is_active)
|
||||||
|
b.connect("toggled", on_toggle, func)
|
||||||
|
if show == True:
|
||||||
|
b.show()
|
||||||
|
return b
|
||||||
|
|
||||||
|
def make_toggle(img_file, func, tooltip, is_active, show):
|
||||||
|
b = toggle_button(func, is_active, show)
|
||||||
|
img = file_image(img_file)
|
||||||
|
b.add(img)
|
||||||
|
b.set_tooltip_text(tooltip)
|
||||||
|
return b
|
||||||
|
|
||||||
|
|
||||||
def rewind_button(show):
|
def rewind_button(show):
|
||||||
return make_button(gtk.STOCK_MEDIA_REWIND, controls.seek_backward, "Rewind", show)
|
return make_button(gtk.STOCK_MEDIA_REWIND, controls.seek_backward, "Rewind", show)
|
||||||
|
@ -57,3 +81,6 @@ def goto_button(goto_func, show):
|
||||||
|
|
||||||
def clear_button(clear_func, show):
|
def clear_button(clear_func, show):
|
||||||
return make_button(gtk.STOCK_CLEAR, clear_func, "Clear Current Source", show)
|
return make_button(gtk.STOCK_CLEAR, clear_func, "Clear Current Source", show)
|
||||||
|
|
||||||
|
def random_button(is_active, show):
|
||||||
|
return make_toggle("images/random.png", controls.set_rand, "Random", is_active, show)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# Bryan Schumaker (11/25/2010)
|
# Bryan Schumaker (11/25/2010)
|
||||||
|
|
||||||
import gtk
|
import gtk
|
||||||
|
import libsaria
|
||||||
from ocarina.body import button
|
from ocarina.body import button
|
||||||
import entry
|
import entry
|
||||||
|
|
||||||
|
@ -25,8 +26,9 @@ def add_button(name, button):
|
||||||
header_body.pack_start(button, False, False)
|
header_body.pack_start(button, False, False)
|
||||||
|
|
||||||
header_body.pack_start(entry.entry)
|
header_body.pack_start(entry.entry)
|
||||||
add_button( "GOTO", button.goto_button(goto_func, True))
|
add_button( "GOTO", button.goto_button(goto_func, True))
|
||||||
add_button("CLEAR", button.clear_button(clear_func, True))
|
add_button( "CLEAR", button.clear_button(clear_func, True))
|
||||||
|
add_button("RANDOM", button.random_button(libsaria.prefs.get_pref("libsaria.random"), True))
|
||||||
|
|
||||||
#import ocarina
|
#import ocarina
|
||||||
#from ocarina.components import button
|
#from ocarina.components import button
|
||||||
|
|
|
@ -48,13 +48,6 @@ class SaveButton(Button):
|
||||||
if loc != None:
|
if loc != None:
|
||||||
export.save_playlist(loc)
|
export.save_playlist(loc)
|
||||||
|
|
||||||
class ClearButton(Button):
|
|
||||||
def __init__(self):
|
|
||||||
Button.__init__(self, gtk.STOCK_CLEAR, "Clear Current Source")
|
|
||||||
def clicked(self, button):
|
|
||||||
from ocarina import body
|
|
||||||
body.cur_page_reset()
|
|
||||||
|
|
||||||
class ExportButton(Button):
|
class ExportButton(Button):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
Button.__init__(self, gtk.STOCK_CONVERT, "Export Library")
|
Button.__init__(self, gtk.STOCK_CONVERT, "Export Library")
|
||||||
|
@ -162,11 +155,3 @@ class DislikeButton(ToggleButton):
|
||||||
if status == True:
|
if status == True:
|
||||||
status = None
|
status = None
|
||||||
LS.controls.set_like(status)
|
LS.controls.set_like(status)
|
||||||
|
|
||||||
class RandomButton(ToggleButton):
|
|
||||||
def __init__(self):
|
|
||||||
ToggleButton.__init__(self, "images/random.png", "Random")
|
|
||||||
self.set_active(prefs.get_pref("libsaria.random"))
|
|
||||||
|
|
||||||
def toggle(self, button):
|
|
||||||
LS.controls.set_rand(self.get_active())
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user