qreal MStyleSheetAttribute::attributeToFloat(const QByteArray &attribute, bool *conversionOk) { QByteArray value = attribute.trimmed(); if (attribute.endsWith(units[PIXELS_UNIT])) { // strip "px" from the end value.truncate(value.length() - 2); return value.toFloat(conversionOk); } if (attribute.endsWith(units[MM_UNIT])) { // strip "mm" from the end value.truncate(value.length() - 2); return MDeviceProfile::instance()->mmToPixelsF(value.toFloat(conversionOk)); } if (attribute.endsWith(units[PT_UNIT])) { // strip "pt" from the end value.truncate(value.length() - 2); return MDeviceProfile::instance()->ptToPixelsF(value.toFloat(conversionOk)); } return value.toFloat(conversionOk); }
static float getEnvFloat(const char* name, float defaultValue) { QByteArray stringValue = qgetenv(name); bool ok; float value = stringValue.toFloat(&ok); return ok ? value : defaultValue; }
void TopLevel::answerReceived( int id, const QList<QByteArray> &answerList ) { // we have received an answer from the daemon. QByteArray answer; if(!answerList.isEmpty()) answer = answerList[0]; QString s; static QString unit; static qlonglong mFree = 0; static qlonglong mUsedApplication = 0; static qlonglong mUsedTotal = 0; static qlonglong sUsed = 0; static qlonglong sFree = 0; switch ( id ) { case 1: s = i18n( "CPU: %1%\xc2\x9c%1%", (int) (100 - answer.toFloat()) ); sbCpuStat->setText( s ); break; case 2: mFree = answer.toLongLong(); break; case 3: mUsedTotal = answer.toLongLong(); break; case 4: mUsedApplication = answer.toLongLong(); //Use a multi-length string s = i18nc( "Arguments are formatted byte sizes (used/total)", "Memory: %1 / %2" "\xc2\x9c" "Mem: %1 / %2" "\xc2\x9c" "Mem: %1" "\xc2\x9c" "%1", KFormat().formatByteSize( mUsedApplication*1024), KFormat().formatByteSize( (mFree+mUsedTotal)*1024 ) ); sbMemTotal->setText( s ); break; case 5: sFree = answer.toLongLong(); break; case 6: sUsed = answer.toLongLong(); setSwapInfo( sUsed, sFree, unit ); break; case 7: { KSGRD::SensorIntegerInfo info( answer ); unit = KSGRD::SensorMgr->translateUnit( info.unit() ); break; } } }
void PingPong::readSocket() { if (!socket) return; const char sep = ' '; QByteArray line; while (socket->canReadLine()) { line = socket->readLine(); //qDebug() << QString::fromUtf8(line.constData(), line.length()); if (line.contains("result")) { QList<QByteArray> result = line.split(sep); if (result.size() > 2) { QByteArray leftSide = result.at(1); QByteArray rightSide = result.at(2); m_resultLeft = leftSide.toInt(); m_resultRight = rightSide.toInt(); Q_EMIT resultChanged(); checkResult(); } } } if ((m_proportionX == 0 || m_proportionY == 0)) { QList<QByteArray> boardSize = line.split(sep); if (boardSize.size() > 1) { QByteArray boardWidth = boardSize.at(0); QByteArray boardHeight = boardSize.at(1); m_proportionX = m_boardWidth/boardWidth.toFloat(); m_proportionY = m_boardHeight/boardHeight.toFloat(); setMessage("Screen adjusted. Get ready!"); QTimer::singleShot(3000, this, SLOT(startGame())); } } else if (m_role == 1) { QList<QByteArray> boardSize = line.split(sep); if (boardSize.size() > 1) { QByteArray rightBlockY = boardSize.at(0); m_rightBlockY = m_proportionY * rightBlockY.toFloat(); Q_EMIT rightBlockChanged(); } } else if (m_role == 2) { QList<QByteArray> boardSize = line.split(sep); if (boardSize.size() > 2) { QByteArray ballX = boardSize.at(0); QByteArray ballY = boardSize.at(1); QByteArray leftBlockY = boardSize.at(2); m_ballX = m_proportionX * ballX.toFloat(); m_ballY = m_proportionY * ballY.toFloat(); m_leftBlockY = m_proportionY * leftBlockY.toFloat(); Q_EMIT leftBlockChanged(); Q_EMIT ballChanged(); } } }
qreal MStyleSheetAttribute::attributeToFloat(const QByteArray &attribute, bool *conversionOk, SizeAttributeType type, M::Orientation orientation, CacheOrientationFlags *cacheOrientation) { QByteArray value = attribute.trimmed(); if (attribute.endsWith(units[PERCENT_UNIT])) { int maximumValue = maxValueForDevice(type, orientation); *cacheOrientation = (orientation==M::Landscape) ? LandscapeFlag : PortraitFlag; value.truncate(value.length() - 1); // convert to integer value qreal v = value.toFloat(conversionOk);//myAtof(value, conversionOk); return(v / 100.f * (float) maximumValue); } else { return attributeToFloat(attribute, conversionOk); } }
bool Field::setDefaultValue(const QByteArray& def) { if (def.isNull()) { m_defaultValue = QVariant(); return true; } bool ok; switch (type()) { case Byte: { unsigned int v = def.toUInt(&ok); if (!ok || v > 255) m_defaultValue = QVariant(); else m_defaultValue = QVariant(v); break; } case ShortInteger: { int v = def.toInt(&ok); if (!ok || (!(m_options & Unsigned) && (v < -32768 || v > 32767)) || ((m_options & Unsigned) && (v < 0 || v > 65535))) m_defaultValue = QVariant(); else m_defaultValue = QVariant(v); break; } case Integer: {//4 bytes long v = def.toLong(&ok); //js: FIXME if (!ok || (!(m_options & Unsigned) && (-v > 0x080000000 || v > (0x080000000-1))) || ((m_options & Unsigned) && (v < 0 || v > 0x100000000))) if (!ok || (!(m_options & Unsigned) && (-v > (int)0x07FFFFFFF || v > (int)(0x080000000 - 1)))) m_defaultValue = QVariant(); else m_defaultValue = QVariant((qint64)v); break; } case BigInteger: {//8 bytes //! @todo BigInteger support /* qint64 long v = def.toLongLong(&ok); //TODO: 2-part decoding if (!ok || (!(m_options & Unsigned) && (-v > 0x080000000 || v > (0x080000000-1)))) m_defaultValue = QVariant(); else if (m_options & Unsigned) m_defaultValue=QVariant((quint64) v); else m_defaultValue = QVariant((qint64)v);*/ break; } case Boolean: { unsigned short v = def.toUShort(&ok); if (!ok || v > 1) m_defaultValue = QVariant(); else m_defaultValue = QVariant((bool)v); break; } case Date: {//YYYY-MM-DD QDate date = QDate::fromString(def, Qt::ISODate); if (!date.isValid()) m_defaultValue = QVariant(); else m_defaultValue = QVariant(date); break; } case DateTime: {//YYYY-MM-DDTHH:MM:SS QDateTime dt = QDateTime::fromString(def, Qt::ISODate); if (!dt.isValid()) m_defaultValue = QVariant(); else m_defaultValue = QVariant(dt); break; } case Time: {//HH:MM:SS QTime time = QTime::fromString(def, Qt::ISODate); if (!time.isValid()) m_defaultValue = QVariant(); else m_defaultValue = QVariant(time); break; } case Float: { float v = def.toFloat(&ok); if (!ok || ((m_options & Unsigned) && (v < 0.0))) m_defaultValue = QVariant(); else m_defaultValue = QVariant(v); break; } case Double: { double v = def.toDouble(&ok); if (!ok || ((m_options & Unsigned) && (v < 0.0))) m_defaultValue = QVariant(); else m_defaultValue = QVariant(v); break; } case Text: { if (def.isNull() || (uint(def.length()) > maxLength())) m_defaultValue = QVariant(); else m_defaultValue = QVariant((QString)def); break; } case LongText: { if (def.isNull()) m_defaultValue = QVariant(); else m_defaultValue = QVariant((QString)def); break; } case BLOB: { //TODO if (def.isNull()) m_defaultValue = QVariant(); else m_defaultValue = QVariant(def); break; } default: m_defaultValue = QVariant(); } return m_defaultValue.isNull(); }