def initUI(self): """ Init widget """ vbox = QVBoxLayout() vbox.addSpacing(2) # Head hbox = QHBoxLayout() hbox.addSpacing(2) # Create button which returns to the menu self._buttonBack = QPushButton(QIcon(PATH_IMAGE_BACK_NEDDLE), "", self) self._buttonBack.clicked.connect(self.signalController.back2menu) hbox.addWidget(self._buttonBack, 0, QtCore.Qt.AlignLeft) # Header of this widget self._headWidget = QLabel("About game") hbox.addWidget(self._headWidget, 1, QtCore.Qt.AlignCenter) vbox.addLayout(hbox, 0) # Create text about game text = ABOUT_GAME_STR self.textAboutGame = QLabel(text) self.textAboutGame.setWordWrap(True) self.setFont(QFont("Times", 12, QFont.Bold)) vbox.addWidget(self.textAboutGame, 1, QtCore.Qt.AlignCenter) self.setLayout(vbox) self.setWindowTitle("About game")
def initUI(self): """ Init widget """ vbox = QVBoxLayout() vbox.addSpacing(2) # Head hbox = QHBoxLayout() hbox.addSpacing(3) # Create button which returns to the menu self._buttonBack = QPushButton(QIcon(PATH_IMAGE_BACK_NEDDLE), "", self) self._buttonBack.clicked.connect(self.signalController.back2menu) hbox.addWidget(self._buttonBack, 0, QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) # Header of this widget self._headWidget = QLabel("Add new figure") hbox.addWidget(self._headWidget, 1, QtCore.Qt.AlignCenter | QtCore.Qt.AlignTop) # Create button to choose color of new figure self._pickColorButton = QPushButton('Pick color') self._pickColorButton.clicked.connect(self.update_color_name) hbox.addWidget(self._pickColorButton, 2, QtCore.Qt.AlignRight | QtCore.Qt.AlignTop) # Create button to save figure self._saveFigureButton = QPushButton('Save') self._saveFigureButton.clicked.connect(self.save_figure_shape) hbox.addWidget(self._saveFigureButton, 2, QtCore.Qt.AlignRight | QtCore.Qt.AlignTop) vbox.addLayout(hbox, 0) grid = QGridLayout() self._sheet = [] self._choosenFigureList = [] self._proposedFiguresList = [] self._savedColor = 'black' for i in range(self.MAX_X): row = [] for j in range(self.MAX_Y): single = DrawBlockQFrame(self.signalPressedFrames, j, i) if i == 3 and j == 3: # Button in the center - must be with blur color # Save figure - possible only if blue button also clicked # This magic stuff are made in order to simplify saving figure single.COLOR_DEFAULT = 'blue' single.default_color() self.centerSheet = single row.append(single) grid.addWidget(single, i, j) self._sheet.append(row) vbox.addLayout(grid, 1) self.setLayout(vbox) self.setWindowTitle("Add new figure")
def home(self): """ Add the GUI elements to the window that represent the home state of the application. """ toolbar = self.addToolBar("File") play = QAction(QIcon("res/icon_play.png"), "Play", self) toolbar.addAction(play) pause = QAction(QIcon("res/icon_pause.png"), "Pause", self) toolbar.addAction(pause) toolbar.addSeparator() quit_app = QAction(QIcon("res/icon_quit.png"), "Quit", self) toolbar.addAction(quit_app) toolbar.addSeparator() reset = QAction(QIcon("res/icon_reset.png"), "Reset", self) toolbar.addAction(reset) toolbar.actionTriggered[QAction].connect(self.toolbar_pressed) layout = QVBoxLayout() layout.addWidget(self._wator_widget) layout.addSpacing(10) slider_layout = QHBoxLayout() slider_layout.addWidget(QLabel("Tick Speed", self)) slider = QSlider() slider.setTickPosition(QSlider.TicksBothSides) slider.setTickInterval(25) slider.setRange(0, 500) slider.setSingleStep(1) slider.setOrientation(Qt.Horizontal) slider.valueChanged.connect(self._set_tick_value) slider.setValue(self._tickpause) slider_layout.addWidget(slider) layout.addLayout(slider_layout) layout.addSpacing(10) layout.addWidget(self._wator_graph) self.centralWidget().setLayout(layout)
def __init__(self, parent, data): assert type(data) == BinaryView self.bv = data QDialog.__init__(self, parent) debug_state = binjaplug.get_state(self.bv) self.setWindowTitle("Debug Adapter Settings") self.setMinimumSize(UIContext.getScaledWindowSize(400, 130)) self.setAttribute(Qt.WA_DeleteOnClose) layout = QVBoxLayout() layout.setSpacing(0) titleLabel = QLabel("Adapter Settings") titleLayout = QHBoxLayout() titleLayout.setContentsMargins(0, 0, 0, 0) titleLayout.addWidget(titleLabel) self.adapterEntry = QPushButton(self) self.adapterMenu = QMenu(self) for adapter in DebugAdapter.ADAPTER_TYPE: if not DebugAdapter.ADAPTER_TYPE.can_use(adapter): continue def select_adapter(adapter): return lambda: self.selectAdapter(adapter) self.adapterMenu.addAction(adapter.name, select_adapter(adapter)) if adapter == debug_state.adapter_type: self.adapterEntry.setText(adapter.name) self.adapterEntry.setMenu(self.adapterMenu) self.argumentsEntry = QLineEdit(self) self.addressEntry = QLineEdit(self) self.portEntry = QLineEdit(self) self.requestTerminalEmulator = QCheckBox(self) self.formLayout = QFormLayout() self.formLayout.addRow("Adapter Type", self.adapterEntry) self.formLayout.addRow("Command Line Arguments", self.argumentsEntry) self.formLayout.addRow("Address", self.addressEntry) self.formLayout.addRow("Port", self.portEntry) self.formLayout.addRow("Request Terminal Emulator", self.requestTerminalEmulator) buttonLayout = QHBoxLayout() buttonLayout.setContentsMargins(0, 0, 0, 0) self.cancelButton = QPushButton("Cancel") self.cancelButton.clicked.connect(lambda: self.reject()) self.acceptButton = QPushButton("Accept") self.acceptButton.clicked.connect(lambda: self.accept()) self.acceptButton.setDefault(True) buttonLayout.addStretch(1) buttonLayout.addWidget(self.cancelButton) buttonLayout.addWidget(self.acceptButton) layout.addLayout(titleLayout) layout.addSpacing(10) layout.addLayout(self.formLayout) layout.addStretch(1) layout.addSpacing(10) layout.addLayout(buttonLayout) self.setLayout(layout) self.addressEntry.setText(debug_state.remote_host) self.portEntry.setText(str(debug_state.remote_port)) self.addressEntry.textEdited.connect(lambda: self.apply()) self.portEntry.textEdited.connect(lambda: self.apply()) self.argumentsEntry.setText(' '.join( shlex.quote(arg) for arg in debug_state.command_line_args)) self.argumentsEntry.textEdited.connect(lambda: self.updateArguments()) self.requestTerminalEmulator.setChecked( debug_state.request_terminal_emulator) self.requestTerminalEmulator.stateChanged.connect(lambda: self.apply()) self.accepted.connect(lambda: self.apply())
class AddSteamWidget(TritonWidget): def __init__(self, base, *args, **kwargs): TritonWidget.__init__(self, base, *args, **kwargs) self.sharedSecret = None self.identitySecret = None self.steamId = None self.type = Globals.SteamAuth self.setWindowTitle('Add Steam') self.setBackgroundColor(self, Qt.white) self.boxLayout = QVBoxLayout(self) self.boxLayout.setContentsMargins(20, 20, 20, 20) self.nameWidget = TextboxWidget(base, 'Name:') self.steamIdWidget = TextboxWidget(base, 'Steam ID:') self.sharedWidget = TextboxWidget(base, 'Shared Secret:') self.identityWidget = TextboxWidget(base, 'Identity Secret:') self.verifyLabel = QLabel() self.verifyLabel.setText('Click the Verify button to check the first code.') self.verifyLabel.setFont(QFont('Helvetica', 10)) self.verifyBox = QLineEdit() self.verifyBox.setFixedWidth(150) self.verifyBox.setFont(QFont('Helvetica', 10)) self.verifyBox.setEnabled(False) palette = QPalette() palette.setColor(QPalette.Text, Qt.black) self.verifyBox.setPalette(palette) self.verifyBox.setAlignment(Qt.AlignCenter) self.verifyButton = QPushButton('Verify') self.verifyButton.clicked.connect(self.checkVerify) self.verifyButton.setFixedWidth(150) self.addButton = QPushButton('OK') self.addButton.clicked.connect(self.add) self.boxLayout.addWidget(self.nameWidget) self.boxLayout.addWidget(self.steamIdWidget) self.boxLayout.addWidget(self.sharedWidget) self.boxLayout.addWidget(self.identityWidget) self.boxLayout.addSpacing(10) self.boxLayout.addWidget(self.verifyLabel) self.boxLayout.addWidget(self.verifyBox, 0, Qt.AlignCenter) self.boxLayout.addWidget(self.verifyButton, 0, Qt.AlignCenter) self.boxLayout.addSpacing(10) self.boxLayout.addWidget(self.addButton, 0, Qt.AlignRight) self.setFixedSize(self.sizeHint()) self.center() self.show() def getName(self): return self.nameWidget.box.text() def getAccount(self): return {'name': self.getName(), 'type': self.type, 'sharedSecret': self.sharedSecret, 'identitySecret': self.identitySecret, 'steamId': self.steamId, 'icon': 'icons/SteamIcon.png'} def invalidateSecret(self, text=''): self.sharedSecret = None self.identitySecret = None self.steamId = None self.verifyBox.setText(text) def checkVerify(self): self.sharedSecret = self.sharedWidget.box.text() self.identitySecret = self.identityWidget.box.text() self.steamId = self.steamIdWidget.box.text() if not self.sharedSecret or not self.identitySecret or not self.steamId: self.invalidateSecret('Invalid') return try: self.verifyBox.setText(self.base.getAuthCode(self.getAccount())) except: self.invalidateSecret('Invalid') def add(self): if not self.sharedSecret or not self.getName(): return self.base.addAccount(self.getAccount()) self.close()
class AddOTPWidget(TritonWidget): def __init__(self, base, *args, **kwargs): TritonWidget.__init__(self, base, *args, **kwargs) self.key = None self.type = Globals.OTPAuth self.setWindowTitle('Add Authenticator') self.setBackgroundColor(self, Qt.white) self.boxLayout = QVBoxLayout(self) self.boxLayout.setContentsMargins(20, 20, 20, 20) self.nameWidget = TextboxWidget(base, 'Name:') self.secretLabel = QLabel() self.secretLabel.setText( 'Enter the Secret Code. If you have a QR code,\nyou can paste the URL of the image instead.' ) self.secretLabel.setFont(QFont('Helvetica', 10)) self.secretBox = QLineEdit() self.secretBox.setFixedWidth(300) self.secretBox.setFont(QFont('Helvetica', 10)) self.secretBox.textChanged.connect( lambda text: self.invalidateSecret()) self.verifyLabel = QLabel() self.verifyLabel.setText( 'Click the Verify button to check the first code.') self.verifyLabel.setFont(QFont('Helvetica', 10)) self.verifyBox = QLineEdit() self.verifyBox.setFixedWidth(150) self.verifyBox.setFont(QFont('Helvetica', 10)) self.verifyBox.setEnabled(False) palette = QPalette() palette.setColor(QPalette.Text, Qt.black) self.verifyBox.setPalette(palette) self.verifyBox.setAlignment(Qt.AlignCenter) self.verifyButton = QPushButton('Verify') self.verifyButton.clicked.connect(self.checkVerify) self.verifyButton.setFixedWidth(150) self.addButton = QPushButton('OK') self.addButton.clicked.connect(self.add) self.boxLayout.addWidget(self.nameWidget) self.boxLayout.addSpacing(10) self.boxLayout.addWidget(self.secretLabel) self.boxLayout.addWidget(self.secretBox) self.boxLayout.addSpacing(10) self.boxLayout.addWidget(self.verifyLabel) self.boxLayout.addWidget(self.verifyBox, 0, Qt.AlignCenter) self.boxLayout.addWidget(self.verifyButton, 0, Qt.AlignCenter) self.boxLayout.addSpacing(10) self.boxLayout.addWidget(self.addButton, 0, Qt.AlignRight) self.setFixedSize(self.sizeHint()) self.center() self.show() def getName(self): return self.nameWidget.box.text() def getAccount(self): return { 'name': self.getName(), 'type': self.type, 'key': self.key, 'icon': 'icons/WinAuthIcon.png' } def invalidateSecret(self, value=''): self.key = None self.verifyBox.setText(value) def checkVerify(self): self.key = self.secretBox.text() if not self.key: self.invalidateSecret('Invalid') return self.key = self.base.readQRLink(self.key) or self.key self.key = self.key.upper().replace(' ', '') try: self.verifyBox.setText(self.base.getAuthCode(self.getAccount())) except: self.invalidateSecret('Invalid') def add(self): if not self.key or not self.getName(): return self.base.addAccount(self.getAccount()) self.close()