Beispiel #1
0
        public Input(FullscreenAppViewModel mainModel)
        {
            InitializeComponent();

            BindingTools.SetBinding(
                ToggleMouseCursor,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.HideMouserCursor),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleXInput,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.EnableXinputProcessing),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleSwapXA,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.SwapStartDetailsAction),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);
        }
Beispiel #2
0
 public GameStatus(FullscreenAppViewModel mainModel) : base()
 {
     if (DesignerProperties.GetIsInDesignMode(this))
     {
     }
     else if (mainModel != null)
     {
         this.mainModel = mainModel;
     }
 }
Beispiel #3
0
 public Notifications(FullscreenAppViewModel mainModel) : base()
 {
     if (DesignerProperties.GetIsInDesignMode(this))
     {
         this.mainModel = DesignMainViewModel.DesignIntance;
     }
     else if (mainModel != null)
     {
         this.mainModel = mainModel;
     }
 }
Beispiel #4
0
 public SettingsMenu(FullscreenAppViewModel mainModel) : base()
 {
     if (DesignerProperties.GetIsInDesignMode(this))
     {
         this.mainModel = new DesignMainViewModel();
     }
     else if (mainModel != null)
     {
         this.mainModel = mainModel;
     }
 }
Beispiel #5
0
 public FiltersAdditional(FullscreenAppViewModel mainModel) : base()
 {
     if (DesignerProperties.GetIsInDesignMode(this))
     {
         this.mainModel = new DesignMainViewModel();
     }
     else if (mainModel != null)
     {
         this.mainModel = mainModel;
     }
 }
Beispiel #6
0
 public FilterPresetSelector(FullscreenAppViewModel mainModel)
 {
     if (DesignerProperties.GetIsInDesignMode(this))
     {
         this.mainModel = DesignMainViewModel.DesignIntance;
     }
     else if (mainModel != null)
     {
         this.mainModel             = mainModel;
         mainModel.PropertyChanged += MainModel_PropertyChanged;
     }
 }
Beispiel #7
0
 public Main(FullscreenAppViewModel mainModel) : base()
 {
     if (DesignerProperties.GetIsInDesignMode(this))
     {
         this.mainModel = DesignMainViewModel.DesignIntance;
         DataContext    = this.mainModel;
     }
     else if (mainModel != null)
     {
         this.mainModel = mainModel;
     }
 }
Beispiel #8
0
 public GameListItem(FullscreenAppViewModel mainModel)
 {
     if (DesignerProperties.GetIsInDesignMode(this))
     {
         this.mainModel = DesignMainViewModel.DesignIntance;
     }
     else if (mainModel != null)
     {
         this.mainModel = mainModel;
         // Done via event instead of input binding because input binding disables item select on righ-click.
         PreviewMouseRightButtonUp += GameListItem_MouseRightButtonUp;
     }
 }
Beispiel #9
0
 public GameDetails(FullscreenAppViewModel mainModel) : base()
 {
     if (DesignerProperties.GetIsInDesignMode(this))
     {
         var designModel = DesignMainViewModel.DesignIntance;
         this.mainModel = designModel;
         DataContext    = designModel.GamesView.Items[0];
     }
     else if (mainModel != null)
     {
         this.mainModel = mainModel;
     }
 }
Beispiel #10
0
        public MainMenu(FullscreenAppViewModel mainModel) : base()
        {
            if (DesignerProperties.GetIsInDesignMode(this))
            {
                this.mainModel = DesignMainViewModel.DesignIntance;
            }
            else if (mainModel != null)
            {
                this.mainModel = mainModel;
            }

            Focusable = false;
        }
Beispiel #11
0
        public Main(FullscreenAppViewModel mainModel) : base()
        {
            if (DesignerProperties.GetIsInDesignMode(this))
            {
                this.mainModel = DesignMainViewModel.DesignIntance;
                DataContext    = this.mainModel;
            }
            else if (mainModel != null)
            {
                this.mainModel = mainModel;
            }

            this.mainModel.AppSettings.Fullscreen.PropertyChanged += Fullscreen_PropertyChanged;
        }
