QString QMakeProperty::value(QString v, bool just_check) { if(v == "QT_INSTALL_PREFIX") return QLibraryInfo::location(QLibraryInfo::PrefixPath); else if(v == "QT_INSTALL_DATA") return QLibraryInfo::location(QLibraryInfo::DataPath); else if(v == "QT_INSTALL_DOCS") return QLibraryInfo::location(QLibraryInfo::DocumentationPath); else if(v == "QT_INSTALL_HEADERS") return QLibraryInfo::location(QLibraryInfo::HeadersPath); else if(v == "QT_INSTALL_LIBS") return QLibraryInfo::location(QLibraryInfo::LibrariesPath); else if(v == "QT_INSTALL_BINS") return QLibraryInfo::location(QLibraryInfo::BinariesPath); else if(v == "QT_INSTALL_PLUGINS") return QLibraryInfo::location(QLibraryInfo::PluginsPath); else if(v == "QT_INSTALL_IMPORTS") return QLibraryInfo::location(QLibraryInfo::ImportsPath); else if(v == "QT_INSTALL_TRANSLATIONS") return QLibraryInfo::location(QLibraryInfo::TranslationsPath); else if(v == "QT_INSTALL_CONFIGURATION") return QLibraryInfo::location(QLibraryInfo::SettingsPath); else if(v == "QT_INSTALL_EXAMPLES") return QLibraryInfo::location(QLibraryInfo::ExamplesPath); else if(v == "QT_INSTALL_DEMOS") return QLibraryInfo::location(QLibraryInfo::ExamplesPath); else if(v == "QMAKE_MKSPECS") return qmake_mkspec_paths().join(Option::dirlist_sep); else if(v == "QMAKE_VERSION") return qmake_version(); #ifdef QT_VERSION_STR else if(v == "QT_VERSION") return QT_VERSION_STR; #endif initSettings(); int slash = v.lastIndexOf('/'); QVariant var = settings->value(keyBase(slash == -1) + v); bool ok = var.isValid(); QString ret = var.toString(); if(!ok) { QString version = qmake_version(); if(slash != -1) { version = v.left(slash-1); v = v.mid(slash+1); } settings->beginGroup(keyBase(false)); QStringList subs = settings->childGroups(); settings->endGroup(); subs.sort(); for (int x = subs.count() - 1; x >= 0; x--) { QString s = subs[x]; if(s.isEmpty() || s > version) continue; var = settings->value(keyBase(false) + s + "/" + v); ok = var.isValid(); ret = var.toString(); if (ok) { if(!just_check) debug_msg(1, "Fell back from %s -> %s for '%s'.", version.toLatin1().constData(), s.toLatin1().constData(), v.toLatin1().constData()); return ret; } } } return ok ? ret : QString(); }
bool QMakeProperty::exec() { bool ret = true; if(Option::qmake_mode == Option::QMAKE_QUERY_PROPERTY) { if(Option::prop::properties.isEmpty()) { initSettings(); settings->beginGroup(keyBase(false)); QStringList subs = settings->childGroups(); settings->endGroup(); subs.sort(); for(int x = subs.count() - 1; x >= 0; x--) { QString s = subs[x]; if(s.isEmpty()) continue; settings->beginGroup(keyBase(false) + s); QStringList keys = settings->childKeys(); settings->endGroup(); for(QStringList::ConstIterator it2 = keys.begin(); it2 != keys.end(); it2++) { QString ret = settings->value(keyBase(false) + s + "/" + (*it2)).toString(); if(s != qmake_version()) fprintf(stdout, "%s/", s.toLatin1().constData()); fprintf(stdout, "%s:%s\n", (*it2).toLatin1().constData(), ret.toLatin1().constData()); } } QStringList specialProps; specialProps.append("QT_INSTALL_PREFIX"); specialProps.append("QT_INSTALL_DATA"); specialProps.append("QT_INSTALL_DOCS"); specialProps.append("QT_INSTALL_HEADERS"); specialProps.append("QT_INSTALL_LIBS"); specialProps.append("QT_INSTALL_BINS"); specialProps.append("QT_INSTALL_PLUGINS"); specialProps.append("QT_INSTALL_IMPORTS"); specialProps.append("QT_INSTALL_TRANSLATIONS"); specialProps.append("QT_INSTALL_CONFIGURATION"); specialProps.append("QT_INSTALL_EXAMPLES"); specialProps.append("QT_INSTALL_DEMOS"); specialProps.append("QMAKE_MKSPECS"); specialProps.append("QMAKE_VERSION"); #ifdef QT_VERSION_STR specialProps.append("QT_VERSION"); #endif foreach (QString prop, specialProps) fprintf(stdout, "%s:%s\n", prop.toLatin1().constData(), value(prop).toLatin1().constData()); return true; } for(QStringList::ConstIterator it = Option::prop::properties.begin(); it != Option::prop::properties.end(); it++) { if(Option::prop::properties.count() > 1) fprintf(stdout, "%s:", (*it).toLatin1().constData()); if(!hasValue((*it))) { ret = false; fprintf(stdout, "**Unknown**\n"); } else { fprintf(stdout, "%s\n", value((*it)).toLatin1().constData()); } } } else if(Option::qmake_mode == Option::QMAKE_SET_PROPERTY) { for(QStringList::ConstIterator it = Option::prop::properties.begin(); it != Option::prop::properties.end(); it++) { QString var = (*it); it++; if(it == Option::prop::properties.end()) { ret = false; break; } if(!var.startsWith(".")) setValue(var, (*it)); } } else if(Option::qmake_mode == Option::QMAKE_UNSET_PROPERTY) { for(QStringList::ConstIterator it = Option::prop::properties.begin(); it != Option::prop::properties.end(); it++) { QString var = (*it); if(!var.startsWith(".")) remove(var); } } return ret; }
void QMakeProperty::setValue(QString var, const QString &val) { initSettings(); settings->setValue(keyBase() + var, val); }
void QMakeProperty::remove(const QString &var) { initSettings(); settings->remove(keyBase() + var); }
void CalculatorTestApp::handleKey(widgetid_t keyPressed) { // keyMap origKeyMap = (keyMap)buttons->getMap(); switch (keyPressed) { case zero: case one: case two: case three: case four: case five: case six: case seven: case eight: case nine: case hex_a: case hex_b: case hex_c: case hex_d: case hex_e: case hex_f: keyDigit(keyPressed); break; case decimal: keyDecimal(); break; case enter: keyEnter(); break; case clear: keyClear(); break; case backspace: keyBackspace(); break; case shift: keyShift(); break; case ee: keyEE(); break; default: // the following are functions that accept the current input string acceptText(); switch (keyPressed) { case divide: keyDivide(); break; case multiply: keyMultiply(); break; case add: keyAdd(); break; case subtract: keySubtract(); break; case inverse: keyInverse(); break; case percent: keyPercent(); break; case swap: keySwap(); break; case changeBase: keyBase(); break; case send: keySend(); break; case square_f: keySquare(); break; case cube_f: keyCube(); break; case pow_f: keyPow(); break; case exp_f: keyExp(); break; case pow10_f: keyPow10(); break; case sqrt_f: keySqrt(); break; case cubert_f: keyCubert(); break; case xroot_f: keyXroot(); break; case ln_f: keyLn(); break; case log10_f: keyLog10(); break; case sin_f: keySin(); break; case cos_f: keyCos(); break; case tan_f: keyTan(); break; case pi_f: keyPi(); break; case e_f: keyE(); break; case asin_f: keyAsin(); break; case acos_f: keyAcos(); break; case atan_f: keyAtan(); break; case logy_f: keyLogy(); break; case log2_f: keyLog2(); break; case in2mm_f: keyIn2mm(); break; case mm2in_f: keyMm2In(); break; case g2lb_f: keyG2lb(); break; case lb2g_f: keyLb2g(); break; case c2f_f: keyC2f(); break; case f2c_f: keyF2c(); break; case ppi_f: keyPpi(); break; default: break; } } // if (origKeyMap == sci_map && buttons->getMap() == sci_map) { // buttons->setMap(basic_map); // } drawDisplay(); }