// Event fired when a catalog has been selected private void OnCatalogActivated(object o, EventArgs args) { presentation.Init(); Catalog newActiveCatalog = catalogList.GetSelectedCatalog(); if (newActiveCatalog != null) { activeCatalog = newActiveCatalog; itemList = database.LoadItemList(activeCatalog, presentation); itemList.OnItemSelected += OnItemSelectionChanged; itemList.OnLendItemRequest += LendItem; itemList.OnReturnItemRequest += ReturnItem; itemList.OnEditItemRequest += EditItem; itemList.OnItemDeleted += DeleteItems; itemShelf.Catalog = activeCatalog; if (!itemShelfInitialized) { itemShelfInitialized = true; swItemsShelf.AddWithViewport (itemShelf); itemShelf.OnItemSelected += OnItemSelectionChanged; itemShelf.OnLendItemRequest += LendItem; itemShelf.OnReturnItemRequest += ReturnItem; itemShelf.OnEditItemRequest += EditItem; itemShelf.OnNewItemRequest += AddItem; itemShelf.OnItemDeleted += DeleteItems; } menuItemAddItem.Sensitive = true; addItemButton.Sensitive = true; SetView (database.GetCatalogView (activeCatalog.Name), true); activeCatalog.LoadAll(); Conf.Set("active_catalog", activeCatalog.Name); if (borrowerList!=null) { borrowerList.Selection.UnselectAll (); } } else { menuItemAddItem.Sensitive = false; addItemButton.Sensitive = false; titleWidget.Table = ""; } }