diff options
Diffstat (limited to 'text.py')
-rw-r--r-- | text.py | 28 |
1 files changed, 20 insertions, 8 deletions
@@ -311,10 +311,11 @@ class MainExceptionWindow: self.screen.refresh() class LuksPassphraseWindow: - def __init__(self, screen, passphrase = "", device = ""): + def __init__(self, screen, passphrase = "", device = "", isglobal = False): self.screen = screen self.passphrase = passphrase self.minLength = 8 + self.isglobal = isglobal if device: deviceStr = " (%s)" % (device,) else: @@ -326,7 +327,7 @@ class LuksPassphraseWindow: def run(self): toplevel = GridForm(self.screen, _("Passphrase for encrypted device"), - 1, 4) + 1, 5) txt = TextboxReflowed(65, self.txt) toplevel.add(txt, 0, 0) @@ -337,8 +338,17 @@ class LuksPassphraseWindow: confirmentry = Entry(60, password = 1) toplevel.add(confirmentry, 0, 2, (0,0,0,1)) + if not (self.isglobal and not self.passphrase): + if not self.passphrase: + isglobal = True + else: + isglobal = self.isglobal + # if we don't hit this we're prompting for autopart passphrase + globalcheckbox = Checkbox(_("Use this passphrase for all new encrypted devices"), isOn = isglobal) + toplevel.add(globalcheckbox, 0, 3) + buttons = ButtonBar(self.screen, [TEXT_OK_BUTTON, TEXT_CANCEL_BUTTON]) - toplevel.add(buttons, 0, 3, growx=1) + toplevel.add(buttons, 0, 4, growx=1) passphraseentry.set(self.passphrase) confirmentry.set(self.passphrase) @@ -376,8 +386,10 @@ class LuksPassphraseWindow: passphraseentry.set(self.passphrase) confirmentry.set(self.passphrase) + if not self.isglobal and not self.passphrase: + self.isglobal = globalcheckbox.selected() self.rc = passphrase - return self.rc + return (self.rc, self.isglobal) def pop(self): self.screen.popWindow() @@ -480,12 +492,12 @@ class InstallInterface: r.strip() return r - def getLuksPassphrase(self, passphrase = "", device = ""): + def getLuksPassphrase(self, passphrase = "", device = "", isglobal = False): w = LuksPassphraseWindow(self.screen, passphrase = passphrase, - device = device) - passphrase = w.run() + device = device, isglobal = isglobal) + (passphrase, isglobal) = w.run() w.pop() - return passphrase + return (passphrase, isglobal) def passphraseEntryWindow(self, device): w = PassphraseEntryWindow(self.screen, device) |