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()