예제 #1
0
 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, ))
예제 #2
0
    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)