Example #1
0
 def update_statusbar(self):
     model = self.__treeview.get_model()
     count = len(model)
     if count == 0:
         info = ""
     else:
         info = parse_track_list_stats(count, self.__size, self.__length)
     BlaStatusbar.set_view_info(blaconst.VIEW_QUEUE, info)
Example #2
0
        def __new__(cls, name, bases, dct):
            # Make sure at least one baseclass inherits from gobject.GObject.
            if not any([issubclass(base, gobject.GObject) for base in bases]):
                raise TypeError("%s does not inherit from gobject.GObject" %
                                name)

            # Add the view_name property.
            if "view_name" in dct:
                raise ValueError("View class %s already defines an attribute "
                                 "'view_name'" % name)
            dct["view_name"] = property(lambda self: view_name)

            # Add the count_changed signal.
            signals = dct.get("__gsignals__", {})
            if "count_changed" in signals or "count-changed" in signals:
                raise ValueError("Class %s already defines a 'count_changed' "
                                 "signal" % name)
            signals["count_changed"] = blautil.signal(2)
            dct["__gsignals__"] = signals

            # Add the init-function stub.
            if "init" not in dct:
                dct["init"] = lambda self: None

            # Add default behavior for `update_statusbar()'.
            if "update_statusbar" not in dct:
                dct["update_statusbar"] = lambda s: BlaStatusbar.set_view_info(
                    blacfg.getint("general", "view"), "")

            return super(_BlaViewMeta, cls).__new__(cls, name, bases, dct)