예제 #1
0
 public void SetWallpaper_PassFileWithUnsuitableExtension_ThrowsArgException()
 {
     //Assert
     Assert.ThrowsException <ArgumentException>(
         () => WindowsWallpaper.SetWallpaper(@"D:\AAADeleteMe.txt"),
         "Invalid file format!");
 }
예제 #2
0
 public void SetWallpaper_PassNonExistingFile_ThrowsArgException()
 {
     //Assert
     Assert.ThrowsException <ArgumentException>(
         () => WindowsWallpaper.SetWallpaper(@"D:\Does not exist.jpg"),
         "No such file exists!");
 }
예제 #3
0
        public void GetCurrentStyle_ReturnsStringWithStyle()
        {
            //Act
            string result = WindowsWallpaper.GetCurrentStyle();

            //Assert
            Assert.IsTrue(result == "Fill");
        }
예제 #4
0
        public void SetWallpaper_PassValidFilePath_ChangesWallpaper()
        {
            //Arrange
            MethodInfo getWallpaperPathMethod = typeof(WindowsWallpaper)
                                                .GetMethod("GetWallpaperPath",
                                                           BindingFlags.NonPublic | BindingFlags.Static);

            getWallpaperPathMethod.Invoke(null, null);
            string filePathBefore = WindowsWallpaper.WallpaperPath;

            //Act
            WindowsWallpaper.SetWallpaper(@"D:\Image.jpg");

            getWallpaperPathMethod.Invoke(null, null);
            string filePathAfter = WindowsWallpaper.WallpaperPath;

            //Assert
            Assert.AreNotEqual(filePathBefore, filePathAfter);
        }
예제 #5
0
        // TODO: Add pipe server for program mutex.
        public FormMain()
        {
            if (!DesignMode)
            {
                Logger.Debug("Initializing LibVLC...");
                Vlc.Initialize();
            }

            Logger.Debug("Initializing windows wallpaper...");
            if (!WindowsWallpaper.Init())
            {
                MessageBox.Show(this, "Failed to initalize windows wallpaper! Failed to acquire desktop window pointer!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
            }

            MimeTypesMap.AddOrUpdate("playlist/json", "dpp");
            MimeTypesMap.AddOrUpdate("shadertoy/dpst", "dpst");
            MimeTypesMap.AddOrUpdate("shadertoy/shadertoy", "shadertoy");

            MediaPlayerStore.Instance.RegisterPlayer <VlcMediaPlayer>("video/x-matroska", "video/mp4", "video/mov", "video/avi", "video/wmv", "video/gif", "video/webm");
            MediaPlayerStore.Instance.RegisterPlayer <PictureBoxPlayer>("image/jpeg", "image/png", "image/jpg", "image/bmp", "image/tiff", "image/svg");
            MediaPlayerStore.Instance.RegisterPlayer <ShaderToyPlayer>("shadertoy/dpst", "shadertoy/shadertoy");

            settingsManager.OnSettingsChanged += (sender, settings) => {
                CloseToTray    = settings.CloseToTray;
                MinimizeToTray = settings.MinimizeToTray;
            };
            settingsManager.Load(true);

            if (Settings.StartMinimized)
            {
                WindowState = FormWindowState.Minimized;
            }

            InitializeComponent();
            showToolStripMenuItem.Click += trayShowForm_Click; // Connect the show button in the tray with the required method.
        }
예제 #6
0
        private void runPreset_Click(object sender, EventArgs e)
        {
            _ramBorder[0] = _settingRepository.GetSettingByName("Ram Border 1").Value;
            _ramBorder[1] = _settingRepository.GetSettingByName("Ram Border 2").Value;
            _ramBorder[2] = _settingRepository.GetSettingByName("Ram Border 3").Value;
            _ramBorder[3] = _settingRepository.GetSettingByName("Ram Border 4").Value;
            _delay[0]     = _settingRepository.GetSettingByName("Delay 1").Value;
            _delay[0]     = _settingRepository.GetSettingByName("Delay 2").Value;
            _delay[0]     = _settingRepository.GetSettingByName("Delay 3").Value;
            if (MainMenuDataGrid.SelectedRows.Count == 1)
            {
                Preset preset = GetSelectedPreset();
                List <PresetSetting> currentPresetSettings = preset.PresetSettings.ToList();

                #region Seperate Preset Settings by setting type
                List <PresetSetting> currentPresetSettingsFile = currentPresetSettings
                                                                 .Where(type => type.PresetSettingType == "File").ToList();
                List <PresetSetting> currentPresetSettingsURL = currentPresetSettings
                                                                .Where(type => type.PresetSettingType == "URL").ToList();
                List <PresetSetting> currentPresetSettingsBG = currentPresetSettings
                                                               .Where(type => type.PresetSettingType == "Background").ToList();

                List <string> filePaths = new List <string>();
                List <string> urlPaths  = new List <string>();
                List <string> bgPaths   = new List <string>();
                #endregion

                #region Preset Settings' execution
                //Files and exe's
                foreach (var presetSetting in currentPresetSettingsFile)
                {
                    filePaths.Add(presetSetting.Value);
                }
                foreach (var filePath in filePaths)
                {
                    double availableMemory = AppManager.GetCurrentMemoryUsagePercent();
                    if (availableMemory < _ramBorder[0])
                    {
                        _timeToSleep = _delay[0];
                    }
                    else if (availableMemory >= _ramBorder[1] && availableMemory < _ramBorder[2])
                    {
                        _timeToSleep = _delay[0];
                    }
                    else if (availableMemory >= _ramBorder[2] && availableMemory < _ramBorder[3])
                    {
                        _timeToSleep = _delay[0];
                    }
                    else if (MemoryExceedsThresholdPercentage(_ramBorder[3]))
                    {
                        break;
                    }
                    Thread.Sleep((int)_timeToSleep * 1000);
                    _startedProcessIds.Add(AppManager.OpenExe(filePath));
                }

                //Links
                foreach (var presetSetting in currentPresetSettingsURL)
                {
                    urlPaths.Add(presetSetting.Value);
                }
                foreach (var urlPath in urlPaths)
                {
                    AppManager.OpenLink(urlPath);
                }

                //Wallpaper(s)
                foreach (var presetSetting in currentPresetSettingsBG)
                {
                    bgPaths.Add(presetSetting.Value);
                }
                foreach (var bgPath in bgPaths)
                {
                    WindowsWallpaper.SetWallpaper(bgPath);
                }
                #endregion
            }
        }