Well, as dear old Mom would say, it's called discipline. I know, she just doesn't get it.
I would suggest making a strict cash only rule. Put your quilting cash for the month in an envelope. Use only the money in your quilting envelope for quilt shopping (be sure to put your change back in the envelope :) and when it is gone for the month, it is gone and you wait until the next infusion of quilting cash.