Esempio n. 1
0
        private void SaveConfig()
        {
            CleanerConfig config = new CleanerConfig();

            //Ensure all rows are valid
            for (int i = _directoryRows.Count - 1; i >= 0; i--)
            {
                if (_directoryRows[i].IsDeleted)
                {
                    _directoryRows.RemoveAt(i);
                }
            }

            for (int i = 0; i < _directoryRows.Count; i++)
            {
                string path     = _directoryRows[i].Path;
                int    ageLimit = _directoryRows[i].AgeLimit;
                if (config.SearchedDirectories.Contains(new SearchedDirectory(path, ageLimit)) == false)
                {
                    config.SearchedDirectories.Add(new SearchedDirectory(path, ageLimit));
                }
            }

            config.BreakTime        = (int)breakTimeNumericUpDown.Value;
            config.PromptValue      = (int)decisionTimeNumericUpDown.Value;
            config.CombineTime      = (int)combineTimeNumericUpDown.Value;
            config.DelayedStart     = (int)delayNumericUpDown.Value;
            config.DeletionStrategy = (notifyEnabledCheckBox.Checked ? "Notify" : "None");
            config.DefaultKeep      = defaultActionComboBox.SelectedItem.ToString().Equals("Keep", StringComparison.OrdinalIgnoreCase);

            CleanerConfig.SaveConfigToFile(config, CleanerConfig.DEFAULT_CONFIG_PATH);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            //Load config
            CleanerConfig config = CleanerConfig.ParseConfig(CleanerConfig.DEFAULT_CONFIG_PATH);

            Thread.Sleep(config.DelayedStart * 1000 * 60);

            //Create cleaner
            DirectoryCleaner cleaner = new DirectoryCleaner();

            cleaner.SetConfig(config);
            cleaner.Start();

            //Update cleaner if config changes
            ConfigWatcher watcher = null;

            watcher = new ConfigWatcher("CleanerSettings.xml", delegate {
                Console.WriteLine("Config Changed!");
                watcher.Stop();
                cleaner.Stop();
                CleanerConfig newConfig = CleanerConfig.ParseConfig(CleanerConfig.DEFAULT_CONFIG_PATH);
                cleaner.SetConfig(newConfig);
                cleaner.Start();
                watcher.Start();
            });
            watcher.Start();

            Console.ReadLine();
        }
Esempio n. 3
0
        public void SetConfig(CleanerConfig config)
        {
            _config = config;

            Console.WriteLine("Loading deletion: " + _config.DeletionStrategy);
            _strategy = DeletionStrategy.GetStrategy(_config.DeletionStrategy);
            Console.WriteLine(_strategy.GetType());
            if (_strategy is NotifyDeletionStrategy)
            {
                //Set notify deletion strategy data
                ((NotifyDeletionStrategy)_strategy).SetSettings(_config.PromptValue, _config.DefaultKeep);
            }

            SearchForFiles();
        }
Esempio n. 4
0
        public CleanerSettingsApplication()
        {
            InitializeComponent();

            CleanerConfig config = CleanerConfig.ParseConfig(CleanerConfig.DEFAULT_CONFIG_PATH);

            if (config == null)
            {
                config = CleanerConfig.DefaultConfig;
            }

            //Load in config
            for (int i = 0; i < config.SearchedDirectories.Count; i++)
            {
                AddTableEntry();
                _directoryRows[i].SetRowValues(config.SearchedDirectories[i].Path, config.SearchedDirectories[i].FileAgeLimit);
            }
            notifyEnabledCheckBox.Checked       = config.DeletionStrategy.Equals("Notify", StringComparison.OrdinalIgnoreCase);
            breakTimeNumericUpDown.Value        = config.BreakTime;
            combineTimeNumericUpDown.Value      = config.CombineTime;
            delayNumericUpDown.Value            = config.DelayedStart;
            decisionTimeNumericUpDown.Value     = config.PromptValue;
            defaultActionComboBox.SelectedIndex = config.DefaultKeep ? 0 : 1;
        }