Exemplo n.º 1
0
    def createTree(self, nbTracks):
        """ Create a temporary explorer tree without disc information """
        name = '%s  <span size="smaller" foreground="#909090">%s</span>' % (MOD_L10N, _("downloading data..."))
        self.tree.replaceContent(((icons.cdromMenuIcon(), None, name, None),))

        # Append a child for each track
        self.tree.appendRows(
            [(icons.mediaFileMenuIcon(), None, _("Track %02u") % (i + 1), None) for i in xrange(nbTracks)], (0,)
        )
        self.tree.expand_all()
Exemplo n.º 2
0
    def onModLoaded(self):
        """ The module has been loaded """
        txtRdrLen = gtk.CellRendererText()

        columns = (
            (
                "",
                [
                    (gtk.CellRendererPixbuf(), gtk.gdk.Pixbuf),
                    (txtRdrLen, gobject.TYPE_STRING),
                    (gtk.CellRendererText(), gobject.TYPE_STRING),
                ],
                True,
            ),
            (None, [(None, gobject.TYPE_PYOBJECT)], False),
        )

        self.tree = extTreeview.ExtTreeView(columns, True)
        self.popup = None
        self.cfgWin = None
        self.expName = MOD_L10N
        self.scrolled = gtk.ScrolledWindow()
        self.cacheDir = os.path.join(consts.dirCfg, MOD_INFO[modules.MODINFO_NAME])
        # The album length is written in a smaller font, with a lighter color
        txtRdrLen.set_property("scale", 0.85)
        txtRdrLen.set_property("foreground-gdk", self.tree.get_style().text[gtk.STATE_INSENSITIVE])
        # Explorer
        self.tree.setDNDSources([consts.DND_TARGETS[consts.DND_DAP_TRACKS]])
        self.scrolled.add(self.tree)
        self.scrolled.set_shadow_type(gtk.SHADOW_IN)
        self.scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        self.scrolled.show()
        # GTK handlers
        self.tree.connect("drag-data-get", self.onDragDataGet)
        self.tree.connect("key-press-event", self.onKeyPressed)
        self.tree.connect("exttreeview-button-pressed", self.onButtonPressed)
        modules.postMsg(
            consts.MSG_CMD_EXPLORER_ADD,
            {"modName": MOD_L10N, "expName": self.expName, "icon": icons.cdromMenuIcon(), "widget": self.scrolled},
        )
        # Hide the album length when not drawing the root node
        self.tree.get_column(0).set_cell_data_func(txtRdrLen, self.__drawAlbumLenCell)
        # CD-ROM drive read speed
        modules.postMsg(consts.MSG_CMD_SET_CD_SPEED, {"speed": prefs.get(__name__, "read-speed", PREFS_DFT_READ_SPEED)})
Exemplo n.º 3
0
    def loadDisc(self):
        """ Read disc information and create the explorer tree accordingly """
        import DiscID

        try:
            discInfo = DiscID.disc_id(DiscID.open(prefs.get(__name__, "device", PREFS_DFT_DEVICE)))
        except Exception, err:
            if err[0] == 123:
                self.tree.replaceContent([(icons.cdromMenuIcon(), None, _("No disc found"), None)])
                modules.postMsg(
                    consts.MSG_CMD_EXPLORER_RENAME,
                    {"modName": MOD_L10N, "expName": self.expName, "newExpName": MOD_L10N},
                )
                self.expName = MOD_L10N
            else:
                logger.error(
                    "[%s] Unable to read device\n\n%s" % (MOD_INFO[modules.MODINFO_NAME], traceback.format_exc())
                )
            return