Пример #1
0
 def CreateVolumeMenu(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     self.volumetablemenu.clear()
     volumename = encfsgui_globals.g_CurrentlySelected 
     if volumename != "":
         if volumename in encfsgui_globals.g_Volumes:
             EncVolumeObj = encfsgui_globals.g_Volumes[volumename]
             self.volumemenuheader = QAction("Actions for volume '%s':" % volumename, self)
             self.volumetablemenu.addAction(self.volumemenuheader)
             self.volumetablemenu.addSeparator()
             if not EncVolumeObj.ismounted:
                 self.volumemountaction = QAction(QIcon("./bitmaps/icons8-unlock-24.png"),"Mount volume", self) 
                 self.volumetablemenu.addAction(self.volumemountaction)
                 self.volumemountaction.triggered.connect(self.TableMenuMountVolume)
                 self.volumeeditaction = QAction("Edit volume", self)
                 self.volumetablemenu.addAction(self.volumeeditaction)
                 self.volumeeditaction.triggered.connect(self.EditVolumeButtonClicked)
             else:
                 self.volumeunmountaction = QAction(QIcon("./bitmaps/icons8-lock-24.png"), "Unmount volume", self)
                 self.volumetablemenu.addAction(self.volumeunmountaction)
                 self.volumeunmountaction.triggered.connect(self.TableMenuUnmountVolume)
             self.volumeinfoaction = QAction("Show info", self)
             self.volumetablemenu.addAction(self.volumeinfoaction)
             self.volumeinfoaction.triggered.connect(self.ShowVolumeInfoClicked)
     return
Пример #2
0
 def MenuUnmountVolume(self, action):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     actionname = self.sender().text()
     volumename = self.getVolumeNameFromAction(actionname)
     self.UnmountVolume(volumename)
     self.PopulateVolumeMenu()
     return
Пример #3
0
    def saveVolumes(self):
        encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
        config = configparser.RawConfigParser()
        for volumename in encfsgui_globals.g_Volumes:
            EncVolumeObj = encfsgui_globals.g_Volumes[volumename]
            config.add_section(volumename)
            str_enc_path = EncVolumeObj.enc_path
            str_mount_path = EncVolumeObj.mount_path
            # if encryption is enabled, encrypt the strings first using the master password
            if encfsgui_globals.g_Settings["encrypt"] == "true":
                if encfsgui_globals.masterkey == "":
                    # ask for masterkey
                    encfsgui_helper.getMasterKey()
                if len(encfsgui_globals.masterkey) == 32:
                    str_enc_path = encfsgui_helper.encrypt(
                        EncVolumeObj.enc_path)
                    str_mount_path = encfsgui_helper.encrypt(
                        EncVolumeObj.mount_path)
            config.set(volumename, 'enc_path', str_enc_path)
            config.set(volumename, 'mount_path', str_mount_path)
            config.set(volumename, 'automount', EncVolumeObj.automount)
            config.set(volumename, 'preventautounmount',
                       EncVolumeObj.preventautounmount)
            config.set(volumename, 'allowother', EncVolumeObj.allowother)
            config.set(volumename, 'mountaslocal', EncVolumeObj.mountaslocal)
            config.set(volumename, 'encfsmountoptions',
                       EncVolumeObj.encfsmountoptions)
            config.set(volumename, 'passwordsaved', EncVolumeObj.passwordsaved)

        with open(encfsgui_globals.volumesfile, 'w') as configfile:
            config.write(configfile)

        self.clearMasterKeyIfNeeded()

        return
Пример #4
0
    def QuitButtonClicked(self):
        encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
        doexit = False
        autunmount = False
        if "autounmount" in encfsgui_globals.g_Settings:
            if str(encfsgui_globals.g_Settings["autounmount"]) == "true":
                autunmount = True
        if "noconfirmationexit" in encfsgui_globals.g_Settings:
            if str(encfsgui_globals.g_Settings["noconfirmationexit"]) == "false":
                msgBox = QMessageBox()
                msgBox.setIcon(QMessageBox.Question)
                msgBox.setWindowTitle("Please confirm?")
                if autunmount:
                    msgBox.setText("Are you sure you would like to exit?\n\nPlease note that some volumes may be unmounted automatically when you exit the application, so please make sure all files are closed.")
                else:
                    msgBox.setText("Are you sure you would like to exit?")
                msgBox.setStandardButtons(QtWidgets.QMessageBox.No)
                msgBox.addButton(QtWidgets.QMessageBox.Yes)
                msgBox.show()
                msgBox.setFocus()
                if (msgBox.exec_() == QtWidgets.QMessageBox.Yes):
                    doexit = True
            else:
                doexit = True

        if doexit:
            self.AutoUnMount()
            encfsgui_helper.print_debug("Application has exited.")
            sys.exit(0)
        return
Пример #5
0
    def getSettings(self):
        encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
        curframe = inspect.currentframe()
        calframe = inspect.getouterframes(curframe, 2)
        encfsgui_helper.print_debug("%s() Called from: %s()" %
                                    (inspect.stack()[0][3], calframe[1][3]))
        # if file does not exist, generate default file
        if not os.path.exists(self.settingsfile):
            self.populateDefaultSettings()
            self.saveSettings()

        appsettings = configparser.ConfigParser()
        appsettings.read(self.settingsfile)

        for settingkey in appsettings["config"]:
            encfsgui_globals.g_Settings[settingkey] = appsettings["config"][
                settingkey].strip().replace("\n", "")

        if "encodings" in appsettings:
            encodinglist = appsettings["encodings"]["filenameencodings"]
            encfsgui_globals.g_Encodings = encodinglist.split(",")

        # in case the current settings file is incomplete, pick up additional settings
        self.populateDefaultSettings()
        self.saveSettings()

        encfsgui_globals.volumesfile = encfsgui_globals.g_Settings[
            "workingfolder"] + "/" + 'encfsgui.volumes'

        return
Пример #6
0
    def EnableDisableButtons(self):
        encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
        # did we select an entry in the table?
        selectedenable = False
        if encfsgui_globals.g_CurrentlySelected != "":
            selectedenable = True
            mounted = False
            if encfsgui_globals.g_CurrentlySelected in encfsgui_globals.g_Volumes:
                mounted = encfsgui_globals.g_Volumes[encfsgui_globals.g_CurrentlySelected].ismounted
            if mounted:
                self.mountvolumebutton.setEnabled(False)
                self.unmountvolumebutton.setEnabled(True)
                self.browsevolumebutton.setEnabled(True)
                self.editvolumebutton.setEnabled(False)
            else:
                self.mountvolumebutton.setEnabled(True)
                self.unmountvolumebutton.setEnabled(False)
                self.browsevolumebutton.setEnabled(False)
                self.editvolumebutton.setEnabled(True)
        else:
            self.mountvolumebutton.setEnabled(False)
            self.unmountvolumebutton.setEnabled(False)
            self.browsevolumebutton.setEnabled(False)
            self.editvolumebutton.setEnabled(False)

        self.infovolumebutton.setEnabled(selectedenable)
        self.removevolumebutton.setEnabled(selectedenable)

        return
Пример #7
0
    def ShowVolumeInfoClicked(self):
        encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
        volumename = encfsgui_globals.g_CurrentlySelected
        if volumename != "":
            if volumename in encfsgui_globals.g_Volumes:
                EncVolumeObj =  encfsgui_globals.g_Volumes[volumename]
                infotext = ""
                if EncVolumeObj.enctype == "encfs":
                    if os.path.exists(encfsgui_globals.g_Settings["encfspath"]):
                        cmd = "%sctl info '%s'" % (encfsgui_globals.g_Settings["encfspath"], EncVolumeObj.enc_path)
                        cmdoutput = encfsgui_helper.execOSCmd(cmd)
                        infotext = "EncFS volume info for '%s'\n" % volumename
                        infotext += "Encrypted folder '%s'\n\n" % EncVolumeObj.enc_path
                        for l in cmdoutput:
                            infotext = infotext + l + "\n"

                if EncVolumeObj.enctype == "gocryptfs":
                    if os.path.exists(encfsgui_globals.g_Settings["gocryptfspath"]):
                        cmd = "%s -info '%s'" % (encfsgui_globals.g_Settings["gocryptfspath"], EncVolumeObj.enc_path)
                        cmdoutput = encfsgui_helper.execOSCmd(cmd)
                        infotext = "GoCryptFS volume info for '%s'\n" % volumename
                        infotext += "Encrypted folder '%s'\n\n" % EncVolumeObj.enc_path
                        for l in cmdoutput:
                            infotext = infotext + l + "\n"
                if not infotext == "":
                    msgBox = QtWidgets.QMessageBox()
                    msgBox.setIcon(QtWidgets.QMessageBox.Information)
                    msgBox.setWindowTitle("Encrypted Volume info (%s)" % EncVolumeObj.enctype)
                    msgBox.setText(infotext)
                    msgBox.setStandardButtons(QtWidgets.QMessageBox.Ok)
                    msgBox.show()
                    msgBox.exec_()
        return
Пример #8
0
 def BrowseVolumeClicked(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     if encfsgui_globals.g_CurrentlySelected != "":
         if encfsgui_globals.g_CurrentlySelected in encfsgui_globals.g_Volumes:
             EncVolumeObj = encfsgui_globals.g_Volumes[encfsgui_globals.g_CurrentlySelected]
             encfsgui_helper.openFolder(EncVolumeObj.mount_path)
     return
Пример #9
0
    def AboutClicked(self):
        encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
        abouttext = "pyencfsgui (EncFSGui) is a python3/PyQT5 based GUI wrapper around encfs and/or gocryptfs.\n\n"
        abouttext += "This version has been tested with encfs 1.9.x on OSX Catalina (and newer macOS versions), \n"
        abouttext += "and with gocryptfs 1.8.x on OSX Big Sur (and newer macOS versions). \n"
        abouttext += "Additionally, EncFSGui has been confirmed to work in Kali Linux.\n\n"
        abouttext += "Development started in 2019. The utility was written by Peter 'corelanc0d3r' Van Eeckhoutte.\n"
        abouttext += "Corelan Consulting bv\nwww.corelan-consulting.com | www.corelan-training.com\n\n"
        abouttext += "Project repository:\nhttps://github.com/corelan/pyencfsgui\n\n"
        abouttext += "Version info:\n"
        abouttext += "EncFSGui version %s.\n" % encfsgui_helper.getVersion()

        if os.path.exists(encfsgui_globals.g_Settings["encfspath"]):
            abouttext +=  "encfs version %s.\n" % getEncFSVersion()
        else:
            abouttext +=  "encfs not found.\n"
        
        if os.path.exists(encfsgui_globals.g_Settings["gocryptfspath"]):
            abouttext +=  "gocryptfs version %s.\n\n" % getGoCryptFSVersion()
        else:
            abouttext +=  "gocryptfs not found.\n\n"
        
        abouttext +=  "This application uses icons from https://icons8.com.\n"
        abouttext +=  "\nYou are running %s" % encfsgui_helper.getOSType()

        msgBox = QMessageBox()
        msgBox.setWindowTitle("About pyencfsgui")
        msgBox.setText(abouttext)
        msgBox.show()
        msgBox.exec_()
        return
Пример #10
0
 def delVolume(self, volumename):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     # remove volume from g_Volumes
     if (volumename in encfsgui_globals.g_Volumes):
         del encfsgui_globals.g_Volumes[volumename]
     # write g_Volumes to volumes file
     self.saveVolumes()
     return
Пример #11
0
 def getVolumeNameFromAction(self, actionname):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     volumename = ""
     if (actionname.startswith("Mount")):
         volumename = actionname.lstrip("Mount ").lstrip("'").rstrip("'")
     elif (actionname.startswith("Unmount")):
         volumename = actionname.lstrip("Unmount ").lstrip("'").rstrip("'")
     return volumename
Пример #12
0
 def TableMenuMountVolume(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     volumename = encfsgui_globals.g_CurrentlySelected
     if volumename in encfsgui_globals.g_Volumes:
         thispassword = self.getPasswordForVolume(volumename)
         self.MountVolume(volumename, thispassword)
     self.PopulateVolumeMenu()
     return
Пример #13
0
 def MountVolumeClicked(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     # do we need to ask for password?
     if encfsgui_globals.g_CurrentlySelected != "":
         if encfsgui_globals.g_CurrentlySelected in encfsgui_globals.g_Volumes:
             thispassword = self.getPasswordForVolume(encfsgui_globals.g_CurrentlySelected)
             self.MountVolume(encfsgui_globals.g_CurrentlySelected, thispassword)
     return
Пример #14
0
    def __init__(self):
        encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
        super(CMainWindow, self).__init__()
        uic.loadUi('encfsgui_main.ui', self)

        # disable/remove buttons
        self.setWindowFlags(self.windowFlags() | QtCore.Qt.CustomizeWindowHint | QtCore.Qt.WindowStaysOnTopHint)
        self.setWindowFlag(QtCore.Qt.WindowMaximizeButtonHint, False)
        self.setWindowFlag(QtCore.Qt.WindowCloseButtonHint, False)

        # assign methods to buttons
        self.quitbutton =  self.findChild(QtWidgets.QToolButton, 'btn_Quit')
        self.quitbutton.clicked.connect(self.QuitButtonClicked)

        self.hidebutton = self.findChild(QtWidgets.QToolButton, 'btn_Hide')
        self.hidebutton.clicked.connect(self.HideButtonClicked)

        self.createvolumebutton = self.findChild(QtWidgets.QToolButton, 'btn_createVolume')
        self.createvolumebutton.clicked.connect(self.CreateVolumeButtonClicked)

        self.addvolumebutton = self.findChild(QtWidgets.QToolButton, 'btn_openVolume')
        self.addvolumebutton.clicked.connect(self.AddVolumeButtonClicked)

        self.editvolumebutton = self.findChild(QtWidgets.QToolButton, 'btn_editVolume')
        self.editvolumebutton.clicked.connect(self.EditVolumeButtonClicked)

        self.settingsbutton = self.findChild(QtWidgets.QToolButton, 'btn_Settings')
        self.settingsbutton.clicked.connect(self.SetttingsButtonClicked)

        self.volumetable = self.findChild(QtWidgets.QTableWidget, 'tbl_Volumes')
        self.volumetable.itemSelectionChanged.connect(self.TableEntrySelected)

        self.browsevolumebutton = self.findChild(QtWidgets.QToolButton, 'btn_browseVolume')
        self.browsevolumebutton.clicked.connect(self.BrowseVolumeClicked)
        
        self.removevolumebutton = self.findChild(QtWidgets.QToolButton, 'btn_removeVolume')
        self.removevolumebutton.clicked.connect(self.RemoveVolumeClicked)

        self.infovolumebutton = self.findChild(QtWidgets.QToolButton, 'btn_infoVolume')
        self.infovolumebutton.clicked.connect(self.ShowVolumeInfoClicked)

        self.refreshbutton = self.findChild(QtWidgets.QToolButton, 'btn_refreshVolumes')
        self.refreshbutton.clicked.connect(self.RefreshVolumesClicked)
        
        self.mountvolumebutton = self.findChild(QtWidgets.QToolButton, 'btn_mountVolume')
        self.mountvolumebutton.clicked.connect(self.MountVolumeClicked)

        self.unmountvolumebutton = self.findChild(QtWidgets.QToolButton, 'btn_unmountVolume')
        self.unmountvolumebutton.clicked.connect(self.UnmountVolumeClicked)

        self.unmountallbutton = self.findChild(QtWidgets.QToolButton, 'btn_unmountAll')
        self.unmountallbutton.clicked.connect(self.UnmountAllClicked)

        self.lbl_updatestate = self.findChild(QtWidgets.QLabel, 'lbl_updatestate')
        self.lbl_updatestate.setText("")

        self.lbl_infolabel = self.findChild(QtWidgets.QLabel, 'lbl_InfoLabel')
        self.lbl_infolabel.setText("")
Пример #15
0
 def MenuMountVolume(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     actionname = self.sender().text()
     volumename = self.getVolumeNameFromAction(actionname)
     if volumename in encfsgui_globals.g_Volumes:
         thispassword = self.getPasswordForVolume(volumename)
         self.MountVolume(volumename, thispassword)
     self.PopulateVolumeMenu()
     return
Пример #16
0
 def AutoUnMount(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     if str(encfsgui_globals.g_Settings["autounmount"]) == "true":
         # unmount the volumes that don't have preventautounmount set
         for volumename in encfsgui_globals.g_Volumes:
             EncVolumeObj = encfsgui_globals.g_Volumes[volumename]
             if str(EncVolumeObj.preventautounmount) == "0":
                 self.UnmountVolume(volumename)
     return
Пример #17
0
 def SelectMountFolderClicked(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     folderName = str(
         QtWidgets.QFileDialog.getExistingDirectory(
             self, "Select Directory", self.txt_mountfolder.displayText(),
             QtWidgets.QFileDialog.ShowDirsOnly
             | QtWidgets.QFileDialog.DontResolveSymlinks))
     if folderName:
         self.txt_mountfolder.setText("%s" % folderName)
     return
Пример #18
0
 def AutoMount(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     # process automounts
     for volumename in encfsgui_globals.g_Volumes:
         EncVolumeObj = encfsgui_globals.g_Volumes[volumename]
         if str(EncVolumeObj.automount) == "1":
             if not EncVolumeObj.ismounted:
                 thispassword = self.getPasswordForVolume(volumename)
                 self.MountVolume(volumename, thispassword)
     return
Пример #19
0
 def AddVolumeButtonClicked(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     addvolumewindow = CVolumeWindow()
     addvolumewindow.show()
     addvolumewindow.setRunMode(1)    # add
     addvolumewindow.setFocus()
     addvolumewindow.activateWindow()
     addvolumewindow.exec_()
     self.RefreshVolumes()
     self.PopulateVolumeMenu()
     return       
Пример #20
0
 def HideButtonClicked(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     self.show_action.setEnabled(True)
     self.hide_action.setEnabled(False)
     if encfsgui_globals.g_Settings["clearkeywhenhidden"] == "true":
         print_debug("Hiding window, clearing masterkey")
         encfsgui_globals.masterkey = ""
     encfsgui_globals.ishidden = True
     self.PopulateVolumeMenu()   # will disable menu if needed
     self.hide()
     return
Пример #21
0
 def SelectProfileCustom(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     self.ciphercombo.setEnabled(True)
     self.keysizecombo.setEnabled(True)
     self.blocksizecombo.setEnabled(True)
     self.filenameencodingcombo.setEnabled(True)
     self.chk_perblockhmac.setEnabled(True)
     self.chk_perfileuniqueiv.setEnabled(True)
     self.chk_chainediv.setEnabled(True)
     self.chk_externaliv.setEnabled(True)
     return
Пример #22
0
 def CreateVolumeButtonClicked(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     self.checkFilenameEncodings()
     createvolumewindow = CVolumeWindow()
     createvolumewindow.show()
     createvolumewindow.setRunMode(0)    # create
     createvolumewindow.setFocus()
     createvolumewindow.activateWindow()
     createvolumewindow.exec_()
     self.RefreshVolumes()
     self.PopulateVolumeMenu()
     return
Пример #23
0
 def SelectWorkingFolderClicked(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     self.txt_workingfolder = self.findChild(QtWidgets.QLineEdit,
                                             'txt_workingfolder')
     options = QtWidgets.QFileDialog.Options()
     options |= QtWidgets.QFileDialog.DontUseNativeDialog
     folderName = str(
         QtWidgets.QFileDialog.getExistingDirectory(self,
                                                    "Select Directory"))
     if folderName:
         self.txt_workingfolder.setText("%s" % folderName)
     return
Пример #24
0
 def SelectVolumeTypeGoCryptFS(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     #disable the EncfS tab
     if self.runmode == 0:
         self.grp_encfsoptions.setEnabled(False)
         self.grp_gocryptfsoptions.setEnabled(True) 
         #set GoCryptFS tab in focus
         self.tab_encfs_options.setEnabled(False)
         self.tab_gocryptfs_options.setEnabled(True)
         self.tab_volumetypes.setCurrentWidget(self.tab_gocryptfs_options)  
         self.tab_gocryptfs_options.show()
     #self.chk_mountaslocal.setEnabled(False)
     return
Пример #25
0
 def TableEntrySelected(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     # update the currently selected volume
     encfsgui_globals.g_CurrentlySelected = ""
     selectedindex = 0
     for currentQTableWidgetItem in self.volumetable.selectedItems():
         if selectedindex == 1:
             encfsgui_globals.g_CurrentlySelected = currentQTableWidgetItem.text()
             encfsgui_helper.print_debug("Selected entry %s" % encfsgui_globals.g_CurrentlySelected)
         selectedindex += 1
     # enable/disable buttons accordingly
     self.EnableDisableButtons()
     return
Пример #26
0
 def SelectGocryptfsButtonClicked(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     self.txt_gocryptfsbinary = self.findChild(QtWidgets.QLineEdit,
                                               'txt_gocryptfsbinary')
     options = QtWidgets.QFileDialog.Options()
     options |= QtWidgets.QFileDialog.DontUseNativeDialog
     fileName, _ = QtWidgets.QFileDialog.getOpenFileName(
         self,
         "Select 'gocryptfs' binary",
         self.txt_gocryptfsbinary.displayText(),
         "All Files (*)",
         options=options)
     if fileName:
         self.txt_gocryptfsbinary.setText("%s" % fileName)
     return
Пример #27
0
 def SetttingsButtonClicked(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     settingswindow = CSettingsWindow()
     settingswindow.loadSettings()
     settingswindow.show()
     settingswindow.setFocus()
     settingswindow.activateWindow()
     settingswindow.exec_()
     # when dialog closes, refresh settings (in case user made a change)
     self.RefreshSettings()
     # don't refresh gui if gui is hidden, otherwise app might ask for master key
     if not encfsgui_globals.ishidden:
         self.RefreshVolumes()
     self.PopulateVolumeMenu()
     return
Пример #28
0
 def EditVolumeButtonClicked(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     self.checkFilenameEncodings()
     if encfsgui_globals.g_CurrentlySelected != "":
         editvolumewindow = CVolumeWindow()
         editvolumewindow.show()
         editvolumewindow.setRunMode(2)    # edit
         editvolumewindow.origvolumename = encfsgui_globals.g_CurrentlySelected
         editvolumewindow.PopulateFields(encfsgui_globals.g_CurrentlySelected)
         editvolumewindow.setFocus()
         editvolumewindow.activateWindow()
         editvolumewindow.exec_()
         encfsgui_globals.appconfig.getVolumes()
         self.RefreshVolumes()
     return 
Пример #29
0
 def ShowButtonClicked(self):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     self.show_action.setEnabled(False)
     self.hide_action.setEnabled(True)
     encfsgui_globals.ishidden = False
     self.show()
     # force reload of modules and update window
     self.lbl_infolabel.setText("")
     self.volumetable.clearContents()
     self.volumetable.setRowCount(0)
     encfsgui_globals.appconfig.getVolumes()
     self.RefreshVolumes()
     self.PopulateVolumeMenu()
     self.setFocus()
     return
Пример #30
0
 def getPasswordForVolume(self, volumename):
     encfsgui_helper.print_debug("Start %s" % inspect.stack()[0][3])
     thispassword = ""
     EncVolumeObj = encfsgui_globals.g_Volumes[volumename]
     if str(EncVolumeObj.passwordsaved) == "0":
         frmpassword = CMountPasswordWindow()
         frmpassword.setEncPath(EncVolumeObj.enc_path)
         frmpassword.setMountPath(EncVolumeObj.mount_path)
         frmpassword.setWindowTitle("Please enter password for volume '%s'" % volumename)
         frmpassword.show()
         frmpassword.setFocus()
         frmpassword.activateWindow()
         frmpassword.exec_()
         thispassword = frmpassword.getPassword()
     else:
         thispassword = str(encfsgui_helper.getKeyChainPassword(volumename))
     return thispassword