Exemplo n.º 1
0
    // 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 = "";
        }
    }