diff options
author | Eike Ziller <eike.ziller@qt.io> | 2023-08-23 09:30:32 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2023-08-23 09:30:32 +0200 |
commit | 13fa7703a4b9e1eada6011169dd1108fc98d44cb (patch) | |
tree | 8911796cf9e27937dfc79ecbe7baadc249e6e5f9 | |
parent | 72480f5dd6c1b2512e7fbd9a1b3fc3b7a2b6e680 (diff) | |
parent | 2f6bec1d485c075075bd11073796f5b32e2fa342 (diff) |
Merge remote-tracking branch 'origin/11.0'
Change-Id: I6c2a1d497aae9bda45c4aae47fb0be6c61c1ec29
-rw-r--r-- | src/libs/utils/devicefileaccess.cpp | 3 | ||||
-rw-r--r-- | src/plugins/cmakeprojectmanager/fileapiparser.cpp | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/kitaspects.cpp | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/taskwindow.cpp | 6 | ||||
-rw-r--r-- | src/plugins/remotelinux/linuxdevice.cpp | 11 | ||||
-rw-r--r-- | src/tools/sdktool/addkitoperation.cpp | 2 |
6 files changed, 19 insertions, 6 deletions
diff --git a/src/libs/utils/devicefileaccess.cpp b/src/libs/utils/devicefileaccess.cpp index 54f1ab2121..3da5484b70 100644 --- a/src/libs/utils/devicefileaccess.cpp +++ b/src/libs/utils/devicefileaccess.cpp @@ -892,6 +892,9 @@ bool UnixDeviceFileAccess::isFile(const FilePath &filePath) const bool UnixDeviceFileAccess::isDirectory(const FilePath &filePath) const { + if (filePath.isRootPath()) + return true; + const QString path = filePath.path(); return runInShellSuccess({"test", {"-d", path}, OsType::OsTypeLinux}); } diff --git a/src/plugins/cmakeprojectmanager/fileapiparser.cpp b/src/plugins/cmakeprojectmanager/fileapiparser.cpp index 921df86841..1998cc06df 100644 --- a/src/plugins/cmakeprojectmanager/fileapiparser.cpp +++ b/src/plugins/cmakeprojectmanager/fileapiparser.cpp @@ -841,7 +841,6 @@ FileApiData FileApiParser::parseData(QPromise<std::shared_ptr<FileApiQtcData>> & QString &errorMessage) { QTC_CHECK(errorMessage.isEmpty()); - QTC_CHECK(!replyFilePath.needsDevice()); const FilePath replyDir = replyFilePath.parentDir(); FileApiData result; diff --git a/src/plugins/projectexplorer/kitaspects.cpp b/src/plugins/projectexplorer/kitaspects.cpp index d0dea8501e..825af13628 100644 --- a/src/plugins/projectexplorer/kitaspects.cpp +++ b/src/plugins/projectexplorer/kitaspects.cpp @@ -162,7 +162,7 @@ FilePath SysRootKitAspect::sysRoot(const Kit *k) return {}; if (!k->value(SysRootKitAspect::id()).toString().isEmpty()) - return FilePath::fromString(k->value(SysRootKitAspect::id()).toString()); + return FilePath::fromSettings(k->value(SysRootKitAspect::id())); for (ToolChain *tc : ToolChainKitAspect::toolChains(k)) { if (!tc->sysRoot().isEmpty()) diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index c829e4f087..7416c383e7 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -618,6 +618,7 @@ void TaskDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, painter->save(); m_doc.setHtml(options.text); + m_doc.setTextWidth(options.rect.width()); options.text = ""; options.widget->style()->drawControl(QStyle::CE_ItemViewItem, &options, painter); painter->translate(options.rect.left(), options.rect.top()); @@ -645,9 +646,12 @@ QSize TaskDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelInd return QStyledItemDelegate::sizeHint(option, index); QStyleOptionViewItem options = option; + options.initFrom(options.widget); initStyleOption(&options, index); m_doc.setHtml(options.text); - m_doc.setTextWidth(options.rect.width()); + const auto view = qobject_cast<const QTreeView *>(options.widget); + QTC_ASSERT(view, return {}); + m_doc.setTextWidth(view->width() * 0.85 - view->indentation()); return QSize(m_doc.idealWidth(), m_doc.size().height()); } diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index ce233f2e46..4e4f5f73bb 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -1279,8 +1279,10 @@ private: QByteArray batchData; const FilePaths dirs = dirsToCreate(m_setup.m_files); - for (const FilePath &dir : dirs) - batchData += "-mkdir " + ProcessArgs::quoteArgUnix(dir.path()).toLocal8Bit() + '\n'; + for (const FilePath &dir : dirs) { + if (!dir.exists()) + batchData += "-mkdir " + ProcessArgs::quoteArgUnix(dir.path()).toLocal8Bit() + '\n'; + } for (const FileToTransfer &file : m_setup.m_files) { FilePath sourceFileOrLinkTarget = file.m_source; @@ -1454,6 +1456,11 @@ private: FileTransferInterface *LinuxDevice::createFileTransferInterface( const FileTransferSetupData &setup) const { + if (Utils::anyOf(setup.m_files, + [](const FileToTransfer &f) { return f.m_source.needsDevice(); })) { + return new GenericTransferImpl(setup); + } + switch (setup.m_method) { case FileTransferMethod::Sftp: return new SftpTransferImpl(setup, sharedFromThis()); case FileTransferMethod::Rsync: return new RsyncTransferImpl(setup, sharedFromThis()); diff --git a/src/tools/sdktool/addkitoperation.cpp b/src/tools/sdktool/addkitoperation.cpp index 4f0911d011..037cf3c5e5 100644 --- a/src/tools/sdktool/addkitoperation.cpp +++ b/src/tools/sdktool/addkitoperation.cpp @@ -686,7 +686,7 @@ QVariantMap AddKitData::addKit(const QVariantMap &map, if (!m_buildDevice.isNull()) data << KeyValuePair({kit, DATA, BUILDDEVICE_ID}, QVariant(m_buildDevice)); if (!m_sysRoot.isNull()) - data << KeyValuePair({kit, DATA, SYSROOT}, QVariant(QDir::cleanPath(m_sysRoot))); + data << KeyValuePair({kit, DATA, SYSROOT}, QVariant(cleanPath(m_sysRoot))); for (auto i = m_tcs.constBegin(); i != m_tcs.constEnd(); ++i) data << KeyValuePair({kit, DATA, TOOLCHAIN, i.key()}, QVariant(i.value())); if (!qtId.isNull()) |