private void btnPrintWallet_Click(object sender, EventArgs e)
        {
            if (Addresses.Count == 0)
            {
                MessageBox.Show("Please generate some addresses before trying to print.");
                return;
            }

            if (CurrentSelectionPrinted)
            {
                string msg = "You have already printed these addresses before.  Print again?";
                if (MessageBox.Show(msg, "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) != DialogResult.Yes)
                {
                    return;
                }
            }


            PrintDialog     pd = new PrintDialog();
            PrinterSettings ps = new PrinterSettings();

            pd.PrinterSettings = ps;
            DialogResult dr = pd.ShowDialog();

            if (dr == DialogResult.OK)
            {
                QRPrint printer = new QRPrint();
                if (this.rdoWalletPrivQR.Checked)
                {
                    printer.PrintMode = QRPrint.PrintModes.PrivQR;
                }
                if (this.rdoWalletPubPrivQR.Checked)
                {
                    printer.PrintMode = QRPrint.PrintModes.PubPrivQR;
                }
                printer.keys = new List <KeyCollectionItem>(Addresses.Count);
                foreach (KeyCollectionItem a in Addresses)
                {
                    printer.keys.Add(a);
                }
                printer.PrinterSettings = pd.PrinterSettings;
                CurrentSelectionPrinted = true;
                printer.Print();
            }
        }
        private void btnPrintWallet_Click(object sender, EventArgs e)
        {
            if (Addresses.Count == 0) {
                MessageBox.Show("Please generate some addresses before trying to print.");
                return;
            }

            if (CurrentSelectionPrinted) {
                string msg = "You have already printed these addresses before.  Print again?";
                if (MessageBox.Show(msg, "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) != DialogResult.Yes) return;
            }

            PrintDialog pd = new PrintDialog();
            PrinterSettings  ps = new PrinterSettings();
            pd.PrinterSettings = ps;
            DialogResult dr = pd.ShowDialog();

            if (dr == DialogResult.OK) {
                QRPrint printer = new QRPrint();
                if (this.rdoWalletPrivQR.Checked) printer.PrintMode = QRPrint.PrintModes.PrivQR;
                if (this.rdoWalletPubPrivQR.Checked) printer.PrintMode = QRPrint.PrintModes.PubPrivQR;
                printer.keys = new List<KeyCollectionItem>(Addresses.Count);
                foreach (KeyCollectionItem a in Addresses) printer.keys.Add(a);
                printer.PrinterSettings = pd.PrinterSettings;
                CurrentSelectionPrinted = true;
                printer.Print();

            }
        }