public BrowserWindow(User user, Preferences preferences)
{
InitializeComponent();
Title += VersionHelper.GetVersionString();
Preferences = preferences;
User = user;
AllSelectedPhotos = new Dictionary<string, Dictionary<string, Photo>>();
PagePhotoList.SelectionChanged += (sender, args) =>
{
if (_doNotSyncSelectedItems) return;
AllSelectedPhotos[Page] = PagePhotoList.SelectedItems.Cast<Photo>().
ToDictionary(p => p.Id, p => p);
PropertyChanged.Notify(() => SelectedPhotosExist);
PropertyChanged.Notify(() => SelectedPhotosCountText);
PropertyChanged.Notify(() => AreAnyPagePhotosSelected);
PropertyChanged.Notify(() => AreAllPagePhotosSelected);
};
SpinnerInner.SpinnerCanceled += (sender, args) => _presenter.CancelDownload();
FileCache.AppCacheDirectory = Preferences.CacheLocation;
_presenter = Bootstrapper.GetPresenter<IBrowserView, IBrowserPresenter>(this);
_presenter.InitializePhotoset();
}