def on_tab_box_switch_tab(self, widget, item): try: config.set("listmanager", "source", item.title) config.write() except: pass Dispatcher.emit("switch-browser", item, True)
def change_cover(self, song_or_name, new_cover): save_path = self.get_cover_path(song_or_name) if not os.path.exists(new_cover): return False try: pixbuf = gtk.gdk.pixbuf_new_from_file_at_size( new_cover, COVER_SAVE_SIZE["x"], COVER_SAVE_SIZE["y"]) except gobject.GError: return False else: str_pixbuf = pixbuf.get_pixels() if str_pixbuf.count( "\x00") > len(str_pixbuf) / 2 or str_pixbuf.count( "\xff") > len(str_pixbuf) / 2: return False else: if os.path.exists(save_path): os.unlink(save_path) pixbuf.save(save_path, "jpeg", {"quality": "85"}) del pixbuf # Change property album to update UI if isinstance(song_or_name, Song): Dispatcher.emit("album-changed", song_or_name) MediaDB.set_property(song_or_name, {"album": song_or_name.get("album")}) return True
def on_iconview_single_click_item(self, widget, item, x, y): if item: if hasattr(item, "is_more") and item.mask_flag: self.start_fetch_channels() else: if item.mask_flag: Dispatcher.emit("play-radio", item.chl)
def show_more_options(self, widget): widget.destroy() self.ipv4 = SettingSection(_("IPv4 settings"), always_show=True) self.ipv4.load([IPV4Conf(self.connection, self.set_button, settings_obj=self.settings_obj)]) ppp = SettingSection(_("PPP settings"), always_show=True) ppp.load([PPPConf(settings_obj=self.settings_obj)]) Dispatcher.emit("vpn-type-change", self.connection) self.main_box.pack_start(self.ipv4, False, False, 15) self.main_box.pack_start(ppp, False, False)
def save_changes(self, connection): if isinstance(connection, NMRemoteConnection): connection.update() net_manager.rename_hidden(connection) else: connection = nm_module.nm_remote_settings.new_connection_finish(connection.settings_dict, 'lan') net_manager.add_hidden(connection) Dispatcher.to_main_page() Dispatcher.emit("wireless-redraw")
def remove_cover(self, song, emit=False): image_path = self.get_cover_path(song) if os.path.exists(image_path): try: os.unlink(image_path) except: pass if emit: Dispatcher.emit("album-changed", song) MediaDB.set_property(song, {"album": song.get("album")})
def save_changes(self, connection): if isinstance(connection, NMRemoteConnection): connection.update() net_manager.rename_hidden(connection) else: connection = nm_module.nm_remote_settings.new_connection_finish( connection.settings_dict, 'lan') net_manager.add_hidden(connection) Dispatcher.to_main_page() Dispatcher.emit("wireless-redraw")
def remove_cover(self, song, emit=False): image_path = self.get_cover_path(song) if os.path.exists(image_path): try: os.unlink(image_path) except: pass if emit: Dispatcher.emit("album-changed", song) MediaDB.set_property(song, {"album" : song.get("album")})
def toggle_item_collected(self, item): if not item: return song = item.webcast if song.get("collected", False): collected = False else: collected = True WebcastDB.set_property(song, {"collected": collected}, emit_update=False) item.update_webcast(song) Dispatcher.emit("change-webcast", song)
def run(self): uri = None Dispatcher.emit("dialog-run") response = gtk.FileChooserDialog.run(self) self.set_modal(True) if response == gtk.RESPONSE_OK: uri = self.get_uri() self.destroy() Dispatcher.emit("dialog-close") return uri
def ready(self, show=True): first_started = config.get("setting", "first_started", "") if show and first_started: self.ready_show() self.emit("ready") Dispatcher.emit("ready") # wizard if not first_started: self.show_wizard_win(True, self.ready_show) config.set("setting", "first_started", "false")
def save_changes(self, connection): if isinstance(connection, NMRemoteConnection): connection.update() else: connection = nm_module.nm_remote_settings.new_connection_finish(connection.settings_dict, 'vpn') Dispatcher.emit("connection-replace", connection) Dispatcher.emit("vpn-redraw") net_manager.emit_vpn_setting_change(connection) Dispatcher.to_main_page() event_manager.emit("update-vpn-id", connection.get_setting("connection").id, self.spec_connection)
def run(self): Dispatcher.emit("dialog-run") response = gtk.FileChooserDialog.run(self) folder = None if response == gtk.RESPONSE_OK: if self.return_uri: folder = self.get_uri() else: folder = self.get_filename() self.destroy() Dispatcher.emit("dialog-close") return folder
def radio_toggled(self, widget, service_type): if widget.get_active(): self.vpn_setting.service_type = "org.freedesktop.NetworkManager." + service_type self.service_type = service_type if self.connection.check_setting_finish(): Dispatcher.set_button("save", True) else: Dispatcher.set_button("save", False) self.refresh() Dispatcher.emit("vpn-type-change", self.connection)
def show_more_options(self, widget): widget.destroy() self.ipv4 = SettingSection(_("IPv4 settings"), always_show=True) self.ipv4.load([ IPV4Conf(self.connection, self.set_button, settings_obj=self.settings_obj) ]) ppp = SettingSection(_("PPP settings"), always_show=True) ppp.load([PPPConf(settings_obj=self.settings_obj)]) Dispatcher.emit("vpn-type-change", self.connection) self.main_box.pack_start(self.ipv4, False, False, 15) self.main_box.pack_start(ppp, False, False)
def run(self): Dispatcher.emit("dialog-run") response = gtk.FileChooserDialog.run(self) self.set_modal(True) if response == gtk.RESPONSE_OK: filename = self.get_filename() if utils.get_ext(filename) in [".m3u",".pls",".xspf"]: utils.export_playlist(self.songs,filename,utils.get_ext(filename,False)) else: pl_type = ".m3u" filename = filename+"."+pl_type utils.export_playlist(self.songs,filename,pl_type) self.destroy() Dispatcher.emit("dialog-close")
def __idle_quit(self, *args): self.loginfo("Exiting...") Player.stop() self.mmkeys.release() Dispatcher.emit("being-quit") playlist_ui.save_to_library() MediaDB.save() WebcastDB.save() config.write() global_hotkeys.stop_bind() self.app_destroy() gtk.main_quit() self.loginfo("Exit successful.")
def save_changes(self, connection): if isinstance(connection, NMRemoteConnection): connection.update() else: connection = nm_module.nm_remote_settings.new_connection_finish( connection.settings_dict, 'vpn') Dispatcher.emit("connection-replace", connection) Dispatcher.emit("vpn-redraw") net_manager.emit_vpn_setting_change(connection) Dispatcher.to_main_page() event_manager.emit("update-vpn-id", connection.get_setting("connection").id, self.spec_connection)
def next_button_clicked(self, widget): # 检查是否选择了运营商 if not self.provider_select: print "provider has not selected" return try: self.plan_select except: self.plan_select = None def add_keys(settings): self.prop_dict = settings username = self.__sp.get_provider_username(self.code, self.provider_select) password = self.__sp.get_provider_password(self.code, self.provider_select) add_keys({"cdma": { "number": "#777", "username": username, "password": password}}) provider_type = "cdma" if self.plan_select: self.prop_dict.pop("cdma") apn = self.plan_select index = self.__sp.get_provider_apns_name(self.code, self.provider_select).index(apn) (network_id, network_type) = self.__sp.get_provider_networks(self.code, self.provider_select)[index] add_keys({"gsm":{ "number": "*99#", "username": username, "password": password, "apn": apn, #"network_id": network_id, "network_type": network_type}}) provider_type = "gsm" #setting_page = nm_module.slider.get_page_by_name("setting") #broadband = setting_page.setting_group.get_broadband() if self.connection_type == None: new_connection = getattr(nm_module.nm_remote_settings, "new_%s_connection"%provider_type)() Dispatcher.emit("region-back", new_connection, self.prop_dict, provider_type) #setting_page.sidebar.new_connection_list[provider_type].append(new_connection) #setting_page.init(setting_page.sidebar.new_connection_list) #setting_page.sidebar.set_active(new_connection) #broadband.set_new_values(self.prop_dict, provider_type) else: Dispatcher.emit("region-back", self.connection, self.prop_dict, provider_type) #broadband.set_new_values(self.prop_dict, provider_type) nm_module.slider._slide_to_page("setting", "none")
def save_changes(self, connection): if connection.check_setting_finish(): if isinstance(connection, NMRemoteConnection): connection.update() else: connection = nm_module.nm_remote_settings.new_connection_finish(connection.settings_dict, 'lan') net_manager.set_primary_wire(self.device, connection) Dispatcher.emit("connection-replace", connection) # reset index self.set_button("apply", True) Dispatcher.to_main_page() else: raise "not complete"
def save_changes(self, connection): if connection.check_setting_finish(): #this_index = self.connections.index(connection) from nmlib.nm_remote_connection import NMRemoteConnection if isinstance(connection, NMRemoteConnection): connection.update() else: connection = nm_module.nm_remote_settings.new_connection_finish(connection.settings_dict, 'lan') Dispatcher.emit("connection-replace", connection) #index = self.sidebar.new_connection_list[mobile_type].index(connection) #self.sidebar.new_connection_list[mobile_type].pop(index) #self.init(self.sidebar.new_connection_list) Dispatcher.to_main_page()
def save_changes(self, connection): if connection.check_setting_finish(): if isinstance(connection, NMRemoteConnection): #print "before update", TypeConvert.dbus2py(connection.settings_dict) connection.update() #print "after update", TypeConvert.dbus2py(connection.settings_dict) else: connection = nm_module.nm_remote_settings.new_connection_finish(connection.settings_dict, 'lan') Dispatcher.emit("connection-replace", connection) Dispatcher.emit("dsl-redraw") Dispatcher.to_main_page() event_manager.emit("update-dsl-id", connection.get_setting("connection").id, self.spec_connection)
def run(self): Dispatcher.emit("dialog-run") response = gtk.FileChooserDialog.run(self) self.set_modal(True) if response == gtk.RESPONSE_OK: filename = self.get_filename() if utils.get_ext(filename) in [".m3u", ".pls", ".xspf"]: utils.export_playlist(self.songs, filename, utils.get_ext(filename, False)) else: pl_type = ".m3u" filename = filename + "." + pl_type utils.export_playlist(self.songs, filename, pl_type) self.destroy() Dispatcher.emit("dialog-close")
def save_changes(self, connection): #print "save changes" if connection.check_setting_finish(): if isinstance(connection, NMRemoteConnection): connection.update() else: connection = nm_module.nm_remote_settings.new_connection_finish(connection.settings_dict, 'lan') net_manager.set_primary_wireless(self.ap, connection) Dispatcher.emit("connection-replace", connection) #Dispatcher.emit("wireless-redraw") # reset index #self.apply_changes(connection) #Dispatcher.set_button("apply", True) Dispatcher.to_main_page() else: print "not complete"
def show_instance_menu(self, obj, x, y): curren_view = self.playlist_ui.get_selected_song_view() menu_items = [ (None, _("Add"), curren_view.get_add_menu()), (None, _("Controls"), self.get_play_control_menu()), (self.get_pixbuf_group("playmode"), _("Playback Order"), curren_view.get_playmode_menu()), None, (None, _("Equalizer"), lambda: self.equalizer_win.run()), (None, _("Convert"), self.get_convert_sub_menu()), None, self.get_app_mode_menu(), None, self.get_lyrics_menu_items(), self.get_locked_menu_items(), None, (None, _("View New Features"), self.show_wizard_win), (self.get_pixbuf_group("setting"), _("Preferences"), lambda: self.preference_dialog.show_all()), None, (self.get_pixbuf_group("close"), _("Quit"), self.force_quit), ] if config.getboolean("lyrics", "status"): menu_items.insert(10, (None, _("Search Lyrics"), lambda: Dispatcher.emit("search-lyrics"))) Menu(menu_items, True).show((x, y))
def update_menu(self): menu_items = [] if Player.is_paused(): pixbuf_group = self.get_pixbuf_group("play") status_label = _("Play") else: pixbuf_group = self.get_pixbuf_group("pause") status_label = _("Pause") menu_items.append((pixbuf_group, status_label, Player.playpause)) menu_items.append((self.get_pixbuf_group("previous"), _("Previous"), Player.previous)) menu_items.append((self.get_pixbuf_group("next"), _("Next"), Player.next)) menu_items.append(None) menu_items.append((self.get_pixbuf_group("volume"), _("Volume"), self.get_volume_menu())) menu_items.append(None) if config.getboolean("lyrics", "status"): menu_items.append((None, _("Close Lyrics"), lambda: Dispatcher.close_lyrics())) menu_items.append((None, _("Search Lyrics"), lambda: Dispatcher.emit("search-lyrics"))) else: menu_items.append((None, _("Show Lyrics"), lambda: Dispatcher.show_lyrics())) if config.getboolean("lyrics", "locked"): menu_items.append((self.get_pixbuf_group("unlock"), _("Unlock Lyrics"), lambda: Dispatcher.unlock_lyrics())) else: menu_items.append((self.get_pixbuf_group("lock"), _("Lock Lyrics"), lambda: Dispatcher.lock_lyrics())) menu_items.append(None) menu_items.append((self.get_pixbuf_group("setting"), _("Preferences"), lambda: Dispatcher.show_setting())) menu_items.append((self.get_pixbuf_group("close"), _("Quit"), lambda: Dispatcher.quit())) if self.menu is not None: del self.menu self.menu = Menu(menu_items, True)
def show_instance_menu(self, obj, x, y): curren_view = self.playlist_ui.get_selected_song_view() menu_items = [ (None, _("Add"), curren_view.get_add_menu()), (None, _("Controls"), self.get_play_control_menu()), (self.get_pixbuf_group("playmode"), _("Playback Order"), curren_view.get_playmode_menu()), None, (None, _("Equalizer"), lambda : self.equalizer_win.run()), (None, _("Convert"), self.get_convert_sub_menu()), None, self.get_app_mode_menu(), None, self.get_lyrics_menu_items(), self.get_locked_menu_items(), None, (None, _("View New Features"), self.show_wizard_win), (self.get_pixbuf_group("setting"), _("Preferences"), lambda : self.preference_dialog.show_all()), None, (self.get_pixbuf_group("close"), _("Quit"), self.force_quit), ] if config.getboolean("lyrics", "status"): menu_items.insert(10, (None, _("Search Lyrics"), lambda : Dispatcher.emit("search-lyrics"))) Menu(menu_items, True).show((x, y))
def save_changes(self, connection): #print "save changes" if connection.check_setting_finish(): if isinstance(connection, NMRemoteConnection): connection.update() else: connection = nm_module.nm_remote_settings.new_connection_finish( connection.settings_dict, 'lan') net_manager.set_primary_wireless(self.ap, connection) Dispatcher.emit("connection-replace", connection) #Dispatcher.emit("wireless-redraw") # reset index #self.apply_changes(connection) #Dispatcher.set_button("apply", True) Dispatcher.to_main_page() else: print "not complete"
def device_added_cb(self, widget, path): self.init_device() device = nm_module.cache.getobject(path) type = device.get_device_type() if type == 1: if device not in self.connected_device: Dispatcher.emit("wired-device-add", device) Dispatcher.emit("recheck-section", 0) elif type == 2: if device not in self.connected_device: Dispatcher.emit("wireless-device-add", device) Dispatcher.emit("recheck-section", 1)
def change_cover(self, song_or_name, new_cover): save_path = self.get_cover_path(song_or_name) if not os.path.exists(new_cover): return False try: pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(new_cover, COVER_SAVE_SIZE["x"], COVER_SAVE_SIZE["y"]) except gobject.GError: return False else: str_pixbuf = pixbuf.get_pixels() if str_pixbuf.count("\x00") > len(str_pixbuf)/2 or str_pixbuf.count("\xff") > len(str_pixbuf)/2 : return False else: if os.path.exists(save_path): os.unlink(save_path) pixbuf.save(save_path, "jpeg", {"quality":"85"}) del pixbuf # Change property album to update UI if isinstance(song_or_name, Song): Dispatcher.emit("album-changed", song_or_name) MediaDB.set_property(song_or_name, {"album" : song_or_name.get("album")}) return True
def update_menu(self): menu_items = [] if Player.is_paused(): pixbuf_group = self.get_pixbuf_group("play") status_label = _("Play") else: pixbuf_group = self.get_pixbuf_group("pause") status_label = _("Pause") menu_items.append((pixbuf_group, status_label, Player.playpause)) menu_items.append((self.get_pixbuf_group("previous"), _("Previous"), Player.previous)) menu_items.append( (self.get_pixbuf_group("next"), _("Next"), Player.next)) menu_items.append(None) menu_items.append((self.get_pixbuf_group("volume"), _("Volume"), self.get_volume_menu())) menu_items.append(None) if config.getboolean("lyrics", "status"): menu_items.append( (None, _("Close Lyrics"), lambda: Dispatcher.close_lyrics())) menu_items.append((None, _("Search Lyrics"), lambda: Dispatcher.emit("search-lyrics"))) else: menu_items.append( (None, _("Show Lyrics"), lambda: Dispatcher.show_lyrics())) if config.getboolean("lyrics", "locked"): menu_items.append( (self.get_pixbuf_group("unlock"), _("Unlock Lyrics"), lambda: Dispatcher.unlock_lyrics())) else: menu_items.append((self.get_pixbuf_group("lock"), _("Lock Lyrics"), lambda: Dispatcher.lock_lyrics())) menu_items.append(None) menu_items.append((self.get_pixbuf_group("setting"), _("Preferences"), lambda: Dispatcher.show_setting())) menu_items.append((self.get_pixbuf_group("close"), _("Quit"), lambda: Dispatcher.quit())) if self.menu is not None: del self.menu self.menu = Menu(menu_items, True)
def emit_to_playlist(self, items): webcasts = [item.webcast for item in items] Dispatcher.emit("add-webcasts", webcasts)
def set_current_source(self): if Player.get_source() != self: Player.set_source(self) Dispatcher.emit("save_current_list")
def enable(dmusic): Dispatcher.emit("add-source", radio_list_tab)
def disable(dmusic): SignalCollector.disconnect_all("baidumusic") Dispatcher.emit("remove-source", radio_list_tab)
def delete_request_redraw(self): net_manager.remove_hidden(self.connection) Dispatcher.emit("wireless-redraw")
def switch_source(self, data, switched=False): self.tab_box.active_item(data) Dispatcher.emit("switch-browser", data, switched)
def mm_device_removed(self, widget, path): self.init_device() device = nm_module.cache.getobject(path) Dispatcher.emit("mmdevice-removed", device) Dispatcher.emit("recheck-section", 3)
def device_removed_cb(self, widget, path): """ no use as can't get device type when device is removed """ self.init_device() Dispatcher.emit("recheck-section", 0)
def ap_added(self, devices): for device in devices: if device not in self.connected_device: wifi = nm_module.cache.get_spec_object(device.object_path) wifi.connect("access-point-added", lambda w: Dispatcher.emit("ap-added")) wifi.connect("access-point-removed", lambda w: Dispatcher.emit("ap-removed"))
def __on_double_click_item(self, *args): Dispatcher.emit("switch-source", self.source_tab)
def fetch_cover(self, song): success = self.get_cover(song, try_web=True, read_local=False) if success: Dispatcher.emit("album-changed", song) MediaDB.set_property(song, {"album": song.get("album")})
def on_button_press(self, widget, event): if self.mask_flag: Dispatcher.emit("play-radio", self.channel_infos[self.active_index])
def next_button_clicked(self, widget): # 检查是否选择了运营商 if not self.provider_select: print "provider has not selected" return try: self.plan_select except: self.plan_select = None def add_keys(settings): self.prop_dict = settings username = self.__sp.get_provider_username(self.code, self.provider_select) password = self.__sp.get_provider_password(self.code, self.provider_select) add_keys({ "cdma": { "number": "#777", "username": username, "password": password } }) provider_type = "cdma" if self.plan_select: self.prop_dict.pop("cdma") apn = self.plan_select index = self.__sp.get_provider_apns_name( self.code, self.provider_select).index(apn) (network_id, network_type) = self.__sp.get_provider_networks( self.code, self.provider_select)[index] add_keys({ "gsm": { "number": "*99#", "username": username, "password": password, "apn": apn, #"network_id": network_id, "network_type": network_type } }) provider_type = "gsm" #setting_page = nm_module.slider.get_page_by_name("setting") #broadband = setting_page.setting_group.get_broadband() if self.connection_type == None: new_connection = getattr(nm_module.nm_remote_settings, "new_%s_connection" % provider_type)() Dispatcher.emit("region-back", new_connection, self.prop_dict, provider_type) #setting_page.sidebar.new_connection_list[provider_type].append(new_connection) #setting_page.init(setting_page.sidebar.new_connection_list) #setting_page.sidebar.set_active(new_connection) #broadband.set_new_values(self.prop_dict, provider_type) else: Dispatcher.emit("region-back", self.connection, self.prop_dict, provider_type) #broadband.set_new_values(self.prop_dict, provider_type) nm_module.slider._slide_to_page("setting", "none")
def on_radio_view_click_item(self, widget, item, x, y): if item: if not hasattr(item, "is_more") and item.mask_flag: Dispatcher.emit("switch-source", self.source_tab)
def button_click(self, widget): #if self.btn_save.label == "save": Dispatcher.emit("setting-saved")