Example #1
0
        private void CompleteAction(string type, string arguments)
        {
            arguments = StringArgsToArgs(arguments, type); // Replace all _arg1_ and _allargs_ vars to their values

            switch (type)
            {
            case "SEARCH":
                Process.Start("https://www.google.com/search?q=" +
                              Uri.EscapeDataString(StringArgsToArgs(arguments, type)));
                break;

            case "EXIT":
                Application.Current.Shutdown();
                break;

            case "PROCESS":
                Process.Start(arguments.Trim());
                break;

            case "ADDPATH":
                _fUiSettings.AppFolders.Add(StringArgsToArgs(arguments, type));
                _settingsSaver.SaveSettings(_fUiSettings);
                Restart();
                break;

            case "REMOVEPATH":
                _fUiSettings.AppFolders.Remove(StringArgsToArgs(arguments, type));
                _settingsSaver.SaveSettings(_fUiSettings);
                Restart();
                break;
            }
        }
Example #2
0
        void IPropellerModule.Init(LoggerBase log, JsonValue settings, ISettingsSaver saver)
        {
            _log      = log;
            _saver    = saver;
            _settings = ClassifyJson.Deserialize <Settings>(settings) ?? new Settings();

            var validPaths = new List <string>();

            foreach (var path in _settings.Paths)
            {
                if (!Directory.Exists(path))
                {
                    _log.Warn(@"DocGen: Warning: The folder ""{0}"" specified in the settings does not exist. Ignoring path.".Fmt(path));
                }
                else
                {
                    validPaths.Add(path);
                }
            }
            _settings.Paths = validPaths.ToArray();

            saver.SaveSettings(ClassifyJson.Serialize(_settings));

            string copyToPath = null;

            if (_settings.DllTempPath != null)
            {
                // Try to clean up old folders we've created before
                var tempPath = _settings.DllTempPath;
                Directory.CreateDirectory(tempPath);
                foreach (var path in Directory.GetDirectories(tempPath, "docgen-tmp-*"))
                {
                    try { Directory.Delete(path, true); }
                    catch { }
                }

                // Find a new folder to put the DLL files into
                int j = 1;
                copyToPath = Path.Combine(tempPath, "docgen-tmp-" + j);
                while (Directory.Exists(copyToPath))
                {
                    j++;
                    copyToPath = Path.Combine(tempPath, "docgen-tmp-" + j);
                }
                Directory.CreateDirectory(copyToPath);
            }

            _docGen = new DocumentationGenerator(_settings.Paths, _settings.RequireAuthentication ? _settings.UsernamePasswordFile ?? "" : null, copyToPath);
            lock (_log)
            {
                _log.Info("DocGen initialised with {0} assemblies: {1}".Fmt(_docGen.AssembliesLoaded.Count, _docGen.AssembliesLoaded.JoinString(", ")));
                if (_docGen.AssemblyLoadErrors.Count > 0)
                {
                    _log.Warn("{0} assembly load errors:".Fmt(_docGen.AssemblyLoadErrors.Count));
                    foreach (var tuple in _docGen.AssemblyLoadErrors)
                    {
                        _log.Warn("{0} error: {1}".Fmt(tuple.Item1, tuple.Item2));
                    }
                }
            }
        }
Example #3
0
 /// <summary>Saves the settings stored in <see cref="Settings"/>.</summary>
 protected void SaveSettings()
 {
     SettingsSaver.SaveSettings(ClassifyJson.Serialize(Settings));
 }