def __init__(self, name, uri, icon=None): """ Init widget @param name as str @param uri as str @param icon as Gio.Icon """ Gtk.ListBoxRow.__init__(self) self.get_style_context().add_class("background") self.__name = name self.__uri = uri self.__progress = 0 self.__builder = Gtk.Builder() self.__builder.add_from_resource("/org/gnome/Lollypop/DeviceWidget.ui") self.__progressbar = self.__builder.get_object("progress") self.__revealer = self.__builder.get_object("revealer") self.__switch_normalize = self.__builder.get_object("switch_normalize") self.__builder.get_object("name").set_label(self.__name) self.__combobox = self.__builder.get_object("combobox") self.__sync_button = self.__builder.get_object("sync_button") if icon is not None: device_symbolic = self.__builder.get_object("device-symbolic") device_symbolic.set_from_gicon(icon, Gtk.IconSize.DND) self.add(self.__builder.get_object("widget")) self.__builder.connect_signals(self) self.__calculate_free_space() self.__mtp_sync = MtpSync() self.__mtp_sync.connect("sync-finished", self.__on_sync_finished) self.__mtp_sync.connect("sync-progress", self.__on_sync_progress) for encoder in self.__mtp_sync._GST_ENCODER.keys(): if not self.__mtp_sync.check_encoder_status(encoder): self.__builder.get_object(encoder).set_sensitive(False) App().task_helper.run(self.__get_basename_for_sync, callback=(self.__set_combobox_content, ))
def __init__(self, parent): """ Init widget @param device as Device @param parent as Gtk.Widget """ Gtk.Bin.__init__(self) self.__mtp_sync = MtpSync() self.__mtp_sync.connect("sync-finished", self.__on_sync_finished) self.__mtp_sync.connect("sync-progress", self.__on_sync_progress) self.__parent = parent self.__uri = None self.__builder = Gtk.Builder() self.__builder.add_from_resource( "/org/gnome/Lollypop/DeviceManagerWidget.ui") widget = self.__builder.get_object("widget") self.connect("size-allocate", self.__on_size_allocate, widget) self.__switch_albums = self.__builder.get_object("switch_albums") self.__menu_items = self.__builder.get_object("menu-items") self.__menu = self.__builder.get_object("menu") self.__model = Gtk.ListStore(bool, str, int) self.__view = self.__builder.get_object("view") self.__view.set_model(self.__model) self.__builder.connect_signals(self) self.add(widget) renderer0 = Gtk.CellRendererToggle() renderer0.set_property("activatable", True) renderer0.connect("toggled", self.__on_item_toggled) column0 = Gtk.TreeViewColumn(" ✓", renderer0, active=0) column0.set_clickable(True) column0.connect("clicked", self.__on_column0_clicked) renderer1 = CellRendererAlbum() self.__column1 = Gtk.TreeViewColumn("", renderer1, album=2) renderer2 = Gtk.CellRendererText() renderer2.set_property("ellipsize-set", True) renderer2.set_property("ellipsize", Pango.EllipsizeMode.END) self.__column2 = Gtk.TreeViewColumn("", renderer2, markup=1) self.__column2.set_expand(True) self.__view.append_column(column0) self.__view.append_column(self.__column1) self.__view.append_column(self.__column2)