public void AddAndRemoveStartupTest()
 {
     StartUpManager.AddApplicationToCurrentUserStartup();
     StartUpManager.IsApplicationAddedToCurrentUserStartup().Should().BeTrue();
     StartUpManager.RemoveApplicationFromCurrentUserStartup();
     StartUpManager.IsApplicationAddedToCurrentUserStartup().Should().BeFalse();
 }
 private static void HandleAutostart(UserSettings settings)
 {
     if (settings.Autostart)
     {
         StartUpManager.AddApplicationToCurrentUserStartup();
     }
     else
     {
         StartUpManager.RemoveApplicationFromCurrentUserStartup();
     }
 }
Beispiel #3
0
 private void InitManagers()
 {
     m_LuaMgr     = AddManager <LuaManager>(ManagerName.Lua);
     m_PanelMgr   = AddManager <PanelManager>(ManagerName.Panel);
     m_ResMgr     = AddManager <ResourceManager>(ManagerName.Resource);
     m_NetMgr     = AddManager <NetworkManager>(ManagerName.Network);
     m_SoundMgr   = AddManager <SoundManager>(ManagerName.Sound);
     m_TimerMgr   = AddManager <TimerManager>(ManagerName.Timer);
     m_StartUpMgr = AddManager <StartUpManager>(ManagerName.StartUp);
     m_LogMgr     = AddManager <LogHandler>(ManagerName.Log);
 }
        private void ApplyAutoStart(bool enabled)
        {
            AppSettings.AutoStartEnabled = enabled;

            if (AppSettings.AutoStartEnabled)
            {
                StartUpManager.AddApplicationToCurrentUserStartup();
            }
            else
            {
                StartUpManager.RemoveApplicationFromCurrentUserStartup();
            }
        }
 private void disableToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (StartUpManager.IsUserAdministrator())
     {
         // Will Remove application to All Users StartUp
         StartUpManager.RemoveApplicationFromAllUserStartup();
     }
     else
     {
         // Will Remove application to Current Users StartUp
         StartUpManager.RemoveApplicationFromCurrentUserStartup();
     }
 }
 private void enableToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (StartUpManager.IsUserAdministrator())
     {
         // Will Add application to All Users StartUp
         StartUpManager.AddApplicationToAllUserStartup();
     }
     else
     {
         // Will Add application to Current Users StartUp
         StartUpManager.AddApplicationToCurrentUserStartup();
     }
 }
Beispiel #7
0
        public TaskbarIconViewModel(ViewManager manager, ProgramSettings settings, IDialogService dialogService)
        {
            _manager       = manager;
            _dialogService = dialogService;
            _settings      = settings;

            ExitCommand = new DelegateCommand(() => Application.Current.Shutdown());

            SettingsCommand = new DelegateCommand(() =>
            {
                var dialog = _dialogService.CreateDialog <SettingsViewModel, SettingsView>(_manager.Settings);
                if (dialog.ShowDialog() == true)
                {
                    manager.ApplySettings(dialog);
                }
            });

            AboutCommand = new DelegateCommand(() =>
            {
                var dialog = _dialogService.CreateDialog <AboutViewModel, AboutView>();
                dialog.ShowDialog();
            });

            StartStopCommand = new DelegateCommand(() =>
            {
                if (manager.IsWindowVisible)
                {
                    manager.Stop();
                }
                else
                {
                    manager.Start();
                }
                RaisePropertyChanged(nameof(MenuItemStartStopText));
                RaisePropertyChanged(nameof(MenuItemStartStopIcon));
            });

            AutoStartCommand = new DelegateCommand(() =>
            {
                if (StartUpManager.IsInStartup())
                {
                    StartUpManager.RemoveFromStartup();
                }
                else
                {
                    StartUpManager.AddToStartup();
                }
                RaisePropertyChanged(nameof(AutoStart));
            });
        }
Beispiel #8
0
        private void Default_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            switch (e.PropertyName)
            {
            case nameof(Settings.Default.LaunchAtStartup):
            {
                if (Settings.Default.LaunchAtStartup)
                {
                    StartUpManager.AddApplicationToCurrentUserStartup();
                }
                else
                {
                    StartUpManager.RemoveApplicationFromCurrentUserStartup();
                }
                break;
            }
            }

            Settings.Default.Save();
        }
