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; }
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; }
protected LibraryItemViewModel(LibraryGroupViewModel @group) { Children = new ReactiveList <IHierarchicalLibraryItem>(); Group = group; if (!Execute.InDesignMode) { _hasChildren = Children.CountChanged .Select(x => x > 0).ToProperty(this, x => x.HasChildren, false, Scheduler.Immediate); } UiHelper.TryOnUiThread(() => Children.EnableCollectionSynchronization(_childrenLock)); }
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 MissionLibrarySetup(MissionLibraryViewModel library, Game game, IContentManager missionList, UserSettings settings, IEventAggregator eventBus) { if (game == null) { throw new ArgumentNullException(nameof(game)); } if (!(game.SupportsMissions())) { throw new NotSupportedException("game.SupportsMissions()"); } if (missionList == null) { throw new ArgumentNullException(nameof(missionList)); } _library = library; _game = game; _missionList = missionList; _eventBus = eventBus; _settings = settings; OnlineGroup = new MissionLibraryGroupViewModel(library, "Repositories", icon: SixIconFont.withSIX_icon_Cloud) { IsRoot = true, SortOrder = 13 }; LocalGroup = new MissionLibraryGroupViewModel(library, "Local", "add folder", SixIconFont.withSIX_icon_System) { IsRoot = true, SortOrder = 12 }; CollectionsGroup = new MissionLibraryGroupViewModel(library, "Collections", "new collection", SixIconFont.withSIX_icon_Folder) { IsRoot = true, SortOrder = 11 }; BuiltInGroup = new MissionLibraryGroupViewModel(library, null) { IsRoot = true, SortOrder = 0 }; Groups = new LibraryGroupViewModel <MissionLibraryViewModel>[] { null, BuiltInGroup, LocalGroup }; // , OnlineGroup _eventBus.Subscribe(this); Items.AddRange(Groups.Where(x => x != null && x != BuiltInGroup)); if (_game.SupportsMissions()) { Setup(); } CreateItemsView(); }
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 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); }
ContentLibraryItemViewModel CreateCustomRepo(SixRepo repo, LibraryGroupViewModel group) { var libItem = new BrowseContentLibraryItemViewModel <SixRepo>(_library, repo, @group: group, isFeatured: true); foreach (var modSet in repo.CollectionItems) { modSet.UpdateState(); var customRepoCollectionLibraryItem = new CustomRepoCollectionLibraryItemViewModel(_library, modSet, null, true); libItem.Children.AddLocked(customRepoCollectionLibraryItem); libItem.Items.AddLocked(modSet); } return(libItem); }
public ServerLibrarySetup(ServerLibraryViewModel library, IServerList serverList) { _library = library; _serverList = serverList; BuiltInGroup = new ServerLibraryGroupViewModel(library, null) { IsRoot = true, SortOrder = 0 }; _builtinFeatured = new ServerLibraryItemViewModel <BuiltInServerContainer>(library, new BuiltInServerContainer("Featured"), new CleanServerFilter(), null, SixIconFont.withSIX_icon_Ribbon, BuiltInGroup, true) { IconForeground = SixColors.SixOrange, IsRoot = true, SortOrder = 7, IsHead = true }; _builtinFavorites = new ServerLibraryItemViewModel <BuiltInServerContainer>(library, new BuiltInServerContainer("Favorites"), new CleanServerFilter(), null, SixIconFont.withSIX_icon_Star, BuiltInGroup, true) { IconForeground = SixColors.SixOrange, IsRoot = true, SortOrder = 8 }; _builtinRecent = new ServerLibraryItemViewModel <BuiltInServerContainer>(library, new BuiltInServerContainer("Recent"), new CleanServerFilter(), null, SixIconFont.withSIX_icon_Clock, BuiltInGroup, true) { IsRoot = true, SortOrder = 9 }; Groups = new LibraryGroupViewModel <ServerLibraryViewModel>[] { null, BuiltInGroup }; if (serverList != null) { Setup(); } Items.AddRange(Groups.Where(x => x != null && x != BuiltInGroup)); CreateItemsView(); }
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); }
protected ContentLibraryItemViewModel(LibraryRootViewModel library, LibraryGroupViewModel @group) : base(@group) { _library = library; }