more coherent QRcode display logic