public LocalModFolderContextMenu(ModLibraryViewModel library) : base(library) { if (library == null) { throw new ArgumentNullException(nameof(library)); } }
public RepositoryOptionsContextMenu(ModLibraryViewModel library) : base(library) { if (library == null) { throw new ArgumentNullException(nameof(library)); } }
public CollectionContextMenu(ModLibraryViewModel library) : base(library) { this.WhenAnyValue(x => x.CurrentItem.IsInstalled) .Subscribe(isInstalled => Items.Where( x => x.AsyncAction == UninstallModsFromDisk || x.AsyncAction == DiagnoseCollection || x.AsyncAction == LaunchModSet) .ForEach(y => y.IsEnabled = isInstalled)); }
public LocalModsLibraryItemViewModel(ModLibraryViewModel library, LocalModsContainer model, LibraryGroupViewModel @group = null, bool isFeatured = false, bool doGrouping = false) : base(library, model, SixIconFont.withSIX_icon_Folder, @group, isFeatured, doGrouping) { Items.ChangeTrackingEnabled = true; Description = model.Path; }
protected ModMenuBase(ModLibraryViewModel library) { if (library == null) { throw new ArgumentNullException(nameof(library)); } Library = library; }
public CustomRepoCollectionLibraryItemViewModel(ModLibraryViewModel library, CustomCollection model, LibraryGroupViewModel @group = null, bool isFeatured = false, bool doGrouping = false) : base(library, model, SixIconFont.withSIX_icon_Synq, @group, isFeatured, doGrouping) { Model = model; IsEditable = false; SubHeader = model.CustomRepo.Name; }
public ModSearchContentLibraryItemViewModel(ModLibraryViewModel library) : base(library) { _collectionContextMenu = new CollectionContextMenu(library); _modContextMenu = new ModContextMenu(library); _multiContentContextMenu = new MultiContentContextMenu(library); _modBarMenu = new ModBarMenu(library); _collectionBarMenu = new CollectionBarMenu(library); SetupMenus(HandleSingleMenu, HandleMultiMenu); }
public CollectionBarMenu(ModLibraryViewModel library) { _library = library; this.WhenAnyValue(x => x.CurrentItem.IsInstalled) .Select(x => new { CurrentItem, x }) .Subscribe(info => { Items.Where(x => x.AsyncAction == Uninstall) .ForEach(x => x.IsEnabled = info.x); }); }
public SubscribedCollectionLibraryItemViewModel(ModLibraryViewModel library, SubscribedCollection model, LibraryGroupViewModel @group = null, bool isFeatured = false, bool doGrouping = false) : base(library, model, SixIconFont.withSIX_icon_Synq, @group, isFeatured, doGrouping) { MainIcon = SixIconFont.withSIX_icon_Folder; _library = library; Model = model; IsEditable = false; SubHeader = model.Author; }
public ModBarMenu(ModLibraryViewModel library) : base(library) { this.WhenAnyValue(x => x.CurrentItem.Controller.IsInstalled, x => x.CurrentItem.State) .Select(x => new { CurrentItem, x }) .Subscribe(info => { Items.Where(x => x.AsyncAction == Uninstall) // || x.AsyncAction == LaunchMod .ForEach(x => x.IsVisible = info.x.Item1); var installAction = GetAsyncItem(Diagnose); installAction.Name = ModController.ConvertState(info.x.Item2); installAction.IsVisible = installAction.Name != null && !(info.CurrentItem is LocalMod); }); }
public NetworkLibraryItemViewModel(ModLibraryViewModel library, BuiltInContentContainer model, LibraryGroupViewModel @group = null, bool doGrouping = false) : base(library, model, SixIconFont.withSIX_icon_Nav_Server, @group, true, doGrouping) { Items.ChangeTrackingEnabled = true; var currentSort = Sort.SelectedSort; if (currentSort == null || currentSort.Value != "UpdatedVersion") { Sort.SetSort("UpdatedVersion"); } }
public BrowseContentLibraryItemViewModel(ModLibraryViewModel library, T model, string icon = null, LibraryGroupViewModel @group = null, bool isFeatured = false, bool doGrouping = false) : base(library, model, icon, @group, isFeatured, doGrouping) { _collectionContextMenu = new CollectionContextMenu(library); _modContextMenu = new ModContextMenu(library); _multiContentContextMenu = new MultiContentContextMenu(library); _modBarMenu = new ModBarMenu(library); _collectionBarMenu = new CollectionBarMenu(library); SetupMenus(HandleSingleMenu, HandleMultiMenu); }
public CustomCollectionContextMenu(ModLibraryViewModel library) { Library = library; _uploadCollection = library.UploadCollection; this.WhenAnyValue(x => x.CurrentItem.Model.IsInstalled, x => x.CurrentItem.Model.Items.Count, (installed, count) => installed && count > 0) .Subscribe(isInstalled => Items.Where( x => x.Action == UninstallModsFromDisk || x.AsyncAction == Diagnose || x.AsyncAction == LaunchCollection) .ForEach(x => x.IsEnabled = isInstalled)); }
public CustomCollectionLibraryItemViewModel(ModLibraryViewModel library, CustomCollection model, LibraryGroupViewModel localGroup, bool isFeatured = false, bool doGrouping = false) : base(library, model, SixIconFont.withSIX_icon_Hexagon, localGroup, isFeatured, doGrouping) { _library = library; Model = model; IsEditable = !isFeatured; /* * // TODO: How it really should be: * // Or use a variation of Can.... * // this would be most appropriate for a ViewModel. For a DataModel it reduces the re-usability. But these things should be custom built for each View/Control anyway? * _isPublishShown; * _isDeleteShown; * _isUploadShown; * _isDeleteShown; * _isMoreShown; * _isChangeScopeShown; * _isSubscribersShown; * _showSyncedTime; */ _isPublishable = model.WhenAnyValue(x => x.PublishedId) .Select(x => !x.HasValue) .ToProperty(this, x => x.IsPublishable); _isHosted = model.WhenAnyValue(x => x.PublishedId, x => x.HasValue) .ToProperty(this, x => x.IsHosted); _isListed = model.WhenAnyValue(x => x.PublishingScope, x => x == CollectionScope.Public) .ToProperty(this, x => x.IsListed); model.WhenAnyValue(x => x.PublishingScope) .Subscribe(x => IsPrivate = x == CollectionScope.Private); this.WhenAnyValue(x => x.IsHosted) .Subscribe(x => Icon = x ? SixIconFont.withSIX_icon_Synq : SixIconFont.withSIX_icon_Hexagon); _isPublished = model.WhenAnyValue(x => x.PublishedId, id => id.HasValue) .ToProperty(this, x => x.IsPublished); _isSharable = this.WhenAnyValue(x => x.IsPublished, x => x.IsPrivate, (isPublished, isPrivate) => isPublished && !isPrivate) .ToProperty(this, x => x.IsShareable); _canLockCollection = this.WhenAnyValue(x => x.IsSubscribedCollection) .Select(x => !x) .ToProperty(this, x => x.CanNotLockCollection); }
public ModLibrarySetup(ModLibraryViewModel library, Game game, IContentManager contentList, UserSettings settings, IEventAggregator eventBus) { if (!(game.SupportsMods())) { throw new ArgumentException("game.SupportsMods()"); } _library = library; _game = game; _modding = game.Modding(); _settings = settings; _eventBus = eventBus; _contentList = contentList; OnlineGroup = new ModLibraryGroupViewModel(library, "Repositories", "add repo", SixIconFont.withSIX_icon_Cloud) { IsRoot = true, SortOrder = 13 }; LocalGroup = new ModLibraryGroupViewModel(library, "Local", "add folder", SixIconFont.withSIX_icon_System) { IsRoot = true, SortOrder = 12 }; CollectionsGroup = new ModLibraryGroupViewModel(library, "Collections", "new collection", SixIconFont.withSIX_icon_Folder) { IsRoot = true, SortOrder = 11 }; BuiltInGroup = new ModLibraryGroupViewModel(library, null) { IsRoot = true, SortOrder = 0 }; Groups = new LibraryGroupViewModel <ModLibraryViewModel>[] { null, BuiltInGroup, CollectionsGroup, LocalGroup, OnlineGroup }; _aIa = new BrowseContentLibraryItemViewModel <BuiltInContentContainer>(library, new BuiltInContentContainer("AllInArma"), @group: LocalGroup, isFeatured: true); SetupItems(); Items.AddRange(Groups.Where(x => x != null && x != BuiltInGroup)); CreateItemsView(); _eventBus.Subscribe(this); }
public CollectionLibraryItemViewModel(ModLibraryViewModel library, Collection model, string icon, LibraryGroupViewModel @group = null, bool isFeatured = false, bool doGrouping = false) : base(library, model, icon, @group, isFeatured, doGrouping) { MainIcon = SixIconFont.withSIX_icon_Folder; ShowItemsInTree = true; Items.KeepCollectionInSync2(Children); _collectionContextMenu = new CollectionContextMenu(library); _modContextMenu = new ModContextMenu(library); _multiContentContextMenu = new MultiContentContextMenu(library); _modBarMenu = new ModBarMenu(library); _collectionBarMenu = new CollectionBarMenu(library); SetupMenus(HandleSingleMenu, HandleMultiMenu); }
public BuiltInContextMenu(ModLibraryViewModel library) : base(library) { }
protected ModLibraryItemMenuBase(ModLibraryViewModel library) : base(library) { }
public MultiContentContextMenu(ModLibraryViewModel library) { Library = library; }
public MultiLibraryItemContextMenu(ModLibraryViewModel modLibraryViewModel) { _modLibraryViewModel = modLibraryViewModel; }