Example #1
0
        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());
            };
        }
Example #2
0
        public override void InitElements()
        {
            _leftStickLayout.SetSpacing(0, 10);
            _rightStickLayout.SetSpacing(0, 10);

            _lStickAssignment.SetPadding(0, 0, 40, 0);
            _rStickAssignment.SetPadding(0, 0, 40, 0);

            AddItems(
                _leftStickLayout,
                _rightStickLayout
                );

            _leftStickLayout.AddItems(
                _lLabel,
                _lDynamicSensitivity,
                _lSpeedSlider,
                _lStickAssignment
                );

            _rightStickLayout.AddItems(
                _rLabel,
                _rDynamicSensitivity,
                _rSpeedSlider,
                _rStickAssignment
                );

            _lStickAssignment.AddItems(
                _lMouseMove,
                _lArrows
                );

            _rStickAssignment.AddItems(
                _rMouseMove,
                _rArrows
                );

            ApplyProfile(Controller.GetProfile());

            _lSpeedSlider.EventValueChanged += () =>
            {
                Controller.GetProfile().LeftThumbStickSpeed = (uint)_lSpeedSlider.GetSpeed();
            };
            _rSpeedSlider.EventValueChanged += () =>
            {
                Controller.GetProfile().RightThumbStickSpeed = (uint)_rSpeedSlider.GetSpeed();
            };

            _lStickAssignment.SelectionChanged += () =>
            {
                Controller.GetProfile().LeftStickAction = (StickActionType)_lStickAssignment.GetCurrentIndex();
            };
            _rStickAssignment.SelectionChanged += () =>
            {
                Controller.GetProfile().RightStickAction = (StickActionType)_rStickAssignment.GetCurrentIndex();
            };

            _lDynamicSensitivity.EventToggle += (value) =>
            {
                Controller.GetProfile().LeftThumbStickAcceleration = value;
            };
            _rDynamicSensitivity.EventToggle += (value) =>
            {
                Controller.GetProfile().RightThumbStickAcceleration = value;
            };
        }