Changeset 16561


Ignore:
Timestamp:
Aug 19, 2016, 8:15:53 PM (3 years ago)
Author:
dcorreia
Message:

Added toggle for smartcard login status.
Added popup window for custom resets.
Updated design.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • internals/2016/linuxloginsmartcardwizard/trunk/proto1/mainwin.py

    r16545 r16561  
    1515        self.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
    1616        self.setEnabled(True)
    17         self.resize(550, 480)
     17        self.setFixedSize(550, 480)
    1818        self.setAutoFillBackground(True)
    1919        self.centerOnScreen()
    20        
     20        self.setWindowTitle("SmartCard Login")
     21
    2122        self.centralwidget = QtWidgets.QWidget(self)
    2223       
     
    3132
    3233        self.layoutWidget = QtWidgets.QWidget(self.centralwidget)
    33         self.layoutWidget.setGeometry(QtCore.QRect(75, 120, 400, 300))
     34        self.layoutWidget.setGeometry(QtCore.QRect(75, 110, 360, 300))
    3435        self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget)
    3536        self.verticalLayout.setSpacing(40)
     
    4041        self.addUserButton.setIcon(QtGui.QIcon("img/add-business-card-symbol.png"))
    4142        self.addUserButton.setIconSize(QtCore.QSize(50, 50))
     43        self.addUserButton.setStyleSheet("text-align: left;"
     44                                         "padding-left: 20px;")
    4245        self.verticalLayout.addWidget(self.addUserButton)
    4346       
     
    4750        self.listConfigButton.setIcon(QtGui.QIcon("img/business-cards-database.png"))
    4851        self.listConfigButton.setIconSize(QtCore.QSize(50, 50))
     52        self.listConfigButton.setStyleSheet("text-align: left;"
     53                                            "padding-left: 20px;")
    4954        self.verticalLayout.addWidget(self.listConfigButton)
    5055       
     
    5459        self.resetConfigButton.setIcon(QtGui.QIcon("img/minus-sign-on-business-card.png"))
    5560        self.resetConfigButton.setIconSize(QtCore.QSize(50, 50))
     61        self.resetConfigButton.setStyleSheet("text-align: left;"
     62                                             "padding-left: 20px;")
    5663        self.verticalLayout.addWidget(self.resetConfigButton)
    5764
     65        self.statusbar = QtWidgets.QStatusBar(self)
     66        self.statusbar.setMinimumHeight(30)
     67        self.statusbar.setContentsMargins(0, 0, 0, 0)
     68        self.statusbarLabel = QtWidgets.QLabel(self.statusbar)
     69
     70        self.statusbarLabel.setStyleSheet("margin-left: 335px")
     71        self.statusbar.addWidget(self.statusbarLabel, 10)
     72
     73        self.statusbarSlider = QtWidgets.QSlider(QtCore.Qt.Horizontal, self.statusbar)
     74        self.statusbarSlider.setMinimum(0)
     75        self.statusbarSlider.setMaximum(1)
     76
     77        self.statusbar.addWidget(self.statusbarSlider, 1)
     78        self.checkLoginStatus()
     79        self.setStatusBar(self.statusbar)
    5880        self.setCentralWidget(self.centralwidget)
    5981
     
    6385        self.title.setText("SmartCard Login Configuration")
    6486        self.addUserButton.setText("    Assign Card to User Login")
    65         self.listConfigButton.setText("      List Local Configurations")
    66         self.resetConfigButton.setText("    Reset Login Configurations")
     87        self.listConfigButton.setText("    List Login Configurations")
     88        self.resetConfigButton.setText("    Remove Login Configurations")
    6789
    6890        self.addUserButton.clicked.connect(self.openAddUserWizard)
    6991        self.listConfigButton.clicked.connect(self.listCurrentConfigs)
    7092        self.resetConfigButton.clicked.connect(self.resetLoginConfigs)
     93        self.statusbarSlider.valueChanged.connect(self.changeLoginStatus)
    7194
    7295        self.wizardProcess = None
     96        self.popup = None
    7397
    7498    def centerOnScreen(self):
     
    103127                                                    "before trying to reset the login configurations.\n\n")
    104128        else:
    105             if self.checkResetPopup():
    106                 fileHelper.executeCommand("python3 main.py reset")
    107                 self.messageBox.information(self, "Finished reset",
    108                                                   "Finished reset of smartcard login configurations.")
     129            self.popup = resetPopup()
     130            self.popup.show()
    109131
    110132    def checkResetPopup(self):
     
    127149            return True
    128150
     151    def checkLoginStatus(self):
     152        if config.isPcks11LoginActive():
     153            self.statusbarLabel.setText("Smartcard Login Enabled")
     154            self.statusbarSlider.setValue(self.statusbarSlider.maximum())
     155        else:
     156            self.statusbarLabel.setText("Smartcard Login Disabled")
     157            self.statusbarSlider.setValue(self.statusbarSlider.minimum())
     158
     159    def changeLoginStatus(self):
     160        if config.isPcks11LoginActive():
     161            config.disablePkcs11Login()
     162        else:
     163            config.enablePkcs11Login()
     164        self.checkLoginStatus()
     165
    129166    def closeEvent(self, QCloseEvent):
     167        if self.popup is not None:
     168            self.popup.close()
    130169        if self.isWizardProcessActive():
    131170            reply = self.messageBox.warning(self, "Title",  "\nYou have an add user login wizard open.\n\n"
     
    143182            QCloseEvent.accept()
    144183
     184
     185class resetPopup(QtWidgets.QWidget):
     186    def __init__(self):
     187        super(resetPopup, self).__init__()
     188        self.resize(550, 400)
     189        self.centerOnScreen()
     190        self.setWindowTitle("Remove Login Configurations")
     191
     192    def centerOnScreen(self):
     193        resolution = QtWidgets.QDesktopWidget().screenGeometry()
     194        self.move((resolution.width() / 2) - (self.frameSize().width() / 2),
     195                  (resolution.height() / 2) - (self.frameSize().height() / 2))
     196
    145197if __name__ == "__main__":
    146198    import sys
Note: See TracChangeset for help on using the changeset viewer.