示例#1
0
        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);
        }
示例#2
0
 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);
 }
示例#3
0
 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();
 }
示例#4
0
 /// <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();
 }