diff --git a/lib/jkqtcommon/jkqtpstringtools.cpp b/lib/jkqtcommon/jkqtpstringtools.cpp index 459ded2ded..a502019e10 100644 --- a/lib/jkqtcommon/jkqtpstringtools.cpp +++ b/lib/jkqtcommon/jkqtpstringtools.cpp @@ -20,6 +20,7 @@ #include "jkqtcommon/jkqtpstringtools.h" #include "jkqtcommon/jkqtpmathtools.h" +#include #include #include #include @@ -649,3 +650,190 @@ QString jkqtp_floattohtmlqstr(double data, int past_comma, bool remove_trail0, d { return QString::fromStdString(jkqtp_floattohtmlstr(data, past_comma, remove_trail0, belowIsZero, minNoExponent, maxNoExponent)); } + + +QString jkVariantListToString(const QList& data, const QString& separator) { + QString r=""; + QLocale loc=QLocale::c(); + loc.setNumberOptions(QLocale::OmitGroupSeparator); + for (int i=0; i0) r=r+separator; + QVariant v=data[i]; +#if (QT_VERSION>=QT_VERSION_CHECK(6, 0, 0)) + if (v.typeId()==QMetaType::Bool) r=r+loc.toString(v.toBool()); + else if (v.typeId()==QMetaType::Char) r=r+loc.toString(v.toInt()); + else if (v.typeId()==QMetaType::QDate) r=r+loc.toString(v.toDate()); + else if (v.typeId()==QMetaType::QDateTime) r=r+loc.toString(v.toDateTime()); + else if (v.typeId()==QMetaType::Double) r=r+loc.toString(v.toDouble()); + else if (v.typeId()==QMetaType::Int) r=r+loc.toString(v.toInt()); + else if (v.typeId()==QMetaType::LongLong) r=r+loc.toString(v.toLongLong()); + else if (v.typeId()==QMetaType::QString) r=r+QString("\"%1\"").arg(v.toString().replace("\"", "_").replace("\t", " ").replace("\r", "").replace("\n", " ").replace(",", " ").replace(";", " ")); + else if (v.typeId()==QMetaType::QTime) r=r+loc.toString(v.toTime()); + else if (v.typeId()==QMetaType::UInt) r=r+loc.toString(v.toUInt()); + else if (v.typeId()==QMetaType::ULongLong) r=r+loc.toString(v.toULongLong()); + else r=r+v.toString(); + +#else + switch (v.type()) { + + case QVariant::Bool: r=r+loc.toString(v.toBool()); break; + case QVariant::Char: r=r+loc.toString(v.toInt()); break; + case QVariant::Date: r=r+loc.toString(v.toDate()); break; + case QVariant::DateTime: r=r+loc.toString(v.toDateTime()); break; + case QVariant::Double: r=r+loc.toString(v.toDouble()); break; + case QVariant::Int: r=r+loc.toString(v.toInt()); break; + case QVariant::LongLong: r=r+loc.toString(v.toLongLong()); break; + case QVariant::String: r=r+QString("\"%1\"").arg(v.toString().replace("\"", "_").replace("\t", " ").replace("\r", "").replace("\n", " ").replace(",", " ").replace(";", " ")); break; + case QVariant::Time: r=r+loc.toString(v.toTime()); break; + case QVariant::UInt: r=r+loc.toString(v.toUInt()); break; + case QVariant::ULongLong: r=r+loc.toString(v.toULongLong()); break; + //case : r=r+loc.toString(v.); break; + default: r=r+v.toString(); break; + } +#endif + } + return r; +} + +JKQTCOMMON_LIB_EXPORT QString jkqtp_filenameize(const QString& data) { + QString r; + QString data1=data.simplified(); + for (int i=0; i=QT_VERSION_CHECK(6, 0, 0)) + const auto c=data1[i]; +#else + QCharRef c=data1[i]; +#endif + if (c.isLetterOrNumber() || (c=='-') || (c=='_') || (c=='.')) { + r+=c; + } else { + r+='_'; + } + } + return r; +} + +QString jkqtp_toValidVariableName(const QString& input) { + QString out=""; + for (int i=0; i0)) out=out+input[i]; + if ((input[i]=='_')&&(out.size()>0)) out=out+input[i]; + } + return out; +} + +QString jkqtp_KeyboardModifiers2String(Qt::KeyboardModifiers modifiers, bool useNONE) +{ + if (modifiers==Qt::NoModifier) { + if (useNONE) return "NONE"; + else return ""; + } + QString ret=""; + auto append=[](QString& ret, const QString & appending, const QString& separator="+") { + if (appending.size()<=0) return; + if (ret.size()>0) ret+=separator; + ret+=appending; + }; + if ((modifiers&Qt::ShiftModifier)==Qt::ShiftModifier) append(ret, "SHIFT", "+"); + if ((modifiers&Qt::ControlModifier)==Qt::ControlModifier) append(ret, "CTRL", "+"); + if ((modifiers&Qt::AltModifier)==Qt::AltModifier) append(ret, "ALT", "+"); + if ((modifiers&Qt::MetaModifier)==Qt::MetaModifier) append(ret, "META", "+"); + if ((modifiers&Qt::KeypadModifier)==Qt::KeypadModifier) append(ret, "KEYPAD", "+"); + if ((modifiers&Qt::GroupSwitchModifier)==Qt::GroupSwitchModifier) append(ret, "GROUP", "+"); + return ret; +} + +Qt::KeyboardModifiers jkqtp_String2KeyboardModifiers(const QString &modifiers) +{ + auto mods=modifiers.toUpper().split("+"); + Qt::KeyboardModifiers ret=Qt::NoModifier; + + for (const auto& m: mods) { + if (m.trimmed()=="SHIFT") ret |= Qt::ShiftModifier; + else if (m.trimmed()=="CTRL") ret |= Qt::ControlModifier; + else if (m.trimmed()=="ALT") ret |= Qt::AltModifier; + else if (m.trimmed()=="META") ret |= Qt::MetaModifier; + else if (m.trimmed()=="KEYPAD") ret |= Qt::KeypadModifier; + else if (m.trimmed()=="GROUP") ret |= Qt::GroupSwitchModifier; + } + + return ret; +} + +QString jkqtp_MouseButton2String(Qt::MouseButton button, bool useNONE) +{ + if (button==Qt::NoButton) { + if (useNONE) return "NONE"; + else return ""; + } + if (button==Qt::LeftButton) return "LEFT"; + if (button==Qt::RightButton) return "RIGHT"; +#if (QT_VERSION>=QT_VERSION_CHECK(6, 0, 0)) + if (button==Qt::MiddleButton) return "MIDDLE"; +#else + if (button==Qt::MidButton) return "MIDDLE"; +#endif + if (button==Qt::BackButton) return "BACK"; + if (button==Qt::ForwardButton) return "FORWARD"; + if (button==Qt::TaskButton) return "TASK"; + if (button==Qt::ExtraButton4) return "EXTRA4"; + if (button==Qt::ExtraButton5) return "EXTRA5"; + if (button==Qt::ExtraButton6) return "EXTRA6"; + if (button==Qt::ExtraButton7) return "EXTRA7"; + if (button==Qt::ExtraButton8) return "EXTRA8"; + if (button==Qt::ExtraButton9) return "EXTRA9"; + if (button==Qt::ExtraButton10) return "EXTRA10"; + if (button==Qt::ExtraButton11) return "EXTRA11"; + if (button==Qt::ExtraButton12) return "EXTRA12"; + if (button==Qt::ExtraButton13) return "EXTRA13"; + if (button==Qt::ExtraButton14) return "EXTRA14"; + if (button==Qt::ExtraButton15) return "EXTRA15"; + if (button==Qt::ExtraButton16) return "EXTRA16"; + if (button==Qt::ExtraButton17) return "EXTRA17"; + if (button==Qt::ExtraButton18) return "EXTRA18"; + if (button==Qt::ExtraButton19) return "EXTRA19"; + if (button==Qt::ExtraButton20) return "EXTRA20"; + if (button==Qt::ExtraButton21) return "EXTRA21"; + if (button==Qt::ExtraButton22) return "EXTRA22"; + if (button==Qt::ExtraButton23) return "EXTRA23"; + if (button==Qt::ExtraButton24) return "EXTRA24"; + return "UNKNOWN"; +} + +Qt::MouseButton jkqtp_String2MouseButton(const QString &button) +{ + auto but=button.toUpper().trimmed(); + if (but=="LEFT") return Qt::LeftButton; + if (but=="RIGHT") return Qt::RightButton; +#if (QT_VERSION>=QT_VERSION_CHECK(6, 0, 0)) + if (but=="MIDDLE") return Qt::MiddleButton; +#else + if (but=="MIDDLE") return Qt::MidButton; +#endif + if (but=="BACK") return Qt::BackButton; + if (but=="FORWARD") return Qt::ForwardButton; + if (but=="TASK") return Qt::TaskButton; + if (but=="EXTRA4") return Qt::ExtraButton4; + if (but=="EXTRA5") return Qt::ExtraButton5; + if (but=="EXTRA6") return Qt::ExtraButton6; + if (but=="EXTRA7") return Qt::ExtraButton7; + if (but=="EXTRA8") return Qt::ExtraButton8; + if (but=="EXTRA9") return Qt::ExtraButton9; + if (but=="EXTRA10") return Qt::ExtraButton10; + if (but=="EXTRA11") return Qt::ExtraButton11; + if (but=="EXTRA12") return Qt::ExtraButton12; + if (but=="EXTRA13") return Qt::ExtraButton13; + if (but=="EXTRA14") return Qt::ExtraButton14; + if (but=="EXTRA15") return Qt::ExtraButton15; + if (but=="EXTRA16") return Qt::ExtraButton16; + if (but=="EXTRA17") return Qt::ExtraButton17; + if (but=="EXTRA18") return Qt::ExtraButton18; + if (but=="EXTRA19") return Qt::ExtraButton19; + if (but=="EXTRA20") return Qt::ExtraButton20; + if (but=="EXTRA21") return Qt::ExtraButton21; + if (but=="EXTRA22") return Qt::ExtraButton22; + if (but=="EXTRA23") return Qt::ExtraButton23; + if (but=="EXTRA24") return Qt::ExtraButton24; + return Qt::NoButton; +} diff --git a/lib/jkqtcommon/jkqtpstringtools.h b/lib/jkqtcommon/jkqtpstringtools.h index 34be7de724..69bba9b3c2 100644 --- a/lib/jkqtcommon/jkqtpstringtools.h +++ b/lib/jkqtcommon/jkqtpstringtools.h @@ -239,6 +239,52 @@ JKQTCOMMON_LIB_EXPORT QString jkqtp_floattohtmlqstr(double data, int past_comma= JKQTCOMMON_LIB_EXPORT std::string jkqtp_chartostr(char data); +/*! \brief convert a QList to a string + \ingroup jkqtptools_string + +*/ +JKQTCOMMON_LIB_EXPORT QString jkVariantListToString(const QList& data, const QString& separator=QString(", ")); + + +/*! \brief filename-ize a string, i.e. replace every non-number and non-character (and also not _ -) character to \c _ + \ingroup jkqtptools_string */ +JKQTCOMMON_LIB_EXPORT QString jkqtp_filenameize(const QString& data); + +/** \brief create a valid variable name from the string, i.e. a string with only characters and digits and \c '_'. ALso the first character has to be a charcter. + * \ingroup jkqtptools_string */ +JKQTCOMMON_LIB_EXPORT QString jkqtp_toValidVariableName(const QString& input); + +/** \brief convert a Qt::KeyboardModifiers to a QString + * \ingroup jkqtptools_string + * + * \param modifiers the object to convert + * \param useNONE if \c true the function will return \c "NONE" if \c modifiers==Qt::NoMofifiers. Otherwise the function will return an empty string ( jkqtp_String2KeyboardModifiers() can cope with both variants) + * + * \see jkqtp_String2KeyboardModifiers() + */ +JKQTCOMMON_LIB_EXPORT QString jkqtp_KeyboardModifiers2String(Qt::KeyboardModifiers modifiers, bool useNONE=true); + +/** \brief convert a QString (created by jkqtp_KeyboardModifiers2String() ) to Qt::KeyboardModifiers + * \ingroup jkqtptools_string + * + * \see jkqtp_KeyboardModifiers2String() + */ +JKQTCOMMON_LIB_EXPORT Qt::KeyboardModifiers jkqtp_String2KeyboardModifiers(const QString& modifiers); +/** \brief convert a Qt::MouseButton to a QString + * \ingroup jkqtptools_string + * + * \param button the object to convert + * \param useNONE if \c true the function will return \c "NONE" if \c button==Qt::NoButton. Otherwise the function will return an empty string ( jkqtp_String2MouseButton() can cope with both variants) + * + * \see jkqtp_MouseButton2String() + */ +JKQTCOMMON_LIB_EXPORT QString jkqtp_MouseButton2String(Qt::MouseButton button, bool useNONE=true); +/** \brief convert a QString (created by jkqtp_MouseButton2String() ) to Qt::MouseButton + * \ingroup jkqtptools_string + * + * \see jkqtp_MouseButton2String() + */ +JKQTCOMMON_LIB_EXPORT Qt::MouseButton jkqtp_String2MouseButton(const QString &button); #endif // JKQTPSTRINGTOOLS_H_INCLUDED diff --git a/lib/jkqtcommon/jkqttools.cpp b/lib/jkqtcommon/jkqttools.cpp index e7ecbcefd8..1df7f70331 100644 --- a/lib/jkqtcommon/jkqttools.cpp +++ b/lib/jkqtcommon/jkqttools.cpp @@ -83,192 +83,6 @@ void jkloadSplitter(QSettings& settings, QSplitter* splitter, const QString& pre splitter->restoreState(settings.value(prefix+"splitter_sizes").toByteArray()); } -QString jkVariantListToString(const QList& data, const QString& separator) { - QString r=""; - QLocale loc=QLocale::c(); - loc.setNumberOptions(QLocale::OmitGroupSeparator); - for (int i=0; i0) r=r+separator; - QVariant v=data[i]; -#if (QT_VERSION>=QT_VERSION_CHECK(6, 0, 0)) - if (v.typeId()==QMetaType::Bool) r=r+loc.toString(v.toBool()); - else if (v.typeId()==QMetaType::Char) r=r+loc.toString(v.toInt()); - else if (v.typeId()==QMetaType::QDate) r=r+loc.toString(v.toDate()); - else if (v.typeId()==QMetaType::QDateTime) r=r+loc.toString(v.toDateTime()); - else if (v.typeId()==QMetaType::Double) r=r+loc.toString(v.toDouble()); - else if (v.typeId()==QMetaType::Int) r=r+loc.toString(v.toInt()); - else if (v.typeId()==QMetaType::LongLong) r=r+loc.toString(v.toLongLong()); - else if (v.typeId()==QMetaType::QString) r=r+QString("\"%1\"").arg(v.toString().replace("\"", "_").replace("\t", " ").replace("\r", "").replace("\n", " ").replace(",", " ").replace(";", " ")); - else if (v.typeId()==QMetaType::QTime) r=r+loc.toString(v.toTime()); - else if (v.typeId()==QMetaType::UInt) r=r+loc.toString(v.toUInt()); - else if (v.typeId()==QMetaType::ULongLong) r=r+loc.toString(v.toULongLong()); - else r=r+v.toString(); - -#else - switch (v.type()) { - - case QVariant::Bool: r=r+loc.toString(v.toBool()); break; - case QVariant::Char: r=r+loc.toString(v.toInt()); break; - case QVariant::Date: r=r+loc.toString(v.toDate()); break; - case QVariant::DateTime: r=r+loc.toString(v.toDateTime()); break; - case QVariant::Double: r=r+loc.toString(v.toDouble()); break; - case QVariant::Int: r=r+loc.toString(v.toInt()); break; - case QVariant::LongLong: r=r+loc.toString(v.toLongLong()); break; - case QVariant::String: r=r+QString("\"%1\"").arg(v.toString().replace("\"", "_").replace("\t", " ").replace("\r", "").replace("\n", " ").replace(",", " ").replace(";", " ")); break; - case QVariant::Time: r=r+loc.toString(v.toTime()); break; - case QVariant::UInt: r=r+loc.toString(v.toUInt()); break; - case QVariant::ULongLong: r=r+loc.toString(v.toULongLong()); break; - //case : r=r+loc.toString(v.); break; - default: r=r+v.toString(); break; - } -#endif - } - return r; -} - -JKQTCOMMON_LIB_EXPORT QString jkqtp_filenameize(const QString& data) { - QString r; - QString data1=data.simplified(); - for (int i=0; i=QT_VERSION_CHECK(6, 0, 0)) - const auto c=data1[i]; -#else - QCharRef c=data1[i]; -#endif - if (c.isLetterOrNumber() || (c=='-') || (c=='_') || (c=='.')) { - r+=c; - } else { - r+='_'; - } - } - return r; -} - -QString jkqtp_toValidVariableName(const QString& input) { - QString out=""; - for (int i=0; i0)) out=out+input[i]; - if ((input[i]=='_')&&(out.size()>0)) out=out+input[i]; - } - return out; -} - -QString jkqtp_KeyboardModifiers2String(Qt::KeyboardModifiers modifiers, bool useNONE) -{ - if (modifiers==Qt::NoModifier) { - if (useNONE) return "NONE"; - else return ""; - } - QString ret=""; - auto append=[](QString& ret, const QString & appending, const QString& separator="+") { - if (appending.size()<=0) return; - if (ret.size()>0) ret+=separator; - ret+=appending; - }; - if ((modifiers&Qt::ShiftModifier)==Qt::ShiftModifier) append(ret, "SHIFT", "+"); - if ((modifiers&Qt::ControlModifier)==Qt::ControlModifier) append(ret, "CTRL", "+"); - if ((modifiers&Qt::AltModifier)==Qt::AltModifier) append(ret, "ALT", "+"); - if ((modifiers&Qt::MetaModifier)==Qt::MetaModifier) append(ret, "META", "+"); - if ((modifiers&Qt::KeypadModifier)==Qt::KeypadModifier) append(ret, "KEYPAD", "+"); - if ((modifiers&Qt::GroupSwitchModifier)==Qt::GroupSwitchModifier) append(ret, "GROUP", "+"); - return ret; -} - -Qt::KeyboardModifiers jkqtp_String2KeyboardModifiers(const QString &modifiers) -{ - auto mods=modifiers.toUpper().split("+"); - Qt::KeyboardModifiers ret=Qt::NoModifier; - - for (const auto& m: mods) { - if (m.trimmed()=="SHIFT") ret |= Qt::ShiftModifier; - else if (m.trimmed()=="CTRL") ret |= Qt::ControlModifier; - else if (m.trimmed()=="ALT") ret |= Qt::AltModifier; - else if (m.trimmed()=="META") ret |= Qt::MetaModifier; - else if (m.trimmed()=="KEYPAD") ret |= Qt::KeypadModifier; - else if (m.trimmed()=="GROUP") ret |= Qt::GroupSwitchModifier; - } - - return ret; -} - -QString jkqtp_MouseButton2String(Qt::MouseButton button, bool useNONE) -{ - if (button==Qt::NoButton) { - if (useNONE) return "NONE"; - else return ""; - } - if (button==Qt::LeftButton) return "LEFT"; - if (button==Qt::RightButton) return "RIGHT"; -#if (QT_VERSION>=QT_VERSION_CHECK(6, 0, 0)) - if (button==Qt::MiddleButton) return "MIDDLE"; -#else - if (button==Qt::MidButton) return "MIDDLE"; -#endif - if (button==Qt::BackButton) return "BACK"; - if (button==Qt::ForwardButton) return "FORWARD"; - if (button==Qt::TaskButton) return "TASK"; - if (button==Qt::ExtraButton4) return "EXTRA4"; - if (button==Qt::ExtraButton5) return "EXTRA5"; - if (button==Qt::ExtraButton6) return "EXTRA6"; - if (button==Qt::ExtraButton7) return "EXTRA7"; - if (button==Qt::ExtraButton8) return "EXTRA8"; - if (button==Qt::ExtraButton9) return "EXTRA9"; - if (button==Qt::ExtraButton10) return "EXTRA10"; - if (button==Qt::ExtraButton11) return "EXTRA11"; - if (button==Qt::ExtraButton12) return "EXTRA12"; - if (button==Qt::ExtraButton13) return "EXTRA13"; - if (button==Qt::ExtraButton14) return "EXTRA14"; - if (button==Qt::ExtraButton15) return "EXTRA15"; - if (button==Qt::ExtraButton16) return "EXTRA16"; - if (button==Qt::ExtraButton17) return "EXTRA17"; - if (button==Qt::ExtraButton18) return "EXTRA18"; - if (button==Qt::ExtraButton19) return "EXTRA19"; - if (button==Qt::ExtraButton20) return "EXTRA20"; - if (button==Qt::ExtraButton21) return "EXTRA21"; - if (button==Qt::ExtraButton22) return "EXTRA22"; - if (button==Qt::ExtraButton23) return "EXTRA23"; - if (button==Qt::ExtraButton24) return "EXTRA24"; - return "UNKNOWN"; -} - -Qt::MouseButton jkqtp_String2MouseButton(const QString &button) -{ - auto but=button.toUpper().trimmed(); - if (but=="LEFT") return Qt::LeftButton; - if (but=="RIGHT") return Qt::RightButton; -#if (QT_VERSION>=QT_VERSION_CHECK(6, 0, 0)) - if (but=="MIDDLE") return Qt::MiddleButton; -#else - if (but=="MIDDLE") return Qt::MidButton; -#endif - if (but=="BACK") return Qt::BackButton; - if (but=="FORWARD") return Qt::ForwardButton; - if (but=="TASK") return Qt::TaskButton; - if (but=="EXTRA4") return Qt::ExtraButton4; - if (but=="EXTRA5") return Qt::ExtraButton5; - if (but=="EXTRA6") return Qt::ExtraButton6; - if (but=="EXTRA7") return Qt::ExtraButton7; - if (but=="EXTRA8") return Qt::ExtraButton8; - if (but=="EXTRA9") return Qt::ExtraButton9; - if (but=="EXTRA10") return Qt::ExtraButton10; - if (but=="EXTRA11") return Qt::ExtraButton11; - if (but=="EXTRA12") return Qt::ExtraButton12; - if (but=="EXTRA13") return Qt::ExtraButton13; - if (but=="EXTRA14") return Qt::ExtraButton14; - if (but=="EXTRA15") return Qt::ExtraButton15; - if (but=="EXTRA16") return Qt::ExtraButton16; - if (but=="EXTRA17") return Qt::ExtraButton17; - if (but=="EXTRA18") return Qt::ExtraButton18; - if (but=="EXTRA19") return Qt::ExtraButton19; - if (but=="EXTRA20") return Qt::ExtraButton20; - if (but=="EXTRA21") return Qt::ExtraButton21; - if (but=="EXTRA22") return Qt::ExtraButton22; - if (but=="EXTRA23") return Qt::ExtraButton23; - if (but=="EXTRA24") return Qt::ExtraButton24; - return Qt::NoButton; -} - quint16 jkqtp_checksum(const void *data, size_t len) { #if QT_VERSION>=QT_VERSION_CHECK(6,0,0) diff --git a/lib/jkqtcommon/jkqttools.h b/lib/jkqtcommon/jkqttools.h index 3640ac35c1..2ede0b3173 100644 --- a/lib/jkqtcommon/jkqttools.h +++ b/lib/jkqtcommon/jkqttools.h @@ -88,54 +88,8 @@ JKQTCOMMON_LIB_EXPORT void jksaveSplitter(QSettings& settings, QSplitter* splitt JKQTCOMMON_LIB_EXPORT void jkloadSplitter(QSettings& settings, QSplitter* splitter, const QString& prefix=QString("")); -/*! \brief convert a QList to a string - \ingroup jkqtpjkqtptools_qt - -*/ -JKQTCOMMON_LIB_EXPORT QString jkVariantListToString(const QList& data, const QString& separator=QString(", ")); - - -/*! \brief filename-ize a string, i.e. replace every non-number and non-character (and also not _ -) character to \c _ - \ingroup tools */ -JKQTCOMMON_LIB_EXPORT QString jkqtp_filenameize(const QString& data); - -/** \brief create a valid variable name from the string, i.e. a string with only characters and digits and \c '_'. ALso the first character has to be a charcter. - * \ingroup tools */ -JKQTCOMMON_LIB_EXPORT QString jkqtp_toValidVariableName(const QString& input); - -/** \brief convert a Qt::KeyboardModifiers to a QString - * \ingroup tools - * - * \param modifiers the object to convert - * \param useNONE if \c true the function will return \C "NONE" if \c modifiers==Qt::NoMofifiers. Otherwise the function will return an empty string ( jkqtp_String2KeyboardModifiers() can cope with both variants) - * - * \see jkqtp_String2KeyboardModifiers() - */ -JKQTCOMMON_LIB_EXPORT QString jkqtp_KeyboardModifiers2String(Qt::KeyboardModifiers modifiers, bool useNONE=true); - -/** \brief convert a QString (created by jkqtp_KeyboardModifiers2String() ) to Qt::KeyboardModifiers - * \ingroup tools - * - * \see jkqtp_KeyboardModifiers2String() - */ -JKQTCOMMON_LIB_EXPORT Qt::KeyboardModifiers jkqtp_String2KeyboardModifiers(const QString& modifiers); -/** \brief convert a Qt::MouseButton to a QString - * \ingroup tools - * - * \param button the object to convert - * \param useNONE if \c true the function will return \C "NONE" if \c button==Qt::NoButton. Otherwise the function will return an empty string ( jkqtp_String2MouseButton() can cope with both variants) - * - * \see jkqtp_MouseButton2String() - */ -JKQTCOMMON_LIB_EXPORT QString jkqtp_MouseButton2String(Qt::MouseButton button, bool useNONE=true); /** \brief convert a QString (created by jkqtp_MouseButton2String() ) to Qt::MouseButton - * \ingroup tools - * - * \see jkqtp_MouseButton2String() - */ -JKQTCOMMON_LIB_EXPORT Qt::MouseButton jkqtp_String2MouseButton(const QString &button); -/** \brief convert a QString (created by jkqtp_MouseButton2String() ) to Qt::MouseButton - * \ingroup tools + * \ingroup jkqtptools_general * * \see jkqtp_MouseButton2String() */