def mpd_tab(self, cbs=None): """Construct and layout the MPD tab""" #frame.set_shadow_type(Gtk.ShadowType.NONE) controlbox = self.builder.get_object('connection_frame_label_widget') profiles = self.builder.get_object('connection_profiles') add_profile = self.builder.get_object('connection_add_profile') remove_profile = self.builder.get_object('connection_remove_profile') self._populate_profile_combo(profiles, self.config.profile_num, remove_profile) nameentry = self.builder.get_object('connection_name') hostentry = self.builder.get_object('connection_host') portentry = self.builder.get_object('connection_port') direntry = self.builder.get_object('connection_dir') self.direntry = direntry direntry.connect('selection-changed', self._direntry_changed, profiles) passwordentry = self.builder.get_object('connection_password') autoconnect = self.builder.get_object('connection_autoconnect') autoconnect.set_active(self.config.autoconnect) autoconnect.connect('toggled', self._config_widget_active, 'autoconnect') # Fill in entries with current profile: self._profile_chosen(profiles, nameentry, hostentry, portentry, passwordentry, direntry) # Update display if $MPD_HOST or $MPD_PORT is set: host, port, password = misc.mpd_env_vars() if host or port: self.using_mpd_env_vars = True if not host: host = "" if not port: port = 0 if not password: password = "" hostentry.set_text(str(host)) portentry.set_value(port) passwordentry.set_text(str(password)) nameentry.set_text(_("Using MPD_HOST/PORT")) for widget in [hostentry, portentry, passwordentry, nameentry, profiles, add_profile, remove_profile]: widget.set_sensitive(False) else: self.using_mpd_env_vars = False nameentry.connect('changed', self._nameentry_changed, profiles, remove_profile) hostentry.connect('changed', self._hostentry_changed, profiles) portentry.connect('value-changed', self._portentry_changed, profiles) passwordentry.connect('changed', self._passwordentry_changed, profiles) profiles.connect('changed', self._profile_chosen, nameentry, hostentry, portentry, passwordentry, direntry) add_profile.connect('clicked', self._add_profile, nameentry, profiles, remove_profile) remove_profile.connect('clicked', self._remove_profile, profiles, remove_profile)
def mpd_connect(self): host, port, password = misc.mpd_env_vars() if not host: host = self.config.host[self.config.profile_num] if not port: port = self.config.port[self.config.profile_num] if not password: password = self.config.password[self.config.profile_num] self.mpd.connect(host, port) if password: self.mpd.password(password)