mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-22 10:04:44 +01:00
separate display preferences per client
This commit is contained in:
@@ -61,7 +61,7 @@ namespace MediaBrowser.ServerApplication
|
||||
lblVersion.Content = "Version: " + appHost.ApplicationVersion;
|
||||
foreach (var user in userManager.Users)
|
||||
ddlProfile.Items.Add(user);
|
||||
ddlProfile.Items.Insert(0,new User {Name = "Physical"});
|
||||
ddlProfile.Items.Insert(0, new User { Name = "Physical" });
|
||||
ddlProfile.SelectedIndex = 0;
|
||||
ddlIndexBy.Visibility = ddlSortBy.Visibility = lblIndexBy.Visibility = lblSortBy.Visibility = Visibility.Hidden;
|
||||
|
||||
@@ -94,22 +94,22 @@ namespace MediaBrowser.ServerApplication
|
||||
children = OrderByName(children, CurrentUser);
|
||||
|
||||
foreach (Folder folder in children)
|
||||
{
|
||||
{
|
||||
|
||||
var currentFolder = folder;
|
||||
Task.Factory.StartNew(() =>
|
||||
{
|
||||
var prefs = ddlProfile.SelectedItem != null ? _displayPreferencesManager.GetDisplayPreferences(currentFolder.GetDisplayPreferencesId((ddlProfile.SelectedItem as User).Id)) ?? new DisplayPreferences { SortBy = ItemSortBy.SortName } : new DisplayPreferences { SortBy = ItemSortBy.SortName };
|
||||
var node = new TreeViewItem { Tag = currentFolder };
|
||||
var currentFolder = folder;
|
||||
Task.Factory.StartNew(() =>
|
||||
{
|
||||
var prefs = ddlProfile.SelectedItem != null ? _displayPreferencesManager.GetDisplayPreferences(currentFolder.GetDisplayPreferencesId((ddlProfile.SelectedItem as User).Id), (ddlProfile.SelectedItem as User).Id, "LibraryExplorer") ?? new DisplayPreferences { SortBy = ItemSortBy.SortName } : new DisplayPreferences { SortBy = ItemSortBy.SortName };
|
||||
var node = new TreeViewItem { Tag = currentFolder };
|
||||
|
||||
var subChildren = currentFolder.GetChildren(CurrentUser, true, prefs.IndexBy);
|
||||
subChildren = OrderByName(subChildren, CurrentUser);
|
||||
AddChildren(node, subChildren, CurrentUser);
|
||||
node.Header = currentFolder.Name + " (" +
|
||||
node.Items.Count + ")";
|
||||
tvwLibrary.Items.Add(node);
|
||||
}, CancellationToken.None, TaskCreationOptions.None, ui);
|
||||
}
|
||||
var subChildren = currentFolder.GetChildren(CurrentUser, true, prefs.IndexBy);
|
||||
subChildren = OrderByName(subChildren, CurrentUser);
|
||||
AddChildren(node, subChildren, CurrentUser);
|
||||
node.Header = currentFolder.Name + " (" +
|
||||
node.Items.Count + ")";
|
||||
tvwLibrary.Items.Add(node);
|
||||
}, CancellationToken.None, TaskCreationOptions.None, ui);
|
||||
}
|
||||
});
|
||||
lblLoading.Visibility = Visibility.Hidden;
|
||||
Cursor = Cursors.Arrow;
|
||||
@@ -148,11 +148,11 @@ namespace MediaBrowser.ServerApplication
|
||||
{
|
||||
foreach (var item in children)
|
||||
{
|
||||
var node = new TreeViewItem { Tag = item };
|
||||
var node = new TreeViewItem { Tag = item };
|
||||
var subFolder = item as Folder;
|
||||
if (subFolder != null)
|
||||
{
|
||||
var prefs = _displayPreferencesManager.GetDisplayPreferences(subFolder.GetDisplayPreferencesId(user.Id));
|
||||
var prefs = _displayPreferencesManager.GetDisplayPreferences(subFolder.GetDisplayPreferencesId(user.Id), user.Id, "LibraryExplorer");
|
||||
|
||||
AddChildren(node, OrderBy(subFolder.GetChildren(user, true), user, prefs.SortBy), user);
|
||||
node.Header = item.Name + " (" + node.Items.Count + ")";
|
||||
@@ -185,7 +185,7 @@ namespace MediaBrowser.ServerApplication
|
||||
lblIndexBy.Visibility = ddlIndexBy.Visibility = ddlSortBy.Visibility = lblSortBy.Visibility = Visibility.Visible;
|
||||
ddlIndexBy.ItemsSource = folder.IndexByOptionStrings;
|
||||
|
||||
ddlSortBy.ItemsSource = new []
|
||||
ddlSortBy.ItemsSource = new[]
|
||||
{
|
||||
ItemSortBy.SortName,
|
||||
ItemSortBy.Album,
|
||||
@@ -200,7 +200,7 @@ namespace MediaBrowser.ServerApplication
|
||||
ItemSortBy.Runtime
|
||||
};
|
||||
|
||||
var prefs = _displayPreferencesManager.GetDisplayPreferences(folder.GetDisplayPreferencesId((ddlProfile.SelectedItem as User).Id));
|
||||
var prefs = _displayPreferencesManager.GetDisplayPreferences(folder.GetDisplayPreferencesId((ddlProfile.SelectedItem as User).Id), (ddlProfile.SelectedItem as User).Id, "LibraryExplorer");
|
||||
|
||||
ddlIndexBy.SelectedItem = prefs != null
|
||||
? prefs.IndexBy ?? LocalizedStrings.Instance.GetString("NoneDispPref")
|
||||
@@ -359,7 +359,7 @@ namespace MediaBrowser.ServerApplication
|
||||
var folder = treeItem != null
|
||||
? treeItem.Tag as Folder
|
||||
: null;
|
||||
var prefs = folder != null ? _displayPreferencesManager.GetDisplayPreferences(folder.GetDisplayPreferencesId(CurrentUser.Id)) : new DisplayPreferences { SortBy = ItemSortBy.SortName };
|
||||
var prefs = folder != null ? _displayPreferencesManager.GetDisplayPreferences(folder.GetDisplayPreferencesId(CurrentUser.Id), CurrentUser.Id, "LibraryExplorer") : new DisplayPreferences { SortBy = ItemSortBy.SortName };
|
||||
if (folder != null && prefs.IndexBy != ddlIndexBy.SelectedItem as string)
|
||||
{
|
||||
//grab UI context so we can update within the below task
|
||||
@@ -400,7 +400,7 @@ namespace MediaBrowser.ServerApplication
|
||||
var folder = treeItem != null
|
||||
? treeItem.Tag as Folder
|
||||
: null;
|
||||
var prefs = folder != null ? _displayPreferencesManager.GetDisplayPreferences(folder.GetDisplayPreferencesId(CurrentUser.Id)) : new DisplayPreferences();
|
||||
var prefs = folder != null ? _displayPreferencesManager.GetDisplayPreferences(folder.GetDisplayPreferencesId(CurrentUser.Id), CurrentUser.Id, "LibraryExplorer") : new DisplayPreferences();
|
||||
if (folder != null && prefs.SortBy != ddlSortBy.SelectedItem as string)
|
||||
{
|
||||
//grab UI context so we can update within the below task
|
||||
@@ -605,7 +605,7 @@ namespace MediaBrowser.ServerApplication
|
||||
uri = new Uri("pack://application:,,,/Resources/Images/series.png");
|
||||
else if (item is BoxSet)
|
||||
uri = new Uri("pack://application:,,,/Resources/Images/boxset.png");
|
||||
else
|
||||
else
|
||||
uri = new Uri("pack://application:,,,/Resources/Images/folder.png");
|
||||
|
||||
return new BitmapImage(uri);
|
||||
|
||||
@@ -172,12 +172,13 @@
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.86.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.87.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\System.Data.SQLite.x86.1.0.86.0\lib\net45\System.Data.SQLite.dll</HintPath>
|
||||
<HintPath>..\packages\System.Data.SQLite.x86.1.0.87.0\lib\net45\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SQLite.Linq">
|
||||
<HintPath>..\packages\System.Data.SQLite.x86.1.0.86.0\lib\net45\System.Data.SQLite.Linq.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite.Linq, Version=1.0.87.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\System.Data.SQLite.x86.1.0.87.0\lib\net45\System.Data.SQLite.Linq.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net" />
|
||||
|
||||
@@ -12,5 +12,5 @@
|
||||
<package id="ServiceStack.Redis" version="3.9.44" targetFramework="net45" />
|
||||
<package id="ServiceStack.Text" version="3.9.55" targetFramework="net45" />
|
||||
<package id="SimpleInjector" version="2.2.3" targetFramework="net45" />
|
||||
<package id="System.Data.SQLite.x86" version="1.0.86.0" targetFramework="net45" />
|
||||
<package id="System.Data.SQLite.x86" version="1.0.87.0" targetFramework="net45" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user