add PIString::lineNumber() method
add ""_tr literal to translate string by PITranslator add pip_tr util, now useless, only can generate *.ts add qt_support internal lib, now only works with *.ts file pip_vtt migrate to qt_support
This commit is contained in:
@@ -99,8 +99,8 @@ public:
|
||||
//! \~russian Оператор сравнения
|
||||
bool operator<=(const PIChar & o) const;
|
||||
|
||||
//! \~english Returns \b true if symbol is digit ('0' to '9')
|
||||
//! \~russian Возвращает \b true если символ является
|
||||
//! \~english Returns \b true if symbol is digit (from '0' to '9')
|
||||
//! \~russian Возвращает \b true если символ является цифрой (от '0' до '9')
|
||||
bool isDigit() const;
|
||||
|
||||
//! \~english Returns \b true if symbol is HEX digit ('0' to '9', 'a' to 'f', 'A' to 'F')
|
||||
|
||||
@@ -1209,6 +1209,17 @@ int PIString::entries(const PIString & str) const {
|
||||
}
|
||||
|
||||
|
||||
int PIString::lineNumber(int pos) const {
|
||||
if (isEmpty()) return 0;
|
||||
if (pos < 0 || pos >= size_s()) pos = size_s() - 1;
|
||||
int line = 1;
|
||||
for (int i = 0; i < pos; ++i) {
|
||||
if (at(i) == '\n') ++line;
|
||||
}
|
||||
return line;
|
||||
}
|
||||
|
||||
|
||||
bool PIString::startsWith(const PIChar c) const {
|
||||
if (isEmpty()) return false;
|
||||
return front() == c;
|
||||
@@ -1736,7 +1747,7 @@ PIString & PIString::setReadableSize(llong bytes) {
|
||||
static const PIString tr_c = "PIString"_a;
|
||||
clear();
|
||||
if (bytes < 1024) {
|
||||
*this += (PIString::fromNumber(bytes) + " "_a + PITranslator::tr("B", tr_c));
|
||||
*this += (PIString::fromNumber(bytes) + " "_a + PITranslator::tr("B", "PIString"));
|
||||
return *this;
|
||||
}
|
||||
double fres = bytes;
|
||||
@@ -1751,13 +1762,13 @@ PIString & PIString::setReadableSize(llong bytes) {
|
||||
}
|
||||
return false;
|
||||
};
|
||||
if (checkRange(PITranslator::tr("KiB", tr_c))) return *this;
|
||||
if (checkRange(PITranslator::tr("MiB", tr_c))) return *this;
|
||||
if (checkRange(PITranslator::tr("GiB", tr_c))) return *this;
|
||||
if (checkRange(PITranslator::tr("TiB", tr_c))) return *this;
|
||||
if (checkRange(PITranslator::tr("PiB", tr_c))) return *this;
|
||||
if (checkRange(PITranslator::tr("EiB", tr_c))) return *this;
|
||||
if (checkRange(PITranslator::tr("ZiB", tr_c))) return *this;
|
||||
if (checkRange(PITranslator::tr("KiB", "PIString"))) return *this;
|
||||
if (checkRange(PITranslator::tr("MiB", "PIString"))) return *this;
|
||||
if (checkRange(PITranslator::tr("GiB", "PIString"))) return *this;
|
||||
if (checkRange(PITranslator::tr("TiB", "PIString"))) return *this;
|
||||
if (checkRange(PITranslator::tr("PiB", "PIString"))) return *this;
|
||||
if (checkRange(PITranslator::tr("EiB", "PIString"))) return *this;
|
||||
if (checkRange(PITranslator::tr("ZiB", "PIString"))) return *this;
|
||||
checkRange(PITranslator::tr("YiB", tr_c), true);
|
||||
return *this;
|
||||
}
|
||||
|
||||
@@ -1282,6 +1282,10 @@ public:
|
||||
//! \endcode
|
||||
int entries(const PIString & str) const;
|
||||
|
||||
//! \~english Returns line number of position "pos". Lines starts from 1.
|
||||
//! \~russian Возвращает номер строки позиции "pos". Строки начинаются с 1.
|
||||
int lineNumber(int pos) const;
|
||||
|
||||
//! \~english Returns if string starts with "c".
|
||||
//! \~russian Возвращает начинается ли строка с "c".
|
||||
bool startsWith(const char c) const { return startsWith(PIChar(c)); }
|
||||
|
||||
Reference in New Issue
Block a user