Can enable and disable plugins in the gui.

This commit is contained in:
bjschuma 2010-01-16 01:13:29 -05:00
parent 1922bc78ec
commit f08846df16
4 changed files with 115 additions and 33 deletions

View File

@ -22,9 +22,9 @@ class Button(gtk.Button):
if text != None:
label = gtk.Label(text)
label.set_line_wrap(True)
label.set_size_request(100,100)
#label.set_size_request(100,100)
label.show()
box.pack_start(label,True,True,0)
box.pack(label)
# Show and add callback function
#box.show()
self.add(box)

View File

@ -30,4 +30,13 @@ class List(gtk.ScrolledWindow):
def insert(self,items):
self.list.insert(len(self.list), items)
self.list.insert(len(self.list), items)
def remove(self,row):
iter = self.list.get_iter(row)
self.list.remove(iter)
def selection(self):
return self.tree.get_selection().get_selected_rows()

View File

@ -7,26 +7,98 @@ __author__="bjschuma"
__date__ ="$Jan 6, 2010 10:07:31 PM$"
import gtk
import box
import list
import button
from bt.message import write
from manager import manager
#import settings
import settings
def empty(text=None,verbose=None):
pass
def quit(a,b):
manager.run("enable",["exit"])
manager.run("exit")
class Window(gtk.Window):
def __init__(self, title, type=gtk.WINDOW_TOPLEVEL, icon=None):
gtk.Window.__init__(self,type)
self.show()
self.set_title(title)
self.qid = self.connect("delete_event",quit)
if not (icon == None):
self.set_icon_from_file(icon)
self.show()
def quit(self,func):
self.disconnect(self.qid)
self.qid = self.connect("delete_event",func)
self.qid = self.connect("delete_event",func)
def hide(self,item=None,event=None):
gtk.Window.hide(self)
class PluginWindow(Window):
def __init__(self):
Window.__init__(self,"Plugin Manager")
self.quit(self.hide)
manager.run("enable", ["lsmod"])
self.hbox = box.HBox()
self.add(self.hbox)
settings.set("write",empty)
self.enabled = list.List(gtk.ListStore(str), ["Enabled"])
enabledMods = manager.run("lsmod","enabled")
for mod in enabledMods:
self.enabled.insert([mod])
self.disabled = list.List(gtk.ListStore(str), ["Disabled"])
disabledMods = manager.run("lsmod","disabled")
for mod in disabledMods:
self.disabled.insert([mod])
settings.pop("write")
enable = button.Button("button",self.enable,None,"<<<")
disable = button.Button("button", self.disable,None,">>>")
self.hbox.pack(self.enabled, True, True)
vbox = box.VBox()
self.hbox.pack(vbox)
vbox.pack(enable,True,True)
vbox.pack(disable,True,True)
self.hbox.pack(self.disabled, True, True)
def getPlugin(self,pluginList):
row = pluginList.selection()
list = row[0]
path = row[1][0]
plugin = list[path][0]
return list,path,plugin
def enable(self,button,name):
list, path, plugin = self.getPlugin(self.disabled)
manager.run("enable",[plugin] )
self.disabled.remove(path)
self.enabled.insert([plugin])
def disable(self,button,name):
list, path, plugin = self.getPlugin(self.enabled)
manager.run("disable",[plugin])
self.enabled.remove(path)
self.disabled.insert([plugin])

View File

@ -27,35 +27,36 @@ def test(button, name):
write("Test!")
def hide(item,event):
item.hide()
#def hide(item,event):
# item.hide()
def pluginWindow(item):
write("Creating plugin window!",True)
plugins = window.Window("Plugin Manager")
hbox = box.HBox(True)
plugins.add(hbox)
manager.run("enable","lsmod")
enabled = list.List(gtk.ListStore(str), ["Enabled"])
enabledMods = manager.run("lsmod","enabled")
for mod in enabledMods:
enabled.insert([mod])
disabled = list.List(gtk.ListStore(str), ["Disabled"])
disabledMods = manager.run("lsmod","disabled")
for mod in disabledMods:
disabled.insert([mod])
enable = button.Button("button",test,None,"<<")
hbox.pack(enabled, True, True)
hbox.pack(enable)
hbox.pack(disabled, True, True)
plugins.quit(hide)
plugins = window.PluginWindow()
# write("Creating plugin window!",True)
# plugins = window.Window("Plugin Manager")
# hbox = box.HBox(True)
# plugins.add(hbox)
#
# manager.run("enable","lsmod")
#
# enabled = list.List(gtk.ListStore(str), ["Enabled"])
# enabledMods = manager.run("lsmod","enabled")
# for mod in enabledMods:
# enabled.insert([mod])
#
# disabled = list.List(gtk.ListStore(str), ["Disabled"])
# disabledMods = manager.run("lsmod","disabled")
# for mod in disabledMods:
# disabled.insert([mod])
#
# enable = button.Button("button",test,None,"<<")
#
# hbox.pack(enabled, True, True)
# hbox.pack(enable)
# hbox.pack(disabled, True, True)
#
# plugins.quit(hide)
def loop():