123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using Adw;
- using Gtk;
- namespace Publicate {
- public class LicenceChooser : Popover {
- private ViewerWindow toplevel;
- private ListBox licence_list;
- public signal void licence_selected(Licences.Licence licence);
- public LicenceChooser(ViewerWindow window) {
- toplevel = window;
- var box = new Box(Orientation.VERTICAL, 8);
- licence_list = new ListBox();
- licence_list.row_activated.connect((row) => {
- var item = (LicenceItem)row;
- selected(item.licence);
- });
- box.append(licence_list);
- child = box;
- foreach (var licence in Licences.get_available_licences()) {
- var item = new LicenceItem (licence);
- licence_list.append (item);
- }
- }
- private void selected(Licences.Licence licence) {
- popdown();
- licence_selected(licence);
- }
- }
- public class LicenceItem : ActionRow {
- public Licences.Licence licence {get; private set;}
- public LicenceItem(Licences.Licence licence) {
- this.licence = licence;
- activatable = true;
- selectable = false;
- title = licence.name;
- }
-
- }
- }
|