QString JoyButtonSlot::getSlotString() { QString newlabel; if (deviceCode >= 0) { if (mode == JoyButtonSlot::JoyKeyboard) { newlabel = newlabel.append(keysymToKeyString(deviceCode, qkeyaliasCode).toUpper()); } else if (mode == JoyButtonSlot::JoyMouseButton) { newlabel.append(tr("Mouse")).append(" "); switch (deviceCode) { case 1: newlabel.append(tr("LB")); break; case 2: newlabel.append(tr("MB")); break; case 3: newlabel.append(tr("RB")); break; #ifdef Q_OS_WIN case 8: newlabel.append(tr("B4")); break; case 9: newlabel.append(tr("B5")); break; #endif default: newlabel.append(QString::number(deviceCode)); break; } } else if (mode == JoyMouseMovement) { newlabel.append(movementString()); } else if (mode == JoyPause) { int minutes = deviceCode / 1000 / 60; int seconds = (deviceCode / 1000 % 60); int hundredths = deviceCode % 1000 / 10; newlabel.append(tr("Pause")).append(" "); if (minutes > 0) { newlabel.append(QString("%1:").arg(minutes, 2, 10, QChar('0'))); } newlabel.append(QString("%1.%2") .arg(seconds, 2, 10, QChar('0')) .arg(hundredths, 2, 10, QChar('0'))); } else if (mode == JoyHold) { int minutes = deviceCode / 1000 / 60; int seconds = (deviceCode / 1000 % 60); int hundredths = deviceCode % 1000 / 10; newlabel.append(tr("Hold")).append(" "); if (minutes > 0) { newlabel.append(QString("%1:").arg(minutes, 2, 10, QChar('0'))); } newlabel.append(QString("%1.%2") .arg(seconds, 2, 10, QChar('0')) .arg(hundredths, 2, 10, QChar('0'))); } else if (mode == JoyButtonSlot::JoyCycle) { newlabel.append(tr("Cycle")); } else if (mode == JoyDistance) { QString temp(tr("Distance")); temp.append(" ").append(QString::number(deviceCode).append("%")); newlabel.append(temp); } else if (mode == JoyRelease) { int minutes = deviceCode / 1000 / 60; int seconds = (deviceCode / 1000 % 60); int hundredths = deviceCode % 1000 / 10; newlabel.append(tr("Release")).append(" "); if (minutes > 0) { newlabel.append(QString("%1:").arg(minutes, 2, 10, QChar('0'))); } newlabel.append(QString("%1.%2") .arg(seconds, 2, 10, QChar('0')) .arg(hundredths, 2, 10, QChar('0'))); } else if (mode == JoyMouseSpeedMod) { QString temp; temp.append(tr("Mouse Mod")).append(" "); temp.append(QString::number(deviceCode).append("%")); newlabel.append(temp); } else if (mode == JoyKeyPress) { int minutes = deviceCode / 1000 / 60; int seconds = (deviceCode / 1000 % 60); int hundredths = deviceCode % 1000 / 10; QString temp; temp.append(tr("Press Time")).append(" "); if (minutes > 0) { temp.append(QString("%1:").arg(minutes, 2, 10, QChar('0'))); } temp.append(QString("%1.%2") .arg(seconds, 2, 10, QChar('0')) .arg(hundredths, 2, 10, QChar('0'))); newlabel.append(temp); } else if (mode == JoyDelay) { int minutes = deviceCode / 1000 / 60; int seconds = (deviceCode / 1000 % 60); int hundredths = deviceCode % 1000 / 10; QString temp; temp.append(tr("Delay")).append(" "); if (minutes > 0) { temp.append(QString("%1:").arg(minutes, 2, 10, QChar('0'))); } temp.append(QString("%1.%2") .arg(seconds, 2, 10, QChar('0')) .arg(hundredths, 2, 10, QChar('0'))); newlabel.append(temp); } else if (mode == JoyLoadProfile) { if (!textData.isEmpty()) { QFileInfo profileInfo(textData); QString temp; temp.append(tr("Load %1").arg(profileInfo.baseName())); newlabel.append(temp); } } else if (mode == JoySetChange) { newlabel.append(tr("Set Change %1").arg(deviceCode+1)); } } else { newlabel = newlabel.append(tr("[NO KEY]")); } return newlabel; }
QString JoyButtonSlot::getSlotString() { QString newlabel; if (deviceCode >= 0) { if (mode == JoyButtonSlot::JoyKeyboard) { unsigned int tempDeviceCode = deviceCode; #ifdef Q_OS_WIN QtKeyMapperBase *nativeWinKeyMapper = AntKeyMapper::getInstance()->getNativeKeyMapper(); if (nativeWinKeyMapper) { tempDeviceCode = nativeWinKeyMapper->returnVirtualKey(qkeyaliasCode); } #endif newlabel = newlabel.append(keysymToKeyString(tempDeviceCode, qkeyaliasCode).toUpper()); } else if (mode == JoyButtonSlot::JoyMouseButton) { newlabel.append(tr("Mouse")).append(" "); switch (deviceCode) { case 1: newlabel.append(tr("LB")); break; case 2: newlabel.append(tr("MB")); break; case 3: newlabel.append(tr("RB")); break; #ifdef Q_OS_WIN case 8: newlabel.append(tr("B4")); break; case 9: newlabel.append(tr("B5")); break; #endif default: newlabel.append(QString::number(deviceCode)); break; } } else if (mode == JoyMouseMovement) { newlabel.append(movementString()); } else if (mode == JoyPause) { int minutes = deviceCode / 1000 / 60; int seconds = (deviceCode / 1000 % 60); int hundredths = deviceCode % 1000 / 10; newlabel.append(tr("Pause")).append(" "); if (minutes > 0) { newlabel.append(QString("%1:").arg(minutes, 2, 10, QChar('0'))); } newlabel.append(QString("%1.%2") .arg(seconds, 2, 10, QChar('0')) .arg(hundredths, 2, 10, QChar('0'))); } else if (mode == JoyHold) { int minutes = deviceCode / 1000 / 60; int seconds = (deviceCode / 1000 % 60); int hundredths = deviceCode % 1000 / 10; newlabel.append(tr("Hold")).append(" "); if (minutes > 0) { newlabel.append(QString("%1:").arg(minutes, 2, 10, QChar('0'))); } newlabel.append(QString("%1.%2") .arg(seconds, 2, 10, QChar('0')) .arg(hundredths, 2, 10, QChar('0'))); } else if (mode == JoyButtonSlot::JoyCycle) { newlabel.append(tr("Cycle")); } else if (mode == JoyDistance) { QString temp(tr("Distance")); temp.append(" ").append(QString::number(deviceCode).append("%")); newlabel.append(temp); } else if (mode == JoyRelease) { int minutes = deviceCode / 1000 / 60; int seconds = (deviceCode / 1000 % 60); int hundredths = deviceCode % 1000 / 10; newlabel.append(tr("Release")).append(" "); if (minutes > 0) { newlabel.append(QString("%1:").arg(minutes, 2, 10, QChar('0'))); } newlabel.append(QString("%1.%2") .arg(seconds, 2, 10, QChar('0')) .arg(hundredths, 2, 10, QChar('0'))); } else if (mode == JoyMouseSpeedMod) { QString temp; temp.append(tr("Mouse Mod")).append(" "); temp.append(QString::number(deviceCode).append("%")); newlabel.append(temp); } else if (mode == JoyKeyPress) { int minutes = deviceCode / 1000 / 60; int seconds = (deviceCode / 1000 % 60); int hundredths = deviceCode % 1000 / 10; QString temp; temp.append(tr("Press Time")).append(" "); if (minutes > 0) { temp.append(QString("%1:").arg(minutes, 2, 10, QChar('0'))); } temp.append(QString("%1.%2") .arg(seconds, 2, 10, QChar('0')) .arg(hundredths, 2, 10, QChar('0'))); newlabel.append(temp); } else if (mode == JoyDelay) { int minutes = deviceCode / 1000 / 60; int seconds = (deviceCode / 1000 % 60); int hundredths = deviceCode % 1000 / 10; QString temp; temp.append(tr("Delay")).append(" "); if (minutes > 0) { temp.append(QString("%1:").arg(minutes, 2, 10, QChar('0'))); } temp.append(QString("%1.%2") .arg(seconds, 2, 10, QChar('0')) .arg(hundredths, 2, 10, QChar('0'))); newlabel.append(temp); } else if (mode == JoyLoadProfile) { if (!textData.isEmpty()) { QFileInfo profileInfo(textData); QString temp; temp.append(tr("Load %1").arg(profileInfo.baseName())); newlabel.append(temp); } } else if (mode == JoySetChange) { newlabel.append(tr("Set Change %1").arg(deviceCode+1)); } else if (mode == JoyTextEntry) { QString temp = textData; if (temp.length() > MAXTEXTENTRYDISPLAYLENGTH) { temp.truncate(MAXTEXTENTRYDISPLAYLENGTH - 3); temp.append("..."); } newlabel.append(tr("[Text] %1").arg(temp)); } else if (mode == JoyExecute) { QString temp; if (!textData.isEmpty()) { QFileInfo tempFileInfo(textData); temp.append(tempFileInfo.fileName()); } newlabel.append(tr("[Exec] %1").arg(temp)); } } else { newlabel = newlabel.append(tr("[NO KEY]")); } return newlabel; }