internal ReleaseNotesViewModel([NotNull] LauncherViewModel launcher, [NotNull] string version) : base(launcher.SafeArgument(nameof(launcher)).ServiceProvider) { if (version == null) { throw new ArgumentNullException(nameof(version)); } this.launcher = launcher; Version = version; baseUrl = $"{RootUrl}/{Version}/ReleaseNotes/"; #if DEBUG if (Environment.CommandLine.ToLowerInvariant().Contains("/previewreleasenotes")) { var launcherPath = AppDomain.CurrentDomain.BaseDirectory; var mdPath = Path.Combine(launcherPath, @"..\..\..\..\..\doc\"); if (File.Exists($"{mdPath}{ReleaseNotesFileName}")) { baseUrl = $"file:///{mdPath.Replace("\\", "/")}"; } } #endif ToggleCommand = new AnonymousCommand(ServiceProvider, Toggle); }
public AnnouncementViewModel(LauncherViewModel launcher, string announcementName) : base(launcher.SafeArgument(nameof(launcher)).ServiceProvider) { this.launcher = launcher; this.announcementName = announcementName; if (!LauncherViewModel.HasDoneTask(TaskName)) { MarkdownAnnouncement = Initialize(announcementName); } // We want to explicitely trigger the property change notification for the view storyboard Dispatcher.InvokeAsync(() => Validated = false); CloseAnnouncementCommand = new AnonymousCommand(ServiceProvider, CloseAnnouncement); }
internal RecentProjectViewModel(LauncherViewModel launcher, UFile path) : base(launcher.SafeArgument(nameof(launcher)).ServiceProvider) { Name = path.GetFileNameWithoutExtension(); Launcher = launcher; fullPath = path; XenkoVersionName = Strings.ReportDiscovering; OpenCommand = new AnonymousTaskCommand(ServiceProvider, () => OpenWith(null)) { IsEnabled = false }; OpenWithCommand = new AnonymousTaskCommand <XenkoVersionViewModel>(ServiceProvider, OpenWith); ExploreCommand = new AnonymousCommand(ServiceProvider, Explore); CompatibleVersions = new ObservableList <XenkoVersionViewModel>(); DiscoverXenkoVersion(); }
/// <summary> /// Initializes a new instance of the <see cref="PackageVersionViewModel"/> class. /// </summary> /// <param name="launcher">The parent <see cref="LauncherViewModel"/> instance.</param> /// <param name="store">The related <see cref="NugetStore"/> instance.</param> /// <param name="localPackage">The local package of this version, if a local package exists.</param> internal PackageVersionViewModel(LauncherViewModel launcher, NugetStore store, NugetLocalPackage localPackage) : base(launcher.SafeArgument("launcher").ServiceProvider) { if (launcher == null) { throw new ArgumentNullException(nameof(launcher)); } if (store == null) { throw new ArgumentNullException(nameof(store)); } Launcher = launcher; Store = store; LocalPackage = localPackage; DownloadCommand = new AnonymousCommand(ServiceProvider, () => Download(true)); DeleteCommand = new AnonymousTaskCommand(ServiceProvider, () => Delete(true, true)) { IsEnabled = CanDelete }; UpdateStatusInternal(); }