fix xsheet column parent object label translation
This commit is contained in:
parent
c4294a8e91
commit
8869358bc6
2 changed files with 49 additions and 64 deletions
|
@ -346,8 +346,7 @@ void ChangeObjectWidget::show(const QPoint &pos) {
|
||||||
m_width += scrollbarW;
|
m_width += scrollbarW;
|
||||||
}
|
}
|
||||||
int height = 0;
|
int height = 0;
|
||||||
for (int i = 0; i < itemNumber; i++)
|
for (int i = 0; i < itemNumber; i++) height += sizeHintForRow(i);
|
||||||
height += sizeHintForRow(i);
|
|
||||||
setGeometry(pos.x(), pos.y(), m_width, height + 2);
|
setGeometry(pos.x(), pos.y(), m_width, height + 2);
|
||||||
QListWidget::show();
|
QListWidget::show();
|
||||||
setFocus();
|
setFocus();
|
||||||
|
@ -482,7 +481,6 @@ void ChangeObjectParent::refresh() {
|
||||||
if (id == tree->getMotionPathViewerId()) continue;
|
if (id == tree->getMotionPathViewerId()) continue;
|
||||||
int index = id.getIndex();
|
int index = id.getIndex();
|
||||||
QString indexStr(std::to_string(id.getIndex() + 1).c_str());
|
QString indexStr(std::to_string(id.getIndex() + 1).c_str());
|
||||||
QString newTextID, newTextTr;
|
|
||||||
QColor newTextBG;
|
QColor newTextBG;
|
||||||
|
|
||||||
// Remove childs from parent list
|
// Remove childs from parent list
|
||||||
|
@ -490,45 +488,33 @@ void ChangeObjectParent::refresh() {
|
||||||
xsh->getStageObject(id)) != children.end());
|
xsh->getStageObject(id)) != children.end());
|
||||||
if (id == currentObjectId || found) continue;
|
if (id == currentObjectId || found) continue;
|
||||||
|
|
||||||
if (id.isTable()) {
|
QString newTextID = QString::fromStdString(id.toString());
|
||||||
newTextID = QString("Table");
|
QString newTextTr;
|
||||||
newTextTr = tr("Table");
|
if (tree->getStageObject(i)->hasSpecifiedName())
|
||||||
|
newTextTr = QString::fromStdString(tree->getStageObject(i)->getName());
|
||||||
|
else
|
||||||
|
newTextTr = getNameTr(id);
|
||||||
|
|
||||||
|
if (id.isTable())
|
||||||
newTextBG = viewer->getTableColor();
|
newTextBG = viewer->getTableColor();
|
||||||
}
|
else if (id.isPegbar())
|
||||||
if (id.isPegbar()) {
|
|
||||||
newTextID = QString("Peg ") + indexStr;
|
|
||||||
newTextTr = QString("Peg") + indexStr;
|
|
||||||
newTextBG = viewer->getPegColor();
|
newTextBG = viewer->getPegColor();
|
||||||
//
|
else if (id.isCamera()) {
|
||||||
std::string name = tree->getStageObject(i)->getName();
|
bool isActive = (id == xsh->getStageObjectTree()->getCurrentCameraId());
|
||||||
if (name.length() > 0) newTextTr = QString::fromStdString(name);
|
|
||||||
}
|
|
||||||
if (id.isCamera()) {
|
|
||||||
bool isActive =
|
|
||||||
(id == xsh->getStageObjectTree()->getCurrentCameraId());
|
|
||||||
newTextID = QString("Cam ") + indexStr;
|
|
||||||
newTextTr = QString("Camera") + indexStr;
|
|
||||||
newTextBG = isActive ? viewer->getActiveCameraColor()
|
newTextBG = isActive ? viewer->getActiveCameraColor()
|
||||||
: viewer->getOtherCameraColor();
|
: viewer->getOtherCameraColor();
|
||||||
//
|
} else if (id.isColumn() && (!xsh->isColumnEmpty(index))) {
|
||||||
std::string name = tree->getStageObject(i)->getName();
|
|
||||||
if (name.length() > 0) newTextTr = QString::fromStdString(name);
|
|
||||||
}
|
|
||||||
if (id.isColumn() && (!xsh->isColumnEmpty(index))) {
|
|
||||||
TXshColumn *colx = xsh->getColumn(index);
|
TXshColumn *colx = xsh->getColumn(index);
|
||||||
if (colx->getColumnType() != TXshColumn::eSoundTextType &&
|
if (colx->getColumnType() != TXshColumn::eSoundTextType &&
|
||||||
colx->getColumnType() != TXshColumn::eSoundType) {
|
colx->getColumnType() != TXshColumn::eSoundType) {
|
||||||
newTextID = QString("Col ") + indexStr;
|
|
||||||
newTextTr = QString("Col") + indexStr;
|
|
||||||
QColor unused;
|
QColor unused;
|
||||||
viewer->getColumnColor(newTextBG, unused, id.getIndex(), xsh);
|
viewer->getColumnColor(newTextBG, unused, id.getIndex(), xsh);
|
||||||
std::string name = tree->getStageObject(i)->getName();
|
|
||||||
if (name.length() > 0) newTextTr = QString::fromStdString(name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
} else
|
||||||
|
continue;
|
||||||
|
|
||||||
if (id == parentId) currentText = newTextID;
|
if (id == parentId) currentText = newTextID;
|
||||||
if (newTextTr.length() > theLongestTxt.length()) theLongestTxt = newTextTr;
|
if (newTextTr.length() > theLongestTxt.length()) theLongestTxt = newTextTr;
|
||||||
if (!newTextID.isEmpty()) {
|
|
||||||
if (id.isColumn()) {
|
if (id.isColumn()) {
|
||||||
columnListID.append(newTextID);
|
columnListID.append(newTextID);
|
||||||
columnListTr.append(newTextTr);
|
columnListTr.append(newTextTr);
|
||||||
|
@ -539,30 +525,26 @@ void ChangeObjectParent::refresh() {
|
||||||
pegbarListColor.append(newTextBG);
|
pegbarListColor.append(newTextBG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
for (i = 0; i < columnListID.size(); i++)
|
for (i = 0; i < columnListID.size(); i++)
|
||||||
addText(columnListID.at(i), columnListTr.at(i), columnListColor.at(i));
|
addText(columnListID.at(i), columnListTr.at(i), columnListColor.at(i));
|
||||||
for (i = 0; i < pegbarListID.size(); i++)
|
for (i = 0; i < pegbarListID.size(); i++)
|
||||||
addText(pegbarListID.at(i), pegbarListTr.at(i), pegbarListColor.at(i));
|
addText(pegbarListID.at(i), pegbarListTr.at(i), pegbarListColor.at(i));
|
||||||
|
|
||||||
QString fontName = Preferences::instance()->getInterfaceFont();
|
m_width = fontMetrics().width(theLongestTxt) + 32;
|
||||||
if (fontName == "") {
|
|
||||||
#ifdef _WIN32
|
|
||||||
fontName = "Arial";
|
|
||||||
#else
|
|
||||||
fontName = "Helvetica";
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
static QFont font(fontName, -1, QFont::Normal);
|
|
||||||
// set font size in pixel
|
|
||||||
font.setPixelSize(XSHEET_FONT_PX_SIZE);
|
|
||||||
|
|
||||||
m_width = QFontMetrics(font).width(theLongestTxt) + 32;
|
|
||||||
selectCurrent(currentText);
|
selectCurrent(currentText);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
QString ChangeObjectParent::getNameTr(const TStageObjectId id) {
|
||||||
|
if (id.isTable()) return tr("Table");
|
||||||
|
// return untranslated string for other types
|
||||||
|
else
|
||||||
|
return QString::fromStdString(id.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
void ChangeObjectParent::onTextSelected(const QString &text) {
|
void ChangeObjectParent::onTextSelected(const QString &text) {
|
||||||
assert(m_xsheetHandle);
|
assert(m_xsheetHandle);
|
||||||
assert(m_objectHandle);
|
assert(m_objectHandle);
|
||||||
|
@ -577,7 +559,7 @@ void ChangeObjectParent::onTextSelected(const QString &text) {
|
||||||
bool isTable = false;
|
bool isTable = false;
|
||||||
if (text == "Table") isTable = true;
|
if (text == "Table") isTable = true;
|
||||||
QString number = text;
|
QString number = text;
|
||||||
number.remove(0, 4);
|
number.remove(0, 3);
|
||||||
// Remove names from the index
|
// Remove names from the index
|
||||||
int spaceIndex = number.indexOf(" ");
|
int spaceIndex = number.indexOf(" ");
|
||||||
if (spaceIndex > -1) number.remove(spaceIndex, 1000);
|
if (spaceIndex > -1) number.remove(spaceIndex, 1000);
|
||||||
|
@ -1267,11 +1249,12 @@ void ColumnArea::DrawHeader::drawPegbarName() const {
|
||||||
|
|
||||||
TStageObjectId columnId = m_viewer->getObjectId(col);
|
TStageObjectId columnId = m_viewer->getObjectId(col);
|
||||||
TStageObjectId parentId = xsh->getStageObjectParent(columnId);
|
TStageObjectId parentId = xsh->getStageObjectParent(columnId);
|
||||||
std::string strName = xsh->getStageObject(parentId)->getName();
|
|
||||||
QString name = QString(parentId.toString().c_str());
|
QString name;
|
||||||
if (strName.length() > 0 && parentId.toString() != strName) {
|
if (xsh->getStageObject(parentId)->hasSpecifiedName())
|
||||||
name = QString::fromStdString(strName);
|
name = QString::fromStdString(xsh->getStageObject(parentId)->getName());
|
||||||
}
|
else
|
||||||
|
name = ChangeObjectParent::getNameTr(parentId);
|
||||||
|
|
||||||
QString fontName = Preferences::instance()->getInterfaceFont();
|
QString fontName = Preferences::instance()->getInterfaceFont();
|
||||||
if (fontName == "") {
|
if (fontName == "") {
|
||||||
|
|
|
@ -118,6 +118,8 @@ public:
|
||||||
|
|
||||||
void refresh() override;
|
void refresh() override;
|
||||||
|
|
||||||
|
static QString getNameTr(const TStageObjectId id);
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void onTextSelected(const QString &) override;
|
void onTextSelected(const QString &) override;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue