Initial novacoin support
[electrum-nvc.git] / gui / qt / seed_dialog.py
index 8817de0..6d1948f 100644 (file)
 from PyQt4.QtGui import *
 from PyQt4.QtCore import *
 import PyQt4.QtCore as QtCore
-from electrum.i18n import _
-from electrum import mnemonic
-from qrcodewidget import QRCodeWidget
+from electrum_nvc.i18n import _
+from electrum_nvc import mnemonic
+from qrcodewidget import QRCodeWidget, QRDialog
 from util import close_button
+from qrtextedit import QRTextEdit
 
 class SeedDialog(QDialog):
     def __init__(self, parent, seed, imported_keys):
         QDialog.__init__(self, parent)
         self.setModal(1)
+        self.setMinimumWidth(400)
         self.setWindowTitle('Electrum' + ' - ' + _('Seed'))
-        self.parent = parent
-
-        vbox = make_seed_dialog(seed, imported_keys)
+        vbox = show_seed_box(seed)
+        if imported_keys:
+            vbox.addWidget(QLabel("<b>"+_("WARNING")+":</b> " + _("Your wallet contains imported keys. These keys cannot be recovered from seed.") + "</b><p>"))
         vbox.addLayout(close_button(self))
         self.setLayout(vbox)
 
 
-
-class PrivateKeysDialog(QDialog):
-    def __init__(self, parent, private_keys):
-        QDialog.__init__(self, parent)
-        self.setModal(1)
-        self.setWindowTitle('Electrum' + ' - ' + _('Master Private Keys'))
-        self.parent = parent
-        vbox = QVBoxLayout(self)
-        vbox.addWidget(QLabel(_("The seed has been removed from the wallet. It contains the following master private keys")+ ":"))
-        for k,v in sorted(private_keys.items()):
-            vbox.addWidget(QLabel(k))
-            vbox.addWidget(QLineEdit(v))
-
-        vbox.addLayout(close_button(self))
-
-
-
+def icon_filename(sid):
+    if sid == 'cold':
+        return ":icons/cold_seed.png" 
+    elif sid == 'hot':
+        return ":icons/hot_seed.png" 
+    else:
+        return ":icons/seed.png" 
+    
 
 
-def make_seed_dialog(seed, imported_keys):
 
-        words = seed.split()
+def show_seed_box(seed, sid=None):
 
-        label1 = QLabel(_("Your wallet generation seed is")+ ":")
+    save_msg = _("Please save these %d words on paper (order is important).")%len(seed.split()) + " " 
+    qr_msg = _("Your seed is also displayed as QR code, in case you want to transfer it to a mobile phone.") + "<p>"
+    warning_msg = "<b>"+_("WARNING")+":</b> " + _("Never disclose your seed. Never type it on a website.") + "</b><p>"
 
-        seed_text = QTextEdit(seed)
-        seed_text.setReadOnly(True)
-        seed_text.setMaximumHeight(130)
+    if sid is None:
+        msg =  _("Your wallet generation seed is")
+        msg2 = save_msg + " " \
+               + _("This seed will allow you to recover your wallet in case of computer failure.") + "<br/>" \
+               + warning_msg
         
-        msg2 =  _("Please write down or memorize these %d words (order is important).")%len(words) + " " \
-              + _("This seed will allow you to recover your wallet in case of computer failure.") + " " \
-              + _("Your seed is also displayed as QR code, in case you want to transfer it to a mobile phone.") + "<p>" \
-              + "<b>"+_("WARNING")+":</b> " + _("Never disclose your seed. Never type it on a website.") + "</b><p>"
-        if imported_keys:
-            msg2 += "<b>"+_("WARNING")+":</b> " + _("Your wallet contains imported keys. These keys cannot be recovered from seed.") + "</b><p>"
-        label2 = QLabel(msg2)
-        label2.setWordWrap(True)
-
-        logo = QLabel()
-        logo.setPixmap(QPixmap(":icons/seed.png").scaledToWidth(56))
-        logo.setMaximumWidth(60)
-
-        qrw = QRCodeWidget(seed)
-
-        grid = QGridLayout()
-
-        grid.addWidget(logo, 0, 0)
-        grid.addWidget(label1, 0, 1)
-
-        grid.addWidget(seed_text, 1, 0, 1, 2)
-
-        grid.addWidget(qrw, 0, 2, 2, 1)
-
-        vbox = QVBoxLayout()
-        vbox.addLayout(grid)
-        vbox.addWidget(label2)
-
-        return vbox
+    elif sid == 'cold':
+        msg =  _("Your cold storage seed is")
+        msg2 = save_msg + " " \
+               + _("This seed will be permanently deleted from your wallet file. Make sure you have saved it before you press 'next'") + " " \
+            
+    elif sid == 'hot':
+        msg =  _("Your hot seed is")
+        msg2 = save_msg + " " \
+               + _("If you ever need to recover your wallet from seed, you will need both this seed and your cold seed.") + " " \
+
+    label1 = QLabel(msg+ ":")
+    seed_text = QRTextEdit(seed)
+    seed_text.setReadOnly(True)
+    seed_text.setMaximumHeight(130)
+
+    label2 = QLabel(msg2)
+    label2.setWordWrap(True)
+
+    logo = QLabel()
+
+    logo.setPixmap(QPixmap(icon_filename(sid)).scaledToWidth(56))
+    logo.setMaximumWidth(60)
+
+    grid = QGridLayout()
+    grid.addWidget(logo, 0, 0)
+    grid.addWidget(label1, 0, 1)
+    grid.addWidget(seed_text, 1, 0, 1, 2)
+    #qrw = QRCodeWidget(seed)
+    #grid.addWidget(qrw, 0, 2, 2, 1)
+    vbox = QVBoxLayout()
+    vbox.addLayout(grid)
+    vbox.addWidget(label2)
+    vbox.addStretch(1)
+    
+    return vbox
+
+
+def enter_seed_box(msg, sid=None):
+
+    vbox = QVBoxLayout()
+    logo = QLabel()
+    logo.setPixmap(QPixmap(icon_filename(sid)).scaledToWidth(56))
+    logo.setMaximumWidth(60)
+
+    label = QLabel(msg)
+    label.setWordWrap(True)
+
+    seed_e = QRTextEdit()
+    seed_e.setMaximumHeight(100)
+    seed_e.setTabChangesFocus(True)
+
+    vbox.addWidget(label)
+
+    grid = QGridLayout()
+    grid.addWidget(logo, 0, 0)
+    grid.addWidget(seed_e, 0, 1)
+
+    vbox.addLayout(grid)
+    return vbox, seed_e