diff --git a/src/plugins/squish/CMakeLists.txt b/src/plugins/squish/CMakeLists.txt index 7212d6bc40b..153b5c94636 100644 --- a/src/plugins/squish/CMakeLists.txt +++ b/src/plugins/squish/CMakeLists.txt @@ -21,6 +21,7 @@ add_qtc_plugin(Squish squishtesttreemodel.cpp squishtesttreemodel.h squishtesttreeview.cpp squishtesttreeview.h squishtools.cpp squishtools.h + squishtr.h squishutils.cpp squishutils.h squishxmloutputhandler.cpp squishxmloutputhandler.h symbolnameitemdelegate.cpp symbolnameitemdelegate.h diff --git a/src/plugins/squish/deletesymbolicnamedialog.cpp b/src/plugins/squish/deletesymbolicnamedialog.cpp index 6f8fe41483f..691023728ae 100644 --- a/src/plugins/squish/deletesymbolicnamedialog.cpp +++ b/src/plugins/squish/deletesymbolicnamedialog.cpp @@ -25,6 +25,8 @@ #include "deletesymbolicnamedialog.h" +#include "squishtr.h" + #include #include @@ -49,13 +51,11 @@ DeleteSymbolicNameDialog::DeleteSymbolicNameDialog(const QString &symbolicName, : QDialog(parent) , m_result(ResetReference) { - setWindowTitle(tr("Dialog")); - - m_detailsLabel = new QLabel(tr("Details")); + m_detailsLabel = new QLabel(Tr::tr("Details")); m_detailsLabel->setWordWrap(true); auto adjustReferencesRB = new QRadioButton; - adjustReferencesRB->setText(tr("Adjust references to the removed symbolic name to point to:")); + adjustReferencesRB->setText(Tr::tr("Adjust references to the removed symbolic name to point to:")); adjustReferencesRB->setChecked(true); auto filterLineEdit = new Utils::FancyLineEdit; @@ -64,10 +64,10 @@ DeleteSymbolicNameDialog::DeleteSymbolicNameDialog(const QString &symbolicName, m_symbolicNamesList = new QListView; auto removeAndInvalidateRB = new QRadioButton; - removeAndInvalidateRB->setText(tr("Remove the symbolic name (invalidates names referencing it)")); + removeAndInvalidateRB->setText(Tr::tr("Remove the symbolic name (invalidates names referencing it)")); auto removeAllRB = new QRadioButton; - removeAllRB->setText(tr("Remove the symbolic name and all names referencing it")); + removeAllRB->setText(Tr::tr("Remove the symbolic name and all names referencing it")); m_buttonBox = new QDialogButtonBox; m_buttonBox->setOrientation(Qt::Horizontal); diff --git a/src/plugins/squish/objectsmapdocument.cpp b/src/plugins/squish/objectsmapdocument.cpp index c1b6edcab9b..339e00475aa 100644 --- a/src/plugins/squish/objectsmapdocument.cpp +++ b/src/plugins/squish/objectsmapdocument.cpp @@ -24,8 +24,10 @@ ****************************************************************************/ #include "objectsmapdocument.h" + #include "objectsmaptreeitem.h" #include "squishconstants.h" +#include "squishtr.h" #include @@ -67,7 +69,7 @@ bool ObjectsMapDocument::save(QString *errorString, const Utils::FilePath &fileN const bool writeOk = writeFile(actual); if (!writeOk) { if (errorString) - *errorString = tr("Failed to write \"%1\"").arg(actual.toUserOutput()); + *errorString = Tr::tr("Failed to write \"%1\"").arg(actual.toUserOutput()); return false; } @@ -211,7 +213,7 @@ Core::IDocument::OpenResult ObjectsMapDocument::openImpl(QString *error, const QString text = QString::fromLocal8Bit(reader.data()); if (!setContents(text.toUtf8())) { if (error) - error->append(tr("Failure while parsing objects.map content.")); + error->append(Tr::tr("Failure while parsing objects.map content.")); return OpenResult::ReadError; } return OpenResult::Success; diff --git a/src/plugins/squish/objectsmapeditor.cpp b/src/plugins/squish/objectsmapeditor.cpp index c48a799fb6b..6ba9ba1f65d 100644 --- a/src/plugins/squish/objectsmapeditor.cpp +++ b/src/plugins/squish/objectsmapeditor.cpp @@ -24,51 +24,47 @@ ****************************************************************************/ #include "objectsmapeditor.h" + #include "objectsmapdocument.h" #include "objectsmapeditorwidget.h" #include "squishconstants.h" +#include "squishtr.h" -namespace Squish { -namespace Internal { +#include -ObjectsMapEditor::ObjectsMapEditor(QSharedPointer document) - : m_document(document) +#include + +namespace Squish::Internal { + +class ObjectsMapEditor : public Core::IEditor { - setWidget(new ObjectsMapEditorWidget(m_document.data())); - setDuplicateSupported(true); -} +public: + ObjectsMapEditor(QSharedPointer document) + : m_document(document) + { + setWidget(new ObjectsMapEditorWidget(m_document.data())); + setDuplicateSupported(true); + } + ~ObjectsMapEditor() override { delete m_widget; } -ObjectsMapEditor::~ObjectsMapEditor() -{ - delete m_widget; -} +private: + Core::IDocument *document() const override { return m_document.data(); } + QWidget *toolBar() override { return nullptr; } + Core::IEditor *duplicate() override { return new ObjectsMapEditor(m_document); } + QSharedPointer m_document; +}; -Core::IDocument *ObjectsMapEditor::document() const -{ - return m_document.data(); -} -QWidget *ObjectsMapEditor::toolBar() -{ - return nullptr; -} - -Core::IEditor *ObjectsMapEditor::duplicate() -{ - return new ObjectsMapEditor(m_document); -} - -/********************************* EditorFactory ********************************************/ +// Factory ObjectsMapEditorFactory::ObjectsMapEditorFactory() { setId(Constants::OBJECTSMAP_EDITOR_ID); - setDisplayName("Squish Object Map Editor"); + setDisplayName(Tr::tr("Squish Object Map Editor")); addMimeType(Constants::SQUISH_OBJECTSMAP_MIMETYPE); setEditorCreator([]() { return new ObjectsMapEditor(QSharedPointer(new ObjectsMapDocument)); }); } -} // namespace Internal -} // namespace Squish +} // Squish::Internal diff --git a/src/plugins/squish/objectsmapeditor.h b/src/plugins/squish/objectsmapeditor.h index cfc79702ccc..4311710dcdc 100644 --- a/src/plugins/squish/objectsmapeditor.h +++ b/src/plugins/squish/objectsmapeditor.h @@ -25,39 +25,14 @@ #pragma once -#include #include -#include - -namespace Squish { -namespace Internal { - -class ObjectsMapDocument; -class ObjectsMapEditorWidget; -class ObjectsMapTreeItem; - -class ObjectsMapEditor : public Core::IEditor -{ - Q_OBJECT -public: - ObjectsMapEditor(QSharedPointer document); - ~ObjectsMapEditor() override; - - Core::IDocument *document() const override; - QWidget *toolBar() override; - Core::IEditor *duplicate() override; - -private: - QSharedPointer m_document; -}; +namespace Squish::Internal { class ObjectsMapEditorFactory : public Core::IEditorFactory { - Q_OBJECT public: ObjectsMapEditorFactory(); }; -} // namespace Internal -} // namespace Squish +} // Squish::Internal diff --git a/src/plugins/squish/objectsmapeditorwidget.cpp b/src/plugins/squish/objectsmapeditorwidget.cpp index 2d5272b4494..56f4b133df7 100644 --- a/src/plugins/squish/objectsmapeditorwidget.cpp +++ b/src/plugins/squish/objectsmapeditorwidget.cpp @@ -24,10 +24,12 @@ ****************************************************************************/ #include "objectsmapeditorwidget.h" + #include "deletesymbolicnamedialog.h" #include "objectsmapdocument.h" #include "objectsmaptreeitem.h" #include "propertyitemdelegate.h" +#include "squishtr.h" #include "symbolnameitemdelegate.h" #include @@ -53,8 +55,8 @@ namespace Squish { namespace Internal { -static const char objectsMapObjectMimeType[] = "application/vnd.qtcreator.objectsmapobject"; -static const char objectsMapPropertyMimeType[] = "application/vnd.qtcreator.objectsmapproperty"; +const char objectsMapObjectMimeType[] = "application/vnd.qtcreator.objectsmapobject"; +const char objectsMapPropertyMimeType[] = "application/vnd.qtcreator.objectsmapproperty"; ObjectsMapEditorWidget::ObjectsMapEditorWidget(ObjectsMapDocument *document, QWidget *parent) : QWidget(parent) @@ -69,7 +71,7 @@ void ObjectsMapEditorWidget::initUi() { setGeometry(0, 0, 550, 585); QVBoxLayout *mainLayout = new QVBoxLayout; - mainLayout->addWidget(new QLabel(tr("Symbolic Names"), this)); + mainLayout->addWidget(new QLabel("" + Tr::tr("Symbolic Names") + "", this)); m_filterLineEdit = new Utils::FancyLineEdit(this); m_filterLineEdit->setFiltering(true); mainLayout->addWidget(m_filterLineEdit); @@ -79,9 +81,9 @@ void ObjectsMapEditorWidget::initUi() horizontalLayout->addWidget(m_symbolicNamesTreeView); QVBoxLayout *verticalLayout = new QVBoxLayout; - m_newSymbolicName = new QPushButton(tr("New")); + m_newSymbolicName = new QPushButton(Tr::tr("New")); verticalLayout->addWidget(m_newSymbolicName); - m_removeSymbolicName = new QPushButton(tr("Remove")); + m_removeSymbolicName = new QPushButton(Tr::tr("Remove")); m_removeSymbolicName->setEnabled(false); verticalLayout->addWidget(m_removeSymbolicName); verticalLayout->addSpacerItem( @@ -107,16 +109,16 @@ void ObjectsMapEditorWidget::initUi() horizontalLayout2->addWidget(m_propertiesTree); QVBoxLayout *verticalLayout2 = new QVBoxLayout; - m_newProperty = new QPushButton(tr("New"), this); + m_newProperty = new QPushButton(Tr::tr("New"), this); m_newProperty->setEnabled(false); verticalLayout2->addWidget(m_newProperty); - m_removeProperty = new QPushButton(tr("Remove"), this); + m_removeProperty = new QPushButton(Tr::tr("Remove"), this); m_removeProperty->setEnabled(false); verticalLayout2->addWidget(m_removeProperty); m_jumpToSymbolicName = new QPushButton(this); m_jumpToSymbolicName->setEnabled(false); m_jumpToSymbolicName->setIcon(QIcon(":/squish/images/jumpTo.png")); - m_jumpToSymbolicName->setToolTip(tr("Jump to Symbolic Name")); + m_jumpToSymbolicName->setToolTip(Tr::tr("Jump to Symbolic Name")); verticalLayout2->addWidget(m_jumpToSymbolicName); verticalLayout2->addSpacerItem( new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding)); @@ -219,28 +221,28 @@ void ObjectsMapEditorWidget::initializeConnections() void ObjectsMapEditorWidget::initializeContextMenus() { m_symbolicNamesCtxtMenu = new QMenu(m_symbolicNamesTreeView); - QAction *cutAction = new QAction(tr("Cut"), m_symbolicNamesCtxtMenu); + QAction *cutAction = new QAction(Tr::tr("Cut"), m_symbolicNamesCtxtMenu); cutAction->setShortcut(QKeySequence(QKeySequence::Cut)); connect(cutAction, &QAction::triggered, this, &ObjectsMapEditorWidget::onCutSymbolicNameTriggered); - QAction *copyAction = new QAction(tr("Copy"), m_symbolicNamesCtxtMenu); + QAction *copyAction = new QAction(Tr::tr("Copy"), m_symbolicNamesCtxtMenu); copyAction->setShortcut(QKeySequence(QKeySequence::Copy)); connect(copyAction, &QAction::triggered, this, &ObjectsMapEditorWidget::onCopySymbolTriggered); - QAction *pasteAction = new QAction(tr("Paste"), m_symbolicNamesCtxtMenu); + QAction *pasteAction = new QAction(Tr::tr("Paste"), m_symbolicNamesCtxtMenu); pasteAction->setShortcut(QKeySequence(QKeySequence::Paste)); connect(pasteAction, &QAction::triggered, this, &ObjectsMapEditorWidget::onPasteSymbolicNameTriggered); - QAction *deleteAction = new QAction(tr("Delete"), m_symbolicNamesCtxtMenu); + QAction *deleteAction = new QAction(Tr::tr("Delete"), m_symbolicNamesCtxtMenu); deleteAction->setShortcut(QKeySequence(QKeySequence::Delete)); connect(deleteAction, &QAction::triggered, this, &ObjectsMapEditorWidget::onRemoveSymbolicNameTriggered); - QAction *copyRealNameAction = new QAction(tr("Copy Real Name"), m_symbolicNamesCtxtMenu); + QAction *copyRealNameAction = new QAction(Tr::tr("Copy Real Name"), m_symbolicNamesCtxtMenu); connect(copyRealNameAction, &QAction::triggered, this, @@ -253,19 +255,19 @@ void ObjectsMapEditorWidget::initializeContextMenus() m_symbolicNamesCtxtMenu->addAction(copyRealNameAction); m_propertiesCtxtMenu = new QMenu(m_propertiesTree); - cutAction = new QAction(tr("Cut"), m_propertiesCtxtMenu); + cutAction = new QAction(Tr::tr("Cut"), m_propertiesCtxtMenu); cutAction->setShortcut(QKeySequence(QKeySequence::Cut)); connect(cutAction, &QAction::triggered, this, &ObjectsMapEditorWidget::onCutPropertyTriggered); - copyAction = new QAction(tr("Copy"), m_propertiesCtxtMenu); + copyAction = new QAction(Tr::tr("Copy"), m_propertiesCtxtMenu); copyAction->setShortcut(QKeySequence(QKeySequence::Copy)); connect(copyAction, &QAction::triggered, this, &ObjectsMapEditorWidget::onCopyPropertyTriggered); - pasteAction = new QAction(tr("Paste"), m_propertiesCtxtMenu); + pasteAction = new QAction(Tr::tr("Paste"), m_propertiesCtxtMenu); pasteAction->setShortcut(QKeySequence(QKeySequence::Paste)); connect(pasteAction, &QAction::triggered, this, &ObjectsMapEditorWidget::onPastePropertyTriggered); - deleteAction = new QAction(tr("Delete"), m_propertiesCtxtMenu); + deleteAction = new QAction(Tr::tr("Delete"), m_propertiesCtxtMenu); deleteAction->setShortcut(QKeySequence(QKeySequence::Delete)); connect(deleteAction, &QAction::triggered, @@ -280,15 +282,14 @@ void ObjectsMapEditorWidget::initializeContextMenus() void ObjectsMapEditorWidget::setPropertiesDisplayValid(bool valid) { - static const char *propertiesValidText = QT_TR_NOOP( - "Properties:
" + static const QString properties = "" + Tr::tr("Properties:") + "
"; + static const QString propertiesValidText = properties + Tr::tr( "The properties of the Multi Property Name associated with the selected " "Symbolic Name. (use \\\\ for a literal \\ in the value)"); - static const char *propertiesInvalidText = QT_TR_NOOP( - "Properties:
" + static const QString propertiesInvalidText = properties + Tr::tr( "The Hierarchical Name associated with the selected Symbolic Name."); - m_propertiesLabel->setText(tr(valid ? propertiesValidText : propertiesInvalidText)); + m_propertiesLabel->setText(valid ? propertiesValidText : propertiesInvalidText); m_stackedLayout->setCurrentIndex(valid ? 0 : 1); } @@ -486,8 +487,8 @@ void ObjectsMapEditorWidget::onRemoveSymbolicNameTriggered() } else { // Squish does not ask for removing objects without references, but we prefer to do it if (QMessageBox::question(Core::ICore::dialogParent(), - tr("Remove Symbolic Name"), - tr("Do you really want to remove \"%1\"?").arg(symbolicName)) + Tr::tr("Remove Symbolic Name"), + Tr::tr("Do you really want to remove \"%1\"?").arg(symbolicName)) != QMessageBox::Yes) return; } @@ -630,11 +631,11 @@ QString ObjectsMapEditorWidget::ambiguousNameDialog(const QString &original, QDialog dialog(this); dialog.setModal(true); - dialog.setWindowTitle(isProperty ? tr("Ambiguous Property Name") - : tr("Ambiguous Symbolic Name")); + dialog.setWindowTitle(isProperty ? Tr::tr("Ambiguous Property Name") + : Tr::tr("Ambiguous Symbolic Name")); QVBoxLayout *layout = new QVBoxLayout; - QLabel label(tr("%1 \"%2\" already exists. Specify a unique name.") - .arg(isProperty ? tr("Property") : tr("Symbolic Name")) + QLabel label(Tr::tr("%1 \"%2\" already exists. Specify a unique name.") + .arg(isProperty ? Tr::tr("Property") : Tr::tr("Symbolic Name")) .arg(original)); layout->addWidget(&label); Utils::FancyLineEdit *validator; @@ -664,7 +665,7 @@ QString ObjectsMapEditorWidget::ambiguousNameDialog(const QString &original, QString validName(original); if (isProperty) { validName[0] = validName[0].toUpper(); - validName = tr("CopyOf") + validName; + validName = Tr::tr("CopyOf") + validName; } // make sure the name is unique if (usedNames.contains(validName)) diff --git a/src/plugins/squish/objectsmapeditorwidget.h b/src/plugins/squish/objectsmapeditorwidget.h index 970790ef8ee..8f381aac245 100644 --- a/src/plugins/squish/objectsmapeditorwidget.h +++ b/src/plugins/squish/objectsmapeditorwidget.h @@ -52,7 +52,6 @@ class PropertyTreeItem; class ObjectsMapEditorWidget : public QWidget { - Q_OBJECT public: explicit ObjectsMapEditorWidget(ObjectsMapDocument *document, QWidget *parent = nullptr); diff --git a/src/plugins/squish/opensquishsuitesdialog.cpp b/src/plugins/squish/opensquishsuitesdialog.cpp index 0851ce9cb27..ba37580bd13 100644 --- a/src/plugins/squish/opensquishsuitesdialog.cpp +++ b/src/plugins/squish/opensquishsuitesdialog.cpp @@ -25,6 +25,7 @@ #include "opensquishsuitesdialog.h" +#include "squishtr.h" #include "squishutils.h" #include @@ -47,7 +48,7 @@ static QString previousPath; OpenSquishSuitesDialog::OpenSquishSuitesDialog(QWidget *parent) : QDialog(parent) { - setWindowTitle(tr("Open Squish Test Suites")); + setWindowTitle(Tr::tr("Open Squish Test Suites")); setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); setModal(true); @@ -56,9 +57,9 @@ OpenSquishSuitesDialog::OpenSquishSuitesDialog(QWidget *parent) m_suitesListWidget = new QListWidget; - auto selectAllPushButton = new QPushButton(tr("Select All")); + auto selectAllPushButton = new QPushButton(Tr::tr("Select All")); - auto deselectAllPushButton = new QPushButton(tr("Deselect All")); + auto deselectAllPushButton = new QPushButton(Tr::tr("Deselect All")); m_buttonBox = new QDialogButtonBox; m_buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Open); @@ -67,9 +68,9 @@ OpenSquishSuitesDialog::OpenSquishSuitesDialog(QWidget *parent) using namespace Utils::Layouting; Column { - new QLabel(tr("Base directory:")), + new QLabel(Tr::tr("Base directory:")), m_directoryLineEdit, - new QLabel(tr("Test suites:")), + new QLabel(Tr::tr("Test suites:")), Row { m_suitesListWidget, Column { diff --git a/src/plugins/squish/propertytreeitem.cpp b/src/plugins/squish/propertytreeitem.cpp index d6c4919d3bf..ed5da112087 100644 --- a/src/plugins/squish/propertytreeitem.cpp +++ b/src/plugins/squish/propertytreeitem.cpp @@ -25,6 +25,8 @@ #include "propertytreeitem.h" +#include "squishtr.h" + #include using namespace Utils; @@ -197,7 +199,7 @@ PropertiesModel::PropertiesModel(ObjectsMapTreeItem *parentItem) : TreeModel(new PropertyTreeItem({})) , m_parentItem(parentItem) { - setHeader(QStringList() << tr("Name") << tr("Operator") << tr("Value")); + setHeader({Tr::tr("Name"), Tr::tr("Operator"), Tr::tr("Value")}); } bool PropertiesModel::setData(const QModelIndex &idx, const QVariant &data, int role) diff --git a/src/plugins/squish/squish.qbs b/src/plugins/squish/squish.qbs index a9c6b138f88..8b952e31d7c 100644 --- a/src/plugins/squish/squish.qbs +++ b/src/plugins/squish/squish.qbs @@ -32,6 +32,7 @@ QtcPlugin { "squishutils.h", "squishtools.cpp", "squishtools.h", + "squishtr.h", "squishxmloutputhandler.cpp", "squishxmloutputhandler.h", "testresult.cpp", diff --git a/src/plugins/squish/squishfilehandler.cpp b/src/plugins/squish/squishfilehandler.cpp index 95e77438a23..ab172967c48 100644 --- a/src/plugins/squish/squishfilehandler.cpp +++ b/src/plugins/squish/squishfilehandler.cpp @@ -24,11 +24,13 @@ ****************************************************************************/ #include "squishfilehandler.h" + #include "opensquishsuitesdialog.h" #include "squishconstants.h" #include "squishtesttreemodel.h" #include "squishtools.h" #include "squishutils.h" +#include "squishtr.h" #include #include @@ -100,10 +102,10 @@ void SquishFileHandler::openTestSuites() } else if (replaceSuite != QMessageBox::NoToAll) { replaceSuite = QMessageBox::question(Core::ICore::dialogParent(), - tr("Suite Already Open"), - tr("A test suite with the name \"%1\" is already open." - "\nClose the opened test suite and replace it " - "with the new one?") + Tr::tr("Suite Already Open"), + Tr::tr("A test suite with the name \"%1\" is already open." + "\nClose the opened test suite and replace it " + "with the new one?") .arg(suiteName), QMessageBox::Yes | QMessageBox::YesToAll | QMessageBox::No | QMessageBox::NoToAll, @@ -154,9 +156,9 @@ void SquishFileHandler::runTestCase(const QString &suiteName, const QString &tes const QDir suitePath = QFileInfo(m_suites.value(suiteName)).absoluteDir(); if (!suitePath.exists() || !suitePath.isReadable()) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("Test Suite Path Not Accessible"), - tr("The path \"%1\" does not exist or is not accessible.\n" - "Refusing to run test case \"%2\".") + Tr::tr("Test Suite Path Not Accessible"), + Tr::tr("The path \"%1\" does not exist or is not accessible.\n" + "Refusing to run test case \"%2\".") .arg(QDir::toNativeSeparators(suitePath.absolutePath())) .arg(testCaseName)); return; @@ -176,9 +178,9 @@ void SquishFileHandler::runTestSuite(const QString &suiteName) const QDir suitePath = QFileInfo(suiteConf).absoluteDir(); if (!suitePath.exists() || !suitePath.isReadable()) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("Test Suite Path Not Accessible"), - tr("The path \"%1\" does not exist or is not accessible.\n" - "Refusing to run test cases.") + Tr::tr("Test Suite Path Not Accessible"), + Tr::tr("The path \"%1\" does not exist or is not accessible.\n" + "Refusing to run test cases.") .arg(QDir::toNativeSeparators(suitePath.absolutePath()))); return; } @@ -215,7 +217,7 @@ void addAllEntriesRecursively(SquishTestTreeItem *item) void SquishFileHandler::addSharedFolder() { const QString &chosen = QFileDialog::getExistingDirectory(Core::ICore::dialogParent(), - tr("Select Global Script Folder")); + Tr::tr("Select Global Script Folder")); if (chosen.isEmpty()) return; @@ -252,8 +254,8 @@ void SquishFileHandler::openObjectsMap(const QString &suiteName) if (!objectsMapPath.isEmpty() && objectsMapPath.exists()) { if (!Core::EditorManager::openEditor(objectsMapPath, Constants::OBJECTSMAP_EDITOR_ID)) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("Error"), - tr("Failed to open objects.map file at \"%1\".") + Tr::tr("Error"), + Tr::tr("Failed to open objects.map file at \"%1\".") .arg(objectsMapPath.toUserOutput())); } } diff --git a/src/plugins/squish/squishnavigationwidget.cpp b/src/plugins/squish/squishnavigationwidget.cpp index dd1b88c556a..6fcac6f2bb9 100644 --- a/src/plugins/squish/squishnavigationwidget.cpp +++ b/src/plugins/squish/squishnavigationwidget.cpp @@ -24,10 +24,12 @@ ****************************************************************************/ #include "squishnavigationwidget.h" + #include "squishconstants.h" #include "squishfilehandler.h" #include "squishtesttreemodel.h" #include "squishtesttreeview.h" +#include "squishtr.h" #include #include @@ -48,7 +50,7 @@ const int defaultSectionSize = 17; SquishNavigationWidget::SquishNavigationWidget(QWidget *parent) : QWidget(parent) { - setWindowTitle(tr("Squish")); + setWindowTitle(Tr::tr("Squish")); m_view = new SquishTestTreeView(this); m_model = SquishTestTreeModel::instance(); m_sortModel = new SquishTestTreeSortModel(m_model, m_model); @@ -117,9 +119,9 @@ void SquishNavigationWidget::contextMenuEvent(QContextMenuEvent *event) case SquishTestTreeItem::SquishTestCase: { const QString caseName = idx.data(DisplayNameRole).toString(); const QString suiteName = idx.parent().data(DisplayNameRole).toString(); - QAction *runThisTestCase = new QAction(tr("Run This Test Case"), &menu); + QAction *runThisTestCase = new QAction(Tr::tr("Run This Test Case"), &menu); menu.addAction(runThisTestCase); - QAction *deleteTestCase = new QAction(tr("Delete Test Case"), &menu); + QAction *deleteTestCase = new QAction(Tr::tr("Delete Test Case"), &menu); menu.addAction(deleteTestCase); menu.addSeparator(); @@ -130,14 +132,14 @@ void SquishNavigationWidget::contextMenuEvent(QContextMenuEvent *event) } case SquishTestTreeItem::SquishSuite: { const QString suiteName = idx.data(DisplayNameRole).toString(); - QAction *runThisTestSuite = new QAction(tr("Run This Test Suite"), &menu); + QAction *runThisTestSuite = new QAction(Tr::tr("Run This Test Suite"), &menu); menu.addAction(runThisTestSuite); menu.addSeparator(); - QAction *addNewTestCase = new QAction(tr("Add New Test Case..."), &menu); + QAction *addNewTestCase = new QAction(Tr::tr("Add New Test Case..."), &menu); menu.addAction(addNewTestCase); - QAction *closeTestSuite = new QAction(tr("Close Test Suite"), &menu); + QAction *closeTestSuite = new QAction(Tr::tr("Close Test Suite"), &menu); menu.addAction(closeTestSuite); - QAction *deleteTestSuite = new QAction(tr("Delete Test Suite"), &menu); + QAction *deleteTestSuite = new QAction(Tr::tr("Delete Test Suite"), &menu); menu.addAction(deleteTestSuite); menu.addSeparator(); @@ -150,17 +152,17 @@ void SquishNavigationWidget::contextMenuEvent(QContextMenuEvent *event) break; } case SquishTestTreeItem::SquishSharedFile: { - QAction *deleteSharedFile = new QAction(tr("Delete Shared File"), &menu); + QAction *deleteSharedFile = new QAction(Tr::tr("Delete Shared File"), &menu); menu.addAction(deleteSharedFile); break; } case SquishTestTreeItem::SquishSharedFolder: { - QAction *addSharedFile = new QAction(tr("Add Shared File"), &menu); + QAction *addSharedFile = new QAction(Tr::tr("Add Shared File"), &menu); menu.addAction(addSharedFile); // only add the action 'Remove Shared Folder' for top-level shared folders, not // to their recursively added sub-folders if (idx.parent().data(TypeRole).toInt() == SquishTestTreeItem::Root) { - QAction *removeSharedFolder = new QAction(tr("Remove Shared Folder"), &menu); + QAction *removeSharedFolder = new QAction(Tr::tr("Remove Shared Folder"), &menu); menu.addAction(removeSharedFolder); menu.addSeparator(); connect(removeSharedFolder, &QAction::triggered, this, [this, idx]() { @@ -178,9 +180,9 @@ void SquishNavigationWidget::contextMenuEvent(QContextMenuEvent *event) const QModelIndex &suitesIndex = m_view->model()->index(1, 0); // general squish related menu entries - QAction *openSquishSuites = new QAction(tr("Open Squish Suites..."), &menu); + QAction *openSquishSuites = new QAction(Tr::tr("Open Squish Suites..."), &menu); menu.addAction(openSquishSuites); - QAction *createNewTestSuite = new QAction(tr("Create New Test Suite..."), &menu); + QAction *createNewTestSuite = new QAction(Tr::tr("Create New Test Suite..."), &menu); menu.addAction(createNewTestSuite); connect(openSquishSuites, @@ -190,13 +192,13 @@ void SquishNavigationWidget::contextMenuEvent(QContextMenuEvent *event) if (m_view->model()->rowCount(suitesIndex) > 0) { menu.addSeparator(); - QAction *closeAllSuites = new QAction(tr("Close All Test Suites"), &menu); + QAction *closeAllSuites = new QAction(Tr::tr("Close All Test Suites"), &menu); menu.addAction(closeAllSuites); connect(closeAllSuites, &QAction::triggered, this, [this]() { if (QMessageBox::question(this, - tr("Close All Test Suites"), - tr("Close all test suites?" + Tr::tr("Close All Test Suites"), + Tr::tr("Close all test suites?" /*"\nThis will close all related files as well."*/)) == QMessageBox::Yes) SquishFileHandler::instance()->closeAllTestSuites(); @@ -204,7 +206,7 @@ void SquishNavigationWidget::contextMenuEvent(QContextMenuEvent *event) } menu.addSeparator(); - QAction *addSharedFolder = new QAction(tr("Add Shared Folder..."), &menu); + QAction *addSharedFolder = new QAction(Tr::tr("Add Shared Folder..."), &menu); menu.addAction(addSharedFolder); connect(addSharedFolder, @@ -214,7 +216,7 @@ void SquishNavigationWidget::contextMenuEvent(QContextMenuEvent *event) if (m_view->model()->rowCount(foldersIndex) > 0) { menu.addSeparator(); - QAction *removeAllFolders = new QAction(tr("Remove All Shared Folders"), &menu); + QAction *removeAllFolders = new QAction(Tr::tr("Remove All Shared Folders"), &menu); menu.addAction(removeAllFolders); connect(removeAllFolders, @@ -247,26 +249,26 @@ void SquishNavigationWidget::onItemActivated(const QModelIndex &idx) void SquishNavigationWidget::onExpanded(const QModelIndex &idx) { - if (idx.data().toString().startsWith(tr("Test Suites"))) + if (idx.data().toString().startsWith(Tr::tr("Test Suites"))) m_view->header()->setDefaultSectionSize(defaultSectionSize); } void SquishNavigationWidget::onCollapsed(const QModelIndex &idx) { - if (idx.data().toString().startsWith(tr("Test Suites"))) + if (idx.data().toString().startsWith(Tr::tr("Test Suites"))) m_view->header()->setDefaultSectionSize(0); } void SquishNavigationWidget::onRowsInserted(const QModelIndex &parent, int, int) { - if (parent.isValid() && parent.data().toString().startsWith(tr("Test Suites"))) + if (parent.isValid() && parent.data().toString().startsWith(Tr::tr("Test Suites"))) if (m_view->isExpanded(parent) && m_model->rowCount(parent)) m_view->header()->setDefaultSectionSize(defaultSectionSize); } void SquishNavigationWidget::onRowsRemoved(const QModelIndex &parent, int, int) { - if (parent.isValid() && parent.data().toString().startsWith(tr("Test Suites"))) + if (parent.isValid() && parent.data().toString().startsWith(Tr::tr("Test Suites"))) if (m_model->rowCount(parent) == 0) m_view->header()->setDefaultSectionSize(0); } @@ -277,8 +279,8 @@ void SquishNavigationWidget::onRemoveSharedFolderTriggered(int row, const QModel QTC_ASSERT(!folder.isEmpty(), return ); if (QMessageBox::question(Core::ICore::dialogParent(), - tr("Remove Shared Folder"), - tr("Remove \"%1\" from the list of shared folders?") + Tr::tr("Remove Shared Folder"), + Tr::tr("Remove \"%1\" from the list of shared folders?") .arg(QDir::toNativeSeparators(folder))) != QMessageBox::Yes) { return; @@ -292,8 +294,8 @@ void SquishNavigationWidget::onRemoveSharedFolderTriggered(int row, const QModel void SquishNavigationWidget::onRemoveAllSharedFolderTriggered() { if (QMessageBox::question(Core::ICore::dialogParent(), - tr("Remove All Shared Folders"), - tr("Remove all shared folders?")) + Tr::tr("Remove All Shared Folders"), + Tr::tr("Remove all shared folders?")) != QMessageBox::Yes) { return; } @@ -304,7 +306,7 @@ void SquishNavigationWidget::onRemoveAllSharedFolderTriggered() SquishNavigationWidgetFactory::SquishNavigationWidgetFactory() { - setDisplayName(tr("Squish")); + setDisplayName(Tr::tr("Squish")); setId(Squish::Constants::SQUISH_ID); setPriority(777); } diff --git a/src/plugins/squish/squishoutputpane.cpp b/src/plugins/squish/squishoutputpane.cpp index 9439652baa9..84f4e1e3f82 100644 --- a/src/plugins/squish/squishoutputpane.cpp +++ b/src/plugins/squish/squishoutputpane.cpp @@ -24,7 +24,9 @@ ****************************************************************************/ #include "squishoutputpane.h" + #include "squishresultmodel.h" +#include "squishtr.h" #include "testresult.h" #include @@ -101,8 +103,8 @@ SquishOutputPane::SquishOutputPane(QObject *parent) m_runnerServerLog->setMaximumBlockCount(10000); m_runnerServerLog->setReadOnly(true); - m_outputPane->addTab(m_outputWidget, tr("Test Results")); - m_outputPane->addTab(m_runnerServerLog, tr("Runner/Server Log")); + m_outputPane->addTab(m_outputWidget, Tr::tr("Test Results")); + m_outputPane->addTab(m_runnerServerLog, Tr::tr("Runner/Server Log")); connect(m_outputPane, &QTabWidget::currentChanged, this, [this]() { navigateStateChanged(); }); connect(m_treeView, &Utils::TreeView::activated, this, &SquishOutputPane::onItemActivated); @@ -139,7 +141,7 @@ QList SquishOutputPane::toolBarWidgets() const QString SquishOutputPane::displayName() const { - return tr("Squish"); + return Tr::tr("Squish"); } int SquishOutputPane::priorityInStatusBar() const @@ -301,8 +303,9 @@ void SquishOutputPane::updateSummaryLabel() + m_model->resultTypeCount(Result::ExpectedFail); const int fails = m_model->resultTypeCount(Result::Fail) + m_model->resultTypeCount(Result::UnexpectedPass); - const QString labelText = tr("

Test summary:   %1 passes, %2 fails, " - "%3 fatals, %4 errors, %5 warnings.

") + const QString labelText = + QString("

" + Tr::tr("Test summary:   %1 passes, %2 fails, " + "%3 fatals, %4 errors, %5 warnings.") + "

") .arg(passes) .arg(fails) .arg(m_model->resultTypeCount(Result::Fatal)) @@ -325,15 +328,15 @@ void SquishOutputPane::createToolButtons() { m_expandAll = new QToolButton(m_treeView); m_expandAll->setIcon(Utils::Icons::EXPAND_TOOLBAR.icon()); - m_expandAll->setToolTip(tr("Expand All")); + m_expandAll->setToolTip(Tr::tr("Expand All")); m_collapseAll = new QToolButton(m_treeView); m_collapseAll->setIcon(Utils::Icons::COLLAPSE_TOOLBAR.icon()); - m_collapseAll->setToolTip(tr("Collapse All")); + m_collapseAll->setToolTip(Tr::tr("Collapse All")); m_filterButton = new QToolButton(m_treeView); m_filterButton->setIcon(Utils::Icons::FILTER.icon()); - m_filterButton->setToolTip(tr("Filter Test Results")); + m_filterButton->setToolTip(Tr::tr("Filter Test Results")); m_filterButton->setProperty("noArrow", true); m_filterButton->setAutoRaise(true); m_filterButton->setPopupMode(QToolButton::InstantPopup); @@ -349,12 +352,12 @@ void SquishOutputPane::createToolButtons() void SquishOutputPane::initializeFilterMenu() { QMap textAndType; - textAndType.insert(Result::Pass, tr("Pass")); - textAndType.insert(Result::Fail, tr("Fail")); - textAndType.insert(Result::ExpectedFail, tr("Expected Fail")); - textAndType.insert(Result::UnexpectedPass, tr("Unexpected Pass")); - textAndType.insert(Result::Warn, tr("Warning Messages")); - textAndType.insert(Result::Log, tr("Log Messages")); + textAndType.insert(Result::Pass, Tr::tr("Pass")); + textAndType.insert(Result::Fail, Tr::tr("Fail")); + textAndType.insert(Result::ExpectedFail, Tr::tr("Expected Fail")); + textAndType.insert(Result::UnexpectedPass, Tr::tr("Unexpected Pass")); + textAndType.insert(Result::Warn, Tr::tr("Warning Messages")); + textAndType.insert(Result::Log, Tr::tr("Log Messages")); const QList types = textAndType.keys(); for (Result::Type type : types) { @@ -367,7 +370,7 @@ void SquishOutputPane::initializeFilterMenu() } m_filterMenu->addSeparator(); QAction *action = new QAction(m_filterMenu); - action->setText(tr("Check All Filters")); + action->setText(Tr::tr("Check All Filters")); action->setCheckable(false); m_filterMenu->addAction(action); connect(action, &QAction::triggered, this, &SquishOutputPane::enableAllFiltersTriggered); diff --git a/src/plugins/squish/squishplugin.cpp b/src/plugins/squish/squishplugin.cpp index 837104feab3..e3e9f2be821 100644 --- a/src/plugins/squish/squishplugin.cpp +++ b/src/plugins/squish/squishplugin.cpp @@ -31,6 +31,7 @@ #include "squishsettings.h" #include "squishtesttreemodel.h" #include "squishtools.h" +#include "squishtr.h" #include #include @@ -97,10 +98,10 @@ SquishSettings *SquishPlugin::squishSettings() void SquishPluginPrivate::initializeMenuEntries() { ActionContainer *menu = ActionManager::createMenu("Squish.Menu"); - menu->menu()->setTitle(tr("&Squish")); + menu->menu()->setTitle(Tr::tr("&Squish")); menu->setOnAllDisabledBehavior(ActionContainer::Show); - QAction *action = new QAction(tr("&Server Settings..."), this); + QAction *action = new QAction(Tr::tr("&Server Settings..."), this); Command *command = ActionManager::registerAction(action, "Squish.ServerSettings"); menu->addAction(command); connect(action, &QAction::triggered, this, [] { diff --git a/src/plugins/squish/squishresultmodel.cpp b/src/plugins/squish/squishresultmodel.cpp index c22a34d795e..023a2b98bd3 100644 --- a/src/plugins/squish/squishresultmodel.cpp +++ b/src/plugins/squish/squishresultmodel.cpp @@ -25,6 +25,8 @@ #include "squishresultmodel.h" +#include "squishtr.h" + namespace Squish { namespace Internal { @@ -68,7 +70,7 @@ SquishResultModel::SquishResultModel(QObject *parent) , m_rootItem(new Utils::TreeItem) { setRootItem(m_rootItem); - setHeader(QStringList({tr("Result"), tr("Message"), tr("Time")})); + setHeader(QStringList({Tr::tr("Result"), Tr::tr("Message"), Tr::tr("Time")})); connect(this, &QAbstractItemModel::rowsInserted, diff --git a/src/plugins/squish/squishsettings.cpp b/src/plugins/squish/squishsettings.cpp index 10f47898dca..c860dc53c41 100644 --- a/src/plugins/squish/squishsettings.cpp +++ b/src/plugins/squish/squishsettings.cpp @@ -27,6 +27,7 @@ #include "squishconstants.h" #include "squishtools.h" +#include "squishtr.h" #include #include @@ -55,39 +56,39 @@ SquishSettings::SquishSettings() registerAspect(&squishPath); squishPath.setSettingsKey("SquishPath"); - squishPath.setLabelText(tr("Squish path:")); + squishPath.setLabelText(Tr::tr("Squish path:")); squishPath.setDisplayStyle(StringAspect::PathChooserDisplay); squishPath.setExpectedKind(PathChooser::ExistingDirectory); - squishPath.setPlaceHolderText(tr("Path to Squish installation")); + squishPath.setPlaceHolderText(Tr::tr("Path to Squish installation")); registerAspect(&licensePath); licensePath.setSettingsKey("LicensePath"); - licensePath.setLabelText(tr("License path:")); + licensePath.setLabelText(Tr::tr("License path:")); licensePath.setDisplayStyle(StringAspect::PathChooserDisplay); licensePath.setExpectedKind(PathChooser::ExistingDirectory); registerAspect(&local); local.setSettingsKey("Local"); - local.setLabel(tr("Local Server")); + local.setLabel(Tr::tr("Local Server")); local.setDefaultValue(true); registerAspect(&serverHost); serverHost.setSettingsKey("ServerHost"); - serverHost.setLabelText(tr("Server host:")); + serverHost.setLabelText(Tr::tr("Server host:")); serverHost.setDisplayStyle(StringAspect::LineEditDisplay); serverHost.setDefaultValue("localhost"); serverHost.setEnabled(false); registerAspect(&serverPort); serverPort.setSettingsKey("ServerPort"); - serverPort.setLabel(tr("Server Port")); + serverPort.setLabel(Tr::tr("Server Port")); serverPort.setRange(1, 65535); serverPort.setDefaultValue(9999); serverPort.setEnabled(false); registerAspect(&verbose); verbose.setSettingsKey("Verbose"); - verbose.setLabel(tr("Verbose log")); + verbose.setLabel(Tr::tr("Verbose log")); verbose.setDefaultValue(false); connect(&local, &BoolAspect::volatileValueChanged, @@ -100,7 +101,7 @@ SquishSettings::SquishSettings() SquishSettingsPage::SquishSettingsPage(SquishSettings *settings) { setId("A.Squish.General"); - setDisplayName(tr("General")); + setDisplayName(Tr::tr("General")); setCategory(Constants::SQUISH_SETTINGS_CATEGORY); setDisplayCategory("Squish"); setCategoryIcon(Icon({{":/squish/images/settingscategory_squish.png", @@ -126,7 +127,6 @@ SquishSettingsPage::SquishSettingsPage(SquishSettings *settings) class SquishServerSettings : public AspectContainer { - Q_DECLARE_TR_FUNCTIONS(Squish::Internal::SquishSettings) public: SquishServerSettings(); @@ -146,31 +146,31 @@ SquishServerSettings::SquishServerSettings() setAutoApply(false); registerAspect(&autTimeout); - autTimeout.setLabel(tr("Maximum startup time:")); - autTimeout.setToolTip(tr("Specifies how many seconds Squish should wait for a reply from the " + autTimeout.setLabel(Tr::tr("Maximum startup time:")); + autTimeout.setToolTip(Tr::tr("Specifies how many seconds Squish should wait for a reply from the " "AUT directly after starting it.")); autTimeout.setRange(1, 65535); autTimeout.setSuffix("s"); autTimeout.setDefaultValue(20); registerAspect(&responseTimeout); - responseTimeout.setLabel(tr("Maximum response time:")); - responseTimeout.setToolTip(tr("Specifies how many seconds Squish should wait for a reply from " + responseTimeout.setLabel(Tr::tr("Maximum response time:")); + responseTimeout.setToolTip(Tr::tr("Specifies how many seconds Squish should wait for a reply from " "the hooked up AUT before raising a timeout error.")); responseTimeout.setRange(1, 65535); responseTimeout.setDefaultValue(300); responseTimeout.setSuffix("s"); registerAspect(&postMortemWaitTime); - postMortemWaitTime.setLabel(tr("Maximum post-mortem wait time:")); - postMortemWaitTime.setToolTip(tr("Specifies how many seconds Squish should wait after the the " + postMortemWaitTime.setLabel(Tr::tr("Maximum post-mortem wait time:")); + postMortemWaitTime.setToolTip(Tr::tr("Specifies how many seconds Squish should wait after the the " "first AUT process has exited.")); postMortemWaitTime.setRange(1, 65535); postMortemWaitTime.setDefaultValue(1500); postMortemWaitTime.setSuffix("ms"); registerAspect(&animatedCursor); - animatedCursor.setLabel(tr("Animate mouse cursor:")); + animatedCursor.setLabel(Tr::tr("Animate mouse cursor:")); animatedCursor.setDefaultValue(true); } @@ -286,9 +286,9 @@ QVariant SquishServerItem::data(int column, int role) const class SquishServerSettingsWidget : public QWidget { - Q_DECLARE_TR_FUNCTIONS(Squish::Internal::SquishSettings) public: explicit SquishServerSettingsWidget(QWidget *parent = nullptr); + private: void repopulateApplicationView(); @@ -344,19 +344,19 @@ void SquishServerSettingsWidget::repopulateApplicationView() TreeModel *model = new TreeModel; model->setHeader({QString(), QString()}); // enforce 2 columns - SquishServerItem *mapped = new SquishServerItem(tr("Mapped AUTs")); + SquishServerItem *mapped = new SquishServerItem(Tr::tr("Mapped AUTs")); model->rootItem()->appendChild(mapped); for (auto it = m_serverSettings.mappedAuts.begin(), end = m_serverSettings.mappedAuts.end(); it != end; ++it) { mapped->appendChild(new SquishServerItem(it.key(), it.value())); } - SquishServerItem *autPaths = new SquishServerItem(tr("AUT Paths")); + SquishServerItem *autPaths = new SquishServerItem(Tr::tr("AUT Paths")); model->rootItem()->appendChild(autPaths); for (const QString &path : qAsConst(m_serverSettings.autPaths)) autPaths->appendChild(new SquishServerItem(path, "")); - SquishServerItem *attachable = new SquishServerItem(tr("Attachable AUTs")); + SquishServerItem *attachable = new SquishServerItem(Tr::tr("Attachable AUTs")); model->rootItem()->appendChild(attachable); for (auto it = m_serverSettings.attachableAuts.begin(), end = m_serverSettings.attachableAuts.end(); it != end; ++it) { @@ -371,7 +371,7 @@ void SquishServerSettingsWidget::repopulateApplicationView() SquishServerSettingsDialog::SquishServerSettingsDialog(QWidget *parent) : QDialog(parent) { - setWindowTitle(tr("Squish Server Settings")); + setWindowTitle(Tr::tr("Squish Server Settings")); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(new SquishServerSettingsWidget); diff --git a/src/plugins/squish/squishsettings.h b/src/plugins/squish/squishsettings.h index 99861eb6c7e..d27f2793cdb 100644 --- a/src/plugins/squish/squishsettings.h +++ b/src/plugins/squish/squishsettings.h @@ -40,7 +40,6 @@ namespace Internal { class SquishSettings : public Utils::AspectContainer { - Q_DECLARE_TR_FUNCTIONS(Squish::Internal::SquishSettings) public: SquishSettings(); @@ -54,16 +53,15 @@ public: class SquishSettingsPage final : public Core::IOptionsPage { - Q_DECLARE_TR_FUNCTIONS(Squish::Internal::SquishSettings) public: SquishSettingsPage(SquishSettings *settings); }; class SquishServerSettingsDialog : public QDialog { - Q_DECLARE_TR_FUNCTIONS(Squish::Internal::SquishSettings) public: explicit SquishServerSettingsDialog(QWidget *parent = nullptr); + private: void onApply(); }; diff --git a/src/plugins/squish/squishtesttreemodel.cpp b/src/plugins/squish/squishtesttreemodel.cpp index 17e5e9ee960..97375a3691a 100644 --- a/src/plugins/squish/squishtesttreemodel.cpp +++ b/src/plugins/squish/squishtesttreemodel.cpp @@ -24,7 +24,9 @@ ****************************************************************************/ #include "squishtesttreemodel.h" + #include "squishfilehandler.h" +#include "squishtr.h" #include #include @@ -135,8 +137,8 @@ static SquishTestTreeModel *m_instance = nullptr; SquishTestTreeModel::SquishTestTreeModel(QObject *parent) : TreeModel(new SquishTestTreeItem(QString(), SquishTestTreeItem::Root), parent) - , m_squishSharedFolders(new SquishTestTreeItem(tr("Shared Folders"), SquishTestTreeItem::Root)) - , m_squishSuitesRoot(new SquishTestTreeItem(tr("Test Suites"), SquishTestTreeItem::Root)) + , m_squishSharedFolders(new SquishTestTreeItem(Tr::tr("Shared Folders"), SquishTestTreeItem::Root)) + , m_squishSuitesRoot(new SquishTestTreeItem(Tr::tr("Test Suites"), SquishTestTreeItem::Root)) , m_squishFileHandler(new SquishFileHandler(this)) { rootItem()->appendChild(m_squishSharedFolders); @@ -210,7 +212,7 @@ QVariant SquishTestTreeModel::data(const QModelIndex &idx, int role) const switch (type) { case SquishTestTreeItem::Root: if (!item->hasChildren()) - return tr("%1 (none)").arg(item->displayName()); + return Tr::tr("%1 (none)").arg(item->displayName()); return item->displayName(); case SquishTestTreeItem::SquishSharedFile: case SquishTestTreeItem::SquishSharedFolder: diff --git a/src/plugins/squish/squishtools.cpp b/src/plugins/squish/squishtools.cpp index 23dc06465b7..81f8ca6b083 100644 --- a/src/plugins/squish/squishtools.cpp +++ b/src/plugins/squish/squishtools.cpp @@ -24,9 +24,11 @@ ****************************************************************************/ #include "squishtools.h" + #include "squishoutputpane.h" #include "squishplugin.h" #include "squishsettings.h" +#include "squishtr.h" #include "squishxmloutputhandler.h" #include // TODO remove @@ -132,17 +134,17 @@ void SquishTools::runTestCases(const QString &suitePath, { if (m_state != Idle) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("Error"), - tr("Squish Tools in unexpected state (%1).\n" - "Refusing to run a test case.") - .arg(m_state)); + Tr::tr("Error"), + Tr::tr("Squish Tools in unexpected state (%1).\n" + "Refusing to run a test case.") + .arg(m_state)); return; } // create test results directory (if necessary) and return on fail if (!QDir().mkpath(resultsDirectory)) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("Error"), - tr("Could not create test results folder. Canceling test run.")); + Tr::tr("Error"), + Tr::tr("Could not create test results folder. Canceling test run.")); return; } @@ -172,9 +174,9 @@ void SquishTools::queryServerSettings() { if (m_state != Idle) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("Error"), - tr("Squish Tools in unexpected state (%1).\n" - "Refusing to run a test case.") + Tr::tr("Error"), + Tr::tr("Squish Tools in unexpected state (%1).\n" + "Refusing to run a test case.") .arg(m_state)); return; } @@ -255,7 +257,7 @@ void SquishTools::setState(SquishTools::State state) QDir(m_suitePath).dirName(), &error); if (!error.isEmpty()) - QMessageBox::critical(Core::ICore::dialogParent(), tr("Error"), error); + QMessageBox::critical(Core::ICore::dialogParent(), Tr::tr("Error"), error); logrotateTestResults(); } else { m_xmlOutputHandler->clearForNextRun(); @@ -275,11 +277,11 @@ void SquishTools::startSquishServer(Request request) m_request = request; if (m_serverProcess.state() != QProcess::NotRunning) { if (QMessageBox::question(Core::ICore::dialogParent(), - tr("Squish Server Already Running"), - tr("There is still an old Squish server instance running.\n" - "This will cause problems later on.\n\n" - "If you continue, the old instance will be terminated.\n" - "Do you want to continue?")) + Tr::tr("Squish Server Already Running"), + Tr::tr("There is still an old Squish server instance running.\n" + "This will cause problems later on.\n\n" + "If you continue, the old instance will be terminated.\n" + "Do you want to continue?")) == QMessageBox::Yes) { switch (m_request) { case RunTestRequested: @@ -293,9 +295,9 @@ void SquishTools::startSquishServer(Request request) break; default: QMessageBox::critical(Core::ICore::dialogParent(), - tr("Error"), - tr("Unexpected state or request while starting Squish " - "server. (state: %1, request: %2)") + Tr::tr("Error"), + Tr::tr("Unexpected state or request while starting Squish " + "server. (state: %1, request: %2)") .arg(m_state) .arg(m_request)); } @@ -311,9 +313,9 @@ void SquishTools::startSquishServer(Request request) toolsSettings.serverPath.toString()); if (!squishServer.isExecutableFile()) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("Squish Server Error"), - tr("\"%1\" could not be found or is not executable.\n" - "Check the settings.") + Tr::tr("Squish Server Error"), + Tr::tr("\"%1\" could not be found or is not executable.\n" + "Check the settings.") .arg(toolsSettings.serverPath.toUserOutput())); setState(Idle); return; @@ -648,10 +650,10 @@ bool SquishTools::isValidToStartRunner() { if (!m_serverProcess.isRunning()) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("No Squish Server"), - tr("Squish server does not seem to be running.\n" - "(state: %1, request: %2)\n" - "Try again.") + Tr::tr("No Squish Server"), + Tr::tr("Squish server does not seem to be running.\n" + "(state: %1, request: %2)\n" + "Try again.") .arg(m_state) .arg(m_request)); setState(Idle); @@ -659,10 +661,10 @@ bool SquishTools::isValidToStartRunner() } if (m_serverPort == -1) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("No Squish Server Port"), - tr("Failed to get the server port.\n" - "(state: %1, request: %2)\n" - "Try again.") + Tr::tr("No Squish Server Port"), + Tr::tr("Failed to get the server port.\n" + "(state: %1, request: %2)\n" + "Try again.") .arg(m_state) .arg(m_request)); // setting state to ServerStartFailed will terminate/kill the current unusable server @@ -672,10 +674,10 @@ bool SquishTools::isValidToStartRunner() if (m_runnerProcess.state() != QProcess::NotRunning) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("Squish Runner Running"), - tr("Squish runner seems to be running already.\n" - "(state: %1, request: %2)\n" - "Wait until it has finished and try again.") + Tr::tr("Squish Runner Running"), + Tr::tr("Squish runner seems to be running already.\n" + "(state: %1, request: %2)\n" + "Wait until it has finished and try again.") .arg(m_state) .arg(m_request)); return false; @@ -689,9 +691,9 @@ bool SquishTools::setupRunnerPath() toolsSettings.runnerPath.toString()); if (!squishRunner.isExecutableFile()) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("Squish Runner Error"), - tr("\"%1\" could not be found or is not executable.\n" - "Check the settings.") + Tr::tr("Squish Runner Error"), + Tr::tr("\"%1\" could not be found or is not executable.\n" + "Check the settings.") .arg(toolsSettings.runnerPath.toUserOutput())); setState(RunnerStopped); return false; @@ -727,8 +729,8 @@ void SquishTools::setupAndStartSquishRunnerProcess(const QStringList &args, m_runnerProcess.start(); if (!m_runnerProcess.waitForStarted()) { QMessageBox::critical(Core::ICore::dialogParent(), - tr("Squish Runner Error"), - tr("Squish runner failed to start within given timeframe.")); + Tr::tr("Squish Runner Error"), + Tr::tr("Squish runner failed to start within given timeframe.")); delete m_resultsFileWatcher; m_resultsFileWatcher = nullptr; setState(RunnerStartFailed); diff --git a/src/plugins/squish/squishtr.h b/src/plugins/squish/squishtr.h new file mode 100644 index 00000000000..d50515aeb49 --- /dev/null +++ b/src/plugins/squish/squishtr.h @@ -0,0 +1,37 @@ +/**************************************************************************** +** +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +#pragma once + +#include + +namespace Squish { + +struct Tr +{ + Q_DECLARE_TR_FUNCTIONS(Squish) +}; + +} // namespace Squish diff --git a/src/plugins/squish/squishutils.cpp b/src/plugins/squish/squishutils.cpp index ddd6a7b8e2f..36f9ebd2254 100644 --- a/src/plugins/squish/squishutils.cpp +++ b/src/plugins/squish/squishutils.cpp @@ -34,9 +34,9 @@ namespace Squish { namespace Internal { -const static char squishLanguageKey[] = "LANGUAGE"; -const static char squishTestCasesKey[] = "TEST_CASES"; -const static char objectsMapKey[] = "OBJECTMAP"; +const char squishLanguageKey[] = "LANGUAGE"; +const char squishTestCasesKey[] = "TEST_CASES"; +const char objectsMapKey[] = "OBJECTMAP"; QStringList SquishUtils::validTestCases(const QString &baseDirectory) { diff --git a/src/plugins/squish/squishxmloutputhandler.cpp b/src/plugins/squish/squishxmloutputhandler.cpp index 974eb832ef1..e169cc6f407 100644 --- a/src/plugins/squish/squishxmloutputhandler.cpp +++ b/src/plugins/squish/squishxmloutputhandler.cpp @@ -24,8 +24,10 @@ ****************************************************************************/ #include "squishxmloutputhandler.h" + #include "squishoutputpane.h" #include "squishresultmodel.h" +#include "squishtr.h" #include @@ -60,16 +62,16 @@ void SquishXmlOutputHandler::mergeResultFiles(const QStringList &reportFiles, QFile resultsXML(QString::fromLatin1("%1/results.xml").arg(resultsDirectory)); if (resultsXML.exists()) { if (error) - *error = tr("Could not merge results into single results.xml.\n" - "Destination file \"%1\" already exists.") + *error = Tr::tr("Could not merge results into single results.xml.\n" + "Destination file \"%1\" already exists.") .arg(resultsXML.fileName()); return; } if (!resultsXML.open(QFile::WriteOnly)) { if (error) - *error = tr("Could not merge results into single results.xml.\n" - "Failed to open file \"%1\"") + *error = Tr::tr("Could not merge results into single results.xml.\n" + "Failed to open file \"%1\"") .arg(resultsXML.fileName()); return; } @@ -120,7 +122,7 @@ void SquishXmlOutputHandler::mergeResultFiles(const QStringList &reportFiles, const QString prolog = reader.name().toString(); QTC_ASSERT(token == QXmlStreamReader::StartElement && prolog == "prolog", - if (error) *error = tr("Error while parsing first test result."); + if (error) *error = Tr::tr("Error while parsing first test result."); return ); xmlWriter.writeStartElement(prolog); xmlWriter.writeAttributes(reader.attributes());