public ActivityMappingControl(ActivityTypeMapping ac)
        {
            this.ac = ac;
            Init();

            lblSTActivity.Tag = ac.SportTracks;
            lblSTActivity.Text = Plugin.SportTrackActivityTypes[ac.SportTracks];

            string funbeatName = string.Empty;
            foreach (FunbeatService.FunbeatActivityType type in FunbeatService.FunbeatActivityTypes)
                if (type.Id == ac.Funbeat)
                {
                    funbeatName = type.Name;
                    break;
                }

            int selectedIndex = cbFunbeatActivity.FindString(funbeatName);
            cbFunbeatActivity.SelectedIndex = selectedIndex;
        }
Пример #2
0
        internal static void PopulateInstance(System.Xml.XmlElement pluginNode, XmlNamespaceManager nsmgr, XmlDocument xmlDoc)
        {
            instance = new Settings();

            foreach (XmlNode node in pluginNode.ChildNodes)
            {
                if (node.Name == "User")
                {
                    instance.User.Username = node.Attributes[0].Value; //Saved username only used to display to user on settings page
                    instance.User.HashedPassword = node.Attributes[1].Value; // Password only used to display to user on settings page
                }
                else if (node.Name == "Login")
                {
                    instance.User.LoginId = node.Attributes[0].Value;
                    instance.User.LoginSecret = node.Attributes[1].Value;
                }
                else if (node.Name == "ExportNameInComment")
                {
                    instance.boExportNameInComment = bool.Parse(node.Attributes[0].Value);
                }
                else if (node.Name == "Mappings")
                {
                    foreach (XmlNode mapping in node.ChildNodes)
                    {
                        ActivityTypeMapping atm = new ActivityTypeMapping();
                        atm.SportTracks = mapping.Attributes["st2"].Value;
                        atm.Funbeat = int.Parse(mapping.Attributes["funbeat"].Value);
                        instance.ActivityTypeMappings.Add(atm);
                    }
                }
                else if (node.Name == "EquipmentMappings")
                {
                    foreach (XmlNode mapping in node.ChildNodes)
                    {
                        EquipmentTypeMapping etm = new EquipmentTypeMapping();
                        etm.SportTracks = mapping.Attributes["st2"].Value;
                        etm.Funbeat = mapping.Attributes["funbeat"].Value;
                        instance.EquipmentTypeMappings.Add(etm);
                    }
                }
                else if (node.Name == "RoutePrivacy")
                {
                    int privacy;
                    if (int.TryParse(node.Attributes[0].Value, out privacy))
                        instance.RoutePrivacyIndex = privacy;
                }
            }
        }
Пример #3
0
        public SettingsControl()
        {
            InitializeComponent();

            try
            {
                txtUsername.Text = Settings.Settings.Instance.User.Username;
                txtPassword.Text = Settings.Settings.Instance.User.Password;
                this.txtUsername.TextChanged += new System.EventHandler(this.OnUsernameChanged);
                this.txtPassword.TextChanged += new System.EventHandler(this.txtPassword_TextChanged);
                exportNameCheckBox.Checked = Settings.Settings.Instance.boExportNameInComment;
                String [] privacyStrings = {Privacy.NotSet.ToString(), Privacy.Me.ToString(), Privacy.Friends.ToString(), Privacy.Everyone.ToString()};
                this.RoutePrivacyComboBox.Items.AddRange(privacyStrings);
                this.RoutePrivacyComboBox.SelectedIndex = Settings.Settings.Instance.RoutePrivacyIndex;

                // Activity type mappings
                List<Control> amcs = new List<Control>();
                ActivityTypeMapping active = null;
                foreach (string ac in Plugin.SportTrackActivityTypes.Keys)
                {
                    active = null;

                    foreach (ActivityTypeMapping atm in Settings.Settings.Instance.ActivityTypeMappings)
                        if (atm.SportTracks == ac)
                        {
                            active = atm;
                            break;
                        }
                    if (active == null)
                    {
                        active = new ActivityTypeMapping();
                        active.SportTracks = ac;
                        active.Funbeat = 51;
                        Settings.Settings.Instance.ActivityTypeMappings.Add(active);
                    }
                    ActivityMappingControl amc = new ActivityMappingControl(active);
                    amcs.Add(amc);
                }
                actMappingsFlowLayoutPanel.Controls.AddRange(amcs.ToArray());

                // Equipment mappings
                List<Control>  emcs = new List<Control>();
                EquipmentTypeMapping activeEq = null;
                foreach (string ac in Plugin.SportTrackEquipment.Keys)
                {
                    activeEq = null;
                    foreach (EquipmentTypeMapping etm in Settings.Settings.Instance.EquipmentTypeMappings)
                        if (etm.SportTracks == ac)
                        {
                            activeEq = etm;
                            break;
                        }
                    if (activeEq == null)
                    {
                        activeEq = new EquipmentTypeMapping();
                        activeEq.SportTracks = ac;
                        activeEq.Funbeat = "";
                        Settings.Settings.Instance.EquipmentTypeMappings.Add(activeEq);
                    }
                    EquipmentMappingControl emc = new EquipmentMappingControl(activeEq);
                    emcs.Add(emc);
                }
                eqMappingsFlowLayoutPanel.Controls.AddRange(emcs.ToArray());
                equipmentMappingsGroupBox.Location = new Point(actMappingsGroupBox.Location.X,
                                                               actMappingsGroupBox.Location.Y + actMappingsGroupBox.Size.Height + 10);
            }
            catch (Exception ex)
            {
                TextBox ErrMessageBox = new TextBox();
                ErrMessageBox.Text = string.Concat("Failed to read training type mappings from funbeat.\r\nException message:\r\n",
                                                    ex.ToString());
                ErrMessageBox.Size = actMappingsFlowLayoutPanel.Size;
                ErrMessageBox.ReadOnly = true;
                ErrMessageBox.Multiline = true;
                actMappingsFlowLayoutPanel.Controls.Add(ErrMessageBox);
            }
        }