本文整理汇总了C++中JoyButtonSlot::getSlotMode方法的典型用法代码示例。如果您正苦于以下问题:C++ JoyButtonSlot::getSlotMode方法的具体用法?C++ JoyButtonSlot::getSlotMode怎么用?C++ JoyButtonSlot::getSlotMode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JoyButtonSlot
的用法示例。
在下文中一共展示了JoyButtonSlot::getSlotMode方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getTriggerPresetIndex
int JoyAxisContextMenu::getTriggerPresetIndex()
{
int result = 0;
PadderCommon::inputDaemonMutex.lock();
JoyAxisButton *paxisbutton = axis->getPAxisButton();
QList<JoyButtonSlot*> *paxisslots = paxisbutton->getAssignedSlots();
if (paxisslots->length() == 1)
{
JoyButtonSlot *pslot = paxisslots->at(0);
if (pslot->getSlotMode() == JoyButtonSlot::JoyMouseButton &&
pslot->getSlotCode() == JoyButtonSlot::MouseLB)
{
result = 1;
}
else if (pslot->getSlotMode() == JoyButtonSlot::JoyMouseButton &&
pslot->getSlotCode() == JoyButtonSlot::MouseRB)
{
result = 2;
}
}
else if (paxisslots->length() == 0)
{
result = 3;
}
PadderCommon::inputDaemonMutex.unlock();
return result;
}
示例2: insertDistanceSlot
void AdvanceButtonDialog::insertDistanceSlot()
{
int index = ui->slotListWidget->currentRow();
SimpleKeyGrabberButton *tempbutton = ui->slotListWidget->currentItem()->data(Qt::UserRole).value<SimpleKeyGrabberButton*>();
int tempDistance = 0;
for (int i = 0; i < ui->slotListWidget->count(); i++)
{
SimpleKeyGrabberButton *button = ui->slotListWidget->item(i)->data(Qt::UserRole).value<SimpleKeyGrabberButton*>();
JoyButtonSlot *tempbuttonslot = button->getValue();
if (tempbuttonslot->getSlotMode() == JoyButtonSlot::JoyDistance)
{
tempDistance += tempbuttonslot->getSlotCode();
}
else if (tempbuttonslot->getSlotMode() == JoyButtonSlot::JoyCycle)
{
tempDistance = 0;
}
}
int testDistance = ui->distanceSpinBox->value();
if (testDistance + tempDistance <= 100)
{
tempbutton->setValue(testDistance, JoyButtonSlot::JoyDistance);
// Stop all events on JoyButton
this->button->eventReset();
this->button->setAssignedSlot(testDistance, 0, index, JoyButtonSlot::JoyDistance);
updateSlotsScrollArea(testDistance);
}
}
示例3: selectTriggerPreset
void AxisEditDialog::selectTriggerPreset()
{
JoyAxisButton *paxisbutton = axis->getPAxisButton();
QList<JoyButtonSlot*> *paxisslots = paxisbutton->getAssignedSlots();
if (paxisslots->length() == 1)
{
JoyButtonSlot *pslot = paxisslots->at(0);
if (pslot->getSlotMode() == JoyButtonSlot::JoyMouseButton && pslot->getSlotCode() == JoyButtonSlot::MouseLB)
{
ui->presetsComboBox->setCurrentIndex(1);
}
else if (pslot->getSlotMode() == JoyButtonSlot::JoyMouseButton && pslot->getSlotCode() == JoyButtonSlot::MouseRB)
{
ui->presetsComboBox->setCurrentIndex(2);
}
else
{
ui->presetsComboBox->setCurrentIndex(0);
}
}
else if (paxisslots->length() == 0)
{
ui->presetsComboBox->setCurrentIndex(3);
}
else
{
ui->presetsComboBox->setCurrentIndex(0);
}
}
示例4: updateSlotsScrollArea
void AdvanceButtonDialog::updateSlotsScrollArea(int value)
{
int index = ui->slotListWidget->currentRow();
int itemcount = ui->slotListWidget->count();
if (index == (itemcount - 1) && value > 0)
{
appendBlankKeyGrabber();
}
else if (index < (itemcount - 1) && value == 0)
{
QListWidgetItem *item = ui->slotListWidget->takeItem(index);
delete item;
item = 0;
}
this->button->clearSlotsEventReset();
for (int i = 0; i < ui->slotListWidget->count(); i++)
{
SimpleKeyGrabberButton *button = ui->slotListWidget->item(i)->data(Qt::UserRole).value<SimpleKeyGrabberButton*>();
JoyButtonSlot *tempbuttonslot = button->getValue();
if (tempbuttonslot->getSlotCode() > 0)
{
JoyButtonSlot *buttonslot = new JoyButtonSlot(tempbuttonslot->getSlotCode(), tempbuttonslot->getSlotMode());
this->button->setAssignedSlot(buttonslot->getSlotCode(), buttonslot->getSlotMode());
}
}
changeTurboForSequences();
emit slotsChanged();
}
示例5: setFromPendingSlots
void JoyControlStickEditDialogHelper::setFromPendingSlots()
{
if (!pendingSlots.isEmpty())
{
QHashIterator<JoyControlStick::JoyStickDirections, JoyButtonSlot*> iter(pendingSlots);
while (iter.hasNext())
{
iter.next();
JoyButtonSlot *slot = iter.value();
if (slot)
{
JoyControlStick::JoyStickDirections tempDir = iter.key();
JoyControlStickButton *button = stick->getDirectionButton(tempDir);
if (button)
{
button->clearSlotsEventReset(false);
button->setAssignedSlot(slot->getSlotCode(), slot->getSlotCodeAlias(),
slot->getSlotMode());
}
slot->deleteLater();
}
}
}
}
示例6: changeTurboForSequences
void AdvanceButtonDialog::changeTurboForSequences()
{
bool containsSequences = false;
for (int i = 0; i < ui->slotListWidget->count() && !containsSequences; i++)
{
SimpleKeyGrabberButton *button = ui->slotListWidget->item(i)->data(Qt::UserRole).value<SimpleKeyGrabberButton*>();
JoyButtonSlot *tempbuttonslot = button->getValue();
if (tempbuttonslot->getSlotCode() > 0 &&
(tempbuttonslot->getSlotMode() == JoyButtonSlot::JoyPause ||
tempbuttonslot->getSlotMode() == JoyButtonSlot::JoyHold ||
tempbuttonslot->getSlotMode() == JoyButtonSlot::JoyDistance
)
)
{
containsSequences = true;
}
}
if (containsSequences)
{
if (ui->turboCheckbox->isChecked())
{
ui->turboCheckbox->setChecked(false);
this->button->setUseTurbo(false);
emit turboChanged(false);
}
if (ui->turboCheckbox->isEnabled())
{
ui->turboCheckbox->setEnabled(false);
emit turboButtonEnabledChange(false);
}
}
else
{
if (!ui->turboCheckbox->isEnabled())
{
ui->turboCheckbox->setEnabled(true);
emit turboButtonEnabledChange(true);
}
}
}
示例7: performStatsWidgetRefresh
void AdvanceButtonDialog::performStatsWidgetRefresh(QListWidgetItem *item)
{
SimpleKeyGrabberButton *tempbutton = item->data(Qt::UserRole).value<SimpleKeyGrabberButton*>();
JoyButtonSlot *slot = tempbutton->getValue();
if (slot->getSlotMode() == JoyButtonSlot::JoyPause)
{
refreshTimeComboBoxes(slot);
}
else if (slot->getSlotMode() == JoyButtonSlot::JoyRelease)
{
refreshTimeComboBoxes(slot);
}
else if (slot->getSlotMode() == JoyButtonSlot::JoyHold)
{
refreshTimeComboBoxes(slot);
}
else if (slot->getSlotMode() == JoyButtonSlot::JoyKeyPress)
{
refreshTimeComboBoxes(slot);
}
else if (slot->getSlotMode() == JoyButtonSlot::JoyDelay)
{
refreshTimeComboBoxes(slot);
}
else if (slot->getSlotMode() == JoyButtonSlot::JoyDistance)
{
disconnect(ui->distanceSpinBox, SIGNAL(valueChanged(int)), this, SLOT(checkSlotDistanceUpdate()));
ui->distanceSpinBox->setValue(slot->getSlotCode());
connect(ui->distanceSpinBox, SIGNAL(valueChanged(int)), this, SLOT(checkSlotDistanceUpdate()));
}
示例8: implementTriggerPresets
void AxisEditDialog::implementTriggerPresets(int index)
{
JoyButtonSlot *pbuttonslot = 0;
if (index == 1)
{
pbuttonslot = new JoyButtonSlot(JoyButtonSlot::MouseLB, JoyButtonSlot::JoyMouseButton, this);
}
else if (index == 2)
{
pbuttonslot = new JoyButtonSlot(JoyButtonSlot::MouseRB, JoyButtonSlot::JoyMouseButton, this);
}
else if (index == 3)
{
JoyAxisButton *nbutton = axis->getNAxisButton();
JoyAxisButton *pbutton = axis->getPAxisButton();
//nbutton->clearSlotsEventReset();
QMetaObject::invokeMethod(nbutton, "clearSlotsEventReset", Qt::BlockingQueuedConnection);
refreshNButtonLabel();
QMetaObject::invokeMethod(pbutton, "clearSlotsEventReset", Qt::BlockingQueuedConnection);
//pbutton->clearSlotsEventReset();
refreshPButtonLabel();
}
if (pbuttonslot)
{
JoyAxisButton *nbutton = axis->getNAxisButton();
JoyAxisButton *pbutton = axis->getPAxisButton();
if (nbutton->getAssignedSlots()->length() > 0)
{
QMetaObject::invokeMethod(nbutton, "clearSlotsEventReset", Qt::BlockingQueuedConnection,
Q_ARG(bool, false));
//nbutton->clearSlotsEventReset();
refreshNButtonLabel();
}
QMetaObject::invokeMethod(pbutton, "clearSlotsEventReset",
Q_ARG(bool, false));
//pbutton->clearSlotsEventReset(false);
QMetaObject::invokeMethod(pbutton, "setAssignedSlot", Qt::BlockingQueuedConnection,
Q_ARG(int, pbuttonslot->getSlotCode()),
Q_ARG(unsigned int, pbuttonslot->getSlotCodeAlias()),
Q_ARG(JoyButtonSlot::JoySlotInputAction, pbuttonslot->getSlotMode()));
//pbutton->setAssignedSlot(pbuttonslot->getSlotCode(), pbuttonslot->getSlotCodeAlias(), pbuttonslot->getSlotMode());
refreshPButtonLabel();
pbuttonslot->deleteLater();
}
示例9: updateSelectedSlot
void AdvanceButtonDialog::updateSelectedSlot(int value)
{
SimpleKeyGrabberButton *grabbutton = static_cast<SimpleKeyGrabberButton*>(sender());
JoyButtonSlot *tempbuttonslot = grabbutton->getValue();
int index = ui->slotListWidget->currentRow();
// Stop all events on JoyButton
this->button->eventReset();
this->button->setAssignedSlot(tempbuttonslot->getSlotCode(),
tempbuttonslot->getSlotCodeAlias(),
index,
tempbuttonslot->getSlotMode());
updateSlotsScrollArea(value);
}
示例10: QDialog
AdvanceButtonDialog::AdvanceButtonDialog(JoyButton *button, QWidget *parent) :
QDialog(parent, Qt::Dialog),
ui(new Ui::AdvanceButtonDialog)
{
ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
this->button = button;
oldRow = 0;
if (this->button->getToggleState())
{
ui->toggleCheckbox->setChecked(true);
}
if (this->button->isUsingTurbo())
{
ui->turboCheckbox->setChecked(true);
ui->turboSlider->setEnabled(true);
}
int interval = this->button->getTurboInterval() / 10;
if (interval < MINIMUMTURBO)
{
interval = JoyButton::ENABLEDTURBODEFAULT / 10;
}
ui->turboSlider->setValue(interval);
this->changeTurboText(interval);
QListIterator<JoyButtonSlot*> iter(*(this->button->getAssignedSlots()));
while (iter.hasNext())
{
JoyButtonSlot *buttonslot = iter.next();
SimpleKeyGrabberButton *existingCode = new SimpleKeyGrabberButton(this);
existingCode->setText(buttonslot->getSlotString());
existingCode->setValue(buttonslot->getSlotCode(), buttonslot->getSlotCodeAlias(), buttonslot->getSlotMode());
QListWidgetItem *item = new QListWidgetItem();
item->setData(Qt::UserRole, QVariant::fromValue<SimpleKeyGrabberButton*>(existingCode));
QHBoxLayout *layout= new QHBoxLayout();
layout->setContentsMargins(10, 0, 10, 0);
layout->addWidget(existingCode);
QWidget *widget = new QWidget();
widget->setLayout(layout);
item->setSizeHint(widget->sizeHint());
ui->slotListWidget->addItem(item);
ui->slotListWidget->setItemWidget(item, widget);
connectButtonEvents(existingCode);
}
appendBlankKeyGrabber();
populateSetSelectionComboBox();
if (this->button->getSetSelection() > -1 && this->button->getChangeSetCondition() != JoyButton::SetChangeDisabled)
{
int selectIndex = (int)this->button->getChangeSetCondition();
selectIndex += this->button->getSetSelection() * 3;
if (this->button->getOriginSet() < this->button->getSetSelection())
{
selectIndex -= 3;
}
ui->setSelectionComboBox->setCurrentIndex(selectIndex);
}
fillTimeComboBoxes();
ui->actionTenthsComboBox->setCurrentIndex(1);
updateActionTimeLabel();
changeTurboForSequences();
if (button->isCycleResetActive())
{
ui->autoResetCycleCheckBox->setEnabled(true);
ui->autoResetCycleCheckBox->setChecked(true);
checkCycleResetWidgetStatus(true);
}
if (button->getCycleResetTime() != 0)
{
populateAutoResetInterval();
}
updateWindowTitleButtonName();
connect(ui->turboCheckbox, SIGNAL(clicked(bool)), ui->turboSlider, SLOT(setEnabled(bool)));
connect(ui->turboSlider, SIGNAL(valueChanged(int)), this, SLOT(checkTurboIntervalValue(int)));
connect(ui->insertSlotButton, SIGNAL(clicked()), this, SLOT(insertSlot()));
connect(ui->deleteSlotButton, SIGNAL(clicked()), this, SLOT(deleteSlot()));
connect(ui->clearAllPushButton, SIGNAL(clicked()), this, SLOT(clearAllSlots()));
connect(ui->pausePushButton, SIGNAL(clicked()), this, SLOT(insertPauseSlot()));
connect(ui->holdPushButton, SIGNAL(clicked()), this, SLOT(insertHoldSlot()));
connect(ui->cyclePushButton, SIGNAL(clicked()), this, SLOT(insertCycleSlot()));
connect(ui->distancePushButton, SIGNAL(clicked()), this, SLOT(insertDistanceSlot()));
connect(ui->releasePushButton, SIGNAL(clicked()), this, SLOT(insertReleaseSlot()));
connect(ui->actionHundredthsComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateActionTimeLabel()));
connect(ui->actionSecondsComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateActionTimeLabel()));
//.........这里部分代码省略.........
示例11: selectCurrentPreset
void AxisEditDialog::selectCurrentPreset()
{
JoyAxisButton *naxisbutton = axis->getNAxisButton();
QList<JoyButtonSlot*> *naxisslots = naxisbutton->getAssignedSlots();
JoyAxisButton *paxisbutton = axis->getPAxisButton();
QList<JoyButtonSlot*> *paxisslots = paxisbutton->getAssignedSlots();
if (naxisslots->length() == 1 && paxisslots->length() == 1)
{
JoyButtonSlot *nslot = naxisslots->at(0);
JoyButtonSlot *pslot = paxisslots->at(0);
if (nslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && nslot->getSlotCode() == JoyButtonSlot::MouseLeft &&
pslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && pslot->getSlotCode() == JoyButtonSlot::MouseRight)
{
ui->presetsComboBox->setCurrentIndex(1);
}
else if (nslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && nslot->getSlotCode() == JoyButtonSlot::MouseRight &&
pslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && pslot->getSlotCode() == JoyButtonSlot::MouseLeft)
{
ui->presetsComboBox->setCurrentIndex(2);
}
else if (nslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && nslot->getSlotCode() == JoyButtonSlot::MouseUp &&
pslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && pslot->getSlotCode() == JoyButtonSlot::MouseDown)
{
ui->presetsComboBox->setCurrentIndex(3);
}
else if (nslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && nslot->getSlotCode() == JoyButtonSlot::MouseDown &&
pslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && pslot->getSlotCode() == JoyButtonSlot::MouseUp)
{
ui->presetsComboBox->setCurrentIndex(4);
}
else if (nslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)nslot->getSlotCode() == AntKeyMapper::returnVirtualKey(Qt::Key_Up) &&
pslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)pslot->getSlotCode() == AntKeyMapper::returnVirtualKey(Qt::Key_Down))
{
ui->presetsComboBox->setCurrentIndex(5);
}
else if (nslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)nslot->getSlotCode() == AntKeyMapper::returnVirtualKey(Qt::Key_Left) &&
pslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)pslot->getSlotCode() == AntKeyMapper::returnVirtualKey(Qt::Key_Right))
{
ui->presetsComboBox->setCurrentIndex(6);
}
else if (nslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)nslot->getSlotCode() == AntKeyMapper::returnVirtualKey(Qt::Key_W) &&
pslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)pslot->getSlotCode() == AntKeyMapper::returnVirtualKey(Qt::Key_S))
{
ui->presetsComboBox->setCurrentIndex(7);
}
else if (nslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)nslot->getSlotCode() == AntKeyMapper::returnVirtualKey(Qt::Key_A) &&
pslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)pslot->getSlotCode() == AntKeyMapper::returnVirtualKey(Qt::Key_D))
{
ui->presetsComboBox->setCurrentIndex(8);
}
else if (nslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)nslot->getSlotCode() == AntKeyMapper::returnVirtualKey(QtKeyMapperBase::AntKey_KP_8) &&
pslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)pslot->getSlotCode() == AntKeyMapper::returnVirtualKey(QtKeyMapperBase::AntKey_KP_2))
{
ui->presetsComboBox->setCurrentIndex(9);
}
else if (nslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)nslot->getSlotCode() == AntKeyMapper::returnVirtualKey(QtKeyMapperBase::AntKey_KP_4) &&
pslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)pslot->getSlotCode() == AntKeyMapper::returnVirtualKey(QtKeyMapperBase::AntKey_KP_6))
{
ui->presetsComboBox->setCurrentIndex(10);
}
else
{
ui->presetsComboBox->setCurrentIndex(0);
}
}
else if (naxisslots->length() == 0 && paxisslots->length() == 0)
{
ui->presetsComboBox->setCurrentIndex(11);
}
else
{
ui->presetsComboBox->setCurrentIndex(0);
}
}
示例12: implementPresets
//.........这里部分代码省略.........
upButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_8), QtKeyMapperBase::AntKey_KP_8, JoyButtonSlot::JoyKeyboard, this);
downButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_2), QtKeyMapperBase::AntKey_KP_2, JoyButtonSlot::JoyKeyboard, this);
leftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_4), QtKeyMapperBase::AntKey_KP_4, JoyButtonSlot::JoyKeyboard, this);
rightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_6), QtKeyMapperBase::AntKey_KP_6, JoyButtonSlot::JoyKeyboard, this);
}
else if (ui->joyModeComboBox->currentIndex() == 1)
{
upButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_8), QtKeyMapperBase::AntKey_KP_8, JoyButtonSlot::JoyKeyboard, this);
downButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_2), QtKeyMapperBase::AntKey_KP_2, JoyButtonSlot::JoyKeyboard, this);
leftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_4), QtKeyMapperBase::AntKey_KP_4, JoyButtonSlot::JoyKeyboard, this);
rightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_6), QtKeyMapperBase::AntKey_KP_6, JoyButtonSlot::JoyKeyboard, this);
upLeftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_7), QtKeyMapperBase::AntKey_KP_7, JoyButtonSlot::JoyKeyboard, this);
upRightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_9), QtKeyMapperBase::AntKey_KP_9, JoyButtonSlot::JoyKeyboard, this);
downLeftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_1), QtKeyMapperBase::AntKey_KP_1, JoyButtonSlot::JoyKeyboard, this);
downRightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_3), QtKeyMapperBase::AntKey_KP_3, JoyButtonSlot::JoyKeyboard, this);
}
else if (ui->joyModeComboBox->currentIndex() == 3)
{
upLeftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_7), QtKeyMapperBase::AntKey_KP_7, JoyButtonSlot::JoyKeyboard, this);
upRightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_9), QtKeyMapperBase::AntKey_KP_9, JoyButtonSlot::JoyKeyboard, this);
downLeftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_1), QtKeyMapperBase::AntKey_KP_1, JoyButtonSlot::JoyKeyboard, this);
downRightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_3), QtKeyMapperBase::AntKey_KP_3, JoyButtonSlot::JoyKeyboard, this);
}
}
else if (index == 8)
{
QHash<int, JoyDPadButton*> *buttons = dpad->getButtons();
QHashIterator<int, JoyDPadButton*> iter(*buttons);
while (iter.hasNext())
{
JoyDPadButton *button = iter.next().value();
button->clearSlotsEventReset();
}
}
if (upButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadUp);
button->clearSlotsEventReset(false);
button->setAssignedSlot(upButtonSlot->getSlotCode(), upButtonSlot->getSlotCodeAlias(), upButtonSlot->getSlotMode());
upButtonSlot->deleteLater();
}
if (downButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadDown);
button->clearSlotsEventReset(false);
button->setAssignedSlot(downButtonSlot->getSlotCode(), downButtonSlot->getSlotCodeAlias(), downButtonSlot->getSlotMode());
downButtonSlot->deleteLater();
}
if (leftButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadLeft);
button->clearSlotsEventReset(false);
button->setAssignedSlot(leftButtonSlot->getSlotCode(), leftButtonSlot->getSlotCodeAlias(), leftButtonSlot->getSlotMode());
leftButtonSlot->deleteLater();
}
if (rightButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadRight);
button->clearSlotsEventReset(false);
button->setAssignedSlot(rightButtonSlot->getSlotCode(), rightButtonSlot->getSlotCodeAlias(), rightButtonSlot->getSlotMode());
rightButtonSlot->deleteLater();
}
if (upLeftButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadLeftUp);
button->clearSlotsEventReset(false);
button->setAssignedSlot(upLeftButtonSlot->getSlotCode(), upLeftButtonSlot->getSlotCodeAlias(), upLeftButtonSlot->getSlotMode());
upLeftButtonSlot->deleteLater();
}
if (upRightButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadRightUp);
button->clearSlotsEventReset(false);
button->setAssignedSlot(upRightButtonSlot->getSlotCode(), upRightButtonSlot->getSlotCodeAlias(), upRightButtonSlot->getSlotMode());
upRightButtonSlot->deleteLater();
}
if (downLeftButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadLeftDown);
button->clearSlotsEventReset(false);
button->setAssignedSlot(downLeftButtonSlot->getSlotCode(), downLeftButtonSlot->getSlotCodeAlias(), downLeftButtonSlot->getSlotMode());
downLeftButtonSlot->deleteLater();
}
if (downRightButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadRightDown);
button->clearSlotsEventReset(false);
button->setAssignedSlot(downRightButtonSlot->getSlotCode(), downRightButtonSlot->getSlotCodeAlias(), downRightButtonSlot->getSlotMode());
downRightButtonSlot->deleteLater();
}
}
示例13: selectCurrentPreset
void DPadEditDialog::selectCurrentPreset()
{
JoyDPadButton *upButton = dpad->getJoyButton(JoyDPadButton::DpadUp);
QList<JoyButtonSlot*> *upslots = upButton->getAssignedSlots();
JoyDPadButton *downButton = dpad->getJoyButton(JoyDPadButton::DpadDown);
QList<JoyButtonSlot*> *downslots = downButton->getAssignedSlots();
JoyDPadButton *leftButton = dpad->getJoyButton(JoyDPadButton::DpadLeft);
QList<JoyButtonSlot*> *leftslots = leftButton->getAssignedSlots();
JoyDPadButton *rightButton = dpad->getJoyButton(JoyDPadButton::DpadRight);
QList<JoyButtonSlot*> *rightslots = rightButton->getAssignedSlots();
if (upslots->length() == 1 && downslots->length() == 1 && leftslots->length() == 1 && rightslots->length() == 1)
{
JoyButtonSlot *upslot = upslots->at(0);
JoyButtonSlot *downslot = downslots->at(0);
JoyButtonSlot *leftslot = leftslots->at(0);
JoyButtonSlot *rightslot = rightslots->at(0);
if (upslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && upslot->getSlotCode() == JoyButtonSlot::MouseUp &&
downslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && downslot->getSlotCode() == JoyButtonSlot::MouseDown &&
leftslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && leftslot->getSlotCode() == JoyButtonSlot::MouseLeft &&
rightslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && rightslot->getSlotCode() == JoyButtonSlot::MouseRight)
{
ui->presetsComboBox->setCurrentIndex(1);
}
else if (upslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && upslot->getSlotCode() == JoyButtonSlot::MouseUp &&
downslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && downslot->getSlotCode() == JoyButtonSlot::MouseDown &&
leftslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && leftslot->getSlotCode() == JoyButtonSlot::MouseRight &&
rightslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && rightslot->getSlotCode() == JoyButtonSlot::MouseLeft)
{
ui->presetsComboBox->setCurrentIndex(2);
}
else if (upslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && upslot->getSlotCode() == JoyButtonSlot::MouseDown &&
downslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && downslot->getSlotCode() == JoyButtonSlot::MouseUp &&
leftslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && leftslot->getSlotCode() == JoyButtonSlot::MouseLeft &&
rightslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && rightslot->getSlotCode() == JoyButtonSlot::MouseRight)
{
ui->presetsComboBox->setCurrentIndex(3);
}
else if (upslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && upslot->getSlotCode() == JoyButtonSlot::MouseDown &&
downslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && downslot->getSlotCode() == JoyButtonSlot::MouseUp &&
leftslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && leftslot->getSlotCode() == JoyButtonSlot::MouseRight &&
rightslot->getSlotMode() == JoyButtonSlot::JoyMouseMovement && rightslot->getSlotCode() == JoyButtonSlot::MouseLeft)
{
ui->presetsComboBox->setCurrentIndex(4);
}
else if (upslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)upslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(Qt::Key_Up) &&
downslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)downslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(Qt::Key_Down) &&
leftslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)leftslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(Qt::Key_Left) &&
rightslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)rightslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(Qt::Key_Right))
{
ui->presetsComboBox->setCurrentIndex(5);
}
else if (upslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)upslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(Qt::Key_W) &&
downslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)downslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(Qt::Key_S) &&
leftslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)leftslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(Qt::Key_A) &&
rightslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)rightslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(Qt::Key_D))
{
ui->presetsComboBox->setCurrentIndex(6);
}
else if (upslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)upslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_8) &&
downslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)downslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_2) &&
leftslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)leftslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_4) &&
rightslot->getSlotMode() == JoyButtonSlot::JoyKeyboard && (unsigned int)rightslot->getSlotCode() == AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_6))
{
ui->presetsComboBox->setCurrentIndex(7);
}
}
else if (upslots->length() == 0 && downslots->length() == 0 && leftslots->length() == 0 && rightslots->length() == 0)
{
ui->presetsComboBox->setCurrentIndex(8);
}
}
示例14: if
AdvanceButtonDialog::AdvanceButtonDialog(JoyButton *button, QWidget *parent) :
QDialog(parent, Qt::Window),
ui(new Ui::AdvanceButtonDialog)
{
ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
this->button = button;
oldRow = 0;
if (this->button->getToggleState())
{
ui->toggleCheckbox->setChecked(true);
}
if (this->button->isUsingTurbo())
{
ui->turboCheckbox->setChecked(true);
ui->turboSlider->setEnabled(true);
}
int interval = this->button->getTurboInterval() / 10;
if (interval < MINIMUMTURBO)
{
interval = JoyButton::ENABLEDTURBODEFAULT / 10;
}
ui->turboSlider->setValue(interval);
this->changeTurboText(interval);
QListIterator<JoyButtonSlot*> iter(*(this->button->getAssignedSlots()));
while (iter.hasNext())
{
JoyButtonSlot *buttonslot = iter.next();
SimpleKeyGrabberButton *existingCode = new SimpleKeyGrabberButton(this);
existingCode->setText(buttonslot->getSlotString());
existingCode->setValue(buttonslot->getSlotCode(), buttonslot->getSlotMode());
//existingCode->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
connectButtonEvents(existingCode);
QListWidgetItem *item = new QListWidgetItem();
ui->slotListWidget->addItem(item);
item->setData(Qt::UserRole, QVariant::fromValue<SimpleKeyGrabberButton*>(existingCode));
QHBoxLayout *layout= new QHBoxLayout();
layout->addWidget(existingCode);
QWidget *widget = new QWidget();
widget->setLayout(layout);
item->setSizeHint(widget->sizeHint());
ui->slotListWidget->setItemWidget(item, widget);
}
appendBlankKeyGrabber();
if (this->button->getSetSelection() > -1 && this->button->getChangeSetCondition() != JoyButton::SetChangeDisabled)
{
int offset = (int)this->button->getChangeSetCondition();
ui->setSelectionComboBox->setCurrentIndex((this->button->getSetSelection() * 3) + offset);
}
if (this->button->getOriginSet() == 0)
{
ui->setSelectionComboBox->model()->removeRows(1, 3);
}
else if (this->button->getOriginSet() == 1)
{
ui->setSelectionComboBox->model()->removeRows(4, 3);
}
else if (this->button->getOriginSet() == 2)
{
ui->setSelectionComboBox->model()->removeRows(7, 3);
}
else if (this->button->getOriginSet() == 3)
{
ui->setSelectionComboBox->model()->removeRows(10, 3);
}
else if (this->button->getOriginSet() == 4)
{
ui->setSelectionComboBox->model()->removeRows(13, 3);
}
else if (this->button->getOriginSet() == 5)
{
ui->setSelectionComboBox->model()->removeRows(16, 3);
}
else if (this->button->getOriginSet() == 6)
{
ui->setSelectionComboBox->model()->removeRows(19, 3);
}
else if (this->button->getOriginSet() == 7)
{
ui->setSelectionComboBox->model()->removeRows(22, 3);
}
updateActionTimeLabel();
changeTurboForSequences();
setWindowTitle(tr("Advanced").append(": ").append(button->getPartialName()));
connect(ui->turboCheckbox, SIGNAL(clicked(bool)), ui->turboSlider, SLOT(setEnabled(bool)));
connect(ui->turboSlider, SIGNAL(valueChanged(int)), this, SLOT(checkTurboIntervalValue(int)));
//.........这里部分代码省略.........
示例15: setDPadPreset
//.........这里部分代码省略.........
upButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_8), QtKeyMapperBase::AntKey_KP_8, JoyButtonSlot::JoyKeyboard, this);
downButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_2), QtKeyMapperBase::AntKey_KP_2, JoyButtonSlot::JoyKeyboard, this);
leftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_4), QtKeyMapperBase::AntKey_KP_4, JoyButtonSlot::JoyKeyboard, this);
rightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_6), QtKeyMapperBase::AntKey_KP_6, JoyButtonSlot::JoyKeyboard, this);
}
else if (dpad->getJoyMode() == JoyDPad::EightWayMode)
{
upButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_8), QtKeyMapperBase::AntKey_KP_8, JoyButtonSlot::JoyKeyboard, this);
downButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_2), QtKeyMapperBase::AntKey_KP_2, JoyButtonSlot::JoyKeyboard, this);
leftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_4), QtKeyMapperBase::AntKey_KP_4, JoyButtonSlot::JoyKeyboard, this);
rightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_6), QtKeyMapperBase::AntKey_KP_6, JoyButtonSlot::JoyKeyboard, this);
upLeftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_7), QtKeyMapperBase::AntKey_KP_7, JoyButtonSlot::JoyKeyboard, this);
upRightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_9), QtKeyMapperBase::AntKey_KP_9, JoyButtonSlot::JoyKeyboard, this);
downLeftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_1), QtKeyMapperBase::AntKey_KP_1, JoyButtonSlot::JoyKeyboard, this);
downRightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_3), QtKeyMapperBase::AntKey_KP_3, JoyButtonSlot::JoyKeyboard, this);
}
else if (dpad->getJoyMode() == JoyDPad::FourWayDiagonal)
{
upLeftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_7), QtKeyMapperBase::AntKey_KP_7, JoyButtonSlot::JoyKeyboard, this);
upRightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_9), QtKeyMapperBase::AntKey_KP_9, JoyButtonSlot::JoyKeyboard, this);
downLeftButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_1), QtKeyMapperBase::AntKey_KP_1, JoyButtonSlot::JoyKeyboard, this);
downRightButtonSlot = new JoyButtonSlot(AntKeyMapper::getInstance()->returnVirtualKey(QtKeyMapperBase::AntKey_KP_3), QtKeyMapperBase::AntKey_KP_3, JoyButtonSlot::JoyKeyboard, this);
}
}
else if (item == 7)
{
QHash<int, JoyDPadButton*> *buttons = dpad->getButtons();
QHashIterator<int, JoyDPadButton*> iter(*buttons);
while (iter.hasNext())
{
JoyDPadButton *button = iter.next().value();
button->clearSlotsEventReset();
}
}
if (upButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadUp);
button->clearSlotsEventReset(false);
button->setAssignedSlot(upButtonSlot->getSlotCode(), upButtonSlot->getSlotCodeAlias(), upButtonSlot->getSlotMode());
upButtonSlot->deleteLater();
}
if (downButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadDown);
button->clearSlotsEventReset(false);
button->setAssignedSlot(downButtonSlot->getSlotCode(), downButtonSlot->getSlotCodeAlias(), downButtonSlot->getSlotMode());
downButtonSlot->deleteLater();
}
if (leftButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadLeft);
button->clearSlotsEventReset(false);
button->setAssignedSlot(leftButtonSlot->getSlotCode(), leftButtonSlot->getSlotCodeAlias(), leftButtonSlot->getSlotMode());
leftButtonSlot->deleteLater();
}
if (rightButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadRight);
button->clearSlotsEventReset(false);
button->setAssignedSlot(rightButtonSlot->getSlotCode(), rightButtonSlot->getSlotCodeAlias(), rightButtonSlot->getSlotMode());
rightButtonSlot->deleteLater();
}
if (upLeftButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadLeftUp);
button->clearSlotsEventReset(false);
button->setAssignedSlot(upLeftButtonSlot->getSlotCode(), upLeftButtonSlot->getSlotCodeAlias(), upLeftButtonSlot->getSlotMode());
upLeftButtonSlot->deleteLater();
}
if (upRightButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadRightUp);
button->clearSlotsEventReset(false);
button->setAssignedSlot(upRightButtonSlot->getSlotCode(), upRightButtonSlot->getSlotCodeAlias(), upRightButtonSlot->getSlotMode());
upRightButtonSlot->deleteLater();
}
if (downLeftButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadLeftDown);
button->clearSlotsEventReset(false);
button->setAssignedSlot(downLeftButtonSlot->getSlotCode(), downLeftButtonSlot->getSlotCodeAlias(), downLeftButtonSlot->getSlotMode());
downLeftButtonSlot->deleteLater();
}
if (downRightButtonSlot)
{
JoyDPadButton *button = dpad->getJoyButton(JoyDPadButton::DpadRightDown);
button->clearSlotsEventReset(false);
button->setAssignedSlot(downRightButtonSlot->getSlotCode(), downRightButtonSlot->getSlotCodeAlias(), downRightButtonSlot->getSlotMode());
downRightButtonSlot->deleteLater();
}
}