/// <inheritdoc />
    public void Execute(object?parameter)
    {
        // Select image
        string imagePath = SelectImageFile();

        if (String.IsNullOrEmpty(imagePath) || !File.Exists(imagePath))
        {
            return;
        }

        // Get current selected application and its paths.
        string?applicationDirectory = Path.GetDirectoryName(_applicationConfig !.Path);

        // Get application entry in set of all applications.
        string applicationIconFileName = Path.GetFileName(imagePath);

        if (applicationDirectory != null)
        {
            string applicationIconPath = Path.Combine(applicationDirectory, applicationIconFileName);

            // Copy image and set config file path.
            File.Copy(imagePath, applicationIconPath, true);
            _applicationConfig.Config.AppIcon = applicationIconFileName;
            _applicationConfig.Save();
        }
    }
    /// <inheritdoc/>
    public void Migrate(PathTuple <ModConfig> mod, PathTuple <ModUserConfig>?userConfig)
    {
        var modDirectory   = Path.GetDirectoryName(mod.Path);
        var nuspecFilePath = Path.Combine(modDirectory !, $"{IO.Utility.IOEx.ForceValidFilePath(mod.Config.ModId)}.nuspec");

        if (File.Exists(nuspecFilePath))
        {
            this.SetConfiguration(mod, new NuGetConfig()
            {
                AllowUpdateFromAnyRepository = true,
                DefaultRepositoryUrls        = new ObservableCollection <StringWrapper>(Singleton <LoaderConfig> .Instance.NuGetFeeds.Select(x => (StringWrapper)(x.URL)))
            });

            mod.Save();
            IOEx.TryDeleteFile(nuspecFilePath);
        }
    }
Exemple #3
0
    /// <inheritdoc />
    public void Execute(object?parameter)
    {
        if (!NuGetVersion.TryParse(_modTuple !.Config.ModVersion, out var version))
        {
            Actions.DisplayMessagebox(Resources.ErrorInvalidModConfigTitle.Get(), Resources.ErrorInvalidModConfigDescription.Get());
            return;
        }

        if (!PackageResolverFactory.HasAnyConfiguredResolver(_modTuple))
        {
            Actions.DisplayMessagebox(Resources.PublishModWarningTitle.Get(), Resources.PublishModWarningDescription.Get());
        }

        // Save just in case it was modified by source UI.
        _modTuple.Save();
        Actions.PublishModDialog(new PublishModDialogViewModel(_modTuple !));
    }
Exemple #4
0
 public void Dispose()
 {
     Factory.RemoveConfiguration(Config);
     Config.Save();
 }