Example #1
0
    def __init__(self, list_data, is_online_list=False, is_login_item=False):
        TreeItem.__init__(self)

        self.column_index = 0
        self.side_padding = 5
        self.is_highlight = False
        self.padding_y = 0
        self.padding_x = 8

        if isinstance(list_data, basestring):
            self.title = list_data
            self.data = dict()
            self.list_type = self.PLAYING_LIST_TYPE
        else:
            self.title = list_data.get("name", "")
            self.data = list_data
            #self.list_id = list_data.get('id', '')

        self.data = list_data
        if is_online_list:
            if self.data['specialType'] == 5:
                self.list_type = self.FAVORITE_LIST_TYPE
            elif self.data['subscribed']:
                self.list_type = self.COLLECTED_LIST_TYPE
            else:
                self.list_type = self.CREATED_LIST_TYPE
        else:
            self.list_type = self.PLAYING_LIST_TYPE
        if is_login_item:
            self.list_type = self.LOGIN_LIST_TYPE
        self.has_separator = 1
        self.separator_height = 4
        self.item_width = CATEGROYLIST_WIDTH
        self.item_height = 26 + self.separator_height if self.has_separator else 26
        self.init_pixbufs()

        self.song_view = MusicView(data=self.data, view_type=self.list_type)
        self.song_view.set_size_request(PLAYLIST_WIDTH, -1)

        if is_login_item:
            self.login_box = LoginBox(lambda w: event_manager.emit("login"))

            event_manager.connect("login", self.login)

        #event_manager.connect("login-success", self.on_event_login_success)

        self.main_box = gtk.VBox()
    def __init__(self, list_data, list_type, is_online_list=False,
            has_separator=True):
        TreeItem.__init__(self)

        self.column_index = 0
        self.side_padding = 5
        self.is_highlight = False
        self.padding_y = 0
        self.padding_x = 8

        if list_type and list_type in [self.PLAYING_LIST_TYPE,
                self.PERSONAL_FM_ITEM, self.LOGIN_LIST_TYPE]:
            self.title = list_data
        else:
            self.title = list_data.get("name", "")
        self.title = gobject.markup_escape_text(self.title)
        self.data = list_data
        self.list_type= list_type

        if is_online_list:
            if self.data['specialType'] == 5:
                self.list_type = self.FAVORITE_LIST_TYPE
            elif self.data['subscribed']:
                self.list_type = self.COLLECTED_LIST_TYPE
            else:
                self.list_type = self.CREATED_LIST_TYPE

        self.has_separator = has_separator
        self.separator_height = 4
        self.item_width = CATEGROYLIST_WIDTH
        self.item_height = 26 + self.separator_height if self.has_separator else 26
        self.init_pixbufs()

        self.song_view = MusicView(data=self.data, view_type=self.list_type)
        self.song_view.set_size_request(PLAYLIST_WIDTH, -1)

        if self.list_type == self.LOGIN_LIST_TYPE:
            self.login_box = LoginBox(self.login, self.login_with_sina_microblog_account)

            event_manager.connect("login", self.login)
            self.login_box.password_entry.connect('activate', self.login)

        self.main_box = gtk.VBox()