Beispiel #12
0
        public Audio(FullscreenAppViewModel mainModel)
        {
            InitializeComponent();

            SliderInterfaceVolume.Minimum             = 0;
            SliderInterfaceVolume.Maximum             = 1;
            SliderInterfaceVolume.SmallChange         = 0.05;
            SliderInterfaceVolume.LargeChange         = 0.05;
            SliderInterfaceVolume.TickFrequency       = 0.05;
            SliderInterfaceVolume.IsSnapToTickEnabled = true;
            BindingTools.SetBinding(
                SliderInterfaceVolume,
                Slider.ValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.InterfaceVolume),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            SliderMusicVolume.Minimum             = 0;
            SliderMusicVolume.Maximum             = 1;
            SliderMusicVolume.SmallChange         = 0.05;
            SliderMusicVolume.LargeChange         = 0.05;
            SliderMusicVolume.TickFrequency       = 0.05;
            SliderMusicVolume.IsSnapToTickEnabled = true;
            BindingTools.SetBinding(
                SliderMusicVolume,
                Slider.ValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.BackgroundVolume),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleMuteInBackground,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.MuteInBackground),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            SelectorBehaviors.SetEnumSource(SelectAudioApi, typeof(AudioInterfaceApi));
            BindingTools.SetBinding(
                SelectAudioApi,
                Selector.SelectedValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.AudioInterfaceApi),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);
        }
        public FilterDbItemtSelection(FullscreenAppViewModel mainModel, bool isPrimaryFilter = false) : base()
        {
            if (DesignerProperties.GetIsInDesignMode(this))
            {
                Title = "Design Title";
                var games = new List <Game>()
                {
                    new Game("Game 1"),
                    new Game("Game 2"),
                    new Game("Game 3")
                };

                ItemsList = new SelectableIdItemList <Game>(games, a => a.Id);
            }

            this.isPrimaryFilter = isPrimaryFilter;
            this.mainModel       = mainModel;
            DataContext          = this;
        }
Beispiel #14
0
        public Menus(FullscreenAppViewModel mainModel)
        {
            InitializeComponent();

            BindingTools.SetBinding(
                ToggleHibernateSystem,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.MainMenuShowHibernate),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleRestartSystem,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.MainMenuShowRestart),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleShutdownSystem,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.MainMenuShowShutdown),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleSuspendSystem,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.MainMenuShowSuspend),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);
        }
Beispiel #15
0
        public Visuals(FullscreenAppViewModel mainModel)
        {
            InitializeComponent();

            SelectTheme.ItemsSource       = mainModel.AppSettings.Fullscreen.AvailableThemes;
            SelectTheme.DisplayMemberPath = nameof(ThemeManifest.Name);
            SelectTheme.SelectedValuePath = nameof(ThemeManifest.Id);
            BindingTools.SetBinding(
                SelectTheme,
                Selector.SelectedValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.Theme),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            SelectButtonPrompts.ItemsSource       = ItemsSource.GetEnumSources(typeof(FullscreenButtonPrompts));
            SelectButtonPrompts.DisplayMemberPath = nameof(ItemsSource.EnumItem.Name);
            SelectButtonPrompts.SelectedValuePath = nameof(ItemsSource.EnumItem.Value);
            BindingTools.SetBinding(
                SelectButtonPrompts,
                Selector.SelectedValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.ButtonPrompts),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleGameTitles,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.ShowGameTitles),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleDarkenUninstalled,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.DarkenUninstalledGamesGrid),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleBackgroundOnMain,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.EnableMainBackgroundImage),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            SliderBackgroundDarkenAmount.Minimum             = 0;
            SliderBackgroundDarkenAmount.Maximum             = 100;
            SliderBackgroundDarkenAmount.TickFrequency       = 5;
            SliderBackgroundDarkenAmount.IsSnapToTickEnabled = true;
            BindingTools.SetBinding(
                SliderBackgroundDarkenAmount,
                Slider.ValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.MainBackgroundImageDarkAmount),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);
            BindingTools.SetBinding(
                SliderBackgroundDarkenAmount,
                Slider.IsEnabledProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.EnableMainBackgroundImage),
                BindingMode.OneWay,
                UpdateSourceTrigger.PropertyChanged);

            SliderBackgroundBlurAmount.Minimum             = 0;
            SliderBackgroundBlurAmount.Maximum             = 100;
            SliderBackgroundBlurAmount.TickFrequency       = 5;
            SliderBackgroundBlurAmount.IsSnapToTickEnabled = true;
            BindingTools.SetBinding(
                SliderBackgroundBlurAmount,
                Slider.ValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.MainBackgroundImageBlurAmount),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);
            BindingTools.SetBinding(
                SliderBackgroundBlurAmount,
                Slider.IsEnabledProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.EnableMainBackgroundImage),
                BindingMode.OneWay,
                UpdateSourceTrigger.PropertyChanged);

            SliderFontSize.Minimum             = 10;
            SliderFontSize.Maximum             = 40;
            SliderFontSize.TickFrequency       = 1;
            SliderFontSize.IsSnapToTickEnabled = true;
            BindingTools.SetBinding(
                SliderFontSize,
                Slider.ValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.FontSize),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            SliderFontSizeSmall.Minimum             = 10;
            SliderFontSizeSmall.Maximum             = 40;
            SliderFontSizeSmall.TickFrequency       = 1;
            SliderFontSizeSmall.IsSnapToTickEnabled = true;
            BindingTools.SetBinding(
                SliderFontSizeSmall,
                Slider.ValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.FontSizeSmall),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);
        }
