Ejemplo n.º 1
0
        public ServiceSettingsView(ServicePluginInstance servicePlugin)
        {
            this.servicePlugin = servicePlugin;
            service            = servicePlugin.Service;
            authenticatable    = service.AsAuthenticatable();
            if (authenticatable == null)
            {
                throw new ArgumentException("Service instance passed must implement IAuthenticatable", nameof(service));
            }
            InitializeComponent();
            sspSignInStatus = new SplitStringParser(signInStatusLabel);
            sspSignInButton = new SplitStringParser(signInButton);
            if (authenticatable.IsAuthenticated)
            {
                signInStatusLabel.Text = String.Format(sspSignInStatus.Get(authenticatable.IsAuthenticated),
                                                       LocalisableAccountNameFormat.GetFormattedName(authenticatable.Account));
            }
            else
            {
                sspSignInStatus.Update(false);
            }
            sspSignInButton.Update(authenticatable.IsAuthenticated);
            var control = service.GetSettingsControl();

            control.Dock = DockStyle.Fill;
            servicePanel.Controls.Add(control);
        }
Ejemplo n.º 2
0
 private void servicesListBox_SelectedIndexChanged(object sender, EventArgs e)
 {
     selectedInstance = services[servicesListBox.SelectedIndex];
     selectedService  = selectedInstance.Service;
     serviceUiPanel.Controls.Clear();
     if (selectedService.AsAuthenticatable() != null)
     {
         var ssv = new ServiceSettingsView(selectedInstance)
         {
             Dock = DockStyle.Fill
         };
         serviceUiPanel.Controls.Add(ssv);
     }
     else
     {
         serviceUiPanel.Controls.Add(selectedService.GetSettingsControl());
     }
     serviceNameLabel.Text        = selectedService.Info.Name;
     serviceDescriptionLabel.Text = selectedService.Info.Description;
     serviceAuthorLabel.Text      = selectedService.Info.Author;
     serviceWebsiteLabel.Text     = selectedService.Info.Website.ToString();
 }