aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2023-08-23 09:30:32 +0200
committerEike Ziller <eike.ziller@qt.io>2023-08-23 09:30:32 +0200
commit13fa7703a4b9e1eada6011169dd1108fc98d44cb (patch)
tree8911796cf9e27937dfc79ecbe7baadc249e6e5f9
parent72480f5dd6c1b2512e7fbd9a1b3fc3b7a2b6e680 (diff)
parent2f6bec1d485c075075bd11073796f5b32e2fa342 (diff)
Merge remote-tracking branch 'origin/11.0'
-rw-r--r--src/libs/utils/devicefileaccess.cpp3
-rw-r--r--src/plugins/cmakeprojectmanager/fileapiparser.cpp1
-rw-r--r--src/plugins/projectexplorer/kitaspects.cpp2
-rw-r--r--src/plugins/projectexplorer/taskwindow.cpp6
-rw-r--r--src/plugins/remotelinux/linuxdevice.cpp11
-rw-r--r--src/tools/sdktool/addkitoperation.cpp2
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())