replased QString to String
This commit is contained in:
parent
3239b6708a
commit
bdac16a415
25 changed files with 91 additions and 68 deletions
|
@ -206,7 +206,7 @@ void Articulation::write(XmlWriter& xml) const
|
|||
// typeUserName
|
||||
//---------------------------------------------------------
|
||||
|
||||
QString Articulation::typeUserName() const
|
||||
String Articulation::typeUserName() const
|
||||
{
|
||||
return SymNames::translatedUserNameForSymId(symId());
|
||||
}
|
||||
|
|
|
@ -117,7 +117,7 @@ public:
|
|||
SymId symId() const { return _symId; }
|
||||
void setSymId(SymId id);
|
||||
int subtype() const override;
|
||||
QString typeUserName() const override;
|
||||
String typeUserName() const override;
|
||||
String articulationName() const; // type-name of articulation; used for midi rendering
|
||||
static String symId2ArticulationName(SymId symId);
|
||||
|
||||
|
|
|
@ -778,7 +778,7 @@ const char* EngravingObject::typeName() const
|
|||
return Factory::name(type());
|
||||
}
|
||||
|
||||
QString EngravingObject::typeUserName() const
|
||||
String EngravingObject::typeUserName() const
|
||||
{
|
||||
return qtrc("elementName", Factory::userName(type()));
|
||||
}
|
||||
|
|
|
@ -221,7 +221,7 @@ public:
|
|||
inline ElementType type() const { return m_type; }
|
||||
inline bool isType(ElementType t) const { return t == m_type; }
|
||||
const char* typeName() const;
|
||||
virtual QString typeUserName() const;
|
||||
virtual String typeUserName() const;
|
||||
|
||||
EngravingObject* parent() const;
|
||||
void setParent(EngravingObject* p);
|
||||
|
|
|
@ -145,7 +145,7 @@ int Fermata::subtype() const
|
|||
// typeUserName
|
||||
//---------------------------------------------------------
|
||||
|
||||
QString Fermata::typeUserName() const
|
||||
String Fermata::typeUserName() const
|
||||
{
|
||||
return SymNames::translatedUserNameForSymId(symId());
|
||||
}
|
||||
|
|
|
@ -68,7 +68,7 @@ public:
|
|||
void setSymId(SymId id) { _symId = id; }
|
||||
FermataType fermataType() const;
|
||||
int subtype() const override;
|
||||
QString typeUserName() const override;
|
||||
String typeUserName() const override;
|
||||
|
||||
void layout() override;
|
||||
|
||||
|
|
|
@ -222,7 +222,7 @@ public:
|
|||
bool showNut() const { return _showNut; }
|
||||
void setShowNut(bool val) { _showNut = val; }
|
||||
|
||||
QString harmonyText() const { return _harmony ? _harmony->plainText() : QString(); }
|
||||
String harmonyText() const { return _harmony ? _harmony->plainText() : String(); }
|
||||
qreal centerX() const;
|
||||
void setHarmony(QString harmonyText);
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include <QRegularExpression>
|
||||
|
||||
#include "containers.h"
|
||||
#include "translation.h"
|
||||
#include "draw/fontmetrics.h"
|
||||
#include "draw/brush.h"
|
||||
#include "draw/pen.h"
|
||||
|
@ -2074,13 +2075,13 @@ void Harmony::setHarmonyType(HarmonyType val)
|
|||
// typeUserName
|
||||
//---------------------------------------------------------
|
||||
|
||||
QString Harmony::typeUserName() const
|
||||
String Harmony::typeUserName() const
|
||||
{
|
||||
switch (_harmonyType) {
|
||||
case HarmonyType::ROMAN:
|
||||
return QObject::tr("Roman numeral");
|
||||
return qtrc("engraving", "Roman numeral");
|
||||
case HarmonyType::NASHVILLE:
|
||||
return QObject::tr("Nashville number");
|
||||
return qtrc("engraving", "Nashville number");
|
||||
case HarmonyType::STANDARD:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -223,7 +223,7 @@ public:
|
|||
mu::PointF calculateBoundingRect();
|
||||
qreal xShapeOffset() const;
|
||||
|
||||
QString typeUserName() const override;
|
||||
String typeUserName() const override;
|
||||
QString accessibleInfo() const override;
|
||||
QString generateScreenReaderInfo() const;
|
||||
QString screenReaderInfo() const override;
|
||||
|
|
|
@ -2525,7 +2525,7 @@ void TextBase::resetFormatting()
|
|||
// return plain text with symbols
|
||||
//---------------------------------------------------------
|
||||
|
||||
QString TextBase::plainText() const
|
||||
String TextBase::plainText() const
|
||||
{
|
||||
QString s;
|
||||
|
||||
|
|
|
@ -353,7 +353,7 @@ public:
|
|||
void setPlainText(const QString& t) { setXmlText(plainToXmlText(t)); }
|
||||
virtual void setXmlText(const QString&);
|
||||
QString xmlText() const;
|
||||
QString plainText() const;
|
||||
String plainText() const;
|
||||
void resetFormatting();
|
||||
|
||||
void insertText(EditData&, const QString&);
|
||||
|
|
|
@ -1319,7 +1319,7 @@ private:
|
|||
|
||||
void TextReaderContext206::copyProperties(XmlReader& original, XmlReader& derived)
|
||||
{
|
||||
derived.setDocName(original.getDocName());
|
||||
derived.setDocName(original.docName());
|
||||
derived.setContext(original.context());
|
||||
}
|
||||
|
||||
|
@ -3345,7 +3345,7 @@ bool Read206::readScore206(Score* score, XmlReader& e, ReadContext& ctx)
|
|||
}
|
||||
if (e.error() != XmlStreamReader::NoError) {
|
||||
LOGD("%s: xml read error at line %lld col %lld: %s",
|
||||
qPrintable(e.getDocName()), e.lineNumber(), e.columnNumber(), e.name().ascii());
|
||||
qPrintable(e.docName()), e.lineNumber(), e.columnNumber(), e.name().ascii());
|
||||
MScore::lastError = QObject::tr("XML read error at line %1, column %2: %3").arg(e.lineNumber()).arg(e.columnNumber()).arg(
|
||||
e.name().ascii());
|
||||
return false;
|
||||
|
|
|
@ -226,7 +226,7 @@ bool Read302::readScore302(Score* score, XmlReader& e, ReadContext& ctx)
|
|||
e.context()->reconnectBrokenConnectors();
|
||||
if (e.error() != XmlStreamReader::NoError) {
|
||||
LOGD("%s: xml read error at line %lld col %lld: %s",
|
||||
qPrintable(e.getDocName()), e.lineNumber(), e.columnNumber(), e.name().ascii());
|
||||
qPrintable(e.docName()), e.lineNumber(), e.columnNumber(), e.name().ascii());
|
||||
if (e.error() == XmlStreamReader::CustomError) {
|
||||
MScore::lastError = e.errorString();
|
||||
} else {
|
||||
|
|
|
@ -43,7 +43,7 @@ using namespace mu::engraving::rw;
|
|||
bool Read400::read400(Score* score, XmlReader& e, ReadContext& ctx)
|
||||
{
|
||||
if (!e.readNextStartElement()) {
|
||||
LOGD("%s: xml file is empty", qPrintable(e.getDocName()));
|
||||
LOGD("%s: xml file is empty", qPrintable(e.docName()));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ bool Read400::read400(Score* score, XmlReader& e, ReadContext& ctx)
|
|||
}
|
||||
}
|
||||
} else {
|
||||
LOGD("%s: invalid structure of xml file", qPrintable(e.getDocName()));
|
||||
LOGD("%s: invalid structure of xml file", qPrintable(e.docName()));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -222,7 +222,7 @@ bool Read400::readScore400(Score* score, XmlReader& e, ReadContext& ctx)
|
|||
ctx.reconnectBrokenConnectors();
|
||||
if (e.error() != XmlStreamReader::NoError) {
|
||||
LOGD("%s: xml read error at line %lld col %lld: %s",
|
||||
qPrintable(e.getDocName()), e.lineNumber(), e.columnNumber(), e.name().ascii());
|
||||
qPrintable(e.docName()), e.lineNumber(), e.columnNumber(), e.name().ascii());
|
||||
if (e.error() == XmlStreamReader::CustomError) {
|
||||
MScore::lastError = e.errorString();
|
||||
} else {
|
||||
|
|
|
@ -130,14 +130,15 @@ Fraction XmlReader::readFraction()
|
|||
Q_ASSERT(tokenType() == XmlStreamReader::StartElement);
|
||||
int z = intAttribute("z", 0);
|
||||
int n = intAttribute("n", 1);
|
||||
const QString& s(readText());
|
||||
if (!s.isEmpty()) {
|
||||
int i = s.indexOf('/');
|
||||
if (i == -1) {
|
||||
AsciiStringView s = readAsciiText();
|
||||
if (!s.empty()) {
|
||||
size_t i = s.indexOf('/');
|
||||
if (i == mu::nidx) {
|
||||
return Fraction::fromTicks(s.toInt());
|
||||
} else {
|
||||
z = s.leftRef(i).toInt();
|
||||
n = s.midRef(i + 1).toInt();
|
||||
String str = String::fromAscii(s.ascii());
|
||||
z = str.left(i).toInt();
|
||||
n = str.mid(i + 1).toInt();
|
||||
}
|
||||
}
|
||||
return Fraction(z, n);
|
||||
|
@ -153,10 +154,11 @@ void XmlReader::unknown()
|
|||
if (XmlStreamReader::error()) {
|
||||
LOGD("%s ", qPrintable(errorString()));
|
||||
}
|
||||
if (!docName.isEmpty()) {
|
||||
LOGD("tag in <%s> line %ld col %lld: %s", qPrintable(docName), lineNumber() + _offsetLines, columnNumber(), name().ascii());
|
||||
if (!m_docName.isEmpty()) {
|
||||
LOGD("tag in <%s> line %ld col %lld: %s", qPrintable(m_docName.toUtf8().constChar()), lineNumber() + m_offsetLines,
|
||||
columnNumber(), name().ascii());
|
||||
} else {
|
||||
LOGD("line %lld col %ld: %s", lineNumber() + _offsetLines, columnNumber(), name().ascii());
|
||||
LOGD("line %lld col %ld: %s", lineNumber() + m_offsetLines, columnNumber(), name().ascii());
|
||||
}
|
||||
skipCurrentElement();
|
||||
}
|
||||
|
@ -218,9 +220,6 @@ void XmlReader::htmlToString(int level, String* s)
|
|||
|
||||
String XmlReader::readXml()
|
||||
{
|
||||
static int count = 0;
|
||||
++count;
|
||||
|
||||
String s;
|
||||
int level = 1;
|
||||
for (XmlStreamReader::TokenType t = readNext(); t != XmlStreamReader::EndElement; t = readNext()) {
|
||||
|
@ -243,7 +242,6 @@ String XmlReader::readXml()
|
|||
return s;
|
||||
}
|
||||
}
|
||||
LOGI() << count << "| " << s;
|
||||
return s;
|
||||
}
|
||||
|
||||
|
|
|
@ -58,19 +58,19 @@ public:
|
|||
double readDouble(bool* ok = nullptr) { return XmlStreamReader::readDouble(ok); }
|
||||
double readDouble(double min, double max);
|
||||
|
||||
mu::PointF readPoint();
|
||||
mu::SizeF readSize();
|
||||
mu::ScaleF readScale();
|
||||
mu::RectF readRect();
|
||||
mu::draw::Color readColor();
|
||||
PointF readPoint();
|
||||
SizeF readSize();
|
||||
ScaleF readScale();
|
||||
RectF readRect();
|
||||
draw::Color readColor();
|
||||
Fraction readFraction();
|
||||
String readXml();
|
||||
|
||||
void setDocName(const QString& s) { docName = s; }
|
||||
QString getDocName() const { return docName; }
|
||||
void setDocName(const String& s) { m_docName = s; }
|
||||
String docName() const { return m_docName; }
|
||||
|
||||
// for reading old files (< 3.01)
|
||||
void setOffsetLines(qint64 val) { _offsetLines = val; }
|
||||
void setOffsetLines(qint64 val) { m_offsetLines = val; }
|
||||
|
||||
ReadContext* context() const;
|
||||
void setContext(ReadContext* context);
|
||||
|
@ -79,8 +79,8 @@ private:
|
|||
|
||||
void htmlToString(int level, String*);
|
||||
|
||||
QString docName; // used for error reporting
|
||||
qint64 _offsetLines = 0;
|
||||
String m_docName; // used for error reporting
|
||||
qint64 m_offsetLines = 0;
|
||||
mutable ReadContext* m_context = nullptr;
|
||||
mutable bool m_selfContext = false;
|
||||
};
|
||||
|
|
|
@ -20,11 +20,12 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "xml.h"
|
||||
|
||||
#include "libmscore/property.h"
|
||||
#include "xmlwriter.h"
|
||||
|
||||
#include "types/typesconv.h"
|
||||
#include "rw/writecontext.h"
|
||||
#include "libmscore/engravingitem.h"
|
||||
#include "libmscore/property.h"
|
||||
|
||||
#include "log.h"
|
||||
|
||||
|
|
|
@ -27,16 +27,12 @@
|
|||
|
||||
#include "containers.h"
|
||||
#include "io/iodevice.h"
|
||||
|
||||
#include "infrastructure/draw/color.h"
|
||||
#include "libmscore/connector.h"
|
||||
#include "libmscore/stafftype.h"
|
||||
#include "libmscore/interval.h"
|
||||
#include "libmscore/engravingitem.h"
|
||||
|
||||
#include "serialization/xmlstreamwriter.h"
|
||||
|
||||
#include "libmscore/property.h"
|
||||
|
||||
namespace mu::engraving {
|
||||
class EngravingObject;
|
||||
class WriteContext;
|
||||
class XmlWriter : public XmlStreamWriter
|
||||
{
|
||||
|
|
|
@ -40,7 +40,7 @@ const char* SymNames::userNameForSymId(SymId id)
|
|||
return s_symUserNames.at(size_t(id));
|
||||
}
|
||||
|
||||
QString SymNames::translatedUserNameForSymId(SymId id)
|
||||
String SymNames::translatedUserNameForSymId(SymId id)
|
||||
{
|
||||
return mu::qtrc("symUserNames", userNameForSymId(id));
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace mu::engraving {
|
|||
struct SymNames {
|
||||
static AsciiStringView nameForSymId(SymId id);
|
||||
static const char* userNameForSymId(SymId id);
|
||||
static QString translatedUserNameForSymId(SymId id);
|
||||
static String translatedUserNameForSymId(SymId id);
|
||||
|
||||
static SymId symIdByName(const AsciiStringView& name, SymId def = SymId::noSym);
|
||||
static SymId symIdByName(const QString& name, SymId def = SymId::noSym);
|
||||
|
|
|
@ -248,6 +248,15 @@ TEST_F(Global_Types_StringTests, String_SubStr)
|
|||
//! CHECK
|
||||
EXPECT_EQ(newStr, u"3abc");
|
||||
}
|
||||
|
||||
{
|
||||
//! GIVEN Some String
|
||||
String str = u"123abc";
|
||||
//! DO
|
||||
String newStr = str.left(2);
|
||||
//! CHECK
|
||||
EXPECT_EQ(newStr, u"12");
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(Global_Types_StringTests, String_Trimmed)
|
||||
|
|
|
@ -110,8 +110,7 @@ char16_t Char::fromAscii(char c)
|
|||
|
||||
char Char::toAscii(bool* ok) const
|
||||
{
|
||||
UNUSED(ok);
|
||||
return toAscii(m_ch);
|
||||
return toAscii(m_ch, ok);
|
||||
}
|
||||
|
||||
// ============================
|
||||
|
@ -413,6 +412,11 @@ String String::mid(size_t pos, size_t count) const
|
|||
return s;
|
||||
}
|
||||
|
||||
String String::left(size_t n) const
|
||||
{
|
||||
return mid(0, n);
|
||||
}
|
||||
|
||||
String String::trimmed() const
|
||||
{
|
||||
String s = *this;
|
||||
|
@ -420,6 +424,10 @@ String String::trimmed() const
|
|||
return s;
|
||||
}
|
||||
|
||||
String String::simplified() const
|
||||
{
|
||||
}
|
||||
|
||||
String String::toXmlEscaped(char16_t c)
|
||||
{
|
||||
switch (c) {
|
||||
|
@ -509,13 +517,18 @@ AsciiChar AsciiStringView::at(size_t i) const
|
|||
}
|
||||
|
||||
bool AsciiStringView::contains(char ch) const
|
||||
{
|
||||
return indexOf(ch) != mu::nidx;
|
||||
}
|
||||
|
||||
size_t AsciiStringView::indexOf(char ch) const
|
||||
{
|
||||
for (size_t i = 0; i < m_size; ++i) {
|
||||
if (m_data[i] == ch) {
|
||||
return true;
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return mu::nidx;
|
||||
}
|
||||
|
||||
int AsciiStringView::toInt(bool* ok, int base) const
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include <string>
|
||||
#include <string_view>
|
||||
|
||||
#include "containers.h"
|
||||
#include "bytearray.h"
|
||||
#include "global/logstream.h"
|
||||
|
||||
|
@ -108,8 +109,6 @@ class String
|
|||
{
|
||||
public:
|
||||
|
||||
static const size_t npos = static_cast<size_t>(-1);
|
||||
|
||||
String();
|
||||
String(const char16_t* str);
|
||||
String(const Char& ch);
|
||||
|
@ -132,9 +131,9 @@ public:
|
|||
String& operator +=(const char16_t* s);
|
||||
inline String& operator +=(char16_t s) { return append(s); }
|
||||
|
||||
inline String operator+(const mu::String& s) const { mu::String t(*this); t += s; return t; }
|
||||
inline String operator+(const char16_t* s) const { mu::String t(*this); t += s; return t; }
|
||||
inline String operator+(char16_t s) const { mu::String t(*this); t += s; return t; }
|
||||
inline String operator+(const mu::String& s) const { String t(*this); t += s; return t; }
|
||||
inline String operator+(const char16_t* s) const { String t(*this); t += s; return t; }
|
||||
inline String operator+(char16_t s) const { String t(*this); t += s; return t; }
|
||||
|
||||
String& append(Char ch);
|
||||
String& append(const String& s);
|
||||
|
@ -171,8 +170,11 @@ public:
|
|||
StringList split(const Char& ch) const;
|
||||
String& replace(const String& before, const String& after);
|
||||
|
||||
String mid(size_t pos, size_t count = npos) const;
|
||||
String mid(size_t pos, size_t count = mu::nidx) const;
|
||||
String left(size_t n) const;
|
||||
|
||||
String trimmed() const;
|
||||
String simplified() const;
|
||||
String toXmlEscaped() const;
|
||||
static String toXmlEscaped(const String& str);
|
||||
static String toXmlEscaped(char16_t c);
|
||||
|
@ -203,8 +205,6 @@ class AsciiStringView
|
|||
{
|
||||
public:
|
||||
|
||||
static const size_t npos = static_cast<size_t>(-1);
|
||||
|
||||
constexpr AsciiStringView() = default;
|
||||
constexpr AsciiStringView(const char* str)
|
||||
: m_size(str ? std::char_traits<char>::length(str) : 0), m_data(str) {}
|
||||
|
@ -239,6 +239,7 @@ public:
|
|||
bool empty() const;
|
||||
AsciiChar at(size_t i) const;
|
||||
bool contains(char ch) const;
|
||||
size_t indexOf(char ch) const;
|
||||
|
||||
int toInt(bool* ok = nullptr, int base = 10) const;
|
||||
double toDouble(bool* ok = nullptr) const;
|
||||
|
@ -276,4 +277,8 @@ inline mu::logger::Stream& operator<<(mu::logger::Stream& s, const mu::AsciiStri
|
|||
return s;
|
||||
}
|
||||
|
||||
#ifndef muPrintable
|
||||
# define muPrintable(string) string.toUtf8().constChar()
|
||||
#endif
|
||||
|
||||
#endif // MU_GLOBAL_STRING_H
|
||||
|
|
|
@ -47,7 +47,7 @@ SelectDialog::SelectDialog(QWidget* parent)
|
|||
setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||
|
||||
m_element = contextItem(globalContext()->currentNotation()->interaction());
|
||||
type->setText(qApp->translate("elementName", m_element->typeUserName().toUtf8()));
|
||||
type->setText(qtrc("elementName", m_element->typeUserName()));
|
||||
|
||||
switch (m_element->type()) {
|
||||
case ElementType::ACCIDENTAL:
|
||||
|
|
|
@ -305,7 +305,7 @@ PaletteCellPtr PaletteCell::fromElementMimeData(const QByteArray& data)
|
|||
}
|
||||
}
|
||||
|
||||
const QString name = (element->isFretDiagram()) ? toFretDiagram(element.get())->harmonyText() : element->typeUserName();
|
||||
const String name = (element->isFretDiagram()) ? toFretDiagram(element.get())->harmonyText() : element->typeUserName();
|
||||
|
||||
return std::make_shared<PaletteCell>(element, name);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue