/// <summary> /// Adds the or update display prefs. /// </summary> /// <param name="user">The user.</param> /// <param name="data">The data.</param> /// <exception cref="System.ArgumentNullException"></exception> public void AddOrUpdateDisplayPreferences(User user, DisplayPreferences data) { if (user == null) { throw new ArgumentNullException(); } if (data == null) { throw new ArgumentNullException(); } data.UserId = user.Id; if (DisplayPreferences == null) { DisplayPreferences = new[] { data }; } else { var list = DisplayPreferences.Where(u => u.UserId != user.Id).ToList(); list.Add(data); DisplayPreferences = list; } }
/// <summary> /// Save the display preferences associated with an item in the repo /// </summary> /// <param name="displayPreferences">The display preferences.</param> /// <param name="userId">The user id.</param> /// <param name="client">The client.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> /// <exception cref="ArgumentNullException">item</exception> public void SaveDisplayPreferences(DisplayPreferences displayPreferences, Guid userId, string client, CancellationToken cancellationToken) { if (displayPreferences == null) { throw new ArgumentNullException(nameof(displayPreferences)); } if (string.IsNullOrEmpty(displayPreferences.Id)) { throw new ArgumentException("Display preferences has an invalid Id", nameof(displayPreferences)); } cancellationToken.ThrowIfCancellationRequested(); using (WriteLock.Write()) { using (var connection = CreateConnection()) { connection.RunInTransaction(db => { SaveDisplayPreferences(displayPreferences, userId, client, db); }, TransactionMode); } } }
private async Task NavigateToItemInternal(BaseItemDto item, ViewType context) { // Grab it fresh from the server to make sure we have the full record item = await _apiClient.GetItemAsync(item.Id, _apiClient.CurrentUserId); if (item.IsFolder) { DisplayPreferences displayPreferences; try { displayPreferences = await _presentationManager.GetDisplayPreferences(item.DisplayPreferencesId, CancellationToken.None); } catch { // Already logged at lower levels displayPreferences = new DisplayPreferences() { Id = new Guid(item.DisplayPreferencesId) }; } await App.Instance.ApplicationWindow.Dispatcher.InvokeAsync(async() => await Navigate(_themeManager.CurrentTheme.GetFolderPage(item, context, displayPreferences))); } else { await App.Instance.ApplicationWindow.Dispatcher.InvokeAsync(async() => await Navigate(_themeManager.CurrentTheme.GetItemPage(item, context))); } }
/// <summary> /// Gets the display prefs. /// </summary> /// <param name="user">The user.</param> /// <param name="createIfNull">if set to <c>true</c> [create if null].</param> /// <returns>DisplayPreferences.</returns> /// <exception cref="System.ArgumentNullException"></exception> public DisplayPreferences GetDisplayPreferences(User user, bool createIfNull) { if (user == null) { throw new ArgumentNullException(); } if (DisplayPreferences == null) { if (!createIfNull) { return(null); } AddOrUpdateDisplayPreferences(user, new DisplayPreferences { UserId = user.Id }); } var data = DisplayPreferences.FirstOrDefault(u => u.UserId == user.Id); if (data == null && createIfNull) { data = new DisplayPreferences { UserId = user.Id }; AddOrUpdateDisplayPreferences(user, data); } return(data); }
private Task <ItemsResult> GetMoviesByGenre(ItemListViewModel viewModel, DisplayPreferences displayPreferences) { var apiClient = _sessionFactory().ActiveApiClient; var query = new ItemQuery { Fields = FolderPage.QueryFields, UserId = _sessionFactory().LocalUserId, IncludeItemTypes = new[] { "Movie" }, SortBy = !String.IsNullOrEmpty(displayPreferences.SortBy) ? new[] { displayPreferences.SortBy } : new[] { ItemSortBy.SortName }, SortOrder = displayPreferences.SortOrder, Recursive = true }; var indexOption = viewModel.CurrentIndexOption; if (indexOption != null) { query.Genres = new[] { indexOption.Name }; } return(apiClient.GetItemsAsync(query, CancellationToken.None)); }
private Task <ItemsResult> GetMoviesByYear(ItemListViewModel viewModel, DisplayPreferences displayPreferences) { var query = new ItemQuery { Fields = FolderPage.QueryFields, UserId = _sessionManager.CurrentUser.Id, IncludeItemTypes = new[] { "Movie" }, SortBy = !String.IsNullOrEmpty(displayPreferences.SortBy) ? new[] { displayPreferences.SortBy } : new[] { ItemSortBy.SortName }, SortOrder = displayPreferences.SortOrder, Recursive = true, ParentId = ParentId }; var indexOption = viewModel.CurrentIndexOption; if (indexOption != null) { query.Years = new[] { int.Parse(indexOption.Name) }; } return(ApiClient.GetItemsAsync(query, CancellationToken.None)); }
private Task <ItemsResult> GetSeriesByGenre(ItemListViewModel viewModel, DisplayPreferences displayPreferences) { var query = new ItemQuery { Fields = FolderPage.QueryFields, UserId = _sessionManager.CurrentUser.Id, IncludeItemTypes = new[] { "Series" }, SortBy = !String.IsNullOrEmpty(displayPreferences.SortBy) ? new[] { displayPreferences.SortBy } : new[] { ItemSortBy.SortName }, SortOrder = displayPreferences.SortOrder, Recursive = true }; var indexOption = viewModel.CurrentIndexOption; if (indexOption != null) { query.Genres = new[] { indexOption.Name }; } return(ApiClient.GetItemsAsync(query)); }
public DisplayPreferencesViewModel(DisplayPreferences displayPreferences, IPresentationManager presentation) { DisplayPreferences = displayPreferences; _presentation = presentation; SaveCommand = new RelayCommand(obj => Save()); IncreaseImageSizeCommand = new RelayCommand(obj => IncreaseImageSize()); DecreaseImageSizeCommand = new RelayCommand(obj => DecreaseImageSize()); ToggleScrollDirectionCommand = new RelayCommand(obj => ToggleScrollDirection()); }
/// <summary> /// Get structure bitmap with optional caption /// </summary> /// <param name="pixWidth"></param> /// <param name="pixHeight"></param> /// <param name="desiredBondLength">Desired length in milliinches</param> /// <param name="cellStyle"></param> /// <param name="caption"></param> /// <returns></returns> public Bitmap GetFixedHeightMoleculeBitmap( int pixWidth, int pixHeight, DisplayPreferences dp, CellStyleMx cellStyle, string caption) { const int minWidth = 100, minHeight = 100; if (pixWidth < minWidth) { pixWidth = minWidth; } if (pixHeight < minHeight) { pixHeight = minHeight; } Bitmap bm = null; if (cellStyle == null) { Font font = new Font("Tahoma", 8.25f); cellStyle = new CellStyleMx(font, Color.Black, Color.Empty); } if (dp == null) { dp = new DisplayPreferences(); //SetStandardDisplayPreferences(dp); } //if (Lex.Contains(qc.Criteria, "SSS")) // no H display if SS query // dp.HydrogenDisplayMode = HydrogenDisplayMode.Off; if (String.IsNullOrEmpty(caption)) { bm = GetMoleculeBitmap(pixWidth, pixHeight, dp); } else { bm = GetMoleculeBitmap(pixWidth, pixHeight + 20, dp); // get image with a bit of extra height for text Rectangle captionRect = new Rectangle(2, 0, pixWidth, pixHeight); // show the text part Graphics g = System.Drawing.Graphics.FromImage(bm); Brush brush = Brushes.Black; if (cellStyle.ForeColor == Color.Blue) { brush = Brushes.Blue; } g.DrawString(caption, cellStyle.Font, brush, captionRect); } return(bm); }
/// <summary> /// Gets the folder page. /// </summary> /// <param name="item">The item.</param> /// <param name="context">The context.</param> /// <param name="displayPreferences">The display preferences.</param> /// <returns>Page.</returns> public Page GetFolderPage(BaseItemDto item, ViewType context, DisplayPreferences displayPreferences) { if (!_folderTypesWithDetailPages.Contains(item.Type, StringComparer.OrdinalIgnoreCase)) { var options = GetListPageConfig(item, context); return(new FolderPage(item, displayPreferences, _apiClient, _imageManager, _sessionManager, _presentationManager, _navService, _playbackManager, _logger, _serverEvents, options)); } return(GetItemPage(item, context)); }
public virtual void SaveDisplayPrefs(DisplayPreferences prefs) { try { Kernel.Instance.MB3ApiRepository.SaveDisplayPreferences(DisplayPreferencesId, DisplayPreferences); } catch (Exception e) { Logger.ReportException("Unable to save display prefs for {0}", e, Name); } }
/// <summary> /// Saves display preferences for a Folder /// </summary> /// <param name="user">The user.</param> /// <param name="folder">The folder.</param> /// <param name="data">The data.</param> /// <returns>Task.</returns> public Task SaveDisplayPreferencesForFolder(User user, Folder folder, DisplayPreferences data) { // Need to update all items with the same DisplayPreferencesId foreach (var child in RootFolder.GetRecursiveChildren(user) .OfType <Folder>() .Where(i => i.DisplayPreferencesId == folder.DisplayPreferencesId)) { child.AddOrUpdateDisplayPreferences(user, data); } return(Kernel.DisplayPreferencesRepository.SaveDisplayPreferences(folder, CancellationToken.None)); }
public FolderPage(BaseItemDto parent, DisplayPreferences displayPreferences, IApiClient apiClient, IImageManager imageManager, ISessionManager sessionManager, IPresentationManager presentation, INavigationService navigationManager, IPlaybackManager playbackManager, ILogger logger, IServerEvents serverEvents, ListPageConfig options) { _navigationManager = navigationManager; _playbackManager = playbackManager; _logger = logger; _serverEvents = serverEvents; _presentationManager = presentation; _sessionManager = sessionManager; _imageManager = imageManager; _apiClient = apiClient; _options = options; _displayPreferences = displayPreferences; _parentItem = parent; InitializeComponent(); Loaded += FolderPage_Loaded; Unloaded += FolderPage_Unloaded; SetDefaults(displayPreferences); _viewModel = new ItemListViewModel(GetItemsAsync, _presentationManager, _imageManager, _apiClient, _navigationManager, _playbackManager, _logger, _serverEvents) { ImageDisplayHeightGenerator = GetImageDisplayHeight, DisplayNameGenerator = GetDisplayName, PreferredImageTypesGenerator = GetPreferredImageTypes, ShowSidebarGenerator = GetShowSidebar, ScrollDirectionGenerator = GetScrollDirection, AutoSelectFirstItem = true, ShowLoadingAnimation = true }; _viewModel.AddIndexOptions(options.IndexOptions); _viewModel.PropertyChanged += _viewModel_PropertyChanged; _viewModel.DisplayPreferences = displayPreferences; DataContext = _viewModel; UpdateSortTitle(); UpdateSortOrder(); BtnSort.Visibility = _options.SortOptions.Count > 0 ? Visibility.Visible : Visibility.Collapsed; BtnSort.Click += BtnSort_Click; }
public DisplayPreferencesViewModel(DisplayPreferences displayPreferences, IPresentationManager presentation, ITheaterConfigurationManager configurationManager, ISessionManager sessionManager) { DisplayPreferences = displayPreferences; _presentation = presentation; _configurationManager = configurationManager; _sessionManager = sessionManager; _userConfig = configurationManager.GetUserTheaterConfiguration(sessionManager.CurrentUser.Id); SaveCommand = new RelayCommand(obj => Save()); IncreaseImageSizeCommand = new RelayCommand(obj => IncreaseImageSize()); DecreaseImageSizeCommand = new RelayCommand(obj => DecreaseImageSize()); ToggleScrollDirectionCommand = new RelayCommand(obj => ToggleScrollDirection()); }
private void SaveDisplayPreferences(DisplayPreferences displayPreferences, Guid userId, string client, IDatabaseConnection connection) { var serialized = _jsonSerializer.SerializeToBytes(displayPreferences); using (var statement = connection.PrepareStatement("replace into userdisplaypreferences (id, userid, client, data) values (@id, @userId, @client, @data)")) { statement.TryBind("@id", displayPreferences.Id.ToGuidBlob()); statement.TryBind("@userId", userId.ToGuidBlob()); statement.TryBind("@client", client); statement.TryBind("@data", serialized); statement.MoveNext(); } }
/// <summary> /// Get the SVG for a molecule within a specified size rectangle (units important, eg. px, mm /// </summary> /// <param name="width"></param> /// <param name="height"></param> /// <param name="units"></param> /// <param name="dp"></param> /// <returns></returns> public string GetMoleculeSvg( int width = -1, int height = -1, string units = Depiction.UnitsPixel, DisplayPreferences dp = null) { string svg = null; UpdateNativeMolecule(); if (NativeMol == null || NativeMol.Atoms.Count == 0) { return(null); } //width = height = -1; // debug //units = null; //NativeMol.setProperty(CDKConstants.TITLE, "caffeine"); // title already set from input! // Use size and units if specified. If not defined then a mm size box just containing the structure will be defined in generated svg DepictionGenerator dptgen = new DepictionGenerator(); if (width > 0 && height > 0) { dptgen.Size = new System.Windows.Size(width, height); dptgen.FillToFit = true; } Depiction d = dptgen.Depict(NativeMol); if (Lex.IsDefined(units)) { if (units != Depiction.UnitsPixel && units != Depiction.UnitsMM) { throw new Exception("Invalid Depiction units: " + units); } svg = d.ToSvgString(units); // get SVG setting desired units in the XML } else { svg = d.ToSvgString(); } return(svg); }
public FolderPage(BaseItemDto parent, DisplayPreferences displayPreferences, IApiClient apiClient, IImageManager imageManager, IPresentationManager presentation, INavigationService navigationManager, IPlaybackManager playbackManager, ILogger logger, ListPageConfig options) { _logger = logger; _presentationManager = presentation; _imageManager = imageManager; _apiClient = apiClient; _options = options; _parentItem = parent; InitializeComponent(); Loaded += FolderPage_Loaded; SetDefaults(displayPreferences); var playAllFromHere = parent.IsType("playlist") || parent.IsType("musicalbum"); _viewModel = new ItemListViewModel(vm => options.CustomItemQuery(vm, displayPreferences), _presentationManager, _imageManager, _apiClient, navigationManager, playbackManager, _logger) { ImageDisplayHeightGenerator = GetImageDisplayHeight, DisplayNameGenerator = options.DisplayNameGenerator ?? GetDisplayName, PreferredImageTypesGenerator = GetPreferredImageTypes, ShowSidebarGenerator = GetShowSidebar, ScrollDirectionGenerator = GetScrollDirection, AutoSelectFirstItem = true, ShowLoadingAnimation = true, PlayAllFromHereOnPlayCommand = playAllFromHere, PlayAllFromHereOnNavigateCommand = playAllFromHere }; _viewModel.AddIndexOptions(options.IndexOptions); _viewModel.PropertyChanged += _viewModel_PropertyChanged; _viewModel.DisplayPreferences = displayPreferences; if (!string.IsNullOrEmpty(options.IndexValue)) { var index = options.IndexOptions.First(i => string.Equals(i.Name, options.IndexValue)); _viewModel.IndexOptionsCollectionView.MoveCurrentTo(index); } DataContext = _viewModel; }
/// <inheritdoc /> public DisplayPreferences GetDisplayPreferences(Guid userId, Guid itemId, string client) { var prefs = _dbContext.DisplayPreferences .Include(pref => pref.HomeSections) .FirstOrDefault(pref => pref.UserId.Equals(userId) && string.Equals(pref.Client, client) && pref.ItemId.Equals(itemId)); if (prefs == null) { prefs = new DisplayPreferences(userId, itemId, client); _dbContext.DisplayPreferences.Add(prefs); } return(prefs); }
protected override void LoadDisplayPreferences() { Logger.ReportInfo("Loading display prefs for " + this.Path); Guid id = Id; if (Config.Instance.EnableSyncViews) id = baseItem.GetType().FullName.GetMD5(); DisplayPreferences dp = Kernel.Instance.ItemRepository.RetrieveDisplayPreferences(id); if (dp == null) { LoadDefaultDisplayPreferences(ref id, ref dp); } this.DisplayPrefs = dp; }
/// <inheritdoc /> public DisplayPreferences GetDisplayPreferences(Guid userId, string client) { using var dbContext = _dbProvider.CreateContext(); var prefs = dbContext.DisplayPreferences .Include(pref => pref.HomeSections) .FirstOrDefault(pref => pref.UserId == userId && string.Equals(pref.Client, client)); if (prefs == null) { prefs = new DisplayPreferences(userId, client); dbContext.DisplayPreferences.Add(prefs); } return(prefs); }
/// <summary> /// Constructor. /// </summary> public Main() { // Setup device graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; // Capture device settings event graphics.PreparingDeviceSettings += new EventHandler <PreparingDeviceSettingsEventArgs>(Graphics_PreparingDeviceSettings); // Read INI file ReadINISettings(); // Timing this.IsFixedTimeStep = true; graphics.SynchronizeWithVerticalRetrace = true; this.Window.Title = title; // Set display mode displayPreference = (windowedMode) ? DisplayPreferences.Windowed : DisplayPreferences.Fullscreen; // Create engine core core = new DeepCore(arena2Path, this.Services); // Create game state manager gameManager = new GameStateManager(this); Components.Add(gameManager); // Create game states titleScreen = new TitleScreen1(core, this); playground1 = new Playground1(core, this); playground2 = new Playground2(core, this); gameOptionsMenu = new ExitMenu(core, this); // Apply settings playground1.MouseLookSpeed = mouseLookSpeed; playground2.MouseLookSpeed = mouseLookSpeed; // Setup title events titleScreen.OnStartClicked += new EventHandler(TitleScreen_OnStartClicked); titleScreen.OnExitClicked += new EventHandler(TitleScreen_OnExitClicked); // Set initial game state gameManager.ChangeState(titleScreen); }
private Task <ItemsResult> GetAllActors(ItemListViewModel viewModel, DisplayPreferences displayPreferences) { var fields = FolderPage.QueryFields.ToList(); fields.Remove(ItemFields.Overview); fields.Remove(ItemFields.DisplayPreferencesId); fields.Remove(ItemFields.DateCreated); var query = new PersonsQuery { Fields = fields.ToArray(), IncludeItemTypes = new[] { "Series", "Episode" }, SortBy = !String.IsNullOrEmpty(displayPreferences.SortBy) ? new[] { displayPreferences.SortBy } : new[] { ItemSortBy.SortName }, SortOrder = displayPreferences.SortOrder, Recursive = true, UserId = _sessionManager.CurrentUser.Id, PersonTypes = new[] { PersonType.Actor, PersonType.GuestStar } }; var indexOption = viewModel.CurrentIndexOption; if (indexOption != null) { if (string.Equals(indexOption.Name, "#", StringComparison.OrdinalIgnoreCase)) { query.NameLessThan = "A"; } else { query.NameStartsWithOrGreater = indexOption.Name; query.NameLessThan = indexOption.Name + "zz"; } } return(ApiClient.GetPeopleAsync(query)); }
public DisplayPreferences RetrieveDisplayPreferences(DisplayPreferences dp) { var cmd = connection.CreateCommand(); cmd.CommandText = "select view_type, show_labels, vertical_scroll, sort_order, index_by, use_banner, thumb_constraint_width, thumb_constraint_height, use_coverflow, use_backdrop from display_prefs where guid = @guid"; cmd.AddParam("@guid", dp.Id); using (var reader = cmd.ExecuteReader()) { if (reader.Read()) { try { dp.ViewType.Chosen = ViewTypeNames.GetName((ViewType)Enum.Parse(typeof(ViewType), reader.GetString(0))); } catch { dp.ViewType.Chosen = ViewTypeNames.GetName(MediaBrowser.Library.ViewType.Poster); } dp.ShowLabels.Value = reader.GetBoolean(1); dp.VerticalScroll.Value = reader.GetBoolean(2); try { dp.SortOrder = reader.GetString(3); } catch { } if (Config.Instance.RememberIndexing) { dp.IndexBy = reader.GetString(4); } else { dp.IndexBy = "None"; } dp.UseBanner.Value = reader.GetBoolean(5); dp.ThumbConstraint.Value = new Microsoft.MediaCenter.UI.Size(reader.GetInt32(6), reader.GetInt32(7)); dp.UseCoverflow.Value = reader.GetBoolean(8); dp.UseBackdrop.Value = reader.GetBoolean(9); } } return(dp); }
public void SaveDisplayPreferences(DisplayPreferences dp) { var cmd = connection.CreateCommand(); cmd.CommandText = "replace into display_prefs (guid, view_type, show_labels, vertical_scroll, sort_order, index_by, use_banner, thumb_constraint_width, thumb_constraint_height, use_coverflow, use_backdrop) values (@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11)"; cmd.AddParam("@1", dp.Id); cmd.AddParam("@2", ViewTypeNames.GetEnum((string)dp.ViewType.Chosen).ToString()); cmd.AddParam("@3", dp.ShowLabels.Value); cmd.AddParam("@4", dp.VerticalScroll.Value); cmd.AddParam("@5", dp.SortOrder.ToString()); cmd.AddParam("@6", dp.IndexByString); cmd.AddParam("@7", dp.UseBanner.Value); cmd.AddParam("@8", dp.ThumbConstraint.Value.Width); cmd.AddParam("@9", dp.ThumbConstraint.Value.Height); cmd.AddParam("@10", dp.UseCoverflow.Value); cmd.AddParam("@11", dp.UseBackdrop.Value); QueueCommand(cmd); }
protected virtual void ShowUserMenu() { var page = NavigationService.CurrentPage as IHasDisplayPreferences; DisplayPreferences displayPreferences = null; ListPageConfig options = null; if (page != null) { displayPreferences = page.GetDisplayPreferences(); options = page.GetListPageConfig(); } var userProfileWindow = new UserProfileWindow(this, SessionManager, PresentationManager, ImageManager, ApiClient, ConfigurationManager, displayPreferences, options); userProfileWindow.Closed += userProfileWindow_Closed; userProfileWindow.ShowModal(PresentationManager.Window); }
/// <summary> /// Render molecule into bitmap of specified size. /// </summary> /// <param name="bitmapWidth"></param> /// <param name="bitmapHeight"></param> /// <param name="dp"></param> /// <returns></returns> public Bitmap GetMoleculeBitmap( int bitmapWidth, int bitmapHeight, DisplayPreferences dp = null) { byte[] ba; FileStream fs; float top, bottom, left, right, height, width, strBottom, hCenter, drop, stdBndLen, scale, fontSize, bondThickness; int txtLen; Bitmap bm; UpdateNativeMolecule(); if (NativeMol == null || NativeMol.Atoms.Count == 0) { return(null); } //NativeMol.setProperty(CDKConstants.TITLE, "caffeine"); // title already set from input! DepictionGenerator dptgen = new DepictionGenerator(); dptgen.Size = new System.Windows.Size(bitmapWidth, bitmapHeight); Depiction d = dptgen.Depict(NativeMol); dptgen.Size = new System.Windows.Size(bitmapWidth, bitmapHeight); dptgen.FillToFit = true; //string svg = d.ToSvgString(); //bm = SvgUtil.GetBitmapFromSvgXml(svg, bitmapWidth); //System.Windows.Media.Imaging.RenderTargetBitmap rtBm = d.ToBitmap(); string path = TempFile.GetTempFileName(ClientDirs.TempDir, "jpg", true); d.WriteTo("jpg", path); bm = new Bitmap(path); return(bm); }
public void SaveDisplayPreferences(DisplayPreferences dp) { var cmd = connection.CreateCommand(); cmd.CommandText = "replace into display_prefs (guid, view_type, show_labels, vertical_scroll, sort_order, index_by, use_banner, thumb_constraint_width, thumb_constraint_height, use_coverflow, use_backdrop) values (@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11)"; cmd.AddParam("@1", dp.Id); cmd.AddParam("@2", ViewTypeNames.GetEnum((string)dp.ViewType.Chosen).ToString()); cmd.AddParam("@3", dp.ShowLabels.Value); cmd.AddParam("@4", dp.VerticalScroll.Value); cmd.AddParam("@5", dp.SortOrder.ToString()); cmd.AddParam("@6", dp.IndexByString); cmd.AddParam("@7", dp.UseBanner.Value); cmd.AddParam("@8", dp.ThumbConstraint.Value.Width); cmd.AddParam("@9", dp.ThumbConstraint.Value.Height); cmd.AddParam("@10", dp.UseCoverflow.Value); cmd.AddParam("@11", dp.UseBackdrop.Value); QueueCommand(cmd); //custom prefs //var delCmd = connection.CreateCommand(); //delCmd.CommandText = "delete from custom_display_prefs where guid = @guid"; //delCmd.AddParam("@guid", dp.Id); //delCmd.ExecuteNonQuery(); var insCmd = connection.CreateCommand(); insCmd.CommandText = "insert or replace into custom_display_prefs(guid, parm_key, parm_value) values(@guid, @key, @value)"; insCmd.AddParam("@guid", dp.Id); SQLiteParameter val = new SQLiteParameter("@value"); insCmd.Parameters.Add(val); SQLiteParameter key = new SQLiteParameter("@key"); insCmd.Parameters.Add(key); foreach (var pair in dp.CustomParms) { key.Value = pair.Key; val.Value = pair.Value; QueueCommand(insCmd); } }
private Task <ItemsResult> GetBoxSets(ItemListViewModel viewModel, DisplayPreferences displayPreferences) { var query = new ItemQuery { Fields = FolderPage.QueryFields, UserId = _sessionManager.CurrentUser.Id, IncludeItemTypes = new[] { "BoxSet" }, SortBy = !String.IsNullOrEmpty(displayPreferences.SortBy) ? new[] { displayPreferences.SortBy } : new[] { ItemSortBy.SortName }, SortOrder = displayPreferences.SortOrder, Recursive = true }; return(ApiClient.GetItemsAsync(query)); }
/// <summary> /// Gets the folder page. /// </summary> /// <param name="item">The item.</param> /// <param name="context">The context.</param> /// <param name="displayPreferences">The display preferences.</param> /// <returns>Page.</returns> public Page GetFolderPage(BaseItemDto item, ViewType context, DisplayPreferences displayPreferences) { var apiClient = _connectionManager.GetApiClient(item); if (item.IsType("channel") || item.IsType("channelfolderitem")) { var options = GetChannelPageConfig(item, context); return(new FolderPage(item, displayPreferences, apiClient, _imageManager, _presentationManager, _navService, _playbackManager, _logger, options)); } if (context == ViewType.Folders || !_folderTypesWithDetailPages.Contains(item.Type, StringComparer.OrdinalIgnoreCase)) { var options = GetListPageConfig(item, context); return(new FolderPage(item, displayPreferences, apiClient, _imageManager, _presentationManager, _navService, _playbackManager, _logger, options)); } return(GetItemPage(item, context)); }
private Task <ItemsResult> GetFavoriteArtists(ItemListViewModel viewModel, DisplayPreferences displayPreferences) { var query = new ArtistsQuery { Fields = FolderPage.QueryFields, UserId = _sessionManager.CurrentUser.Id, SortBy = !String.IsNullOrEmpty(displayPreferences.SortBy) ? new[] { displayPreferences.SortBy } : new[] { ItemSortBy.SortName }, SortOrder = displayPreferences.SortOrder, Recursive = true, Filters = new[] { ItemFilter.IsFavorite } }; return(ApiClient.GetArtistsAsync(query)); }
public DisplayPreferences RetrieveDisplayPreferences(DisplayPreferences dp) { return dp != null ? displayRepo.RetrieveDisplayPreferences(dp) : null; }
public DisplayPreferences RetrieveDisplayPreferences(DisplayPreferences dp) { var cmd = connection.CreateCommand(); cmd.CommandText = "select view_type, show_labels, vertical_scroll, sort_order, index_by, use_banner, thumb_constraint_width, thumb_constraint_height, use_coverflow, use_backdrop from display_prefs where guid = @guid"; cmd.AddParam("@guid", dp.Id); using (var reader = cmd.ExecuteReader()) { if (reader.Read()) { try { dp.ViewType.Chosen = ViewTypeNames.GetName((ViewType)Enum.Parse(typeof(ViewType), reader.GetString(0))); } catch { dp.ViewType.Chosen = ViewTypeNames.GetName(MediaBrowser.Library.ViewType.Poster); } dp.ShowLabels.Value = reader.GetBoolean(1); dp.VerticalScroll.Value = reader.GetBoolean(2); try { dp.SortOrder = reader.GetString(3); } catch { } if (Config.Instance.RememberIndexing) dp.IndexBy = reader.GetString(4); else dp.IndexBy = "None"; dp.UseBanner.Value = reader.GetBoolean(5); dp.ThumbConstraint.Value = new Microsoft.MediaCenter.UI.Size(reader.GetInt32(6), reader.GetInt32(7)); dp.UseCoverflow.Value = reader.GetBoolean(8); dp.UseBackdrop.Value = reader.GetBoolean(9); } } return dp; }
public DisplayPreferences RetrieveDisplayPreferences(DisplayPreferences dp) { var cmd = connection.CreateCommand(); cmd.CommandText = "select view_type, show_labels, vertical_scroll, sort_order, index_by, use_banner, thumb_constraint_width, thumb_constraint_height, use_coverflow, use_backdrop from display_prefs where guid = @guid"; cmd.AddParam("@guid", dp.Id); using (var reader = cmd.ExecuteReader()) { if (reader.Read()) { dp.StopListeningForChanges(); //turn this off or we'll trigger the save routine before everything is filled in try { dp.ViewType.Chosen = ViewTypeNames.GetName((ViewType)Enum.Parse(typeof(ViewType), reader.GetString(0))); } catch { dp.ViewType.Chosen = ViewTypeNames.GetName(MediaBrowser.Library.ViewType.Poster); } dp.ShowLabels.Value = reader.GetBoolean(1); dp.VerticalScroll.Value = reader.GetBoolean(2); try { dp.SortOrder = reader.GetString(3); } catch { } if (Config.Instance.RememberIndexing) dp.IndexBy = reader.GetString(4); else dp.IndexBy = Localization.LocalizedStrings.Instance.GetString("NoneDispPref"); dp.UseBanner.Value = reader.GetBoolean(5); dp.ThumbConstraint.Value = new Microsoft.MediaCenter.UI.Size(reader.GetInt32(6), reader.GetInt32(7)); dp.UseCoverflow.Value = reader.GetBoolean(8); dp.UseBackdrop.Value = reader.GetBoolean(9); dp.ListenForChanges(); //turn back on } } cmd = connection.CreateCommand(); cmd.CommandText = "select parm_key, parm_value from custom_display_prefs where guid = @guid"; cmd.AddParam("@guid", dp.Id); using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { try { dp.CustomParms[reader.GetString(0)] = reader.GetString(1); } catch (Exception e) { Logger.ReportException("Error reading custom display prefs.", e); } } } return dp; }
public void SaveDisplayPreferences(DisplayPreferences prefs) { displayRepo.SaveDisplayPreferences(prefs); }
public DisplayPreferences RetrieveDisplayPreferences(DisplayPreferences dp) { return displayRepo.RetrieveDisplayPreferences(dp); }