private void ApplyProfile(Profile profile) { _lSpeedSlider.SetSpeed((int)profile.LeftThumbStickSpeed); _rSpeedSlider.SetSpeed((int)profile.RightThumbStickSpeed); _lStickAssignment.SetCurrentIndex(Parse.StickActionTypes(profile.LeftStickAction)); _rStickAssignment.SetCurrentIndex(Parse.StickActionTypes(profile.RightStickAction)); }
public override void InitElements() { AssingSize(_languageList, _profileList, _inputModeList); HorizontalStack _profileToolbar = new HorizontalStack(); _profileToolbar.SetHeightPolicy(SizePolicy.Fixed); _profileToolbar.SetHeight(30); _profileToolbar.SetSpacing(10); AddItems( _headerTitle, _autoLaunchAppCheckBox, _startMinimizedCheckBox, _autoStartCheckBox, Items.GetHorizontalDivider(), _headerProfile, _profileToolbar, _inputModeList, Items.GetHorizontalDivider(), _headerLocale, _languageList ); _profileToolbar.AddItems(_profileList, _addProfile, _copyProfile, _removeProfile); // apply settings _languageList.SetCurrentIndex( Controller.GetLocalizations().Keys.ToList().IndexOf(Controller.GetLanguage()["Locale"])); _profileList.SetCurrentIndex( Controller.GetAllProfiles().Select(p => p.Name).ToList().IndexOf(Controller.GetProfile().Name)); _inputModeList.SetCurrentIndex( Parse.RepeatTypes(Controller.GetProfile().RepeatMode)); // events _languageList.SelectionChanged += () => { Controller.InvokeEventLanguageChanged(_languageList.GetTextSelection()); }; _profileList.SelectionChanged += () => { Controller.InvokeEventProfileChanged(_profileList.GetTextSelection()); }; _inputModeList.SelectionChanged += () => { Controller.GetProfile().RepeatMode = (RepeatType)_inputModeList.GetCurrentIndex(); }; _autoLaunchAppCheckBox.EventToggle += (value) => { Controller.GetSettings().AutoLaunchOnSystemStartUp = value; }; _startMinimizedCheckBox.EventToggle += (value) => { Controller.GetSettings().StartAppMinimized = value; }; _autoStartCheckBox.EventToggle += (value) => { Controller.GetSettings().AutoStart = value; }; _addProfile.EventMouseClick += (sender, args) => { InputDialog input = new InputDialog(Controller.GetLanguage()["InputTitle"], Controller.GetLanguage()["AddButton"]); input.SetCancelVisible(false); input.OnCloseDialog += () => { if (input.GetResult().Length > 0) { Controller.InvokeEventAddProfile(input.GetResult()); } }; input.Show(GetHandler()); }; _copyProfile.EventMouseClick += (sender, args) => { InputDialog input = new InputDialog(Controller.GetLanguage()["InputTitle"], Controller.GetLanguage()["AddButton"]); input.SetCancelVisible(false); input.OnCloseDialog += () => { if (input.GetResult().Length > 0) { Controller.InvokeEventAddProfile(input.GetResult(), true); } }; input.Show(GetHandler()); }; _removeProfile.EventMouseClick += (sender, args) => { MessageItem msg = new MessageItem( Controller.GetLanguage()["MsgDeleteProfile"] + " " + Controller.GetProfile().Name + "\n" + Controller.GetLanguage()["MsgConfirm"], Controller.GetLanguage()["DeleteProfileTitle"]); msg.GetOkButton().SetText(Controller.GetLanguage()["DeleteButton"]); msg.GetCancelButton().SetText(Controller.GetLanguage()["CancelButton"]); msg.OnCloseDialog += () => { if (msg.GetResult()) { Controller.InvokeEventDeleteProfile(); } }; msg.Show(GetHandler()); }; }