From 805100ec0f1d127cf913edf656db6e8355ae5b39 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Sat, 7 Feb 2015 14:31:10 +0200 Subject: [PATCH] Generate translated color names list. Need for property browser. --HG-- branch : feature --- src/app/dialogs/tools/dialogtool.cpp | 40 ++++---------------------- src/app/tools/vabstracttool.cpp | 42 ++++++++++++++++++++++++++++ src/app/tools/vabstracttool.h | 3 +- 3 files changed, 50 insertions(+), 35 deletions(-) diff --git a/src/app/dialogs/tools/dialogtool.cpp b/src/app/dialogs/tools/dialogtool.cpp index 3a12c7f50..5a2e56623 100644 --- a/src/app/dialogs/tools/dialogtool.cpp +++ b/src/app/dialogs/tools/dialogtool.cpp @@ -306,42 +306,14 @@ void DialogTool::FillComboBoxLineColors(QComboBox *box) const { SCASSERT(box != nullptr); - const QStringList colorNames = VAbstractTool::Colors(); - - for (int i = 0; i < colorNames.size(); ++i) + const QMap map = VAbstractTool::ColorsList(); + QMap::const_iterator i = map.constBegin(); + while (i != map.constEnd()) { - QString name; - switch (i) - { - case 0: // ColorBlack - name = tr("black"); - break; - case 1: // ColorGreen - name = tr("green"); - break; - case 2: // ColorBlue - name = tr("blue"); - break; - case 3: // ColorDarkRed - name = tr("dark red"); - break; - case 4: // ColorDarkGreen - name = tr("dark green"); - break; - case 5: // ColorDarkBlue - name = tr("dark blue"); - break; - case 6: // ColorYellow - name = tr("yellow"); - break; - default: - name = tr("black"); - break; - } - QPixmap pix(16, 16); - pix.fill(QColor(colorNames.at(i))); - box->insertItem(i, QIcon(pix), name, QVariant(colorNames.at(i))); + pix.fill(QColor(i.key())); + box->addItem(QIcon(pix), i.value(), QVariant(i.key())); + ++i; } } diff --git a/src/app/tools/vabstracttool.cpp b/src/app/tools/vabstracttool.cpp index 216803dc1..194c5b5c7 100644 --- a/src/app/tools/vabstracttool.cpp +++ b/src/app/tools/vabstracttool.cpp @@ -231,6 +231,48 @@ const QStringList VAbstractTool::Colors() return colors; } +//--------------------------------------------------------------------------------------------------------------------- +QMap VAbstractTool::ColorsList() +{ + QMap map; + + const QStringList colorNames = Colors(); + for (int i = 0; i < colorNames.size(); ++i) + { + QString name; + switch (i) + { + case 0: // ColorBlack + name = tr("black"); + break; + case 1: // ColorGreen + name = tr("green"); + break; + case 2: // ColorBlue + name = tr("blue"); + break; + case 3: // ColorDarkRed + name = tr("dark red"); + break; + case 4: // ColorDarkGreen + name = tr("dark green"); + break; + case 5: // ColorDarkBlue + name = tr("dark blue"); + break; + case 6: // ColorYellow + name = tr("yellow"); + break; + default: + name = tr("black"); + break; + } + + map.insert(colorNames.at(i), name); + } + return map; +} + //--------------------------------------------------------------------------------------------------------------------- QMap VAbstractTool::PointsList() const { diff --git a/src/app/tools/vabstracttool.h b/src/app/tools/vabstracttool.h index 406bf57c8..0212b5692 100644 --- a/src/app/tools/vabstracttool.h +++ b/src/app/tools/vabstracttool.h @@ -108,7 +108,8 @@ public: static Qt::PenStyle LineStyleToPenStyle(const QString &typeLine); static QMap LineStylesPics(); - static const QStringList Colors(); + static const QStringList Colors(); + static QMap ColorsList(); static void AddRecord(const quint32 id, const Tool &toolType, VPattern *doc);