ButtonEditDialog::ButtonEditDialog(JoyButton *button, QWidget *parent) : QDialog(parent, Qt::Window), ui(new Ui::ButtonEditDialog) { ui->setupUi(this); #ifdef Q_OS_WIN setMinimumHeight(460); #endif setAttribute(Qt::WA_DeleteOnClose); ignoreRelease = false; this->button = button; ui->virtualKeyMouseTabWidget->hide(); ui->virtualKeyMouseTabWidget->deleteLater(); ui->virtualKeyMouseTabWidget = new VirtualKeyboardMouseWidget(button, this); ui->virtualKeyMouseTabWidget->setFocus(); ui->verticalLayout->insertWidget(1, ui->virtualKeyMouseTabWidget); ui->slotSummaryLabel->setText(button->getSlotsString()); updateWindowTitleButtonName(); ui->toggleCheckBox->setChecked(button->getToggleState()); ui->turboCheckBox->setChecked(button->isUsingTurbo()); if (!button->getActionName().isEmpty()) { ui->actionNameLineEdit->setText(button->getActionName()); } if (!button->getButtonName().isEmpty()) { ui->buttonNameLineEdit->setText(button->getButtonName()); } connect(ui->virtualKeyMouseTabWidget, SIGNAL(selectionCleared()), this, SLOT(refreshSlotSummaryLabel())); connect(ui->virtualKeyMouseTabWidget, SIGNAL(selectionFinished()), this, SLOT(close())); connect(this, SIGNAL(keyGrabbed(JoyButtonSlot*)), this, SLOT(processSlotAssignment(JoyButtonSlot*))); connect(this, SIGNAL(selectionCleared()), this, SLOT(clearButtonSlots())); connect(this, SIGNAL(selectionCleared()), this, SLOT(sendSelectionFinished())); connect(this, SIGNAL(selectionFinished()), this, SLOT(close())); connect(ui->toggleCheckBox, SIGNAL(clicked()), this, SLOT(changeToggleSetting())); connect(ui->turboCheckBox, SIGNAL(clicked()), this, SLOT(changeTurboSetting())); connect(ui->advancedPushButton, SIGNAL(clicked()), this, SLOT(openAdvancedDialog())); connect(this, SIGNAL(advancedDialogOpened()), ui->virtualKeyMouseTabWidget, SLOT(establishVirtualKeyboardAdvancedSignalConnections())); connect(this, SIGNAL(advancedDialogOpened()), ui->virtualKeyMouseTabWidget, SLOT(establishVirtualMouseAdvancedSignalConnections())); connect(ui->virtualKeyMouseTabWidget, SIGNAL(selectionMade(int)), this, SLOT(createTempSlot(int))); connect(ui->actionNameLineEdit, SIGNAL(textEdited(QString)), button, SLOT(setActionName(QString))); connect(ui->buttonNameLineEdit, SIGNAL(textEdited(QString)), button, SLOT(setButtonName(QString))); connect(button, SIGNAL(toggleChanged(bool)), ui->toggleCheckBox, SLOT(setChecked(bool))); connect(button, SIGNAL(turboChanged(bool)), this, SLOT(checkTurboSetting(bool))); connect(button, SIGNAL(slotsChanged()), this, SLOT(refreshSlotSummaryLabel())); connect(button, SIGNAL(buttonNameChanged()), this, SLOT(updateWindowTitleButtonName())); }
void ButtonEditDialog::closedAdvancedDialog() { ui->advancedPushButton->setEnabled(true); // Re-connect previously disconnected event connect(this, SIGNAL(keyGrabbed(JoyButtonSlot*)), this, SLOT(processSlotAssignment(JoyButtonSlot*))); connect(this, SIGNAL(selectionCleared()), this, SLOT(clearButtonSlots())); connect(this, SIGNAL(selectionCleared()), this, SLOT(sendSelectionFinished())); connect(this, SIGNAL(selectionFinished()), this, SLOT(close())); }
void VirtualKeyboardMouseWidget::establishVirtualKeyboardAdvancedSignalConnections() { QList<VirtualKeyPushButton*> newlist = keyboardTab->findChildren<VirtualKeyPushButton*> (); QListIterator<VirtualKeyPushButton*> iter(newlist); while (iter.hasNext()) { VirtualKeyPushButton *keybutton = iter.next(); disconnect(keybutton, SIGNAL(keycodeObtained(int, unsigned int)), 0, 0); connect(keybutton, SIGNAL(keycodeObtained(int, unsigned int)), this, SLOT(processAdvancedKeyboardSelection(int))); } disconnect(noneButton, SIGNAL(clicked()), 0, 0); connect(noneButton, SIGNAL(clicked()), this, SLOT(clearButtonSlots())); }