/// <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); } }
/// <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 !)); }
public void Dispose() { Factory.RemoveConfiguration(Config); Config.Save(); }