Beispiel #16
0
        public General(FullscreenAppViewModel mainModel)
        {
            InitializeComponent();

            SelectMonitor.ItemsSource       = mainModel.AppSettings.Fullscreen.AvailableScreens;
            SelectMonitor.DisplayMemberPath = nameof(System.Windows.Forms.Screen.DeviceName);
            BindingTools.SetBinding(
                SelectMonitor,
                Selector.SelectedIndexProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.Monitor),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleBattery,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.ShowBattery),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleBatteryPercentage,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.ShowBatteryPercentage),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleClock,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.ShowClock),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                TogglePrimaryDisplayOnly,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.UsePrimaryDisplay),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleAsyncImageLoad,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.AsyncImageLoading),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleMinimizeAfterGame,
                ToggleButton.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.MinimizeAfterGameStartup),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                SelectImageScaler,
                Selector.SelectedValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.ImageScalerMode),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);
            SelectorBehaviors.SetEnumSource(SelectImageScaler, typeof(Playnite.ImageLoadScaling));
        }
Beispiel #17
0
        public Layout(FullscreenAppViewModel mainModel)
        {
            InitializeComponent();

            SliderColumns.Minimum             = 1;
            SliderColumns.Maximum             = 10;
            SliderColumns.TickFrequency       = 1;
            SliderColumns.IsSnapToTickEnabled = true;
            BindingTools.SetBinding(
                SliderColumns,
                Slider.ValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.Columns),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);
            BindingTools.SetBinding(
                SliderColumns,
                Slider.IsEnabledProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.HorizontalLayout),
                BindingMode.OneWay,
                UpdateSourceTrigger.PropertyChanged);

            SliderRows.Minimum             = 1;
            SliderRows.Maximum             = 10;
            SliderRows.TickFrequency       = 1;
            SliderRows.IsSnapToTickEnabled = true;
            BindingTools.SetBinding(
                SliderRows,
                Slider.ValueProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.Rows),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);
            BindingTools.SetBinding(
                SliderRows,
                Slider.IsEnabledProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.HorizontalLayout),
                BindingMode.OneWay,
                UpdateSourceTrigger.PropertyChanged,
                new InvertedBoolenConverter());

            SliderItemSpacing.Minimum             = 0;
            SliderItemSpacing.Maximum             = 40;
            SliderItemSpacing.TickFrequency       = 1;
            SliderItemSpacing.IsSnapToTickEnabled = true;
            BindingTools.SetBinding(
                SliderItemSpacing,
                Slider.ValueProperty,
                mainModel.AppSettings,
                nameof(PlayniteSettings.FullscreenItemSpacing),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);

            BindingTools.SetBinding(
                ToggleHorizontalLayout,
                CheckBox.IsCheckedProperty,
                mainModel.AppSettings.Fullscreen,
                nameof(FullscreenSettings.HorizontalLayout),
                BindingMode.TwoWay,
                UpdateSourceTrigger.PropertyChanged);
        }
Beispiel #18
0
 public FilterStringListSelection(FullscreenAppViewModel mainModel, bool isPrimaryFilter = false) : base()
 {
     this.isPrimaryFilter = isPrimaryFilter;
     this.mainModel       = mainModel;
     DataContext          = this;
 }
Beispiel #19
0
 public MainViewAPI(FullscreenAppViewModel mainModel)
 {
     this.mainModel = mainModel;
 }
Beispiel #20
0
 public void GetIsExtranFilterActiveTest()
 {
     var model = new FullscreenAppViewModel();
 }