Exemplo n.º 1
0
        /// <summary>
        /// Метод установки обоев
        /// </summary>
        public static void Work()
        {
            // проверяем разрешение экрана
            var size = Screen.PrimaryScreen.Bounds.Size;

            // исключаем старые маленькие разрешения и неподдерживаемое 5 : 4
            if ((size.Width < 1366 && size.Height < 768) || (size.Width == 1280 && size.Height == 1024))
            {
                MessageBox.Show("К сожалению, Ваше разрешение экрана не поддерживается!", "Wallpapers Everyday", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                Application.Exit();
            }

            // получаем полный путь к файлу
            Vars.FullExePath = Application.StartupPath.ToString();

            // готовимся к записи логов
            if (Properties.Settings.Default.Debug == true)
            {
                Vars.DebugInit();
            }


            // подсчитываем размер папки с обоями
            Vars.FolderSize = Vars.GetDirectorySize(Vars.FullExePath + "\\images");

            // если инета нет
            if (CheckConnection() == false)
            {
                // но стоит галка на постоянном обновлении и нет "только загрузка"
                if ((Properties.Settings.Default.AlwaysRun) && (!Properties.Settings.Default.OnlyDown))
                {
                    // то проверяем, первый ли запуск. и если не первый (т.е. уже есть какой-то скачанный файл)
                    if (Properties.Settings.Default.Name != "no")
                    {
                        if (Properties.Settings.Default.Debug == true)
                        {
                            Vars.Debug("Доступа к Интернету нет. Ставлю последние обои...");
                        }
                        // то ставим последнюю обоину
                        Vars.OriginalName   = Properties.Settings.Default.Name;
                        tray.BalloonTipText = "Отсутствует соединение с интернетом.\nСтавлю последние обои...";
                        tray.ShowBalloonTip(3000);
                        Thread.Sleep(3000);
                        WallSetter.Set();

                        tray.BalloonTipText = "Готово.";

                        if (Vars.FolderSize > Properties.Settings.Default.MaxMB)
                        {
                            tray.BalloonTipText += " Размер папки с обоями превышает рекомендуемый!";
                        }

                        tray.BalloonTipText += "\nЗавершение работы...";

                        // сохраняем настройки
                        Properties.Settings.Default.Save();

                        if (!Properties.Settings.Default.NoNotify)
                        {
                            tray.ShowBalloonTip(3000);
                            Thread.Sleep(3000);
                        }

                        tray.Visible = false;

                        return;
                    }
                    else
                    {
                        // если запуск проги не первый
                        tray.BalloonTipText = "Отсутствует соединение с интернетом и нет ни одного файла обоев!\nЗавершение работы...";
                        tray.ShowBalloonTip(3000);
                        Thread.Sleep(3000);
                        tray.Visible = false;
                        return;
                    }
                }
                else
                {
                    tray.BalloonTipText = "Ошибка! Отсутствует соединение с интернетом!\nЗавершение работы...";
                    tray.ShowBalloonTip(3000);
                    Thread.Sleep(3000);
                    tray.Visible = false;
                    return;
                }
            }

            // если папки для заставок нет, создаем ее
            if (!Directory.Exists(Vars.FullExePath + "\\images\\"))
            {
                Directory.CreateDirectory(Vars.FullExePath + "\\images");
            }

            // если "только загрузка" - только загружаем
            tray.BalloonTipText = "Получение кода...";
            if (!Properties.Settings.Default.NoNotify)
            {
                tray.ShowBalloonTip(3000);
            }
            if (Properties.Settings.Default.Debug == true)
            {
                Vars.Debug("Получение кода...");
            }
            WallSetter.GetHTML();
            if (Properties.Settings.Default.Debug == true)
            {
                Vars.Debug("Код получен:");
                Vars.Debug(Vars.HTMLCode);
            }
            tray.BalloonTipText = "Выделение ссылки...";
            if (!Properties.Settings.Default.NoNotify)
            {
                tray.ShowBalloonTip(3000);
            }
            if (Properties.Settings.Default.Debug == true)
            {
                Vars.Debug("Выделяю ссылку...");
            }
            WallSetter.GetUrlAndName();
            if (Properties.Settings.Default.Debug == true)
            {
                Vars.Debug("Ссылка выделена:");
                Vars.Debug(Vars.Url);
            }
            tray.BalloonTipText = "Загрузка обоев...";
            if (!Properties.Settings.Default.NoNotify)
            {
                tray.ShowBalloonTip(3000);
            }
            if (Properties.Settings.Default.Debug == true)
            {
                Vars.Debug("Скачиваю файл...");
            }
            WallSetter.Download();

            // если нет - еще и обои ставим
            tray.BalloonTipText = "Последний этап...";
            if (!Properties.Settings.Default.NoNotify)
            {
                tray.ShowBalloonTip(3000);
            }
            if (Properties.Settings.Default.OnlyDown == false)
            {
                WallSetter.Set();
            }

            if (Properties.Settings.Default.Debug == true)
            {
                Vars.Debug("Вес папки с обоями: " + Vars.FolderSize + " Mb\n");
            }

            // сохраняем настройки, т.к. имя последней обоины было изменено
            Properties.Settings.Default.Save();

            if (!Properties.Settings.Default.NoNotify)
            {
                tray.BalloonTipText = "Сохранение фонов экрана блокировки...";
                tray.ShowBalloonTip(3000);
                Thread.Sleep(3000);
            }

            WallSetter.SaveWin10Interesting(Properties.Settings.Default.Win10IntrestingPath);



            if (!Properties.Settings.Default.NoNotify)
            {
                tray.BalloonTipText = "Готово.";

                if (Vars.FolderSize >= Properties.Settings.Default.MaxMB)
                {
                    tray.BalloonTipText += " Размер папки с обоями превышает рекомендуемый!";
                }

                tray.BalloonTipText += "\nЗавершение работы...";
                tray.ShowBalloonTip(3000);
                Thread.Sleep(3000);
            }
        }
Exemplo n.º 2
0
 private void saveWin10Intresting_Click(object sender, System.EventArgs e) => new Thread(() => WallSetter.SaveWin10Interesting(Properties.Settings.Default.Win10IntrestingPath));