public SearchServerLibraryItemViewModel(ServerLibraryViewModel library, ArmaServerFilter serverFilter,
                                                SortDescriptionCollection existing = null,
                                                string icon     = null, ServerLibraryGroupViewModel @group = null,
                                                bool isFeatured = false, bool doGrouping = false)
            : base(library, serverFilter, existing, icon, @group, isFeatured, doGrouping)
        {
            Model      = new BuiltInServerContainer("Search");
            Icon       = SixIconFont.withSIX_icon_Search;
            IsFeatured = true;

            SetupFilterChanged();

            UiHelper.TryOnUiThread(() => {
                Items.EnableCollectionSynchronization(ItemsLock);
                _itemsView =
                    Items.CreateCollectionView(
                        new[] {
                    new SortDescription("SearchScore", ListSortDirection.Descending)
                },
                        null, null, Filter.Handler, true);
            });
            var sortDatas = new[] {
                new SortData {
                    DisplayName   = "Search score",
                    Value         = "SearchScore",
                    SortDirection = ListSortDirection.Descending
                }
            };

            Sort = new SortViewModel(ItemsView, sortDatas.Concat(ServersViewModel.Columns).ToArray(), null,
                                     ServersViewModel.RequiredColumns);
            SetupGrouping();
            SortOrder = 3;
            IsRoot    = true;
        }
示例#2
0
 public NetworkLibraryItemViewModel(ServerLibraryViewModel library, BuiltInServerContainer model,
                                    IFilter filter,
                                    ServerLibraryGroupViewModel @group = null,
                                    bool doGrouping = false)
     : base(library, model, filter, null, SixIconFont.withSIX_icon_Nav_Server, @group, true, doGrouping)
 {
     Items.ChangeTrackingEnabled = true;
 }
示例#3
0
        public ServerLibraryItemViewModel(ServerLibraryViewModel library, T model, IFilter serverFilter,
                                          SortDescriptionCollection existing,
                                          string icon     = null, ServerLibraryGroupViewModel group = null, bool isFeatured = false,
                                          bool doGrouping = false)
            : base(library, serverFilter, existing, icon, group, isFeatured, doGrouping)
        {
            Model = model;

            SetupViews();
        }
示例#4
0
        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();
        }