def __init__(self, data_or_title, list_type, has_separator=False): TreeItem.__init__(self) self.column_index = 0 self.side_padding = 5 self.is_highlight = False self.padding_y = 0 self.padding_x = 8 self.list_type = list_type if isinstance(data_or_title, basestring): self.title = data_or_title self.data = dict() else: self.title = data_or_title.get("title", "") self.data = data_or_title self.data = data_or_title self.has_separator = has_separator self.separator_height = 4 self.item_width = CATEGROYLIST_WIDTH self.item_height = 26 + self.separator_height if has_separator else 26 self.init_pixbufs() self.song_view = MusicView(view_type=list_type, data=self.data) # self.song_view.connect("begin-add-items", self.on_songview_begin_add_items) # self.song_view.connect("empty-items", self.on_songview_empty_items) self.song_view.set_size_request(PLAYLIST_WIDTH, -1) event_manager.connect("login-success", self.on_event_login_success) self.login_box = LoginBox( lambda w: event_manager.emit("login-dialog-run")) self.main_box = gtk.VBox()
def __init__(self, data_or_title, list_type, has_separator=False): TreeItem.__init__(self) self.column_index = 0 self.side_padding = 5 self.is_highlight = False self.padding_y = 0 self.padding_x = 8 self.list_type = list_type if isinstance(data_or_title, basestring): self.title = data_or_title self.data = dict() else: self.title = data_or_title.get("title", "") self.data = data_or_title self.data = data_or_title self.has_separator = has_separator self.separator_height = 4 self.item_width = CATEGROYLIST_WIDTH self.item_height = 26 + self.separator_height if has_separator else 26 self.init_pixbufs() self.song_view = MusicView(view_type=list_type, data=self.data) # self.song_view.connect("begin-add-items", self.on_songview_begin_add_items) # self.song_view.connect("empty-items", self.on_songview_empty_items) self.song_view.set_size_request(PLAYLIST_WIDTH, -1) event_manager.connect("login-success", self.on_event_login_success) self.login_box = LoginBox(lambda w: event_manager.emit("login-dialog-run")) self.main_box = gtk.VBox()
def __init__(self, notification, height, create_time): ''' init docs ''' gtk.Window.__init__(self, gtk.WINDOW_POPUP) self.notification = notification self.create_time = create_time self.init_size(height) self.init_pixbuf() self.init_action_dict() self.set_colormap(gtk.gdk.Screen().get_rgba_colormap() or gtk.gdk.Screen().get_rgb_colormap()) self.set_keep_above(True) self.add_events(gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.POINTER_MOTION_MASK | gtk.gdk.POINTER_MOTION_HINT_MASK) self.connect("expose-event", self.on_expose_event) self.connect("button-press-event", self.on_button_press_event) self.connect("motion-notify-event", self.on_motion_notify_event) self.animation_time = 200 self.level = 0 self.win_x, self.win_y = self._get_position() self.pointer_hand_rectangles = [] self.move(self.win_x, self.win_y) self.set_opacity(0) self.show_all() self.timeout_id = gobject.timeout_add(EXPIRE_TIMEOUT, self.start_destroy_animation) event_manager.connect("manual-cancelled", self.move_down)
def __init__(self): super(MusicBrowser, self).__init__() # check network status self.progress_value = 0 self.is_reload_flag = False self.network_connected_flag = False self.update_progress_flag = True self.prompt_text = "正在加载数据(%d%%),如果长时间没有响应,点击此处刷新" self.loading_box = LoadingBox(self.prompt_text % self.progress_value, "此处", self.reload_browser) self.network_failed_box = NetworkConnectFailed( self.check_network_connection) self.check_network_connection(auto=True) self.webview = BaseWebView( "http://musicmini.baidu.com/static/recommend/recommend.html") self.js_context = self.webview.js_context self.webview.injection_css = self.injection_css self.webview.connect("load-progress-changed", self.on_webview_progress_changed) self.webview.connect("load-finished", self.on_webview_load_finished) self.login_dialog = LoginDialog() event_manager.connect("login-dialog-run", self.on_login_dialog_run) event_manager.connect("login-success", self.on_login_success)
def __init__(self): import dbus_notify self.dbus = dbus_notify.Notifications() event_manager.connect("action-invoked", self.on_action_invoked) from ui.bubble_manager import BubbleManager self.bubble_manager = BubbleManager() import gtk gtk.main()
def __init__(self): TreeView.__init__(self, enable_drag_drop=False, enable_multiple_select=True) self.connect("double-click-item", self.on_music_view_double_click) self.connect("press-return", self.on_music_view_press_return) event_manager.connect("add-songs", self.on_event_add_songs) event_manager.connect("play-songs", self.on_event_play_songs) self.db_file = get_config_file("baidumusic.db") self.load() self.request_thread_id = 0
def __init__(self): super(MusicBrowser, self).__init__() # check network status self.progress_value = 0 self.is_reload_flag = False self.network_connected_flag = False self.update_progress_flag = True self.prompt_text = "正在加载数据(%d%%),如果长时间没有响应,点击此处刷新" self.loading_box = LoadingBox(self.prompt_text % self.progress_value, "此处", self.reload_browser) self.network_failed_box = NetworkConnectFailed(self.check_network_connection) self.check_network_connection(auto=True) self.webview = BaseWebView("http://musicmini.baidu.com/static/recommend/recommend.html") self.js_context = self.webview.js_context self.webview.injection_css = self.injection_css self.webview.connect("load-progress-changed", self.on_webview_progress_changed) self.webview.connect("load-finished", self.on_webview_load_finished) self.login_dialog = LoginDialog() event_manager.connect("login-dialog-run", self.on_login_dialog_run) event_manager.connect("login-success", self.on_login_success)
def __init__(self): # Init values self.bubble_queue = deque() self.incoming_queue = deque() self.is_in_animation = False # Connect events event_manager.connect("notify", self.on_notify) event_manager.connect("bubble-destroy", self.on_bubble_destroy) event_manager.connect("manual-destroy", self.on_manual_destroy)
def __init__(self): super(MusicBrowser, self).__init__() # check network status self.progress_value = 0 self.is_reload_flag = False self.network_connected_flag = False self.network_failed_box = NetworkConnectFailed(self.check_network_connection) self.webview = BaseWebView("http://musicmini.baidu.com/") self.js_context = self.webview.js_context self.webview.injection_css = self.injection_css self.check_network_connection(auto=True) self.login_dialog = LoginDialog() self.mv_window = MVBrowser() event_manager.connect("login-dialog-run", self.on_login_dialog_run) event_manager.connect("login-success", self.on_login_success) event_manager.connect("play-mv", self.on_play_mv)
def __init__(self): super(MusicPlaylist, self).__init__() self.listen_db_file = get_cache_file("baidumusic/local_listen.db") self.status_db_file = get_cache_file("baidumusic/status.db") # Init default items self.default_list_item = MusicListItem( "试听列表", list_type=MusicListItem.DEFAULT_TYPE) self.collect_list_item = MusicListItem( "我的收藏", list_type=MusicListItem.COLLECT_TYPE, has_separator=True) # Init category list. self.category_list = CategoryView(enable_drag_drop=False, enable_multiple_select=True) self.category_list.add_items( [self.default_list_item, self.collect_list_item]) del self.category_list.keymap["Delete"] self.category_list.draw_mask = self.draw_category_list_mask self.category_list.set_size_request(CATEGROYLIST_WIDTH, -1) self.category_list.connect("single-click-item", self.on_category_single_click) self.category_list.connect("right-press-items", self.on_category_right_press) self.category_list.set_highlight_item(self.default_list_item) # View box self.view_box = gtk.VBox() self.view_box.connect("size-allocate", self.on_viewbox_size_allocate) self.view_box.add(self.default_list_item.list_widget) # bottom_box = gtk.HBox(spacing=45) # bottom_box_align = gtk.Alignment() # bottom_box_align.set(0.5, 0.5, 1, 1) # bottom_box_align.set_padding(2, 2, 28, 0) # bottom_box_align.set_size_request(-1, 22) # bottom_box_align.add(bottom_box) # bottom_box_align.connect("expose_event", self.on_bottombox_expose_event) # self.search_button = create_toggle_button("toolbar/search", parent=bottom_box) # self.person_button = create_button("combo/artist", parent=bottom_box, no_hover=True) main_paned = HPaned(handle_color=app_theme.get_color("panedHandler"), enable_drag=True) main_paned.pack1(self.category_list, True, True) main_paned.pack2(self.view_box, True, False) # events event_manager.connect("login-success", self.on_event_login_success) event_manager.connect("collect-songs", self.on_event_collect_songs) event_manager.connect("add-songs", self.on_event_add_songs) event_manager.connect("play-songs", self.on_event_play_songs) event_manager.connect("save-listen-lists", self.on_event_save_listen_lists) event_manager.connect("save-playlist-status", self.save_status) # load playlists. self.online_thread_id = 0 self.new_list_thread_id = 0 self.load() self.load_online_lists() self.load_status() self.add(main_paned)
def __init__(self): super(MusicPlaylist, self).__init__() self.listen_db_file = get_cache_file("baidumusic/local_listen.db") self.status_db_file = get_cache_file("baidumusic/status.db") # Init default items self.default_list_item = MusicListItem("试听列表", list_type=MusicListItem.DEFAULT_TYPE) self.collect_list_item = MusicListItem("我的收藏", list_type=MusicListItem.COLLECT_TYPE, has_separator=True) # Init category list. self.category_list = CategoryView(enable_drag_drop=False, enable_multiple_select=True) self.category_list.add_items([self.default_list_item, self.collect_list_item]) del self.category_list.keymap["Delete"] self.category_list.draw_mask = self.draw_category_list_mask self.category_list.set_size_request(CATEGROYLIST_WIDTH, -1) self.category_list.connect("single-click-item", self.on_category_single_click) self.category_list.connect("right-press-items", self.on_category_right_press) self.category_list.set_highlight_item(self.default_list_item) # View box self.view_box = gtk.VBox() self.view_box.connect("size-allocate", self.on_viewbox_size_allocate) self.view_box.add(self.default_list_item.list_widget) # bottom_box = gtk.HBox(spacing=45) # bottom_box_align = gtk.Alignment() # bottom_box_align.set(0.5, 0.5, 1, 1) # bottom_box_align.set_padding(2, 2, 28, 0) # bottom_box_align.set_size_request(-1, 22) # bottom_box_align.add(bottom_box) # bottom_box_align.connect("expose_event", self.on_bottombox_expose_event) # self.search_button = create_toggle_button("toolbar/search", parent=bottom_box) # self.person_button = create_button("combo/artist", parent=bottom_box, no_hover=True) main_paned = HPaned(handle_color=app_theme.get_color("panedHandler"), enable_drag=True) main_paned.pack1(self.category_list, True, True) main_paned.pack2(self.view_box, True, False) # events event_manager.connect("login-success", self.on_event_login_success) event_manager.connect("collect-songs", self.on_event_collect_songs) event_manager.connect("add-songs", self.on_event_add_songs) event_manager.connect("play-songs", self.on_event_play_songs) event_manager.connect("save-listen-lists", self.on_event_save_listen_lists) event_manager.connect("save-playlist-status", self.save_status) # load playlists. self.online_thread_id = 0 self.new_list_thread_id = 0 self.load() self.load_online_lists() self.load_status() self.add(main_paned)