Beispiel #9
0
        private void MenuItemSettingsClick(object sender, EventArgs e)
        {
            if (_settingsForm == null || _settingsForm.IsDisposed || !_settingsForm.IsHandleCreated)
            {
                if (_settings != null)
                {
                    _settings.AutoStartProgram = StartUpManager.IsInStartup(AssemblyUtils.AssemblyProductName, AssemblyUtils.AssemblyLocation);
                }
                Environment.CurrentDirectory = AssemblyUtils.AssemblyDirectory;
                _settingsForm = new ProgramSettingsForm(_settings);
            }

            if (!_settingsForm.Visible)
            {
                DialogResult result = _settingsForm.ShowDialog();
                if (result == DialogResult.OK)
                {
                    try
                    {
                        ProgramSettings.Write(_settingsForm.Settings);
                    }
                    catch
                    {
                        MessageBox.Show("Failed to save program settings.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    if (_settingsForm.Settings.AutoStartProgram)
                    {
                        StartUpManager.AddToStartup(AssemblyUtils.AssemblyProductName, AssemblyUtils.AssemblyLocation);
                    }
                    else
                    if (StartUpManager.IsInStartup(AssemblyUtils.AssemblyProductName, AssemblyUtils.AssemblyLocation))
                    {
                        StartUpManager.RemoveFromStartup(AssemblyUtils.AssemblyProductName);
                    }
                    Stop();
                    Start();
                }
            }
        }
        private void LoadSettings()
        {
            try
            {
                var json = File.ReadAllText(Settings.SettingsPath);
                AppSettings = JsonConvert.DeserializeObject <Settings>(json);
            }
            catch (Exception)
            {
                AppSettings = null;
            }

            AppSettings ??= new Settings
            {
                AlwaysOnTopEnabled = false,
                AutoSaveEnabled    = false,
                AutoStartEnabled   = StartUpManager.IsApplicationAddedToCurrentUserStartup(),
                CurrentFilePath    = null
            };

            AppSettings.Height = AppSettings.Height > 0 ? AppSettings.Height : 300;
            AppSettings.Width  = AppSettings.Width > 0 ? AppSettings.Width : 220;

            Height = AppSettings.Height;
            Width  = AppSettings.Width;

            Topmost = AppSettings.AlwaysOnTopEnabled;
            AlwaysOnTopMenuItem.IsChecked = AppSettings.AlwaysOnTopEnabled;

            if (!string.IsNullOrWhiteSpace(AppSettings.CurrentFilePath))
            {
                LoadFile(AppSettings.CurrentFilePath, true);
            }

            AutoStartMenuItem.IsChecked = AppSettings.AutoStartEnabled;
            AutoSaveMenuItem.IsChecked  = AppSettings.AutoSaveEnabled;

            ApplyAutoStart(AppSettings.AutoStartEnabled);
        }
        private void CheckStartUpStatus()
        {
            string myStatus = StartUpManager.AllUserStartup("Jibres Booster", "get");

            if (myStatus.Length > 0)
            {
                chk_RunOnStartUp.IsChecked = true;
            }
            else
            {
                chk_RunOnStartUp.IsChecked = false;
            }

            if (manage.IsAdministrator())
            {
                // on admin allow to change startup settings
            }
            else
            {
                chk_RunOnStartUp.IsEnabled = false;
            }
        }
Beispiel #12
0
        public TaskbarIconViewModel(ViewManager manager, ProgramSettings settings, IDialogService dialogService)
        {
            _manager       = manager;
            _dialogService = dialogService;
            _settings      = settings;

            RefreshCommand = new DelegateCommand(() => _manager.Refresh());
            ExitCommand    = new DelegateCommand(() => Application.Current.Shutdown());

            SettingsCommand = new DelegateCommand(() =>
            {
                var dialog = _dialogService.CreateDialog <SettingsViewModel, SettingsView>(_manager.Settings);
                dialog.SelectedTabIndex = _manager.Settings.WallpaperType == WallpaperType.SystemInformation ? 1 : _manager.Settings.WallpaperType == WallpaperType.Image ? 2 : _manager.Settings.WallpaperType == WallpaperType.Gallery ? 3 : _manager.Settings.WallpaperType == WallpaperType.Video ? 4 : 0;
                if (dialog.ShowDialog() == true)
                {
                    manager.ApplySettings(dialog);
                }
            });

            PlayCommand = new DelegateCommand(() => {
                if (_settings.WallpaperType == WallpaperType.Video)
                {
                    _manager.VideoPlay();
                }
                if (_settings.WallpaperType == WallpaperType.Gallery)
                {
                    _manager.GalleryPlay();
                }
            });

            PauseCommand = new DelegateCommand(() => {
                if (_settings.WallpaperType == WallpaperType.Video)
                {
                    _manager.VideoPause();
                }
                if (_settings.WallpaperType == WallpaperType.Gallery)
                {
                    _manager.GalleryPause();
                }
            });

            StopCommand = new DelegateCommand(() => {
                if (_settings.WallpaperType == WallpaperType.Video)
                {
                    _manager.VideoStop();
                }
                if (_settings.WallpaperType == WallpaperType.Gallery)
                {
                    _manager.GalleryStop();
                }
            });

            AboutCommand = new DelegateCommand(() =>
            {
                var dialog = _dialogService.CreateDialog <AboutViewModel, AboutView>();
                dialog.ShowDialog();
            });

            ShowHideCommand = new DelegateCommand(() =>
            {
                manager.ShowWindow(!manager.IsWindowVisible);
                RaisePropertyChanged(nameof(MenuItemShowHideText));
            });

            AutoStartCommand = new DelegateCommand(() =>
            {
                if (StartUpManager.IsInStartup())
                {
                    StartUpManager.RemoveFromStartup();
                }
                else
                {
                    StartUpManager.AddToStartup();
                }
                RaisePropertyChanged(nameof(AutoStart));
            });

            EnableInteractiveModeCommand = new DelegateCommand(() =>
            {
                _settings.InteractiveMode = !_settings.InteractiveMode;
                manager.EnableInteractive(_settings.InteractiveMode);
                manager.Update();
                RaisePropertyChanged(nameof(MenuItemInteractiveModeText));
            });
        }
Beispiel #13
0
 public IActionResult SetJWT(JwtInfo jwt)
 {
     DBManager.Instance.JWT = jwt;
     StartUpManager.Load().Restart();
     return(OK());
 }
Beispiel #14
0
        public SettingsViewModel(IUserSettings userSettings, IList <ISelectableViewPart> selectableViewParts
                                 , ISpotSet spotSet, IContext context, ISerialStream serialStream)
        {
            if (selectableViewParts == null)
            {
                throw new ArgumentNullException(nameof(selectableViewParts));
            }

            this.Settings       = userSettings ?? throw new ArgumentNullException(nameof(userSettings));
            this.spotSet        = spotSet ?? throw new ArgumentNullException(nameof(spotSet));
            Context             = context ?? throw new ArgumentNullException(nameof(context));
            this.serialStream   = serialStream ?? throw new ArgumentNullException(nameof(serialStream));
            SelectableViewParts = selectableViewParts.OrderBy(p => p.Order)
                                  .ToList();
#if DEBUG
            SelectedViewPart = SelectableViewParts.Last();
#else
            SelectedViewPart = SelectableViewParts.First();
#endif

            PossibleLedCountsVertical   = Enumerable.Range(10, 190).ToList();
            PossibleLedCountsHorizontal = Enumerable.Range(10, 290).ToList();

            PropertyChanged += (s, e) =>
            {
                switch (e.PropertyName)
                {
                case nameof(SelectedViewPart):
                    var name = SelectedViewPart?.ViewPartName ?? "nothing";
                    break;
                }
            };

            Settings.PropertyChanged += (s, e) =>
            {
                switch (e.PropertyName)
                {
                case nameof(Settings.SpotsX):
                    RaisePropertyChanged(() => SpotsXMaximum);
                    RaisePropertyChanged(() => LedCount);
                    RaisePropertyChanged(() => OffsetLedMaximum);
                    break;

                case nameof(Settings.SpotsY):
                    RaisePropertyChanged(() => SpotsYMaximum);
                    RaisePropertyChanged(() => LedCount);
                    RaisePropertyChanged(() => OffsetLedMaximum);
                    break;

                case nameof(Settings.UseLinearLighting):
                    RaisePropertyChanged(() => UseNonLinearLighting);
                    break;

                case nameof(Settings.OffsetLed):
                    RaisePropertyChanged(() => OffsetLedMaximum);
                    break;

                case nameof(Settings.Autostart):
                    if (Settings.Autostart)
                    {
                        StartUpManager.AddApplicationToCurrentUserStartup();
                    }
                    else
                    {
                        StartUpManager.RemoveApplicationFromCurrentUserStartup();
                    }
                    break;

                case nameof(Settings.ComPort):
                    RaisePropertyChanged(() => TransferCanBeStarted);
                    RaisePropertyChanged(() => TransferCanNotBeStarted);
                    break;
                }
            };
        }
        public SettingsViewModel(IUserSettings userSettings, IList <ISelectableViewPart> selectableViewParts
                                 , ISpotSet spotSet, IContext context, TelemetryClient tc, ISerialStream serialStream)
        {
            WqlEventQuery query = new WqlEventQuery("SELECT * FROM Win32_DeviceChangeEvent");

            watcher = new ManagementEventWatcher(query);
            watcher.EventArrived += (s, e) => RaisePropertyChanged(() => AvailableComPorts);
            // watcher.Query = query;
            watcher.Start();
            // watcher.WaitForNextEvent();
            if (selectableViewParts == null)
            {
                throw new ArgumentNullException(nameof(selectableViewParts));
            }

            this.Settings       = userSettings ?? throw new ArgumentNullException(nameof(userSettings));
            this.spotSet        = spotSet ?? throw new ArgumentNullException(nameof(spotSet));
            Context             = context ?? throw new ArgumentNullException(nameof(context));
            this.serialStream   = serialStream ?? throw new ArgumentNullException(nameof(serialStream));
            SelectableViewParts = selectableViewParts.OrderBy(p => p.Order)
                                  .ToList();
#if DEBUG
            SelectedViewPart = SelectableViewParts.First();
#else
            SelectedViewPart = SelectableViewParts.First();
#endif

            PossibleLedCountsVertical   = Enumerable.Range(10, 190).ToList();
            PossibleLedCountsHorizontal = Enumerable.Range(10, 290).ToList();

            PropertyChanged += (s, e) =>
            {
                switch (e.PropertyName)
                {
                case nameof(SelectedViewPart):
                    var name = SelectedViewPart?.ViewPartName ?? "nothing";
                    tc.TrackPageView(name);
                    break;
                }
            };

            Settings.PropertyChanged += (s, e) =>
            {
                switch (e.PropertyName)
                {
                case nameof(Settings.SpotsX):
                    RaisePropertyChanged(() => SpotsXMaximum);
                    RaisePropertyChanged(() => LedCount);
                    RaisePropertyChanged(() => OffsetLedMaximum);
                    break;

                case nameof(Settings.SpotsY):
                    RaisePropertyChanged(() => SpotsYMaximum);
                    RaisePropertyChanged(() => LedCount);
                    RaisePropertyChanged(() => OffsetLedMaximum);
                    break;

                case nameof(Settings.LedsPerSpot):
                    RaisePropertyChanged(() => LedCount);
                    RaisePropertyChanged(() => OffsetLedMaximum);
                    break;

                case nameof(Settings.UseLinearLighting):
                    RaisePropertyChanged(() => UseNonLinearLighting);
                    break;

                case nameof(Settings.OffsetLed):
                    RaisePropertyChanged(() => OffsetLedMaximum);
                    break;

                case nameof(Settings.Autostart):
                    if (Settings.Autostart)
                    {
                        StartUpManager.AddApplicationToCurrentUserStartup();
                    }
                    else
                    {
                        StartUpManager.RemoveApplicationFromCurrentUserStartup();
                    }
                    break;

                case nameof(Settings.ComPort):
                    RaisePropertyChanged(() => TransferCanBeStarted);
                    RaisePropertyChanged(() => TransferCanNotBeStarted);
                    break;
                }
            };
        }
 private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
 {
     StartUpManager.AllUserStartup("Jibres Booster", "delete");
 }