From 6112b39dccf1b3ee5773e0a86b2f382127d45a81 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 27 May 2020 17:31:13 +0200 Subject: [PATCH] QmlDesigner: Use font folder for fonts We should use the fonts folder as default if it exists. Change-Id: If18714ffa195856f14d7960b46b20992b48faa6f Reviewed-by: Leena Miettinen Reviewed-by: Tim Jenssen --- .../componentcore/modelnodeoperations.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp index 26cb96422ec..98148b7bd3f 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp +++ b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp @@ -65,6 +65,7 @@ #include #include #include +#include "projectexplorer/session.h" #include #include @@ -949,9 +950,25 @@ void addTabBarToStackedContainer(const SelectionContext &selectionContext) } +Utils::FilePath projectFilePath() +{ + if (auto *doc = QmlDesignerPlugin::instance()->documentManager().currentDesignDocument()) { + if (auto *proj = ProjectExplorer::SessionManager::projectForFile(doc->fileName())) + return proj->projectDirectory(); + } + return Utils::FilePath(); +} + bool addFontToProject(const QStringList &fileNames, const QString &defaultDirectory) { - QString directory = AddImagesDialog::getDirectory(fileNames, defaultDirectory); + + QString adjustedDefaultDirectory = defaultDirectory; + Utils::FilePath fonts = projectFilePath().pathAppended("fonts"); + + if (fonts.exists()) + adjustedDefaultDirectory = fonts.toString(); + + QString directory = AddImagesDialog::getDirectory(fileNames, adjustedDefaultDirectory); if (directory.isEmpty()) return true;