Preds sign Weber to three-year deal