public LibraryListView(LibraryModel model, BookSelection bookSelection, SelectedTabChangedEvent selectedTabChangedEvent, LocalizationChangedEvent localizationChangedEvent)
{
_model = model;
_bookSelection = bookSelection;
localizationChangedEvent.Subscribe(unused=>LoadSourceCollectionButtons());
//_historyAndNotesDialogFactory = historyAndNotesDialogFactory;
_buttonsNeedingSlowUpdate = new ConcurrentQueue<ButtonRefreshInfo>();
selectedTabChangedEvent.Subscribe(OnSelectedTabChanged);
InitializeComponent();
_primaryCollectionFlow.HorizontalScroll.Visible = false;
_primaryCollectionFlow.Controls.Clear();
_primaryCollectionFlow.HorizontalScroll.Visible = false;
_sourceBooksFlow.Controls.Clear();
_sourceBooksFlow.HorizontalScroll.Visible = false;
if (!_model.ShowSourceCollections)
{
splitContainer1.Panel2Collapsed = true;
}
_headerFont = new Font(SystemFonts.DialogFont.FontFamily, (float)10.0, FontStyle.Bold);
_editableBookFont = new Font(SystemFonts.DialogFont.FontFamily, (float)9.0);//, FontStyle.Bold);
_collectionBookFont = new Font(SystemFonts.DialogFont.FontFamily, (float)9.0);
//enhance: move to model
bookSelection.SelectionChanged += new EventHandler(OnBookSelectionChanged);
_settingsProtectionHelper.ManageComponent(_openFolderOnDisk);
_showHistoryMenu.Visible = _showNotesMenu.Visible = Settings.Default.ShowSendReceive;
if(Settings.Default.ShowExperimentalCommands)
_settingsProtectionHelper.ManageComponent(_exportToXMLForInDesignToolStripMenuItem);//we are restricting it because it opens a folder from which the user could do damage
_exportToXMLForInDesignToolStripMenuItem.Visible = Settings.Default.ShowExperimentalCommands;
SetupBookDropdownIcon();
_bookContextMenu.Closed += _bookContextMenu_Closed;
_bookContextMenu.Opening += _bookContextMenu_Opening;
}