def __init__(self, **kwargs):
super().__init__(
default_width=800,
default_height=400,
**kwargs
)
self.add_dialog = None
action = Gio.SimpleAction.new('add-application', None)
self.add_action(action)
action.connect('activate', self.on_add_application)
header = Gtk.HeaderBar(show_close_button=True, title=_('DRI Configuration'))
add_btn = Gtk.Button.new_from_icon_name('list-add-symbolic', Gtk.IconSize.BUTTON)
add_btn.props.action_name = 'win.add-application'
header.pack_start(add_btn)
header.show_all()
self.set_titlebar(header)
box = Gtk.Box(Gtk.Orientation.HORIZONTAL)
sidebar = Gtk.StackSidebar()
sw = Gtk.ScrolledWindow(child=sidebar, hscrollbar_policy=Gtk.PolicyType.NEVER)
box.pack_start(sw, False, True, 0)
stack = Gtk.Stack()
# Just a basic mockup
conf = dri.DRIConfig('/etc/drirc')
device = conf.devices[0]
for app in device.apps:
# TODO: Group these by device
pane = ApplicationPane(app, visible=True)
stack.add_titled(pane, app.name, app.name)
sidebar.props.stack = stack
sw = Gtk.ScrolledWindow(child=stack)
box.pack_start(sw, True, True, 0)
box.show_all()
self.add(box)
评论列表
文章目录