Exemplo n.º 1
0
	def __init__(self, plugin_dirs=[]):
		gtk.Dialog.__init__(self, title="Plugin Manager")
		self.loader = PluginLoader(plugin_dirs)

		self.set_default_size(400, 450)
		self.set_has_separator(True)
		icon = self.render_icon(gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_MENU)
		self.set_icon(icon)

		self.connect("response", lambda w,d: self.hide())

		vbox = gtk.VBox(False, 12)
		vbox.set_border_width(12)

		lbl = gtk.Label("Choose plugins to load or unload:")
		lbl.set_alignment(0.0, 0.5)
		vbox.pack_start(lbl, False, False, 0)

		sw = gtk.ScrolledWindow()
		sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
		sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
		vbox.pack_start(sw, True, True, 0)

		self.treeview = gtk.TreeView()
		sw.add(self.treeview)

		vbox.show_all()

		self.get_content_area().add(vbox)

		action_area = self.get_action_area()
		action_area.set_spacing(0)
		action_area.set_homogeneous(False)

		btn = gtk.Button(stock=gtk.STOCK_CLOSE)
		btn.set_border_width(6)
		btn.connect("clicked", lambda x: self.response(gtk.RESPONSE_CLOSE))
		action_area.pack_start(btn, False, True, 0)
		btn.show()

		self.btn_help = gtk.Button(stock=gtk.STOCK_HELP)
		self.btn_help.set_border_width(6)
		self.btn_help.set_no_show_all(True)
		action_area.pack_start(self.btn_help, False, True, 0)
		action_area.set_child_secondary(self.btn_help, True)

		self.btn_prefs = gtk.Button(stock=gtk.STOCK_PREFERENCES)
		self.btn_prefs.set_border_width(6)
		self.btn_prefs.set_no_show_all(True)
		action_area.pack_start(self.btn_prefs, False, True, 0)
		action_area.set_child_secondary(self.btn_prefs, True)

		action_area.show()

		self.load_plugins_list()
Exemplo n.º 2
0
 def __init__(self, observable, plugins_dir):
     self.table = OrderedDict()
     self.observable = observable
     self.loader = PluginLoader(plugins_dir, auto_load_plugins=True)
     self.downloader = PluginDownloader(plugins_dir)