aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLukasz Ornatek <lukasz.ornatek@qt.io>2020-09-16 09:21:46 +0200
committerƁukasz Ornatek <lukasz.ornatek@qt.io>2020-09-17 14:50:08 +0000
commit0831c07cb3d512e865c21453c5a1cc7cd48dbc80 (patch)
treef10d683bbc9a4dd9d26bc25d54085aab44740c11 /src
parentb74ec903a700729fbbfe0dbef98ba8ef0788a0ab (diff)
Make Translation Tests ignore imported files
Change-Id: I4abd222bd15da79a1fe14d01b8a4a1f25d935b3b Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmlpreview/projectfileselectionswidget.cpp7
-rw-r--r--src/plugins/qmlpreview/qmldebugtranslationwidget.cpp36
-rw-r--r--src/plugins/qmlpreview/qmldebugtranslationwidget.h4
3 files changed, 27 insertions, 20 deletions
diff --git a/src/plugins/qmlpreview/projectfileselectionswidget.cpp b/src/plugins/qmlpreview/projectfileselectionswidget.cpp
index f6f20fc2d4..44b8451dfc 100644
--- a/src/plugins/qmlpreview/projectfileselectionswidget.cpp
+++ b/src/plugins/qmlpreview/projectfileselectionswidget.cpp
@@ -125,8 +125,11 @@ ProjectFileSelectionsWidget::ProjectFileSelectionsWidget(const QString &projectS
const auto settingsDisabledFiles = project->namedSettings(m_projectSettingsKey).toStringList();
if (auto rootProjectNode = project->rootProjectNode()) {
- rootProjectNode->forEachNode([this, settingsDisabledFiles, model](ProjectExplorer::FileNode *fileNode) {
- if (fileNode->fileType() == m_fileType) {
+ auto rootPath = rootProjectNode->filePath();
+
+ rootProjectNode->forEachNode([this, settingsDisabledFiles, model, rootPath](ProjectExplorer::FileNode *fileNode) {
+ if (fileNode->fileType() == m_fileType
+ && !fileNode->filePath().relativeChildPath(rootPath).startsWith("imports/")) {
bool isDisabled = settingsDisabledFiles.contains(fileNode->filePath().toString());
model->rootItem()->appendChild(new ProjectFileItem(fileNode->filePath(), isDisabled));
}
diff --git a/src/plugins/qmlpreview/qmldebugtranslationwidget.cpp b/src/plugins/qmlpreview/qmldebugtranslationwidget.cpp
index 3de3eff2c2..20a35a280b 100644
--- a/src/plugins/qmlpreview/qmldebugtranslationwidget.cpp
+++ b/src/plugins/qmlpreview/qmldebugtranslationwidget.cpp
@@ -104,21 +104,17 @@ QmlDebugTranslationWidget::QmlDebugTranslationWidget(QWidget *parent)
const QString projectSettingsKey = "QmlPreview.DisabledDebugTranslationFiles";
const ProjectExplorer::FileType filterFileType = ProjectExplorer::FileType::QML;
- auto checkableProjectFileView = new ProjectFileSelectionsWidget(projectSettingsKey, filterFileType);
- checkableProjectFileView->setVisible(false);
- connect(checkableProjectFileView, &ProjectFileSelectionsWidget::selectionChanged, this, &QmlDebugTranslationWidget::setFiles);
+ m_checkableProjectFileView = new ProjectFileSelectionsWidget(projectSettingsKey, filterFileType);
+ m_checkableProjectFileView->setVisible(false);
+ connect(m_checkableProjectFileView, &ProjectFileSelectionsWidget::selectionChanged, this, &QmlDebugTranslationWidget::setFiles);
m_multipleFileButton = new QRadioButton(tr("multiple files"));
- // TODO: fix multiple files issues, because it have some issues disable it for now
- m_multipleFileButton->setDisabled(true);
buttonGroup->addButton(m_multipleFileButton);
- connect(m_multipleFileButton, &QAbstractButton::toggled, [checkableProjectFileView, this](bool checked) {
- checkableProjectFileView->setVisible(checked);
- setFiles(checkableProjectFileView->checkedFiles());
- });
+ connect(m_multipleFileButton, &QAbstractButton::toggled, m_checkableProjectFileView, &QWidget::setVisible);
+ connect(m_multipleFileButton, &QAbstractButton::toggled, this, &QmlDebugTranslationWidget::updateFiles);
mainLayout->addWidget(m_singleFileButton);
mainLayout->addWidget(m_multipleFileButton);
- mainLayout->addWidget(checkableProjectFileView);
+ mainLayout->addWidget(m_checkableProjectFileView);
// language checkboxes are add in updateAvailableTranslations method
m_selectLanguageLayout = new QHBoxLayout;
@@ -226,7 +222,7 @@ void QmlDebugTranslationWidget::updateCurrentEditor(const Core::IEditor *editor)
else
m_currentFilePath.clear();
m_singleFileButton->setText(singleFileButtonText(m_currentFilePath.toString()));
-
+ updateFiles();
}
void QmlDebugTranslationWidget::updateStartupProjectTranslations()
@@ -253,6 +249,7 @@ void QmlDebugTranslationWidget::updateCurrentTranslations(ProjectExplorer::Proje
tr("Current language is \'<b>%1</b>\' can be changed in the 'Translation' tab.")
.arg(multiLanguageAspect->currentLocale())));
m_testLanguages.clear();
+ m_testLanguages.append(multiLanguageAspect->currentLocale());
} else {
m_selectLanguageLayout->addWidget(new QLabel(tr("Select which language should be tested:")));
QString errorMessage;
@@ -272,6 +269,14 @@ void QmlDebugTranslationWidget::updateCurrentTranslations(ProjectExplorer::Proje
}
}
+void QmlDebugTranslationWidget::updateFiles()
+{
+ if (m_multipleFileButton->isChecked())
+ setFiles(m_checkableProjectFileView->checkedFiles());
+ else
+ setFiles({m_currentFilePath});
+}
+
void QmlDebugTranslationWidget::setFiles(const Utils::FilePaths &filePathes)
{
m_selectedFilePaths = filePathes;
@@ -305,14 +310,9 @@ void QmlDebugTranslationWidget::runTest()
});
}
};
- if (m_multipleFileButton->isChecked()) {
- for (auto filePath : m_selectedFilePaths) {
- testLanguages(timerCounter++, filePath.toString());
- }
- } else {
- testLanguages(timerCounter, QString());
+ for (auto filePath : m_selectedFilePaths) {
+ testLanguages(timerCounter++, filePath.toString());
}
-
});
connect(runControl, &ProjectExplorer::RunControl::stopped, [this]() {
m_runTestButton->setChecked(false);
diff --git a/src/plugins/qmlpreview/qmldebugtranslationwidget.h b/src/plugins/qmlpreview/qmldebugtranslationwidget.h
index ef9deb14e9..944c7a59b9 100644
--- a/src/plugins/qmlpreview/qmldebugtranslationwidget.h
+++ b/src/plugins/qmlpreview/qmldebugtranslationwidget.h
@@ -49,6 +49,8 @@ class RunControl;
namespace QmlPreview {
+class ProjectFileSelectionsWidget;
+
class QMLPREVIEW_EXPORT QmlDebugTranslationWidget : public QWidget
{
Q_OBJECT
@@ -62,6 +64,7 @@ public:
private:
void updateCurrentEditor(const Core::IEditor *editor);
void updateCurrentTranslations(ProjectExplorer::Project *project);
+ void updateFiles();
void runTest();
void appendMessage(const QString &message, Utils::OutputFormat format);
void clear();
@@ -81,6 +84,7 @@ private:
QRadioButton *m_singleFileButton = nullptr;
QRadioButton *m_multipleFileButton = nullptr;
+ ProjectFileSelectionsWidget *m_checkableProjectFileView = nullptr;
QPushButton *m_runTestButton = nullptr;
Utils::FilePath m_currentFilePath;